Bölüm 3: Yapılandırmaları değiştirmek için profiller kullanın¶
Yapay zeka destekli çeviri - daha fazla bilgi ve iyileştirme önerileri
Bölüm 1 ve Bölüm 2 boyunca birkaç yapılandırma seçeneği biriktirdiniz: yazılım paketleme, yürütme platformu ve kaynak tahsisleri. Pratikte, çalıştırdığınız ortama bağlı olarak bu seçeneklerin tüm kümelerini değiştirmek isteyeceksiniz; örneğin geliştirme için dizüstü bilgisayar, üretim için HPC kümesi.
Nextflow, farklı yapılandırmaları tanımlayan istediğiniz sayıda profil oluşturmanıza ve çalışma zamanında tek bir bayrakla bir (veya birkaç) tanesini seçmenize olanak tanır.
Zaten birini kullandınız: Nextflow Run bölümündeki test profili, girdi parametrelerini küçük ve iyi tanımlanmış bir kümeyle geçersiz kılar.
Şimdi kendi altyapı profillerinizi oluşturacak ve bunları mevcut profille birleştireceksiniz.
1. Farklı ortamlar için profiller oluşturun¶
1.1. Profilleri ayarlayın¶
nextflow.config dosyasına iki profil ekleyin: biri Docker ile normal bir dizüstü bilgisayarda çalıştırmak için, diğeri Slurm zamanlayıcısı ve Conda kullanan bir üniversite HPC kümesi için.
univ_hpc profili aynı zamanda kaynak sınırlarını da belirler; bu, paylaşımlı HPC altyapısında genellikle zorunludur.
1.2. İş akışını bir profille çalıştırın¶
Çalışma zamanında -profile ile bir profil seçin.
Komut çıktısı
N E X T F L O W ~ version 26.04.4
Launching `main.nf` [nice_kimura] revision: c3c85dec78
executor > local (8)
[df/b86b2f] sayHello (2) | 3 of 3 ✔
[b2/e2cb9c] convertToUpper (3) | 3 of 3 ✔
[af/2ecff7] collectGreetings | 1 of 1 ✔
[c6/713c96] cowpy | 1 of 1 ✔
Outputs:
/workspaces/training/config-exec/results
first_output:
- full_pipeline/intermediates/Bonjour-output.txt
- full_pipeline/intermediates/Hello-output.txt
- full_pipeline/intermediates/Hola-output.txt
uppercased:
- full_pipeline/intermediates/UPPER-Bonjour-output.txt
- full_pipeline/intermediates/UPPER-Hello-output.txt
- full_pipeline/intermediates/UPPER-Hola-output.txt
collected: full_pipeline/intermediates/COLLECTED-batch-output.txt
batch_report: full_pipeline/batch-report.txt
cowpy_art: full_pipeline/cowpy-COLLECTED-batch-output.txt
Uyarı
univ_hpc profili, eğitim ortamında çalışmayacaktır; zira burada Slurm zamanlayıcısı mevcut değildir.
Her zaman birlikte kullanılması gereken başka ayarlar bulursanız, bunları ilgili profile ekleyin. İhtiyaç duyduğunuz diğer kombinasyonları gruplamak için ek profiller de oluşturabilirsiniz.
1.3. Birden fazla profille çalıştırın¶
Profiller birbirini dışlamaz.
-profile <profil1>,<profil2> ile birden fazlasını aynı anda etkinleştirebilirsiniz.
my_laptop profilini, Nextflow Run'dan zaten tanıdığınız test profiliyle birleştirin.
Komut çıktısı
N E X T F L O W ~ version 26.04.4
Launching `main.nf` [romantic_volhard] revision: c3c85dec78
executor > local (8)
[22/81de4f] sayHello (3) | 3 of 3 ✔
[93/e16b04] convertToUpper (1) | 3 of 3 ✔
[ca/3e6a91] collectGreetings | 1 of 1 ✔
[16/0cc7e3] cowpy | 1 of 1 ✔
Outputs:
/workspaces/training/config-exec/results
first_output:
- full_pipeline/intermediates/Hola-output.txt
- full_pipeline/intermediates/Hello-output.txt
- full_pipeline/intermediates/Bonjour-output.txt
uppercased:
- full_pipeline/intermediates/UPPER-Hello-output.txt
- full_pipeline/intermediates/UPPER-Bonjour-output.txt
- full_pipeline/intermediates/UPPER-Hola-output.txt
collected: full_pipeline/intermediates/COLLECTED-test-output.txt
batch_report: full_pipeline/test-report.txt
cowpy_art: full_pipeline/cowpy-COLLECTED-test-output.txt
Tek tek dosya adları, test profilinden batch = 'test' değerini doğru şekilde alır (COLLECTED-test-output.txt ve benzerleri).
Aynı seçeneği belirleyen profilleri birleştirdiğinizde, Nextflow çakışmayı en son okuduğu değeri, yani dosyada daha sonra gelen değeri kullanarak çözer. Çakışan ayarlar tamamen farklı yapılandırma kaynaklarından geliyorsa, standart öncelik sırası geçerli olur.
Özetle¶
Altyapıya özgü yapılandırmaları bir araya getiren profilleri nasıl tanımlayacağınızı, çalışma zamanında -profile ile nasıl seçeceğinizi, tek bir çalıştırmada birden fazla profili nasıl birleştireceğinizi ve birden fazla profil aynı seçeneği belirlediğinde Nextflow'un çakışmaları nasıl çözdüğünü öğrendiniz.
Sırada ne var?¶
Her şeyi çalıştırmadan önce tam olarak çözümlenmiş yapılandırmayı nasıl inceleyeceğinizi öğrenin.
2. Çözümlenmiş yapılandırmayı inceleyin¶
Nextflow Run bölümünde tek bir profilin neye çözümlendiğini kontrol etmek için nextflow config -profile test komutunu zaten kullandınız.
Bu komut, birden fazla profili birleştirdiğinizde özellikle kullanışlı hale gelir: az önce gördüğünüz gibi, iki profil aynı seçeneği belirlediğinde hangi değerin gerçekten geçerli olduğunu elle hesaplamak güçleşebilir.
nextflow config komutu, pipeline'ı çalıştırmadan tüm bunları sizin için çözer.
2.1. Varsayılan yapılandırmayı çözümleyin¶
Komut çıktısı
Bu, pipeline'ı ekstra bayrak olmadan çalıştırsaydınız geçerli olacak yapılandırmanın tam olarak kendisidir.
2.2. Profiller etkinleştirilmiş halde yapılandırmayı çözümleyin¶
Gerçek bir çalıştırmada kullanacağınız profillerin aynısını ekleyin.
Komut çıktısı
İkisini karşılaştırmak neyin değiştiğini doğrular: params.batch, params.character ve process.executor değerlerinin tümü my_laptop,test profillerini yansıtır.
Bu, çözümlenmiş ayarları elle hesaplamanın sıkıcı ve hataya açık olacağı, çok katmanlı yapılandırmaya sahip pipeline'lar için özellikle değerli hale gelir.
Özetle¶
Herhangi bir profil kombinasyonu için tam olarak çözümlenmiş yapılandırmayı, her şeyi çalıştırmadan önce incelemek amacıyla nextflow config komutunu nasıl kullanacağınızı öğrendiniz.
Sırada ne var?¶
Nextflow pipeline'larını yapılandırmanın temellerini tamamladınız. Buradan nereye gideceğinizi öğrenmek için Kurs özeti sayfasına bakın.
Özet¶
Bu bölümde şunları öğrendiniz:
- Altyapıya özgü yapılandırmaları bir araya getiren profiller tanımlamak
- Tek bir çalıştırmada birden fazla profili birleştirmek ve aralarındaki çakışmaların nasıl çözüldüğünü anlamak
- Tam olarak çözümlenmiş yapılandırmayı incelemek için
nextflow configkomutunu kullanmak