Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pengaruh alur kerja di HealthOmics
HealthOmics secara otomatis menghilangkan alur kerja WDL dan Nextflow DSL2 selama pembuatan. Linter bawaan mendeteksi kesalahan dalam file definisi alur kerja Anda yang dapat menyebabkan kegagalan proses. Temuan serat muncul di statusMessage bidang GetWorkflow respons.
Untuk alur kerja WDL, temuan lint memblokir — alur kerja tidak beralih ke AKTIF jika kesalahan terdeteksi. Untuk alur kerja Nextflow DSL2, temuan lint tidak memblokir - alur kerja transisi ke ACTIVE terlepas dari temuannya.
HealthOmics juga menyediakan linters eksternal yang dapat Anda jalankan secara lokal sebelum Anda membuat alur kerja. Linter ini dapat mencakup HealthOmics-specific aturan tambahan.
Built-in pelintir
HealthOmics menjalankan linters internal sisi server saat Anda memanggil atau. CreateWorkflow CreateWorkflowVersion
Linting bawaan WDL
Untuk WDL, HealthOmics secara otomatis menjalankan linter saat Anda membuat alur kerja. Linting WDL memblokir — jika linter mendeteksi kesalahan, alur kerja tidak beralih ke ACTIVE. Anda dapat menemukan output linter di statusMessage bidang GetWorkflow respons. Gunakan perintah CLI berikut untuk mengambil output status (gunakan ID alur kerja alur kerja WDL yang Anda buat):
aws omics get-workflow —id123456—query 'statusMessage'
Linting bawaan Nextflow
HealthOmics menjalankan linter DSL2 ketat bawaan Nextflow (nf-lang/v2) secara otomatis selama CreateWorkflow dan CreateWorkflowVersion untuk semua versi Nextflow DSL2 yang didukung:
Nextflow v22.04 (hanya DSL2)
Nextflow v23.10
Nextflow v24.10
Nextflow v25.10
Alur Berikutnya v26.04
catatan
Linter bawaan hanya berlaku untuk alur kerja DSL2. Alur kerja DSL1 tidak berserat.
Linter Nextflow beroperasi dalam mode non-pemblokiran. Temuan tidak mencegah alur kerja menjadi AKTIF. Anda dapat meninjau temuan kapan saja tanpa mengganggu proses pembuatan alur kerja Anda.
catatan
Linter Nextflow bawaan memvalidasi sintaks definisi alur kerja Anda pada waktu pembuatan. Ini berbeda dari parser sintaks ketat yang tersedia untuk Nextflow v26.04, yang dikendalikan oleh engineSettings.syntaxVersion dan memengaruhi perilaku runtime. Linter berjalan pada waktu pembuatan di semua versi DSL2, terlepas dari parser mana yang digunakan alur kerja saat runtime.
Untuk mengambil output lint Nextflow
Temuan Lint muncul sebagai JSON terstruktur di statusMessage bidang GetWorkflow respons. Gunakan perintah CLI berikut untuk mengambil output lint:
aws omics get-workflow --id1234567--query 'statusMessage'
Contoh berikut menunjukkan output JSON dari linter Nextflow:
{ "advisory": "Linting findings are from the strict Nextflow DSL2 (nf-lang/v2) linter and reflect the syntax that will be required in Nextflow 25/26 strict mode. On Nextflow 23/24 (legacy grammar) findings are advisory only.", "summary": { "errors": 2, "filesWithErrors": 1, "filesWithoutErrors": 0, "filesFormatted": 0, "warnings": 0, "filesWithWarnings": 0, "filesWithoutWarnings": 2 }, "errors": [ { "filename": "nextflow-lint-legacy.nf", "startLine": 24, "startColumn": 5, "message": "`for` loops are no longer supported" }, { "filename": "nextflow-lint-legacy.nf", "startLine": 24, "startColumn": 10, "message": "`i` is not defined" } ], "warnings": [] }
Bidang keluaran Lint
Output JSON berisi bidang berikut:
-
advisory— Menjelaskan penerapan temuan khusus versi. Pada Nextflow v22.04, v23.10, dan v24.10 (tata bahasa lawas), temuan hanya bersifat nasihat. Pada Nextflow v25.10 dan v26.04, temuan mencerminkan persyaratan sintaks mode yang ketat. -
summary- Berisi jumlah agregat kesalahan dan peringatan di semua file dalam alur kerja. -
errors— Array objek kesalahan. Setiap kesalahan berisifilename,startLine,startColumn, danmessage. -
warnings— Array objek peringatan. Setiap peringatan berisi bidang yang sama dengan objek kesalahan. -
truncated— Bendera kondisional yang muncul saat keluaran lint melebihi batas ukuran bidang. Ketika pemotongan terjadi, peringatan dijatuhkan terlebih dahulu. Alur kerja tetap AKTIF dengan laporan yang dipangkas yang valid.
Rekomendasi
Kami merekomendasikan alur kerja berikut untuk mengatasi temuan lint:
Tinjau temuan serat di
statusMessagelapangan.Perbaiki kesalahan dalam file definisi alur kerja Anda.
Re-create alur kerja untuk menghasilkan laporan lint bersih.
Linter eksternal
Linter eksternal berikut tersedia:
-
WDL— Gambar Amazon ECR publik untuk menjalankan linter WDL
di Galeri Publik Amazon ECR. -
Nextflow— Gambar Amazon ECR publik untuk menjalankan aturan Linter untuk Nextflow
di Galeri Publik Amazon ECR. Anda dapat mengakses kode sumber dari repositori linter-rules- for-nextflow di. GitHub -
CWL— Tidak tersedia.
Daftar berikut menjelaskan perbedaan antara linter bawaan dan eksternal:
-
Built-in linters — Jalankan sisi server selama dan.
CreateWorkflowCreateWorkflowVersionUntuk WDL, temuan menghalangi. Untuk Nextflow DSL2, temuan tidak memblokir. Terapkan ke alur kerja WDL dan Nextflow DSL2 saja. -
Linter eksternal — Jalankan secara lokal sebelum pembuatan alur kerja. Dapat menyertakan aturan HealthOmics-specific kompatibilitas tambahan. Tersedia sebagai gambar Amazon ECR publik.