विषय पर बढ़ें

Nextflow संस्करण

वर्तमान समर्थित Nextflow सिंटैक्स संस्करण और आवश्यकताएं

ट्रेनिंग पोर्टल के संस्करण 3.0 के अनुसार, हमारे सभी ट्रेनिंग कोर्स Nextflow के 25.10.2 संस्करण रिलीज़ पर आधारित हैं जब तक कि कोर्स इंडेक्स पेज पर अन्यथा निर्दिष्ट न हो (पुरानी या संग्रहीत सामग्री को छोड़कर जिसमें संस्करण सूचना शामिल नहीं हो सकती है)।

क्योंकि कोर्स अब workflow स्तर पर typed inputs के साथ-साथ workflow-स्तरीय output निर्देशों का उपयोग करते हैं, उन्हें V2 सिंटैक्स पार्सर के उपयोग की आवश्यकता होती है। यदि तुम Github Codespaces या लोकल devcontainers के माध्यम से हमारे द्वारा प्रदान किए गए वातावरण का उपयोग करने की योजना बना रहे हो, तो तुम्हें कुछ भी करने की आवश्यकता नहीं है जब तक कि कोर्स निर्देशों में विशेष रूप से उल्लेख न हो। हालांकि, यदि तुम अपने स्वयं के वातावरण में ट्रेनिंग के माध्यम से काम करने की योजना बना रहे हो (मैनुअल इंस्टॉल), तो तुम्हें यह सुनिश्चित करना होगा कि v2 सिंटैक्स पार्सर सक्षम के साथ Nextflow संस्करण 25.10.2 या बाद के संस्करण का उपयोग करो।

ट्रेनिंग सामग्री के पुराने संस्करण

हमारी ट्रेनिंग सामग्री फरवरी 2025 से संस्करणित की गई है।

तुम ट्रेनिंग सामग्री के पुराने संस्करण तक पहुंच सकते हो जो Nextflow के 25.10.2 से पहले के संस्करणों के साथ काम करते हैं, हर पेज के शीर्ष पर ड्रॉपडाउन मेनू आइटम के माध्यम से जो ट्रेनिंग सामग्री का क्रमांकित संस्करण दिखाता है। जब तुम ट्रेनिंग सामग्री का पुराना संस्करण चुनते हो, तो ट्रेनिंग वातावरण के लिंक स्वचालित रूप से वातावरण के संबंधित संस्करण को निर्दिष्ट करेंगे।

Nextflow सिंटैक्स संस्करणों के बारे में अन्य जानकारी

Nextflow में दो अलग-अलग संस्करण अवधारणाएं हैं जो कभी-कभी भ्रमित होती हैं: DSL संस्करण और सिंटैक्स पार्सर संस्करण

DSL1 बनाम DSL2 Nextflow पाइपलाइन लिखने के मौलिक रूप से अलग तरीकों को संदर्भित करता है। DSL1 मूल सिंटैक्स था जहां प्रोसेस चैनलों के माध्यम से अप्रत्यक्ष रूप से जुड़े थे। DSL2, Nextflow 20.07 में पेश किया गया, मॉड्यूलरिटी सुविधाएं जोड़ी: अन्य फ़ाइलों से प्रोसेस और workflows को import करने की क्षमता, स्पष्ट workflow ब्लॉक, और नामित प्रोसेस आउटपुट। DSL1 को Nextflow 22.03 में deprecated किया गया और 22.12 में हटा दिया गया। सभी आधुनिक Nextflow कोड DSL2 का उपयोग करता है।

सिंटैक्स पार्सर v1 बनाम v2 विभिन्न पार्सरों को संदर्भित करता है जो दोनों DSL2 कोड के साथ काम करते हैं। v1 पार्सर मूल, अधिक अनुमति देने वाला पार्सर है। v2 पार्सर अधिक सख्त है और नई भाषा सुविधाओं को सक्षम करता है जैसे कि स्टैटिक टाइपिंग (typed inputs और outputs) और workflow-स्तरीय output निर्देश। v2 पार्सर बेहतर एरर संदेश भी प्रदान करता है और रनटाइम के बजाय पार्स टाइम पर अधिक एरर पकड़ता है। v2 पार्सर Nextflow 26.04 में डिफ़ॉल्ट बन जाएगा।

सारांश में: DSL2 वह भाषा है जो तुम लिखते हो; सिंटैक्स पार्सर संस्करण यह निर्धारित करता है कि उस भाषा की कितनी सख्ती से व्याख्या की जाती है और कौन सी उन्नत सुविधाएं उपलब्ध हैं।

Nextflow संस्करण की जांच और सेटिंग

तुम nextflow --version कमांड का उपयोग करके जांच सकते हो कि तुम्हारे सिस्टम पर Nextflow का कौन सा संस्करण इंस्टॉल है।

Nextflow के अपने संस्करण को अपडेट करने के बारे में अधिक जानकारी के लिए, कृपया Nextflow को अपडेट करना पर संदर्भ दस्तावेज़ देखें।

v2 सिंटैक्स पार्सर को सक्षम करना

अपने वर्तमान सत्र के लिए v2 सिंटैक्स पार्सर को सक्षम करने के लिए, अपने टर्मिनल में निम्नलिखित कमांड चलाओ:

export NXF_SYNTAX_PARSER=v2

इसे स्थायी बनाने के लिए (Nextflow 26.04 में v2 के डिफ़ॉल्ट बनने तक), export कमांड को अपनी शेल प्रोफ़ाइल (~/.bashrc, ~/.zshrc, आदि) में जोड़ो:

echo 'export NXF_SYNTAX_PARSER=v2' >> ~/.bashrc
source ~/.bashrc

ध्यान दो कि NXF_SYNTAX_PARSER=v2 एनवायरनमेंट वेरिएबल एक अस्थायी आवश्यकता है। Nextflow 26.04 से आगे, v2 पार्सर डिफ़ॉल्ट बन जाएगा और इस सेटिंग की अब आवश्यकता नहीं होगी।

v2 सिंटैक्स पार्सर को अक्षम करना

अपने वर्तमान सत्र के लिए v2 सिंटैक्स पार्सर को अक्षम करने के लिए, अपने टर्मिनल में निम्नलिखित कमांड चलाओ:

export NXF_SYNTAX_PARSER=v1

मौजूदा कोड का माइग्रेशन

Nextflow के अधिक हाल के संस्करणों के अनुपालन के लिए मौजूदा कोड के माइग्रेशन के संबंध में मार्गदर्शन के लिए, कृपया संदर्भ दस्तावेज़ में माइग्रेशन नोट्स देखें।

ये दो लेख सबसे हाल की रिलीज़ में माइग्रेट करने के लिए विशेष रूप से सहायक हैं:

इन दोनों सुविधाओं को ट्रेनिंग सामग्री के संस्करण 3.0 से शुरू होने वाली बिगिनर ट्रेनिंग के हिस्से के रूप में कवर किया गया है।

Nextflow कोड की जिस पीढ़ी को तुम माइग्रेट करने का इरादा रखते हो, उसके आधार पर, तुम nextflow lint -format कमांड का उपयोग करके Nextflow linter द्वारा इसका अधिकांश हिस्सा पूरा कर सकते हो। अधिक विवरण के लिए lint के लिए CLI संदर्भ देखें।

हमें उम्मीद है कि यह सहायक होगा। यदि तुम्हें मदद की आवश्यकता है, तो Slack या फोरम पर संपर्क करो।


Seqera

Seqera