Bölüm 1: Temel işlemleri çalıştırma¶
Yapay Zeka Destekli Çeviri - daha fazla bilgi ve iyileştirme önerileri
Nextflow Run eğitim kursunun bu ilk bölümünde, temel işlemleri göstermek ve ilgili Nextflow kod bileşenlerini işaret etmek için kullanacağımız çok temel, alandan bağımsız bir Hello World örneğiyle konuya yumuşak bir giriş yapıyoruz.
Hello World örneği nedir?
"Hello World!", bir programlama dilinin veya yazılım çerçevesinin temel sözdizimini ve yapısını göstermek için tasarlanmış minimalist bir örnektir. Örnek genellikle "Hello, World!" ifadesini konsol veya terminal gibi çıktı aygıtına yazdırmak veya bir dosyaya yazmaktan oluşur.
1. Doğrudan bir Hello World çalıştırın¶
Nextflow'a sarmadan önce ne yaptığını göstermek için doğrudan terminalde çalıştırdığımız basit bir komutla bu kavramı gösterelim.
İpucu
Başlangıç sayfasında açıklandığı gibi artık nextflow-run/ dizininde olmanız gerektiğini unutmayın.
1.1. Terminalin merhaba demesini sağlayın¶
Terminalinizde aşağıdaki komutu çalıştırın.
Bu, 'Hello World' metnini doğrudan terminalde çıktı olarak verir.
1.2. Çıktıyı bir dosyaya yazın¶
Pipeline'ları çalıştırmak çoğunlukla dosyalardan veri okumayı ve sonuçları başka dosyalara yazmayı içerir, bu yüzden örneği biraz daha ilgili hale getirmek için metin çıktısını bir dosyaya yazacak şekilde komutu değiştirelim.
Bu, terminale hiçbir şey çıktı vermez.
1.3. Çıktıyı bulun¶
'Hello World' metni artık belirttiğimiz çıktı dosyasında, output.txt adıyla olmalıdır.
Dosya gezgininde açabilir veya örneğin cat yardımcı programını kullanarak komut satırından açabilirsiniz.
Dosya içeriği
| output.txt | |
|---|---|
İlk Nextflow workflow'umuzla çoğaltmaya çalışacağımız şey budur.
Özet¶
Artık terminalde bazı metinler çıktı veren basit bir komutu nasıl çalıştıracağınızı ve isteğe bağlı olarak çıktıyı bir dosyaya nasıl yazdıracağınızı biliyorsunuz.
Sırada ne var?¶
Aynı sonucu elde eden bir Nextflow workflow'u çalıştırmanın ne gerektirdiğini öğrenin.
2. Workflow'u çalıştırın¶
Size --input adlı bir komut satırı argümanı aracılığıyla bir girdi selamlama alan ve bu selamlamayı içeren bir metin dosyası üreten 1-hello.nf adlı bir workflow betiği sağlıyoruz.
Henüz koda bakmayacağız; önce çalıştırmanın nasıl göründüğünü görelim.
2.1. Workflow'u başlatın ve çalışmayı izleyin¶
Terminalde aşağıdaki komutu çalıştırın:
Komut çıktısı
Konsol çıktınız buna benzer görünüyorsa, tebrikler, ilk Nextflow workflow'unuzu çalıştırdınız!
Buradaki en önemli çıktı, yukarıdaki çıktıda vurgulanan son satırdır:
Bu bize sayHello process'inin bir kez başarıyla çalıştırıldığını söyler (1 of 1 ✔).
Bu harika, ama merak ediyor olabilirsiniz: çıktı nerede?
2.2. Çıktı dosyasını results dizininde bulun¶
Bu workflow, çıktısını bir results dizinine yayınlamak üzere yapılandırılmıştır.
Geçerli dizininize bakarsanız, workflow'u çalıştırdığınızda Nextflow'un results adında yeni bir dizin ve bunun altında output.txt adlı bir dosya içeren 1-hello adlı bir alt dizin oluşturduğunu göreceksiniz.
Dosyayı açın; içerik, komut satırında belirttiğiniz dizeyle eşleşmelidir.
| results/1-hello/output.txt | |
|---|---|
Harika, workflow'umuz yapması gerekeni yaptı!
Ancak, 'yayınlanan' sonucun, Nextflow'un workflow'u çalıştırırken ürettiği gerçek çıktının bir kopyası (veya bazı durumlarda sembolik bir bağlantı) olduğunu unutmayın.
Şimdi, Nextflow'un işi gerçekte nerede yaptığını görmek için kaputun altına bir göz atacağız.
Uyarı
Tüm workflow'lar çıktıları bir results dizinine yayınlamak üzere ayarlanmayacaktır ve/veya dizin adları ve yapısı farklı olabilir. Bu bölümde biraz ileride, bu davranışın nerede belirtildiğini nasıl bulacağınızı göstereceğiz.
2.3. Orijinal çıktıyı ve logları work/ dizininde bulun¶
Bir workflow çalıştırdığınızda, Nextflow workflow'daki her bir process'in her çağrısı için (=pipeline'daki her adım) ayrı bir 'görev dizini' oluşturur. Her biri için gerekli girdileri hazırlar, ilgili talimatları yürütür ve çıktıları ve log dosyalarını, benzersiz hale getirmek için otomatik olarak bir hash kullanılarak adlandırılan bu tek dizine yazar.
Bu görev dizinlerinin tümü, geçerli dizininizdeki (komutu çalıştırdığınız yer) work adlı bir dizin altında yaşayacaktır.
Bu karmaşık gelebilir, bu yüzden pratikte nasıl göründüğüne bakalım.
Daha önce çalıştırdığımız workflow için konsol çıktısına geri dönersek, şu satır vardı:
Satırın [a3/7be2fa] ile nasıl başladığını görüyor musunuz?
Bu, o process çağrısı için görev dizini yolunun kısaltılmış halidir ve work/ dizin yolu içinde sayHello process çağrısının çıktısını nerede bulacağınızı söyler.
Aşağıdaki komutu yazarak (kendi terminalinizde gördüğünüzle a3/7be2fayı değiştirerek) ve tab tuşuna basarak yolu otomatik tamamlayarak veya bir yıldız işareti ekleyerek tam yolu bulabilirsiniz:
Bu, tam dizin yolunu vermeli: work/a3/7be2fa7be2fad5e71e5f49998f795677fd68
İçinde ne olduğuna bir göz atalım.
Dizin içeriği
Aynı şeyi görmüyor musunuz?
Tam alt dizin adları sisteminizde farklı olacaktır.
VSCode dosya gezgininde görev alt dizininin içeriğine göz atarsanız, tüm dosyaları hemen göreceksiniz.
Ancak, log dosyaları terminalde görünmez olarak ayarlanmıştır, bu nedenle ls veya tree kullanarak görüntülemek istiyorsanız, görünmez dosyaları görüntülemek için ilgili seçeneği ayarlamanız gerekir.
output.txt dosyasını hemen tanımalısınız, bu aslında results dizinine yayınlanan sayHello process'inin orijinal çıktısıdır.
Açarsanız, Hello World! selamlamasını tekrar bulacaksınız.
Peki ya diğer tüm dosyalar?
Bunlar, Nextflow'un görev yürütmesinin bir parçası olarak yazdığı yardımcı ve log dosyalarıdır:
.command.begin: Görev başlatıldığında oluşturulan sentinel dosyası..command.err: Process çağrısı tarafından yayılan hata mesajları (stderr).command.log: Process çağrısı tarafından yayılan tam log çıktısı.command.out: Process çağrısı tarafından normal çıktı (stdout).command.run: Nextflow tarafından process çağrısını yürütmek için çalıştırılan tam betik.command.sh: Process çağrısı tarafından gerçekte çalıştırılan komut.exitcode: Komuttan kaynaklanan çıkış kodu
.command.sh dosyası özellikle yararlıdır çünkü size Nextflow'un yürüttüğü ana komutu gösterir, tüm defter tutma ve görev/ortam kurulumu dahil değildir.
#!/bin/bash -ue
echo 'Hello World!' > output.txt
Bu, workflow'un daha önce doğrudan komut satırında çalıştırdığımız aynı komutu oluşturduğunu doğrular.
Bir şeyler ters gittiğinde ve ne olduğunu gidermeniz gerektiğinde, Nextflow'un workflow talimatlarına, değişken enterpolasyonuna vb. göre tam olarak hangi komutu oluşturduğunu kontrol etmek için command.sh betiğine bakmak yararlı olabilir.
2.4. Workflow'u farklı selamlamalarla yeniden çalıştırın¶
Workflow'u --input argümanı için farklı değerlerle birkaç kez yeniden çalıştırmayı deneyin, ardından görev dizinlerine bakın.
Dizin içeriği
work
├── 0f
│ └── 52b7e07b0e274a80843fca48ed21b8
│ ├── .command.begin
│ ├── .command.err
│ ├── .command.log
│ ├── .command.out
│ ├── .command.run
│ ├── .command.sh
│ ├── .exitcode
│ └── output.txt
├── 67
│ ├── 134e6317f90726c6c17ad53234a32b
│ │ ├── .command.begin
│ │ ├── .command.err
│ │ ├── .command.log
│ │ ├── .command.out
│ │ ├── .command.run
│ │ ├── .command.sh
│ │ ├── .exitcode
│ │ └── output.txt
│ └── e029f2e75305874a9ab263d21ebc2c
│ ├── .command.begin
│ ├── .command.err
│ ├── .command.log
│ ├── .command.out
│ ├── .command.run
│ ├── .command.sh
│ ├── .exitcode
│ └── output.txt
├── 6c
│ └── d4fd787e0b01b3c82e85696c297500
│ ├── .command.begin
│ ├── .command.err
│ ├── .command.log
│ ├── .command.out
│ ├── .command.run
│ ├── .command.sh
│ ├── .exitcode
│ └── output.txt
└── e8
└── ab99fad46ade52905ec973ff39bb80
├── .command.begin
├── .command.err
├── .command.log
├── .command.out
├── .command.run
├── .command.sh
├── .exitcode
└── output.txt
Her çalıştırma için tam bir çıktı ve log dosyası seti içeren yeni bir alt dizin oluşturulduğunu görüyorsunuz.
Buna karşılık, results dizinine bakarsanız, hala yalnızca bir sonuç seti vardır ve çıktı dosyasının içeriği en son çalıştırdığınız şeye karşılık gelir.
Bu size yayınlanan sonuçların sonraki çalıştırmalar tarafından üzerine yazılacağını, oysa work/ altındaki görev dizinlerinin korunduğunu gösterir.
Özet¶
Basit bir Nextflow betiğini nasıl çalıştıracağınızı, yürütülmesini nasıl izleyeceğinizi ve çıktılarını nasıl bulacağınızı biliyorsunuz.
Sırada ne var?¶
Temel bir Nextflow betiğini nasıl okuyacağınızı ve bileşenlerinin işlevselliğiyle nasıl ilişkili olduğunu öğrenin.
3. Hello World workflow başlangıç betiğini inceleyin¶
Orada yaptığımız şey temelde workflow betiğini bir kara kutu gibi ele almaktı. Şimdi ne yaptığını gördüğümüze göre, kutuyu açalım ve içine bakalım.
Buradaki amacımız Nextflow kodunun sözdizimini ezberlemek değil, ana bileşenlerin ne olduğu ve nasıl organize edildikleri hakkında temel bir sezgi oluşturmaktır.
3.1. Genel kod yapısını inceleyin¶
1-hello.nf betiğini nextflow-run olması gereken geçerli dizininizde bulacaksınız. Editör bölmesinde açın.
Tam kod dosyası
Bir Nextflow workflow betiği tipik olarak bir veya daha fazla process tanımı, workflow'un kendisi ve params ve output gibi birkaç isteğe bağlı blok içerir.
Her process, pipeline'daki ilgili adımın hangi işlem(ler)i gerçekleştirmesi gerektiğini açıklarken, workflow çeşitli adımları birbirine bağlayan veri akışı mantığını tanımlar.
Önce process bloğuna daha yakından bakalım, ardından workflow bloğuna bakacağız.
3.2. process tanımı¶
İlk kod bloğu bir process'i tanımlar.
Process tanımı process anahtar kelimesiyle başlar, ardından process adı ve son olarak süslü parantezlerle sınırlandırılmış process gövdesi gelir.
Process gövdesi, çalıştırılacak komutu belirten bir script bloğu içermelidir; bu, komut satırı terminalinde çalıştırabileceğiniz herhangi bir şey olabilir.
| 1-hello.nf | |
|---|---|
Burada greeting adlı bir input değişkeni alan ve output'unu output.txt adlı bir dosyaya yazan sayHello adlı bir process'imiz var.
Bu, yalnızca bir input tanımı, bir output tanımı ve yürütülecek script'i içeren çok minimal bir process tanımıdır.
input tanımı, Nextflow'a bir tür değer beklediğini söyleyen val niteleyicisini içerir (bir dize, bir sayı veya herhangi bir şey olabilir).
output tanımı, bunun bir yol olarak işlenmesi gerektiğini söyleyen path niteleyicisini içerir (hem dizin yollarını hem de dosyaları içerir).
3.3. workflow tanımı¶
İkinci kod bloğu workflow'un kendisini tanımlar.
Workflow tanımı workflow anahtar kelimesiyle başlar, ardından isteğe bağlı bir ad ve süslü parantezlerle sınırlandırılmış workflow gövdesi gelir.
Burada main: bloğu ve publish: bloğundan oluşan bir workflow'umuz var.
main: bloğu workflow'un ana gövdesidir ve publish: bloğu results dizinine yayınlanması gereken çıktıları listeler.
| 1-hello.nf | |
|---|---|
Bu durumda main: bloğu sayHello process'ine bir çağrı içerir ve selamlama olarak kullanması için params.input adlı bir girdi verir.
Birazdan daha ayrıntılı tartışacağımız gibi, params.input komut satırımızda --input parametresine verdiğimiz değeri tutar.
publish: bloğu, sayHello() process çağrısının çıktısını listeler, buna sayHello.out olarak atıfta bulunur ve first_output adını verir (bu, workflow yazarının istediği herhangi bir şey olabilir).
Bu çok minimal bir workflow tanımıdır. Gerçek dünya pipeline'larında, workflow tipik olarak channel'larla bağlanan birden fazla process çağrısı içerir ve değişken girdiler için varsayılan değerler ayarlanmış olabilir.
Kursun 2. Bölümünde buna gireceğiz. Şimdilik, workflow'umuzun girdileri ve çıktıları nasıl işlediğine daha yakından bakalım.
3.4. Komut satırı parametreleri için params sistemi¶
sayHello() process çağrısına sağladığımız params.input, şık bir Nextflow kod parçasıdır ve üzerinde ekstra bir dakika harcamaya değer.
Yukarıda belirtildiği gibi, --input komut satırı parametresinin değerini sayHello() process çağrısına bu şekilde geçiriyoruz.
Aslında, sadece params.someParameterName bildirmek, workflow'a komut satırından --someParameterName adlı bir parametre vermek için yeterlidir.
Burada bu parametre bildirimini, workflow'un beklediği girdi türünü belirten bir params bloğu kurarak resmileştirdik (Nextflow 25.10.2 ve sonrası).
Desteklenen türler arasında String, Integer, Float, Boolean ve Path bulunur.
İpucu
params sistemi kullanılarak bildirilen workflow parametreleri komut satırında her zaman iki tire alır (--).
Bu, onları yalnızca bir tire alan (-) Nextflow düzeyindeki parametrelerden ayırır.
3.5. publish direktifi¶
Workflow'un diğer ucunda, publish: bloğuna zaten göz attık.
Bu, çıktı işleme sisteminin yarısıdır; diğer yarısı aşağıda bulunan output bloğudur.
Bu, publish: bloğunda listelenen first_output çıktısının varsayılan results çıktı dizini altında 1-hello adlı bir alt dizine kopyalanması gerektiğini belirtir.
mode 'copy' satırı, sistemin varsayılan davranışını geçersiz kılar, bu davranış düzgün bir kopya yerine work/ dizinindeki orijinal dosyaya sembolik bir bağlantı (veya symlink) yapmaktır.
Yayınlama davranışını kontrol etmek için burada gösterilenden daha fazla seçenek vardır; daha sonra birkaçını ele alacağız.
Bir workflow birden fazla çıktı ürettiğinde, her birinin output bloğunda bu şekilde listelendiğini de göreceksiniz.
publishDir kullanarak çıktıları yayınlamak için eski sözdizimi
Çok yakın zamana kadar, çıktıları yayınlamanın yerleşik yolu, publishDir direktifi kullanarak her bir process düzeyinde yapmaktı.
Bu kod kalıbını eski Nextflow pipeline'larında ve process modüllerinde hala her yerde bulacaksınız, bu yüzden bunun farkında olmak önemlidir.
Workflow'da publish: bloğu ve üst düzeyde output bloğu yerine, sayHello process tanımında bir publishDir satırı görürdünüz:
| Sözdizimi örneği | |
|---|---|
Ancak, gelecekteki Nextflow dil sürümlerinde sonunda yasaklanacağı için bunu herhangi bir yeni çalışmada kullanmanızı önermiyoruz.
Özet¶
Artık basit bir Nextflow workflow'unun nasıl yapılandırıldığını ve temel bileşenlerin işlevselliğiyle nasıl ilişkili olduğunu biliyorsunuz.
Sırada ne var?¶
Workflow çalıştırmalarınızı rahatça yönetmeyi öğrenin.
4. Workflow çalıştırmalarını yönetin¶
Workflow'ları başlatmayı ve çıktıları almayı bilmek harikadır, ancak hayatınızı kolaylaştıracak workflow yönetiminin birkaç başka yönü olduğunu hızla keşfedeceksiniz.
Burada size aynı workflow'u yeniden başlatmanız gerektiğinde resume özelliğinden nasıl yararlanacağınızı, çalıştırma loglarını nextflow log ile nasıl inceleyeceğinizi ve eski çalışma dizinlerini nextflow clean ile nasıl sileceğinizi gösteriyoruz.
4.1. -resume ile bir workflow'u yeniden başlatın¶
Bazen, daha önce başlattığınız bir pipeline'ı, önceden başarıyla tamamlanmış herhangi bir işi yeniden yapmadan çalıştırmak isteyeceksiniz.
Nextflow'un bunu yapmanıza olanak tanıyan -resume adlı bir seçeneği vardır.
Özellikle, bu modda, tam olarak aynı kod, ayarlar ve girdilerle zaten çalıştırılmış olan tüm process'ler atlanacaktır.
Bu, Nextflow'un yalnızca son çalıştırmadan bu yana eklediğiniz veya değiştirdiğiniz ya da yeni ayarlar veya girdiler sağladığınız process'leri çalıştıracağı anlamına gelir.
Bunu yapmanın iki önemli avantajı vardır:
- Bir pipeline geliştirmenin ortasındaysanız, değişikliklerinizi test etmek için yalnızca aktif olarak üzerinde çalıştığınız process(ler)i çalıştırmanız gerektiğinden daha hızlı iterasyon yapabilirsiniz.
- Üretimde bir pipeline çalıştırıyorsanız ve bir şeyler ters giderse, birçok durumda sorunu düzeltebilir ve pipeline'ı yeniden başlatabilirsiniz ve başarısızlık noktasından itibaren çalışmaya devam eder, bu da size çok zaman ve hesaplama tasarrufu sağlayabilir.
Kullanmak için, komutunuza -resume ekleyin ve çalıştırın:
Komut çıktısı
Konsol çıktısı tanıdık görünmeli, ancak öncekine kıyasla biraz farklı olan bir şey var.
Process durum satırında (satır 5) eklenen cached: kısmına bakın, bu Nextflow'un bu işi zaten yaptığını tanıdığı ve önceki başarılı çalıştırmanın sonucunu yeniden kullandığı anlamına gelir.
Ayrıca çalışma alt dizini hash'inin önceki çalıştırmayla aynı olduğunu görebilirsiniz. Nextflow kelimenin tam anlamıyla size önceki çalıştırmayı gösteriyor ve "Bunu zaten orada yaptım" diyor.
İpucu
Bir pipeline'ı resume ile yeniden çalıştırdığınızda, Nextflow daha önce başarıyla çalıştırılan çalıştırmalar tarafından çalışma dizininin dışında yayınlanan hiçbir dosyanın üzerine yazmaz.
4.2. Geçmiş çalıştırmaların logunu inceleyin¶
Bir nextflow workflow'u başlattığınızda, geçerli çalışma dizininde .nextflow adlı gizli bir dizin altında history adlı bir log dosyasına bir satır yazılır.
Dosya içeriği
Bu dosya size geçerli çalışma dizininden başlatılan her Nextflow çalıştırması için zaman damgası, çalıştırma adı, durum, revizyon kimliği, oturum kimliği ve tam komut satırını verir.
Bu bilgilere erişmenin daha uygun bir yolu nextflow log komutunu kullanmaktır.
Komut çıktısı
Bu, log dosyasının içeriğini bir başlık satırıyla zenginleştirerek terminale çıktı verecektir.
-resume seçeneğini kullanmıyorsanız, yeni bir nextflow run komutu çalıştırdığınızda oturum kimliğinin değiştiğini fark edeceksiniz.
Bu durumda, oturum kimliği aynı kalır.
Nextflow, çalıştırma önbellekleme bilgilerini gruplamak için oturum kimliğini, ayrıca .nextflow altında bulunan cache dizini altında kullanır.
4.3. Eski çalışma dizinlerini silin¶
Çok sayıda pipeline çalıştırırsanız, birçok alt dizin boyunca çok sayıda dosya biriktirebilirsiniz. Alt dizinler rastgele adlandırıldığından, adlarından hangilerinin daha eski veya daha yeni çalıştırmalar olduğunu söylemek zordur.
Neyse ki Nextflow, artık umursamadığınız geçmiş çalıştırmalar için çalışma alt dizinlerini otomatik olarak silebilen yararlı bir clean alt komutu içerir.
4.3.1. Silme kriterlerini belirleyin¶
Neyin silineceğini belirlemek için birden fazla seçenek vardır.
Burada size belirli bir çalıştırmadan önceki tüm alt dizinleri silen bir örnek gösteriyoruz, çalıştırma adı kullanılarak belirtilir.
-resume kullanmadığınız en son başarılı çalıştırmayı bulun; bizim durumumuzda çalıştırma adı backstabbing_swartz idi.
Çalıştırma adı, Launching (...) konsol çıktı satırında köşeli parantezler içinde gösterilen makine tarafından oluşturulan iki parçalı dizedir.
Ayrıca zaman damgası ve/veya komut satırına göre bir çalıştırmayı aramak için Nextflow logunu kullanabilirsiniz.
4.3.2. Kuru çalıştırma yapın¶
Önce, komut verildiğinde neyin silineceğini kontrol etmek için kuru çalıştırma bayrağı -n kullanıyoruz:
Komut çıktısı
Çıktınız farklı görev dizini adlarına sahip olacak ve farklı sayıda satır olabilir, ancak örneğe benzer görünmelidir.
Herhangi bir satır çıktı görmüyorsanız, ya geçerli bir çalıştırma adı sağlamadınız ya da silecek geçmiş çalıştırma yok. Örnek komuttaki backstabbing_swartz'ı loginizdeki ilgili en son çalıştırma adıyla değiştirdiğinizden emin olun.
4.3.3. Silme işlemine devam edin¶
Çıktı beklendiği gibi görünüyorsa ve silme işlemine devam etmek istiyorsanız, -n yerine -f bayrağıyla komutu yeniden çalıştırın:
Komut çıktısı
Çıktı daha önceye benzer olmalı, ancak şimdi 'Would remove' yerine 'Removed' diyor.
Bunun iki karakterli alt dizinleri (yukarıdaki eb/ gibi) kaldırmadığını, ancak içeriklerini boşalttığını unutmayın.
Uyarı
Geçmiş çalıştırmalardan çalışma alt dizinlerini silmek, onları Nextflow'un önbelleğinden kaldırır ve bu dizinlerde depolanan tüm çıktıları siler. Bu, Nextflow'un ilgili process'leri yeniden çalıştırmadan çalışmaya devam etme yeteneğini bozar.
Önemsediğiniz çıktıları kaydetmekten siz sorumlusunuz! Bu, publish direktifi için symlink modu yerine copy modunu tercih etmemizin ana nedenidir.
Özet¶
Aynı şekilde zaten çalıştırılmış adımları tekrarlamadan bir pipeline'ı nasıl yeniden başlatacağınızı, çalıştırma logunu nasıl inceleyeceğinizi ve eski çalışma dizinlerini temizlemek için nextflow clean komutunu nasıl kullanacağınızı biliyorsunuz.
Sırada ne var?¶
Biraz ara verin! Nextflow sözdiziminin ve temel kullanım talimatlarının yapı taşlarını yeni absorbe ettiniz.
Bu eğitimin bir sonraki bölümünde, Nextflow'un birden fazla girdiyi verimli bir şekilde işlemenize, birbirine bağlı birden fazla adımdan oluşan workflow'ları çalıştırmanıza, modüler kod bileşenlerinden yararlanmanıza ve daha fazla tekrar üretilebilirlik ve taşınabilirlik için konteynerları kullanmanıza nasıl izin verdiğini gösteren Hello World pipeline'ının art arda daha gerçekçi dört versiyonuna bakacağız.
Quiz¶
[a3/7be2fa] SAYHELLO | 1 of 1 ✔ konsol çıktı satırında [a3/7be2fa] neyi temsil eder?
Görev dizinindeki .command.sh dosyasının amacı nedir?
-resume olmadan bir workflow'u yeniden çalıştırdığınızda yayınlanan sonuçlara ne olur?
nextflow log komutunun görüntülediği çalıştırma geçmişini Nextflow nerede saklar?
Bir workflow dosyasındaki params bloğunun amacı nedir?
Workflow'un output bloğunda mode 'copy' ne yapar?
Dosyaları gerçekten silmeden önce nextflow clean komutuyla kullanılması önerilen bayrak nedir?