 मूल दूप से मैं नहीं दिल्लि भारत्कां नाग्रीक हो. नेक्स फलो के साथ मेरे चार साल का अनुबव है, जिन में से तो साल मैं अछिकेरा लाप्स के साथ काम करा है. सिकेरा लाप्स इस नेक्स फलो अपन सूर्ईच् की एक लीडिंग, अदिंग कुन्त्रिबुटर है और नेक्सल प्रुज्ट जिनो ने स्ताट करा ता वो इस सिक्चेरा लाप्स के लीडर हैं. एन अप्कोर के साथ मेरा दो साल का अनुभव है, हैसा वोलन्टीर. फिलहाल में प्यज्टी स्टुडन्त हूँ स्टलन्बोष उन्वूर्ष्टी में साथ अप्रिका में इसके साथ मैं बाईन्प्रमाटिक स्कुन्सल्तेन्सी भी प्रवाइत करता हूँ बायोशाप ड़ोट नेट के माद्धिम से हमारा एक यूटिब चानल है, जिस में हमारा गोल है, कि हम स्कतिंगेज नोलिज को लोगों की कमफुट लंगुज में त्रास्लेट करके उनहे आपने करियर में आगया बड़ने में माद्धित करें. हम मूल दूप से बायोशाप ड़ोट में के एक सामपूल करेंगे, लेकिन नेच्फ्रो लामगुज और अन्प्कोर बेस प्राक्टिसेज आप किसी भी डोमेन में अस्तमाल कर सकते है। कुछ इन सेशिन्स के बार में, हर इक सेशिन की लग्बबग, अप आप लेगक थो यह धाई गंते होगी तो आप एन सेशिन्स को पोस गर खे अगर अगर अख्सेच़ कर नाचाए, यह नेच्ख्फ्रो एक सेशिन्स के खिसी सेशिन को ओग कोई खानवाड़़ाई नी किसितषील जाए, और इसсьक्चात हम ःबfolg near goes को दिशक्त्रेक NOसकेंकी बारै वाडख��बी सहीं  कि भा�孩子 लगंत фильм कँ अखी कफने स CPA 2 Ms. J तो इस में कवर करनेगे कन्फिगरेशिन, दिप्लोमेंट सिनार्यो, काशिंग, त्रबल्चुटिंग, और उसके बाद करनेगे तावर, नेक्सफलो तावर की, जिस को लेके आप अपने तीम के साथ कोलबरेट कर सकते हैं, जो हम त्रेनिंग मेट्रिल यूस करेंगे एस प्र विश्वियो से अख्सिस कर सकते हैं, अगर आप हमारे साथ कोडिंग प्रक्टिस करना जाते हैं, मैं, रहकिमें करता हूँ, तो आप गिटब की, आपको गिटब अकाउंट की जरोड पडेगी, ताखिया आप उसको यूस कर के गिटपाट पर स्फाज नें कर सकते हैं, तो आपको हम आपको के यूटिब चनल पर प्लेट करेंगे, और आप जबी भी लिएने लिएप रेफरेंस करना चाहें, आप बापन साथ के, इने देख सकते हैं, इसके साथ अगर आपके पास इस इवेंट के दोराएं कोई कुई कुएश्टिन्स हैं, तो आप इन स्लाक चनल तेकनिकल कमुनिकेशन को लेके, तो बिल्कोल आप हम से इंगलिस में भी कोईटाक कर सकते हैं, और हमारी जब वोलन्टीर्ट से है, वो आपकी पुरिएग कोछीष करेंगे आपके सबालों का जबाब देने कि लिए, इसके साथ आप आप करते हैं, इसके साथ आप करते हैं अपन् साथ, अपन् साथ का मतलब क्या है, क्या अगर आप कोई नवल रीसुर्च करते हैं, या आप किसी तुस्रे, किसी एक पबलिष्ट रीसुर्च को रीप्रदॉस करना चाते हैं, अपने डेटा की साथ, अगर आपको इसका अईदिया नहीं है कि, कि उस पबलिकेचन म ये, अपने डेटा की साथ, अपने इनवाविश्ट में रीप्रदॉस करने कि लिये, कुछ भहत कोछिष करनी पडेगी, या फिर उन अथर से कुछट करना पडेगा, लेकिन अपन सायन्स एक पन्दमन्टल प्रुष्पल है जिसके अन्तर्गत आपको ये कोशिष करने चेगे कि आप जो भी कुछ पबलेच करें वो दूसरो से वो दूसरे दूसरे रीशर्च क्रोप्स याप ये सायन्टेस वो से रीप्रटॉस कर चकें अपन् सोर्स इस का मतल याप ये कि अपन्टिना है याप नफ कोर की पाईप्ल्लिन्स है आगर अप ये दिखना चाते है कि निकस फोलो काम किषे करता है और निकस फोलो एक तरह से बहीवख क्यों कर राशा आप आप अप याप विखेग भी शब़ी चडी करना चाते है याप पबिश्द बिश् या फिर कुँज़ तूल यूज हूँए है तो मुसे आपने प्रमिज पे रिप्रटॉष नहीं कर सें. इसके साथ एक और फाश्ड़़ावड़ेचन है रिप्रटॉषवबिलिटी की वो है अपन कमौनटी. अगर सीम प्रोब्लम को अपने कुस्टम तरीके से सुल्प करना जाए, ये बुरी बात नहीं, ये अच्छी बात है, लेकिन इस में बहुत दूप्लिकेचन अप अप्फर्ट्स है, हो जकता है कि वो सारे सीम तूल्स यूस कर रहे हो, और अगर वो अपने अप्फर्ट्स को क अप मी नम बदद�, कि अपने प्च्mera हो शुल्चने थो अपापने ऐतेंग और नहीं प्रष जा परत में लग है, अबकल अपने अपने कुस्टम ओगरpeak only in Uri Ma1 Jan, तो आप केपास पाट्रप्लान के अआख़र्स नध अप आप अप अप किसी चिज़्विज़्नध जाते हैं जेसे, तो रहीं किसी चीस में की वह तेलिग करना जाते हैं जेसे तूलिंग हो गई यह एक वहारे में लाँद करेंगे आगे तो आप बिलकल कभी वह एक एत मुन्मिन्टीस को जोँईन करके अपना कुवटीशन आद कर सकते हैं इसके सात अप वाद करते हैं अप जीनोमिक वुध्फलोस की कि यह यह वो खोंटेक्स तेख remained ती के अंतरगण अप रीप्रढूँपिलिटी अआज देटा नालेसिस को दिसक्रष करेंगे लेकें जो भी अप बाथ करेंगे नेक्स फलो को लेकें जीनोमिक लोग्फुलोयों् neighborsalkyod Postheon जीनोमिक ती़ा देटा लेजा खुईता। can apply it in any domain जीनोमिक तीदा खुईता। When we talk of genomic workflows तीदा गाँ काँता। The first thing that comes into mind is जीनोमिक लोग्फ�acjiे जीनोमिक तीबा एन्लिसुस जीनोमिक अउग़ा। which generates a lot of data तीबर क्लो़िष के कई साथ काम करता हु तीबर क्लो़िष जीनो मिक स्थ सकता है तो उस में आग जो एंपृ फाँँट प्यल्स है है वो जाद तो जीवी तक जासकती है मारी अभी लेक्न हो सकते हैं, जिस अगनिजम कि सात आप काम करते हैं नोग का अनक्प्ट फाँस क्यो फाँल्स, टेकनेक्टीट, वो और भी जाद दा शपेज लेती हों. जब आप आप ने अनलीज करेंगे दिफ्रन तेक्निक्स यूँस करेंगे तो हो सकता है, तेरबाइट्स अप देटा जेनरेट करेंगे तो जिनोमिक्स फील जो है, वो देटा इंटेन्सिप फील्ट है और इस लिए जो भी अप आप आप पीलाइन्स हैं यूँस करते हैं, या जो भी बेस प्रक्तिसर थे हैं, वो देटा अनालीशिस अवरेंटेट हैं इस के साथ जिनोमिक्स वोग्फ्लोग सें अप यह एक अप श्फ़ेश्ट करेक्तरिस्टक है, तो हमें यह ती साथी चीजों को अट्फ्रेश करना चाहीं. इसके साथ मैं आपको कुच प्प्रिट्टेशिन्स प्रिटिटेशिन्स करना चाहूंगा. तो यह एक अप और्ली प्टिटेशिन हैं, जिस ने नेख्स फ्लो का यूँस करा, और यह एक नेख्स फ्लो का डो में देरेक्तेद एसिकलिग ग्राफ हैं, दाग ग्राफ कहते हैं. हम इसे इसका मतलब यह है कि आपकी जो प्प्लाईन है, उस में जेसे इस प्प्लाईन में हम ने, यह प्प्लाईन जिनोम आनोटेशिन के लिए हैं, अप उनके इन्फुट और अउट्फुट को, कुस्तमाइस कर रहे हैं, जुसिं यह आप कुस्तम्स्क्रिप्त। तो और रहे एन सब के कुम्मिनेशन के साथ, आप एक सिंगल टास्त चेनरेट करते हैं. इसका मतलब कि आप, आप के पास बहुत सारे वेरिएबल्ट हैं, एक जिनोमिक वोग्फ्लो में, जिसे आप को बालेंस करना है, और इच एसाब से आप को पबलेज करना है, ता कि वो अलग, तुसरे लोग, तुसरे रीशर्च क्रुप्स जो हैं, उसे रीप्रटॉस कर पहें. अपको एक अप पेपर प्रचेंट करना चाता है, ये पेपर नीजर बायो तकनोलगी में पबलीश होगा है, और ये नेक्स लोग, इनबल्ट शी प्रुदुश़वल वोग्फ्लो, वोग्फ्लोग कर पेपर है, इस में इस पेपर का कोर्ष खोगस क्या है, अगर आपके पास बाकि साईरी चीजे आप ने मैंज कर लिहें, जैसे दिपन्टेंटीश वोगीं सुवफ्रेर की, कुन्फे तुल्स युज करने हैं, कुस्टम्स्क्रिट्स होगें, और आपने देटा मैंज्मेंट कर लिहा, उसके बाद भी कुछ चीजे, कुछ फाक्टर्स हैं, जो रिप्रदुषी पुलिटी को नेगेटेख लिएंपाक करते हैं, जैसे यहांपे आप देख सकते हैं, सक्रीन में फिगिर सी, यह जो वें डाएग्राम है, यहांपे अगर आप देखें, सेंप पाइप्लाईं को, हमने दो जगेगे पे रंकरा, अमेजन लिनेक्स पे, जो की एग्डब वूस, सरविसे पे, एची तु इंस्टेंस का, अमेजन लिनेक्स हैं, और दुस रहे है, मैख वूस्एक्स, जो भी जो, तरे से यूनिक्स, तो ये आसा नहीं है, की इंगा इं दोनो अप्रेटिंग सिस्टम का, बहुत बड़ा दिखरन्स है, ये बहुत ख्लूँस्टी रेलेटेड़ अप्रेटिंग सिस्टम है, लेकिन जब हम ये पाइप्लाईं यें सिस्टम से रंकरते है, अब इसका इंपैक्ट, direct impact है, reproducibility में, उदुसरा इंपैक्ट है, के अगर आप ये पाइप्लाईंस, clinical trials में use करते है, या फिर, sense-tive context में use करते है, तो आपका आपका अपका, अपका analysis या आपका अपके डिखरन्स अप्रेटिंग सिस्टम है, और नेख्स्प्लो के चुत, उन खिल चीण्टेनेच को रंग करते है, तो अपके पास 100% reproducibility है. तो नेख्स्प्लो, तो आपनेख्प्लो इंपेटिखरन्ग सिस्टम।। फुपच्टेशन वोक्फलोस. अब मैं एक उद्धाई एक रेविखाँ, यों सिथ अगें गे एक बहुद बडा प्ट में आखटर जो नेगेग्टिग लिए ठ ठभाख काप ता है रीपुटिएँशिपिलेटिको तो जो नेक्ष भिलो या सो� bunny-er दी को साव्तार है दी कोणार नेक्ष भिलो, यवा भी उंगाम नेचा काए री औ losses. इसका गुल ये है के आपको ये सारी चीज़े मैंज करने में हेल्प करे। और नेक्स्फलो इनेबुल्स रीप्रदुष्वेल रीशौच अब ये नेक्स्फलो कैसे अचीव करता है, अम इसके बात करेंगी तेक्निकली नेक्स्फलो एक दोमें स्पैसिफिक लामगेच है, आईगे देखते है कि क्या बिल्डिंग ब्लोग से हमारे पास, पहला बिल्डिंग ब्लोग है, प्रोषेसे, जो की एक तरे से आप आप यूनिट अप वर्क, एक प्रोषेस की तुँ, जैसे आप को एक पाइचण्द श्क्रिप्त यूनिए, तो आप को नेख्ष लोंगवेच को जूएख कर के, आपने वोग्फ्लो में यस पाइचण्द क्यो एंटिगख्रट करनाए, तो ये ग्रीन प्रुषिस आनेदर प्रुषिस आनेदर प्रुषिस और जो वाट्ट आरोज आनेच ये चनलस है. जब आप यस पूरर लोगिक को ग्न्काषूलेट करते हैं उसे नहीं काते हैं एक वोक फलो. तो ये नेक्ष्टलो के बिल्टिंग ब्लोग से है, हम अग, इनके बारे में और गेराई में बात करेंगे, अगले सेश्टिन्स में, लेकिन अबही के लिए this is just an introduction. अब हम ये कोड में कै से दिकता है, मतलोब ये नेक्ष्टलो लामगज एक प्रोक्रामिंग लामगज है, ये जब आप ताइप करते है है, अपने एडिटर्ट्च वगेरा में, तो कै से दिखेखेगा? तो प्रोसिस यहांपे, जैसे हमने अबी देखा गे प्रोसिस बिल्धिंग भ्लोग है. तो फ्रोसिस के दिफनीशिन आप प्रोसिस को एसे दिफाएं कर सेखते है. इस प्रोसिस में फाज्च कुशी नाम का सोफ्तर यूज बहाई है, पास्ट्क्यूएँ सी इक सोफ्रेड जो हम पास्ट्क्यूएँ फाल्टेई सी खौल्ट्येई जेकखाँने में युज करते हैं और इस, इस प्रोसिस की देफनेशन में अन्पुत अबच्ट्प्र को मैंचिन कराई है, हमने तो हम इसके बारे में और बात करेंगे, अगले सेच्टिन्स में, लेकिन अभी के लिए हम बात कर सकते हैं, work flow की. तो अब आप ये work flow देख रहे हैं यहापे, जिस में हमने एक चानल से हमने data को input कराया, और हमने एक process की तरफ बहीज दिया. तो हमने एक सिंगल स्क्रिट में जो भी आप आप अभी स्क्रिटन पे देख रहे हैं, उस में हमने लगब सारे building blocks कवर कर लिए हैं. तो next flow, conceptually बहुत सिंपल लंगुज हैं, और इसका जो domain हैं, next flow का domain बायन्पर माटेक्स नहीं हैं, next flow का domain हैं, parallelism, implicit parallelism. तो अगर आप अपने softwares, tools को याप एक custom scripts को next flow लंगुज में लिकते हैं, तो आप अप अप अपने next flow आपके processes को आपके tasks को parallelize कर लेगा, ये है next flow का main domain. अगर तीन बाम फाँटिल आपने ABC, so next flow, automatically इस प्रोसेस की 3 copies बाम to fast की 3 copies बाम को यहां बेजेगा, आपको ये 3 प्रोट्टेश परलेल अग्सेकूट कर के दे देगा इसका मतलव आप जो चीज मनते हैं कि अखर अग्ट प्रोटेश दस मनेट लेरा था आपको इन तीनो फालीस को अनलैस की जरूथ है तो जो चीज मानते हैं कि अकर एक प्रोसेस दस मनेट लेरा था एक CPU पे तो अगर अप सिकुईंचली आनलाइस करो तो दस मनेट दस मनेट दस मनेट तीस मनेट लगेंगे आदर गंटा लगेगा अपको लिए तीनो फायल्स को अनलाइस करनेवे अगर अप पारलिलिजम खरते हैंidez। अगर अपको आपको अपको सगा देखा एक देखा औक अपको जित कर के अप इन्टीनो फायल्स को तीस परोसेस सेएं से साँभ तीज मिनेट की जगे अपको तीन फायल सका अनलिसोचyun अपका आपके पास रिल बेनेप्ट्टँज़ हैं अपाद बाद करते हैं अप फम तोड़ासा बाथ करते हैं एक उपके कोर कुश्र्फ्त्ट की यसे यह इंप्लटिस्ट पारलिलिलिगम और रिज्यु मेप्लेटी तो परलोलिएशेशिन हमने अभी जेस्ट कवर करा है तो बैसिकली आपको कुछ एकस्ट्रा करने की जरूवत नहीं है अगर आप अपने सी पूस का 100% यूँज करना चाते है ये नेक्स फलो के रिसपाूँआटी है कि वो आपके सी पूस को कैसे यूज करेगा लेकिन नेक्स फलो एक आपको एक तर एक से गरेंटी दीता है कि आपका अपके और थेटा सेट है अपको नेक्स पूस के आनलास कर कोगे देगा यसे आपको लागा बहुत नेक्स चास्ट नहींग बातली दो परली का पोजे 2 अप करने किई, तो आप इसे एक तरे से अज़े सबते हैं कि यह आपके वोक्फलो में चेकपोंट के रोल पले करते हैं और तीस्रा आस्पेट हैं रीूज बिलिटी इसका मतलब यह है कि जब आप चेकपोंट से दुबारा स्थाट कर रहे हैं आपके पहले का जो भी आनालिसिस होच्छुका ता वो हम ने दिसकार्ट कर दिया उसे आप रीूज कर सकते हैं उस में जो भी चीज़े प्रदूज हुए ती वो आपके इस निव एकशिकूचन में यूज हो सकते हैं तो पारले रीूज आपके रीूज बिलिटी इसके साथ, नेक्स फलो तीन आस्पक्ट को कवर करता हैं जो की हैं, कोड, सोफ्टर और कमपूट कोड कम अतलब क्या है? कि जब आपने नेक्स फलो लांगुच को यूज कर के अपने दोमें की एक पाप्लाइन बनाई अपने प्प्वेवरेट कोड मैंज्में तूल्स में रक सकते हैं जैसे, टेकनिकली इसे हम केते हैं, वोर्जिन कंट्रोल मैंज्में तूल्स जैसे होगया गेट और उसे आप आप अपने द्पोस्टरी को फोँस्ट कर सकते हैं गेट हप पे बिट पकेट, एडब लो एस, राजोर गिते हैं इन मेंसे किसी पे भी आप अपने कुड को फोँस्ट कर सकते हैं इसके साथ, नेक्स फलो सोफ्टर को भी अकोमडेट करता हैं अगर आज आपने लब ड़ुभ करना चाते हैं यह फर कल ल्गे टव ड़ुएस बाज बरन करना चाते हैं यह विकषा प्त कर को भी तो लेड़ बाच करना चाते हैं तो, अपको खली कुन्फॉट्रेइश छेँज करनी है, ता के आप प्रिप्रटुस्विल अनालिसिस कर सकें आपका जो पाईप्लाईन है वो पोटिबल हो और आपकी जो पाईप्लाईन से वो सकेलिबल हो कि लाप्टोप में जादा से जादा 50 CPUs हो सकते है जादा के में को लखते है अपके लिमित नहीं है क्लाउट पजाएंगे तो आप 10,000 CPUs यूज कर सकते है आप पाईप्लाईन के लोजिक को चेंज करने के जादोत नहीं होगी आपको खाली कन्फिगरेशिन को चेंज करने के जादोत होगी भी नहीं चीज को नेक्स फुलो के टूँ थोगे अनाल्सिस में यी। अपने यी। अब आप वो छाहउट उछित देव॒ क्योंब अब वोट्गा को वैअद कोचा चींच केचा तो अपने वो अपने गाईषिन काचा टॉट गोल की तोते है नेक्सलो के बेस प्राक्टेसेख को उस दोमेन में अपलाए करता है लेकिन आज हमारे पास दुसरे डोमेंस की भी पाएप्लाइंस है और हम बहुत ये अच्छे तरीके से एक्सपान कर रहा हैं बहुत डोमेंस में अच्छल को आप पाटिसपेट कन आचाए तु प्लीज फिल फ्रीए और तुब वोलंतिर द्रिवन प्रोठेस है ये एस की सपेष्छल भी।ी है ये अपन कम्नूटी है आच्छे ताईम पे हमारे पास सेवन्टी़ प्फाइप्लाइंस है पिचेटर पाएप्लाइंस है अभग जो ये पाएप्लाइंस बआना रहे हैंं वो सेम तरिके के पाटिन्स युझकर सेखेए और भेस पाइप्लीषेज युझकर सेखेए और ये साथ साथ, नेक्स फ्लोड, एंख्कोर के 2 फ्रोठेट वोक्छेट सेट है, अगर अगर आप पुच अगे कमुनूटी रापिडली ग्रो कर रही है, तो यह कल को यह नमवर्स बहुत दिख सकते हैं, किंके आज सुभई जैसे मैं देखा तो लगभग मार पास लाक पे पाजज़ार लोग हैं, तो आप देख सकते है कि कमुनूटी में कितना मुमेंटम है तुस्री भाट इस कमुनूटी कि टिषिक भी ज्धीक, सोब वलल्न्टीर, सोब जेंरे इन इरिया से हैं हम इस कमुनूटी को देखनेटय दिनया बहर में गर रहे थाताभते है लेकिन आजके ताईपे इस कमनूटी के मेईजेद यूजर्स हमारे नोर्ट अमरिका योरप और सावतीस टेश्या में हैं हम ब्रजल, सावत आप्रिका और इन्दिया में देपनेट्लिग ग्रो कर रहें तो आपको क्लाउट की इतनी इंदेख नोलिज जर्वत नहीं है। इसके सावत आप मेहें बताना चाँवगा कि नेक्सफलो तावर के तीन वुर्जन से कमनूटी वुर्जन हैं जोकी अपन सूर्स हैं एक क्लाउट वुर्जन हैं जिसके फ्री और पेट तीर्स हैं और आप नेक्सफलो तावर के लग भर्जन हैं अपने जीसके साथ हैं फ्रीग तीर्स हैं और आपको एक बड़ोर्वाए यही देमूड यही देंगे तावर तावर के जो क्लाउट वुर्जन हैं। अपकी स्क्रींट में अप विज़िबल होना चेगे हो सकता है के अपका बाग्रों वाईट कलर का हो लेकिन वो थीम के अखोडिं वेप्साइट अजिस करता है इस ट्रेनिग मेटीरल, यह ट्रेनिग मेटीरल जो है यह आपको हमेशा अवेलिबल रहेगा अब भी अपस आखे च्ड़ेणिट मेटीरल को रेफर करना चाहे तो आप भी बिखल कर सकते है और वोख्शोब मेटीरल हम पहलो करेगे आजके लिए वो है बेजिख नेकस्फलो ट्रेनिग वोख्शोप इस वोख्शोप में आप देक सकते हैं कि हमार पस काफी सेक्छन सेट अबही कि लिए हम एंवायमेंट सेट अप और अब नट्रुडक्षन कवर कर देंगे अगले सेछन में हम कवर करेगेंगे पहलार डरनिख पाईप्लाईट तो अगर आप जस हमारी एकस्पेक्छन है कि इस सेछन के अईड में आप नेकस्फलो पाईप्लाईट रिखने का तोड़ा एकस्पीरिन्ट गेन कर हैं और आप चनाल्स, प्रोषिस्टर्स और अप्रेटर्स के बारे में आदिय हो आपको आपको ये आईडिया हो कि कंटिनराराईज वोग्फलोज क्या है और क्यों जरुडी है आपको देफ्रेंट एक्छिकुचन प्लाट्फाम्स शाएड आप याद करें कि जैसे हम ने बात करे थी नेकस्फलो कोड, सोफ्वेर और कमपूट के बारे में उसके बात हम नेकस्फलो कम्मुटी और एकषिस्टम के बारे में बात करेंगे तो इस त्रेनिरनेक को करनेंक के लिए आपको नेकस्फलो के जरूट पडेगी अआई खुड अदीट़र के चरूट पडेगी इसके साथ-साथ अदेली नेक्ष्फलो दोकर कंटेनर्च की जरूत पडेगी उसके बाद हम थोड़ासा अपको नेक्ष्फलो तावर का अवर्विव देंगे लेकें अगले सेश्टिन के लिए हम बात करते हैं अंवायमेंट सेट्टब के लिए जासके मैंने पहले बी बताया था कि असे चेनिंग को लिए हम नेगा नेगा गीटपोट को गीटपोट को कंटिटपोट को खील करगे योंकी गीटपोट अगर आप उस लेंगे एक खो गुच पी अलग से अदल करने गी जरूत नहीं पडेगी और गित पर्ट को जुज करने किलिए आपको स्व्व एक इस बतन पे क्लिक क्यरना है, और आपको गित पर्ट पे यह लेचाएगा. मैं जल्दी से ये त्रेनिग मेप्सट कोलतां तुसी बेच पेज पेई अगर अगर अपने गिट पोट पहली बार खोला है, जैसे मैंने भी खोला है, तो आपको अपने गिट्ट्ट्ट्ट्ट्ट्ट के साथ इसे अद्टेंटिकेट करना होगा इसी वजेसे बगीट्ट्ट्टट आप जरूरी है इसे जानकरी लगगेट्ट्ट्टट के लिए, तो एक बर अध्टीकेचन जैसे ही पूरा होता है तो गिटट पोट, फमरे लिए वोँक श्पेईस बनाने लगेगा, और जो हम ने एक दोखर कंटेनर बनाय है जिसका आप � वोस्में बाद करी आबी बाद करी गिटपार्ट अंस्टलेशन की जो की इसका सेकिन पुट है, वाँ प्रोंट तु अगर आप यहां क्लिग करग तो अप दिरेक्ली वहाँ पे लेंग करेंगे लेकिन लेकिन अपने आपके बाजी बी अप्ष्टन एक आप लोकल अपने सेट़्टव कर के हमारे जो मतेरल है, त्रेनिंग मेतेरल सब कुँछ सात में फोलोकर सकते हैं तोरा सा उस में सर्परिजग होचकते है कि तुछी इछीज देपन करतें कै अपके पास लिनेक सिस्टम हैं, मक सिस्टम हैं, यह फिर विंडोज हैं, और आपने परमेशिन्स उन ड़ोकर अंस्टलीऊन को, यह विर्मेशिन है कि नहीं, जावा सेट अप है कि नहीं. तो अगर अपने लोग से बज़ूग नहीं से लग के थापा है उर्फवो नहीं जावा पहले से सेटथब हैं अपके पास दोकर अगर अवत से पहले से टरनिंग मेट रीडल भी हप लोकली कोपी बना सकते हैं और जैसे यह आपने लोकल कोपी बनाई तो अप उसके अंदर जागे त्रेनिंग स्थाड कर सकते हैं गिट पोड में आपको कुछ अलक से सेटप करने की जरूत नहीं है ये साब हम ने अपनी तरफ से सेटप कर के दिया है आपको और अगर हम वापस गिट पोड चाएक देखें तो आपकी स्क्रीम तो कुछ आसा नजर आना जाएए ये सिंपल ब्रूँजर है जिस में जो हमारी डोक्यमेंटेचन है उसकी एक कोपी आपके रेफरन्स के लिया हम ने आद कर लिया है ता कि आपको आलक से ताब चेंच ना करना पड़े आप अपने एडिटर के अंडर अपने सेम ब्रूँजर विन्डो में कुकिस को हम एकसेप करते हैं अगसेप करने के तुरंद बाद हमारे पास सेम आखसेश है सोगे ये हमें मिनिमाइच करना है और मैं जाग कर के यसका साएस थोड़ा चोड़ा कर दिता हूँ लेवट हैं साएट में अपने विजिल स्टुड्यो कोड पहले यूँस कर है उनके लेई ये अंटिप्टेश बहुत फमिलेर हो ना चाएई कुकि या बेसिकले आप को विजिल स्टुड्यो कोड आप को देता है गिटपोट जो के आप यूँस कर सकते हो अपने प्रक्टेस के लिए अपने त्रेनिग के लिए तो लेप वेँस चाएई में ये अप ये एए एक्श्टोर मेंँ देग हैं जिस में आप देख सकते हैं की ट्रेनिग मेंतेरिल के लिए फॉलडर है उसके अंदर क्या क्या लेबिल है अपको दिखानाचाता हूँ, हम बात करेंगे नेक्स फलोके बेसिक कुन्सेप के बारेमे पहले इसके लिए क्योंकि अभी हमें जरुत नहीं है, मैं ये पन्त कर देता हूँ और यहाँपे हम वापस ब्राउजर के विजोल सुडियो कोड है, उसकी अंदर जो हमारा ब्राउजर खोला है, उस में बात कर सकते है, उसी को लेके, तो नेक्स फलोके बेसिक कुन्सेप क्या है, नेक्स फलो, एक वोग्फलो, अग्च्ट्रेष्ट्यन एंजन है, अग्च्� प्रचट्रो आपको यी फस्टिलिटेट करेगा, नेक्स फलो आपक किले आसान बनायगा, अपकेपास जोब यह न्फ्रस्ट्र्छर है, उसे वुच्ट्ट्बॉसेच कर सकें, अग्च्ट्रेष्ट्र के, एक वोग्ट्ट्ट्रो को रन कर सकें, तो जोभी आपने अपना � जब भी आप data science की बात करेंगे हम मुझे लखते है के हम इस बात को अगरी कर सकते हैं, के हम जादते data transformations की बात करेंगे data transformation का लोजेक कुछ भी हो लेकें एक input होगा एक output होगा तो Linux की philosophy शीम है और next flow जो है इस philosophy को पुरी तरह से implement करता है और accept करता है next flow इक step अगे जाता है और इस philosophy को extend करता है वो कैसे करता है, की next flow आपको जो है allow करता है की आप आप अपने work flows को portable और reproducible बना सकें मतला ये हुआ की अगर कोई उबन तो Linux 20.04 use कर रहा है याप कोई center ways या Amazon Linux या कोई भी अलक तरेके का Linux use कर रहा है तो वो उन सारे system से portable हो और next flow एक step और जाता है की अगर आप docker use करते है तो ये सारा का सारा pipeline का logic जो है आपका वो हरेक operating system में valid है तुसरा scalability of paralyzation and deployment तो इस का मतलब हुआ की अगर आपके पास 10,000 CPU available है तो आप चाहे, तो उन सब CPUs को अपने अपने system में, अपने pipeline में use कर सकते है और ये 10,000 CPUs generally एक laptop में available नहीं होंगे ये available होंगे cloud में या फिर आपके hpc clusters में तो आप अप अपने pipelines को develop कर सकते है अपने laptop में, अपने notebooks में और जब आप 100% sure है की अप सभी काम कर रहा है आप अपने logic ज़ही ये वापने implement कर लिया आप उस pipeline को लेके cluster में बहेचकते है या cloud में बहेचकते है, या Kubernetes में बहेचकते है और highly scalable environment में अपने execute कर सकते है इस की अलावा next flow अफर करता है आपको existing tools, system and industry standards जैसे Docker एक industry standard है for containerization, और वी बहुत सरे tools है जैसे conda होगया जो की एक industry standard है reproducible data science के लिए तो आपको next flow native integration देता है आब हम बात करते है process की इसे पहले की में आगे बुरू मैं आपको ये बताना जाता हो चकता है की कोई point आपको थोडा complicated लगे तो ये on-line videos है आपकभी भी इस video को पोथ कर सकते हैं वापको जात सकते हैं और उस explanation को फिर से देक सकते हैं अगर explanation clear अगी है तो आप definitely हम से बात कर सकते हैं on Slack channel पर और हमारे जो volunteers हैं वो बहुत कुछ वंगया आपकी अगर वो आपकी मदत कर सकते हैं तो next flow का जो building block है की आप जो भी आपना tool या फिर आपना software या फिर आपना data transformation script अगर आप उसे एक work flow में डलना चाते हैं आप को उसे एक process के आंदर राप कर के रखना होगा तो मतला अप process को कैसे imagine कर सकते हैं process को आप एक box के दर imagine कर सकते हैं तो process A का output तो process B के input में जा अचा आईग तो jove hi file जहाँ पे भी develop generate होई usse process B तक अम channel के तो bhejte हैं तो jase jane khe jane khe jane khe jane khe jane khe jane khe jane khe jane khe jane khe jane khe jane khe jane khe jane khe jane jane khe jane jane khe jane jane khe jane jane khe jane jane khe jane jane khe jane jane khe jane jane khe jane jane khe jane jane khe jane jane khe jane jane khe jane jane khe jane jane khe jane jane khe jane jane khe jane jane khe jane jane khe jane jane khe jane jane khe jane jane khe jane jane khe jane jane khe jane jane khe jane jane khe jane jane khe jane jane khe jane तो ये एस स्विय राट़ेशन ने मेरी हल्प करी थी शवयादाप की लिए से हल्प हों लेकिन आरगर अप प्योरले टेकनिकोल तरम से बाथ करना चाहें तो उसका मतलप है के लिए आप प्रोसेस होगा आप ये प्रोसेस है। और अग चानल हैं वंके थात् हब रहाँकी देखा को सकत rainy wealth देखा और अग्यी इणने रहे हैं दा Marshmallow okay यहां जादा बड़िया है तो हम यहां पे कंटिनू करते हैं ताकि स्क्रीन स्पेस हमार पास जादा हो अग्टिकुचन अप्स्ट्राक्चन हम बात कर लिएते क्या आपने अपना जो लोगिक लिखा है वोग्टिलो का, वो एक स्क्रिप में लिखा अप उसे जहांपे भी रन करना चाहें वो आप अलग फाँल में लिखते हैं जैसे nextflow.config फाँल ती तो कल को अगर आप अपने लाप्टोब से उस लोगिक को हटा कर एक खलाफ्टर में जन्रेट करना चाहें यह रन करना चाहें तो आपको आपको आपने पाइप्लैं का लोगिक नहींच करना आपको खाली कनफिगरेचन पे चेंच करना है तो उसे हम कैते हैं अप्ट्रक्छन जैसे ये nextflow.pipeline होगी में थोड़ा से यह आपे जुम करता हूँ आप अपने किसी भी प्रोसिस को आप आप अपने प्रोसिस को किसी भी लामगज में लिख सकते हैं और जैसे ही वो आप आपने प्रोसिस को बनाया उने आप कनेख कर सकते हैं चानल्स के तुब अगर अप तेरेटिकल कमपुटर सायंज की तरव देखें, तो जो nextflow की जो सुब्तर इंजेनेरीं के तोम से बुलडिंग ब्लुक है वो है डेटग जो फ्लो प्रोँगरमें तो यहि उपनी चानल्स की तुब की चानल्सॉब आप अपने िाचकते होगा जिस के बारे में आप नहीं भात करनी ठी उसके बाद अब अपने शोच्टरी देपेश्टीश को इक श्थेणेर की अंदर, बन्डल कर खे अपने प्रोऽसेच के सात अटद्टोग सकते है अपने आप प्रोसेच रन होगा, तो रव प्रोसेच एक स्पेसिःपिक कोई आन्टेर को जाहाईगा। आफरीर एक स्पैसविक कुश लाईवावियमेन्ट को यूस करेगा इसके साथ- साथ जो आपकी जोब पाप्ट्र्लण है उसे आप वूर्जिन कन्टर्ल सिस्टम्स में होस कर सकते हैं जएएसे, get, GitHub, GitLab, BitPocket, or Amazon, Code Commit, Azure, Repository systems इन employee किस्थे में सेव कर सकते हैं जब आपने अपनी पाईपलाईं को बना लिया, जोबी लोजिक ता अपनो से एकशप्रेस कर दिया कोड में, उसके बाद आप इसे रन करना चाते हैं, तो नेक्स्फलो रन ताईं की बात आएगी. यो उस कोड को लेता हैं और उसे चाद्ट्ब रहेत करता हैं ताख की जो आपका एकच्ट्ट्टिए प्लाट्फाम हैं उसे समझ सकें. कि योंकी ये सारे एकच्ट्टिएट्टिए प्लाट्फाम से अलग लक तरीके से खाम करते हैं. अब हम बापस आपना एकच्ट्ट्ट्टिए रहांगे लग करते हैं. और जो पहली श्क्रिष्ट्ट हैं हें, ृहलो ृट अड अपने उसको खॉल के उसकी श्तॉडी करते हैं. If you are setting a local setup, then I would like to give you few tips so that you can confirm that everything is okay. what can you do next flow you can also take some information about and when and what is the current version सुई नप्वाजेण देखाँडिया थे अगर था? गर नप्वाजेण तो मैं वोगा जावा लेवेडिन दोब रती हो खुई अगर था? वोगा नप्वाजिया देखाँपि में देखाँपि मैं अगर गुछी ड roamon. अगर अपने लोकल सेटव करा तो प्लीस आप ये देखिए कि आपके पास सारी चीजे है कि नहीं तो नेक्स फलो उस टेश तर काम करना चाहिए इसके बाद हम बाद कर सकते हैं, हलो स्क्रिप्ट की अब हम पहली स्क्रिप जिस का नाम है हलो दोड अट इनेव इस स्क्रिप में हम बइसेकले एक बहुत एलिमेंट्री खुड़्षेः कुवर करेंगे जोगी है, अगर आपके पास एक ट्रिझी फ्रशाँ उसे याप केसे देवाइट कर सकते हैं चंकस में तो आप येसे इस्क्रिप्त को अच्छे से समथ सकते हैं पहले ईग भार कवर करते हैं यहां से top से bottom तक उसके बातम एक पाट को अस्पिशन करेंगे तो जेशे आप यहां देखने हैं यहां परामिटर्स आद करे हैं पराम्स टोट ग्रीटिंग तो यह एक श्क्रिप्ट का परामिटर हैं चब भी आप श्क्रिट रूं करेंगे तो अगर आपने कास्टम वैल्यो नहीं देगी ग्रीटिंग की जो जो बी रूं गरीटिंग गे आगे बहीजंगे तो हम यह चानल बनाते हैं यहांपे अर वेजन देटा और देटींग हैं, जैसे लिया नहीं गे गंई चानल बनाया अब चानल सके टूब हमे चानल स मैं हमरे पास देटा आखया ज़ैसे यह आमने चानल बनाया कुई आराद काई आग्या लेकिन देटा को प्रोसेस करने है तो देटा को प्रोसेस ना करते हैं यह प्रोसेस बलोक के चुत्रु नेक्स फलो लांगवेज में प्रोसेस-बलोक के रूल है कि वो इंपुट ड़़ट करे, अपुट ड़़ट करे, और जो में स्क्रिप्ट है, उसे रन करे. यहाँ पे आप नोटिस कर रहे है, कि हमने अभी स्क्रिप्ट नहीं लिखा. लेकिर अगर अप स्क्रिप्ट नहीं भी लिखते है, तो यह अंड़स्टूट है. अपने आभी दख हमने कवर कर है के एक परामेटर है, एक ग्रीटिंट चानल बनाया, अगर दो प्रोसेस है हमारे. आप देखते हैं कि इस स्प्लित लेटिस प्रोसेस में, हमने ग्रीटिंट चानल क्या कोई चोंटेंट है, उसे बहीज दिया. अगर अप देखे तो ग्रीटिन्ट चानल में, ख्रीटिन्ट है जो की पराम स्वण आब क्रीटिंट है, अब परामस अब क्रीटिन्ट कि वर्टिम है, हलोवोल्ट. तो इस का मतलव, अब सीदे-सीदे ये भी कै तें के लेके सकते हैं कि हलुवोल्ट तो है, वो हम ने चनेल बनाके इस जगे इस प्रुसिस के अंदर भेजा जब हमने इस प्रुसिस के अंदर भेजा, अब हम यहा देखते है कि क्या अथ है उसका इंपृ आया इसकी वल्यो होगी, hello world जब hello world इसके अंदर आया अब श्क्रिप्ट एकजिक्यूत होगी यहा प्रुसिस कर सकते है एकस जो इसका इंपृ है, उसे अप कै सकते है, direct hello world यह एकस्ट्रा कोटेशिन माक्स अटाके उसके बाद वो एकजिक्यूत होगा, same logic इस तूल के साथ अब हम अगर नेक्स फलो से बहार आखे लिनेक्स पे यह लोगिक एकजिक्यूत कर के देखें, तो हम देख सकते हैं कि क्या अट्फुट होगा, अब जैसे में दालो, जैसे में खाली लिक होगा, यहापे hello, उसके बाद श्प्लेट, minus p6, chunk, sorry chunk, अगर हम यहा पे देखें, तो आप उस श्ट्टु के च्चंक्स बन चुके है, तो आप हम एस चंक को ड़िलिट कर दिते हैं, तक इसम मेरना हो, फो कि क्यं च्ट्कि वायल लहीं है, तो हम बापस आब फुत में अग्जिंल स्टेट श्ट्यक्कं है, अब अब देख सकते हैं कि जैसे ये वोड होगा ये जो श्ट्रिंक है, ये दो वोड सी बनी है, हलो वोल्ट, तो इसके दो चंक्स बन न चये, देपैंटिंक की हर इक चंक चो है, वो चै करेक्टर्स का है. तो अगर च्ये से जाडा करेक्टर्स हैं तो वो दुसराज चंक पनाय गा, अगर च्यख से कम करेक्टर अरे है, ठो वो एकी चंक में आए द्कते रगा. इसी बजेजन फुष का मरे ठा, बास एकी चंग पना था. अब आभी हम इस लाईंको कोमेट कर दे�ते हैं, यह शेलीन को भी पर कोमेच़ती तें हैं, और इस वोप्लो को वी रन करे देकता हैं, कि ख्या होगा. Nextflow run. Hello. आप देख सेख तें की यह पुसेस इक्चीूट कहोगा उस पुसेस की एक अइडि हैं यह काईडि है, यह सम के तें हैं, इस प्रटिकुलर इजिकुछन का नाम है, नोस्तालजिक पेंज तो यह रान्टम नेम्स हैं, जो क्या आपको नेक्ष्लो देता है, आप यह नेम्स को अवराइट करके मेंनिंग्फल नेम्स भी देज सकते हैं, तो यह आपकी चोईस है, लेकिन हम यह देख सकते हैं, कि हमें � यह स्क्रिप्त रन करी, तो उस्के अध्फुट में बहुत सारे चंक्स बन ने चाईगे ते, तो वो बने, लेकिन हमें अध्फुट नहीं पता अभी कहाँ पे हैं, स्क्रीन पे नहीं दिखा, अगर अप एलेस करें, तो, मैं शाए दिए उपर लासकता हूँ, यहां बे एजी है, आप यहां देख सकते हैं, कि एक नहां फुल्डर है वोर्ग, अब अगर मैं अध्फुट देखना चाता हूँ, लिट्रिट C-H का, तो मैं इस, तो मैं सें पाटन फुल्डरता हूँ यहां पे, यहां पे लिखता हूँ आप, जो मैं यहां लिखा है, सें तरीखे से पाटन, और नहों से यहां एजीकुट कर के देखता हूँ, इस पार हमारी स्क्रीन पे कुछ एकस्ट्रा प्रेंट होना चेगी, क्योंकि हमने next flow को बताया कि जो भी output है, a split letters का, जिसका नाम हमने दिया है, lettuce channel, उसको हमें वू करना है, इस पार next flow ने हमें extra information प्रेंट कर के दी, पिछली बार next flow ने हमें नहीं प्रेंट कर के दिया था, क्योंकि हमने इसके बार में रेकौस नहीं करी दी, अगर हम वापस original script के तरब पडें, तो हम इस पार को देमूप कर सकते हैं आप, यह फिर एड़ेट कर सकते हैं, आप देख सकते हैं कि, अगर हम बापस original script के तरब पडें, तो उस में हम देख सकते हैं कि, जो output है, split letters का, उसे हम ने flat करा हैं, flatten, हम ने concepts को देखे देखे ने introduce करेंगे, लेके नहीं आपका first point of contact है, एक operator के साथ, तो flatten, एक तरे से operator है, अपरेटर क्या करते है, अपरेटर की ज़रोइत हमें परती है, जब हम channel के अंदर जो भी data है, उसकी shape को change करना चाहें, उसको shape transformation क्या सकते हैं आप, ना कि, उसका content transformation, content transformation किले आप processes युस करेंगे, लेके shape transformations किले आप, operators युस करेंगे channel पर. अगर अप इस पाईपलन को अप रन करें, अप निची जाके वापस नेक फलो रन कर सकते हैं, अप यहां देख सकते हैं कि, अगर में थोड़ा सा उपर जाओ, अप, किट पोड ने अप बाट रमुप कर दिया है, तो मैं फिर से रन कर रहूं, तो अबही आपने देखा के, हमने एक स्ट्रिंग ली ती, उसे स्प्लिट करा, उसके बाथ, उसका जो भी अध्फुट आया था, जो भी अध्फुट आया एस प्रोसेस का, उसे हमने एक चानल में भेजा, और उस चानल में हमने देटा की शेप को तोडी, एक तरह से मसाज कै सकते है, देटा की शेप की तोडी मसाज करी, ताकि वो शेप एक खलाटन शेप हो, हम इस पारे में अध बाथ करेंगे आगे, अबही के लिए एक चोटता से इनश्विएँ। आगे बर सकते है, एकसके साथ अगर हम दिस्स्क्रिट्को अगजेकूट ख़ा तो, अब हम बात करते हैं, नेक्स फलो को पिर इस पाप्लाईन को पेसिकलिए जो हलो स्क्रिएप दे ये भी एक पाप्लाईन या बोख्फलो तो अगर अप इसे फिर से रन करें, देकते हैं की इस बार रेजल्ट सेम आता है कि नहीं आता मैं ये ये ये देर वोग्प कर ती तांके हमारी स्क्रिन क्लिएवो पहले आयाता हलो वोल, इस बहार भी हलो वोल प्रिंट वहा है अप क्या होगा अगर में से फिरसे एक्सीकूट करों अबिं बिं हलो वोल डाते है, लेकिन अब अब गर में इस में येख कुछ रोईट से अगर दूँन जेसे नमस्ते ये हमारा टीसरा वोट होगे आगर में इसे अगर डाव। तो हमारी अईगस्प्र्ष्टेशन येगे कि हलो वोट और फेर नमस्ते प्रिदन जेँगे तो अड़र कुछ होर आसकता है, तो आप शाथ सोच रहे होंगे कि next flow में अभी तक हमने reproducibility की बात करे है, लेकिन अड़र अलग क्यों आरा है, तो ये बहुत वालिट कुएश्चन है, और ये इसका अनसर एक अनसर है, तो याद है आपको के हमने data flow programming model की बात करे लिएग, तो next flow की software foundation है, तो उस मोडल के according अगर task 1 और या एक प्रुसेज तुसर प्रुसेज से independent है, जैसे आप यहां देख सकते है, आप दोक्युमेंटेशन यागर हम उपर चाहें, तो येख प्रुसेज तुसर प्रुसेज से अगर independent है, तो बाती साच मेरन होंगे, इस के येख में तीनो साच मेरन होरे येख लेकिन वन मेशे कोई पहले प्रुसेज तो अचते आप, याप के infrastructure पर देख्ँप तो तेमा में एक प्रुसेज तो फहले थादेशन, अगर एक प्रोषेस के कुई दिपंशी नहीं है, ढ़ुसर प्रोषेस बे यह आप प्रोषेस का जेऩेरेटर तास की कुई धिंशी नहीं है, तो पै कभी भी कुई अफाँँट ट्वौके अपना रिसल्त आपने वोईद्स थानल में बडह सकतै। तो इसको आगर समजना च़े तो असे समजनसकते हैं कि आपने तीन वोट्स भीजे यस पायपलैं को तीन वोट्स को यूज करके यस पायपलैं को टिगर करा और जैसे यह आपने त्रिगर करा, तो पाईप्लन का अबजेक्टिव है कि हरे इस हरेक वोड को वो खेप्टिलाइस करेगा, अप प्रिंट करेगा, हमने जोईन नहीं करा भी, कि वो हमने प्रोसेस न्प्लिमट नहीं करा. बस तो ही प्रोसेस हैं, स्प्लिट करेग और उनको अपर केस में कनवोड करेग. तो बस यह वो ही काम करता है, तीन लेटिस में स्प्लिट करा, मैकसिमम लिमित 6 करक्टर्स और उसे प्रिंट कर दिया. तो हरे एक दिपिन्टन्सी औनुध हो. इसके साथ हम आगे बरते हैं, नेक्स पार्ट कवोड करते हैं, जो की हैं, रिस्झुम बिलेटी का. तो इस बार अगर हम इस प्रिट प्लिटन को रिस्झुम करेग, कोगे हम नहीं मोड़ीपाए कर दिया, जो है, हलो अबही कै देते हैं, और तसके बाद प्यंक, अगर और लिएत विप्रिट रवाईच कर थे, और आप आप आप यह बाद करेग, अब मी आईईख प्यपलन को फिरसे रन कर तो रिस्झुम के साथ रन कर थो, तु देखते हैं कि क्या होगा? आपको याद है है, हमने बात करे ते री अंटरन्सी की, नेक्स फलोप पाएपलाईंस में, तु उस में हम ने ये देखता ता, कि नेक्स फलोप पाएपलाईंस जो हुती है, जो अगर आपने start करा, उस के बाद, किसी भी बजे से failure होता है, त� अजर से, लगता है मैंने, थ्या मैं पहले लिजम आज गर जाता है, लेखा थी अगर मैं, प्कोट उचलो किसे लिजम आजक देते हैं, और उस मैं मैंने script ने आभी कोई चेएच निक्देंच निक्ड़ा है, तु आपा ये देखत्ते है कि कुछ प्रोसेस लग, इस पर पह ज़ेसे work directory हम देके ती उसे delete ना करे लिए तो असे पहले की memory है किया ये वाला जो input है, इस task के साथ मैंने पहले execute कराव हो है, तो वो next flow अपने history में check करता है, अगर वो same finger print है, उस task का everything is same, तो next flow उस task को फिरसे execute नहीं करेगा खाली cached version को use करेगा. तो इस बार हम देख सकते हैं, cached यहांपे इस के साथ हम आगे बड़ते हैं, अपने इस प्रोसेस में शाथ हम अपने introduce कर सकते है, एक difference चले यहांपे हम लिए देते हैं, जसे हमारे script में है, वाई. अगर आप जे change implement करते है, और इस बार आप इस बार हम ने process change करा है, पिसली बार हम ने parameter change करा है, इस बार हम ने process change करा है, तो अप देखते हैं, अगर हम resume करें, तो क्या होगा? इस बार एक process cached था, लेकिं बाकी डो processes फिर से रन होगे, यह इस ले हुए होगा, कि तो convert upper की, जो main script ती उसे हम ने change करा, तो इस का मतलग, convert upper की जो previous processes ते, उनकी script different ती, तो इस बार इस प्रोषेस का fingerprint change होगा, इस ले next flow ने correctly identify करा, की ये same process नहीं है, जब की चाहे इसका नाम भी same हो, लेकिं ये process अब कुछ अलग है इसके बार है, इस ले next flow ने, तो next flow आपको ये abilities दिता है, out of the box, अपको कुछ extra implement करने की ज़ोगत नहीं है, आब हम जल्दी से बात करते है, next flow pipeline parameters की, आपको शाहे द्याद हो, मैस change को undo करने की ज़ोगत नहीं है, हम continue कर सकते है, अपको शाहे द्याद हो की, हम ने start कर अत है, ये script को parameters को, इंटिट तुँज करते है, अब अब अगर में a custom parameter देना चाहूँ, जैस से मैं एहाद देना चाहूँ, next flow run hello.nf, और यहाद मैं देना चाहूँ, यहाद पराम्स लिखने की ज़ोगत नहीं है, यहाद मैं सी देड दबल माँनेस को यूस कर के greeting, exact हो ना चाहूँ ना चाहूँ, नमस्ते इस मैं नमस्कार यूस करते है, अगर मैं नमस्कार करते हूँ, नमस्कार लेई पास करते हूँ, greeting parameter को. तो अई देली वो क्या हो ना चाह करेक्तर से में देवागत होगा, और ये चेए करक्तर से में ड़ोग होगा और ज्धॉसरा करेक्तर ता वो अपसेट में प्च्रिझत होगा. तो हमें, अप वी च्रिप में चेझ्ठ करनेक ज़़ थार्वत नहीं है, अप अप क्या कर सकते हैं, दीफालत वैलिव डाल सकते हैं,堠 & we sent another process which name is Convert to Upper the same we sent in this process you are watching, because we have 2 different data input so Convert to Upper process made 2 tasks the first task & second task & we printed the output of those 2 tasks on the screen असके बाद हम एक प्रोपर आरने सीक पाइप्लाईन पे काम करेंगे जिस में हम इन तोपिख को फिर से तच करेंगे तोडी ज़ादा दिप्त में जैसे कि हम ने पिषले वीटियोंस में देखा की नेक्स फलो के बिल्डिंग ब्लोक्स क्या है बायोलोची इकल बालोगिकल इंटिप्रेटेचन नहींगे हमारा तास की है की हमें कुछ तूलस हैं कमाईन लाईन के उने हमें एक वोक्फ्लो में स्टिच अप करना है और साथ में बेसिकली एक श्क्रिप्त को देखलप करना है जो की हम स्थब बाद स्थप में मानर से करें� त्रेनिंग म्तेडल है हों स्थक्रिप्क राईने सीछ बीठ्चाउलिए में बराई करना है तुब भी। हमाईर सास्थ फलूग कर सकतो हैं मैं आब एक, गूड पैद खूलूगा और गूड पाट खूलने के साथ अज्यासे की कोर पाट कोलने के पाद हम यह देख सकते है कि हमार पास कोन कोंची श्क्रिट्स हैं, जो गिट्पाद एंवायमंट हमने सलग करा है आगर अगर आप लोकल इंवायमंटे फिल्ळें फोलो कर रहे हैं, तो आप के पास और आप आप ने एन्फ्फ च्रीनिग में� more and there are 7 scripts of next-level in which we will add the content step-by-step and we will try to introduce new concepts in every step and as you can see in script 1 we have included parameters and printed in script 2 we will build on those concepts तो अगर आपको आपको देखना है कि फुचर में कैसे सारी चीजे दिखेंगे तो आप आप अगे स्क्रॉट्स में आप एक जल्दी से नजर ताल सकते हैं इसके साथ हम स्थात करते हैं श्क्रिप नमब वान तो मैं एक तरवफ से अपना ब्राउजर खुलना जाता हों तुसी इस तरवफ और ये सैट में बन कर देता हों आप परफें इस श्क्रिट में और इस सेक्छिन में हम फोखिस करेंगे इस सेक्छिन का नमबर हैं 3.1 इस सेक्छिन में पूकिस करेंगे पाएप्राँई प्रामवटिर्स में सेएट आप को याद होगे हमने पंछले जो हलु तो आप एंगा आप पाआप ब्�噫़ाइवी लिएश और तो अगा पापेग़ा दोंगे use करा ता जिसका नाम है ग्रीटिं लेकिन इस पाप्लाइन में हम चातें के हम जुजरस को और अब बिलिटी दें ता कि वो परामेटरस पास कर के पाप्लाइन का भिहेविर कंटूल कर सकें तो ये एक वजे है कि आप आप जादा परामेटरस देना चाहिंगे अब आप आप देखना चाहिंगे तो लाई नमबर वन में पराम्स डोट रीट्स आप ये देखने हैं कि जो सिंटेक् सालेटिंग है वो अलग है प्रोजेक दीआ यार के लिए और देटा जीगा आब गद एक सेट्रा के लिए अलग है तो इसे हम कहते है अप आप आप आप � कुच वेरिएबल्स याप कुच क्या सकते अप कीवोट्स आसे हैं जो की नेक्स फलो को पहले से नूलिज है आप को देखने के जरुट नहीं पड़ेगी जेसे यहाप आप देख सकते हैं प्रोजेक दीआ यार भल गल, आप लोग वीरिएढ पाच्चम के आप देखने के दीगने बहुत के सकते हैं लेए वह पहल गल तो ससे वेदे आप नहीं वह देखनाे फिल्डर कीगे और आब वाप आप में, तो हम पहले कुथ चीजों को खोमेंट के धेते हैं तो जैसे आब मैं एस बार में लिएस कर होंगा मुल्त्री लाइं खामेंट का पिछलि बार हम ने जाना बार लिएस कर आता, सिंगल लाइंट कोमेंट का जोंकी एसप अथा होता हैं तॉग़ वहन त्पा होता हैं अगर अगर अप इस पार इंपलमेंट करें इस पार सीम स्क्रिप को रन करें तो अप देख सकते हैं कि इस पार हमारा जो रीट्स की वैलिव हैं, वो पुरी तरे से ये पार रिजोल होने के बात आएगी. तो अगर अप यहन देखें रीट्स, वोक्सपेस, किट फोड, अने� औगर अप पोड पुरगामी की पेरन्स है तो अप शाए जानते होगे क्ये प्रंट या परंट ओड लन या प्रंट आन न, या बऔच प्रोड ओड लाचिये वेलागिजी सप्टेभगे अप ड़े ऴीकोम वितिष्टार अर्ड the अभी भाज़े लाईभागी जु़ाई, तो अप आप द़िये वहाँ बाजाईगे देंगे गब यागा च्चा कर लए के रो है वो लेवाद के लेवी प्वचार जी � accompanied to programming languages, available. यो उसके ग्रूवी लेयर से आता है, अगर अप नेक्सप्लो लेयर में चीजे चेख करना चाहें, तो आप देख सकते हैं, व्यु अपरेरेटर, और उसके अलावा भी कुछ अपरेरेटर से हैं, अप आगे चल को उनके बाद करेंगे, लेगे अभी के लिए खाली परामेटर मैं ये अद के दोगा, रीट्स मैं यहां कै सकता हूँ, जैसे रहाम है यहां बहुत, मैं ये बाद कर लेएटीर लागे बाद देख थाू और मैं कै सकता हूँ डेटा जीखाल अगर में जीज की तऱफ पड़ता हों, कि अंके हम अबी क्प्रोटिस रन नहीं तो हमें, हम कुच भी भल्गडे सकते है, अचल में, इस भार लिवर प्टैग करते हैं, वो की, हम प्रोटिस नहीं रन करगडे, ना कोई हमार पास चनल है आभी, ना अपरेतर है, हम बस पराम ये वाली लाईन जो है, ये प्रिंट होगी, ये रिजोल्प करेगा पहले, नेक्स फलो, उसके बाद प्रिंट करेगा एक स्क्रीन पे, यहाँ पे, अब आप देख सकते हैं, की जो रिजोल्प यालिव आई वो है, एक सक्ली जो मैं दीती, तो जो आपकी जुजर से हैं, आप सीस15 अवगाners, चंजन惜ग. सोटे भी और उनगा, भज़्गाँ. परामैवेटर्स अध कर सकते हैं, औल to上. औल दीती क्सके लगी ऐसक्छ दिन गूड़ संए।, ये बिुर आब एला Marketing को लगो में नात. �惜 क्यम यहस स mandar परार्मेटर कुऎ ओग At. और अप जेए से वाप्टाईट करना चाहें तो कर सकते हैं इसके साथ हम आगे बरते हैं आपनी दुसरी स्क्रिप्त में जिसका गोल है आमारा ट्रास्क्रिप्तों इंटेक्स पाल को क्रेट करना तो आप हम जैसे दुसरे सेक्छिन में आगे, 3.2 में आगे दुसरी स्क्रिपट को वोपन कर सकते है। आप आपने रहा, खेले का जो जो पेहले की स्क्सेऽँची अईसके रही है, वो भी में अमने कवर कर रही हैं, तो आपके पास इक विजिबलिती है के आपाटके कहने दाखे काईसे इसके साथ, मैं ये हैलेट करना जाता हूँ, कि हमारा, अब आब आप यहां देख सकते हैं, कि पहले सिद पहली स्क्रिट ते दिखरेंट क्या है, एक ये परामिटर है नया, एक ये लोग आन्फो कमाणद है आप आप ये जिसे आप यूँस कर सकते हैं, फर मातेड वलू को प तो तो देख सकते हैं, अगर अगर अब खुद नेक्स फलो को अवर रइट कर के बतान दे दाखते हैं, कि नहीं, हमैंचा एसे ही प्रिंट करना है, तो अब बी कर सकते हैं, जो ये त्ट्ट तरीट करने का, और प्रिंट करने से पहले इस पुरे कोड को हम इभग़ कमेट क तो सेलेक करें यारिया, औसके बाद कमान्ड शलाष तबाएं, तो अपके लिये, गिट पट या विज्यल श्टृट्ट तो गोड खुड हिक कोमेंट कर सकता हैं, तो यही मेंट्रिक हैं जिसको यूँस करके अनेप्कोर वो अनेप्कोर कम्मिनूटी वो फीचर इंप्लिमेट करता हैं अब हम बात करते हैं इस प्रोसिस प्रोसिस की जिसे आप हमार गोल है त्रास्क्रिठ्टोम इंडिक्स फाल को जैनरेट करने का और अपको मैंगे पता सक अपको एक लाप इडिया लेना है कि अववरॉलि क्रफ्लूमे क्या हूँँरा है तो आप जिन्रलि सारे प्रोसिसस को फोलग करकि काली एक वोग्ल्लोपे पुक्ष कर इंप्कोच् कर गर रहें तो आप यहाह देख सक्टोरower انद carvings doing together a together generally for says कबंधड्omedical using him capital letters मिलिटत parenting an После Nakaste वह Reland to खेए अप यह माखधर को सिंठ कर आए तो �astre झो तनधख खाय का एंध्क after powerri屉 अगर अप थोड़ सा इस पे दियान दें कि रेड जुग एर्या है वो किस इसाप से प्रिंट हो रही हैं चीज़ें तो यह आपको ट्रबल शूटिंग में हेल्प कर सकता हैं जैसे अगर नेक्स फलो को यह यह आपके नेक्स भोट पुरी कोशिच करता है कि वो अपको एप एडर मेसेच देई लेकिन कुछ एर्याज एसी हैं जहापको अपको और्र मेसेच़ ज़ावा में कोई प्रोब्लम है, तो आपका एरेर मिसेच आसा नहीं दिखेगा, अलक तरीकेजे दिखेगा. लेकिन जे आगर आपके पास इस तरेस एरेर मिसेच आता है, ज़ेसे एरेर एक्जेखुटिं, कमान्ड एक्जेट श्टेटिस, तो ये एरेर मिसेच जो है, अब सेक्छींस में दिवारेर थे है, ये अपकी हलप कर सकता है, तरेक्ट, हमारे लीह सब सेई तरेलगेंट चीज आग्जेट वेरेर अर्ग तरेक्ट रेक्टरी, तो हम ये देख सकते है, कमान्ड अक्चोल क्या था शालमन कमान नोथ प्फाँड, अपने बस नेक्ष्फिलो को ये बोल्डा है, की नेक्ष्फिलो आप डोकर को एनेखल कर्दो, कि अगर आप अपनेच्फ्लोर पे जाकए वापस नेक्ष्फिलो डोट कुन्फिक को देकंगे, इस फाल में आप ये देक सकते है कि, प्रोसेस कंटेनर देफाँट है, अप दोक कोई इस भी ज़ाँ कर रफार क्यों टीबाद आरा ग़ा था अगर प्र्मिशिन्स के बेज्टे है आप अप अप अपकर प्रस्सिसद टोट कनतेशनर को आपने आप दीपाईं करा अप प्रसिस्ट में वाओओप अपने प्रसिस के साथ में दीपाईं कर सकते हैं अगर मैं यहां दिफाईन करता हूँ अँ में को प्रोसेज यहां से हदाना होगा कि मैं पहले से इस्कोप में हूँ और यहे एकल तुष्वाईन हदाना होगा यहां भे कि यहें कि सिंटक्स थोड़ा साल लग है कुन्फिक फाईल में और जो में स्क्रिठ्त हो उस में यह यह लाईन एक्विलेंट है, लाईनमबर वन के यहांपे तो अगर मुचे डोकर को एनेबल करना है, तो मैं कैसे कर ज़ेखताः है, यहांपे मैं ताईप करना होगा, डोकर एनेबल तुष्वाईन और अब हम निक्स फलो को सीम स्क्रिप को रन करेंगे, तो उसे नहीं एक सक्तेंगे ग़ेखते है कि कैसे होगा है, इस भार हमार पास खोई एरेंमिसेज नी आया, हमने कहाली डोकर को एनेबल करा, यस का मतलब यह है, की जैसे ही हैं डोकर को एनेबल करा, पर एऽ भी सक्से अखते है, हमने नेख्ष्फलो को बोला, को बूला कि दोकर हमारे सिटटम में install दे है। उसका हूँँस कर लोग रेक्सलोन ने दोकर से बाडख करी दोकर ने रेलेवविनु कंतेनर दाऊन्लोट करा जो क्की उसे नेक्सलोग से पतडचला को除ा कंतेनर धाऊन्लोट करने है इसे Docker दोखर लोग को बापस नेकस्लों के बहाज बेजद दिया और नेकस्लों नहीं बोला अगे अप मेरे पस दोखर कंटेनर है, अप मैं लिए से लिएस कर उगा एस प्रोसेस को एक्सेकूट करने में इस बज़े से हमारे पास इस भार कोई एरें मेसेज नहीं आया तो अगर मैं जो हमारी जो हमने चेंज अंचीडूस कर आए वोसे मैं अंडू करनाच चाहूँ जैसे ये चीज मैं यहां से अथागे क्योंकि आप प्रोसेस कर लोजिक, अपने प्यपलैं कर लोजिक अपने चाहा आप डोकर यहाप एक अपने अपने अपने ड़ाएग। ताकि ख़ तो आगर दुस्रा डोकर कंटेनर यह यह लगुग। तो आप को प्यपलैम कर लोजिक चेंज कर नहींग तो आप नहींग के ज़हाँ पड़े इस वज़े से आपके लिए जीए में रेकेमट करना चाँँगा, की आप कन्फिगरेशन फाल में यह चेंजज़़ अज़िए दुज करें, नाकी जो वोख्फलो च्क्रिप्त है उस में, अगर आप इस श्क्रिप्त को फिर से रिज्ँम करें अप फिर से एकषिक्ट करें, � अप आप प्री कमपुटेड तासक विए फिर से बचर तेंघ़ें के लिए बनूब भाग— विख्चठप लई गप कराँँउअद्य करे कोछ़ाए, इस तो प्रच्ख्च्ट जब फुप करे लिए बनूबचित कराँँउग्ए, इंपुट है, script directive के अंदर इंपुट का जूँज कर सकते हैं, जैसे हमने यहां करा लेकिन आप यहां देख रहे हैं की, task.cpus, हमने कही दिकलेर नहीं करा लेकिन next flow अपने आप देखता है, की इस task में कितने cpus allocated हैं इस पारे में हम और बात करेंगे, लेकिन आप आप आभी के लिए समवो सकते हैं, कि यह एक कोर इंप्लिसित, यह प्रोसेस इंप्लिसित वेर्यबल है, जैसे कि हमने पहले देखाता, work flow implicit variable project TIR. इसी के साथ, हम इस प्रोसेस का लिए सकते हैं, work flow में, ता की index underscore ch is equal to index, उसमें हमने पास करा यह लिए लिए वैलिए, और जो भी अध्फुट आया उसे हमने index ch में, index channel में, save करती हैं. इसके साथ, हम सेक्षिन 3.2 को कवर कर चुके हैं, मेरी लेकिमेंटेशन हैं, कि आप इस सेक्षिन को हमारे training material में पडे हैं, और exorcises को करने कोचिष करें. जो अगर आप आभी read को print कर के देखें, मेंभी हम script 3 कर सेक्षिन कर सकते हैं, वहां पे change कर लेंगे हैं इम direct. किम कि यह आप नहीं हमने process को फिर से हता देखे यह वोख्लो का था ड़ा था दिया तो हम जिस तोपिक पे बात करेंगे उसे फोख़ कर सकते हैं. आप यहां देख सकते हैं कि अगर हम इसे print करें इस फिल को run करें देख्ली, तो क्या होगा हम imagine कर सकते हैं. Read को हमने next flow को यह बोला कि यह परामेटेर से हैं, प्रोजिक DIR हैं उसके अंदर एक data folder होगा, और उसके अंदर एक gut 1 अप 2 नाम की fast queue files हैं. तो next flow अपने आप यह से resolve करेंगा, और यहां तक जाके उन फिल को read करेंगा, अगर वो workflow के अंदर use हो रही हैं. अप पहले जब हमने यह चीजो को address करा था, इस discussion को देखा था, तब यह चीजे न नहीं थी. अप हम क्या करें हैं, हम एक pretty printing आद करेंगें, और इक channel को खुट करेंगें, तो channel आप कैसे करेंगें कर सकते हैं, channel एक key word है आपका next flow scripting language में, और उसके साथ आप एक channel factory को use कर सकते हैं, जैसे from file pairs, इसका मतलब यह है, from file pairs आपको यह बतायागा की next flow, अप next flow को यह बतायागे हो, यह इस लोकेचन में आपने एक pattern प्रवाट करा है, जैसे one or two इसे आपको अगे pattern, file pattern प्रवाट करा है, और हर भार pair निकलन चाहिये, one and two का pair, किंकी जब आप genomics analysis की बात करते है, तो जाड़ तर आपके एक input fast queue files होते है, वो forward read, reverse read मोंगी, अगर आपके पास आप दुसरे domain में काम करते है, आपके आपके files चो है, यह paired files नहीं है, तो आप चो है, तुसरी channel factory युस कर सकते है, जिसका नाम है from path. आसे करके next flow में बहुत चाहिये channel factories है, जो हमने reference documentation में आप करी है, और अप उसे refer कर सकते है, लेकिन आईए से print कर के देकते है, अभी क्या value print होती है, उसके बाद हमें चेंजेz introduce कर हैंगे, script 3, nf, अब हम इसे run करते है, अब हम यहा देके है कि हमार पास यह pretty printed, parameters के value, शक्रीन पे प्रेंथ है, आप आप यहे देकते है कि, यह से read, pairs, ch, हम ने एक चानल तो बनाया, लेकिन हम ने उसको कही प्रेंथ ने करा, तो यह पार्ट के जो भी काम होगा इस पार्ट में, हम नो से हमारे पास वीजिबिलती नहीं है आपी, लेकिन उसे पहले की सारी वीजिबिलती है, अगर हम एक चानल को, विओ करना चानल के कोंटेंट को देखना चानल है, तो आप उसे इस तरी से देख सकते हैं, read, pairs, ch, view, operator है, तो एक चानल पे अपरेट करने के लिए आपको एक अपरेटर की जरुट जेगे, शो हमेशा यह चानल की, चानल के अपर जो भी आप अपरेट्टेंस करेंगे, उसके लिए आपको अपरेटरेटर की जरुट है, तो चानल अपरेटर, और आप इस में तोडा, आप एसे कस्टम फरमाटेंग भी देख सकते है, जैसे read, pairs, not pairs, pairs, ch, यह आप यह कह सकते है, आप यह आप यह गदेख सकते है, यह इंपलिसित वेरीबल है, इंगर लिए ब्रेटेस की अंदर, तो आप एसका यूज कर सकते है, ता की आप जो भी चानल का आप, चानल का डेटा है चो वूँ करने के लिए, अवे Naksh flow Stay Let's Just highlights a couple of them, जी नेक्स फलो के एक चन जलक नदर दीताग कि शेप यह है, This is the shape of the next flow in each channel. इसका, वह मतलग डेठा का नेम उसका इंटेख से, means the name of the data is there, अफ में इसे खड वहातता हों, I copy it so that we can print here it and talk about it. ये पहला ये पहला कियो होगा, ये दुसरा पहला कियो होगा ये तु ये जो नेखसूल लोो नय आपकोप्रिंट कर कि बताया, वो है वों के अ चानल की शेप ज�에 बी चानल अप फाँकवल पिरट से चेट रेडोग कर लगे, तुए भी चेप यहोगी अगर आप इसे तोड़ा फैंसीर या प्रेटी प्रिंट करना चाते हैं तो आप जो हमने इंपलिसेट इत वेरेबल की बात करी उसे युज कर सकते हैं और इस भार आपको प्रमाट आप प्रमाटेड अपुट दिखा भार नब अपको उुज़े टिखा करता हैं या आप च़व अपनी प्रिप्लान इस प्रमाटेड देना जाते हैं अप शायत देना चायंगे, लिवर या लंग तो हम युज करते हैं तुझ्रा हम इसे अजब टिखा को पाराम तीखे जब दिखड़ हैं राई नमबर 18 नेक्स्फलो को बोल रहा है क्या वो नेक्स्फलो इस लोकेशन में जाए और प्रटिकुलर वल्ली को लेकर प्रिंट करे आभी हम यहां देख सकते है कि आसल में कभी-कभी आसा होता है जब आब गिट पोट पर ताइप कर रहे है तो एक एक एकस्टा करेक्टर के हिसाप से वल्लीव जो प्रिंट होई वो भी अपड़ेट होई तो इस बार हमारे साम्पल कनाम है लेवर लेवर वान लेवर तु इस के साथ हम सेक्षिन 3.3 को प्रिंट कर चुके है इस बार हमे उस रीट के हिसाब से वल्लीव जो प्रिंट होई वो भी अपड़ेट होई तो इस बार हमारे साम्पल कनाम है लेवर लेवर वान लेवर तु इस के साथ हम सेक्षिन 3.3 को प्रिंट कर चुके है और आप इस चाए दिस वीड़ो को पोट करना चाहें और आप इस चाए दिस वीड़ो को पोट करना चाहें एग़ेशी साथ को भी करना चाहें अब ही आभ brood sister के वीड़स को अपने अपने वीड़ेब खजिश्ट को असेथ अपने चेख इकशिस्ट को अर सेट अपरेटर को अग़््टर करा यह सारी चिज़े नेखश्पिलो की रेफरेंस डोकिमनेच्टन में हम नेग्श्पिलें करी है तो हमारी उमीद यह क्या आप उसे रेफर करेंगे और वहांपे आप for example, whenever you see here, you will get these results but our hope is that you will check next flow's reference documentation With this lets take a small separate and i will return immediately Lets continue this training as i was telling you the next flow reference documentation links we have set here तो जैसे ही आगर अप एन मेःसे जेसे इस लिंक पेखलिख तो या इस लिंकपेखलिख करूएंगे तो यापखृ नखस्लो की रेफन्तेश्यन पर लडेजाँगा इसके अलाब वा जोभी हमारे पहस तोगेमिंटेश्यन से लेचड लिँशा हैं which is script number 4 now we will make our environment and create script here we will open script number 4 before we start discussing about script I will tell you about execution parameters of next flow not parameters, I will tell you about execution features so that when you see files in your computer then you can understand what is it so we are seeing that with prefix we have made 10 files this means that we have run next flow 10 times in this directory so every time next flow runs, it makes a log file and it doesn't overwrite the last log file it renames it so the latest log file is .nextflow.log .nextflow.log.1 is the last log file and if you open this log file then you will see I will close the explorer so that our view is bigger you can see here what is next flow doing on a particular instance so in this log file you will get critical information and actually there is a lot of information so you don't have to access it frequently but when you are debugging or troubleshooting then the log file will play a big role for you you can change the logging level of next flow but for now it is a bit advanced so now let's go to script 4 and in this script our main goal is to add a new process if you take some overview of script then you can see that here is one process index one process is quantification and now the scope of workflow is the scope of the workflow and we have also created a QuantCH channel so you can see if you check from above this section is still common from script 2 to script 4 we are following this pattern so that whenever people are running this pipeline in the process index there is no change in it and this content is the same as before we have just added one process in this script as soon as you open this script you will get a process now let's read it because it has some interesting features introduced you can see input, output and script in script task.cpu this is optional if you want to run the tool in the process if it accepts threads or cpu then you can use this feature and there is a sense of doing it after that we will see this is new for us read is 0 and read is 1 if we study input then we will get two types of input and two distinct inputs are needed first input is Salmon index path now if you look at the previous process you can see output name is Salmon index and in quantification input name is Salmon index so directly we can see that the output of index process is the input of quantification process so to connect these two processes we need to start a channel that line number 38 is a little new for us in this we can see that this is a tuple and the first tuple means a tuple short form of multiple so the first value of tuple is sample id second value is path reads maybe you can recall that when we saw script 3 then we have already seen tuple script number 3 but we can open that script and run it again so in this script when we run this process this script was running so we saw this output in output and one more collection in which there were two forward read and reverse read so in script 4 we are using input its shape is same in quantification process this means if we copy it in script 3 just for understanding if we keep it here then we can see how tuple starts tuple's sample id is cut and path reads now you can see that here there is one collection which is made of two values so in this collection tuple is a sample id and tuple of two reads we have commented on this so there is no problem but now we will study line 49 where we can see that the collection of reads in the input of this channel there is reverse read or you can say that in the first file and second file how can you specify it as you know in computer languages zero is the first position zero is the first file and after the collection you expand it and specify the first file and in second you expand the same process and use the second file after this you make a channel with workflow this is the first exercise now we have enabled a feature of this channel factory when this file actually exists if we disable it next flow will not check if this file exists this is the answer to how you can use the set but you can simply say it like read, pairs, ch and then this section but it is good to know how many ways to create a channel so that you can understand it this process should look familiar because it was also in the script in the index process we have input the parameters of the transcriptome file and the output of the index process we have given a specific name and put it in the quantification process now let's see the output of this process this is a folder called sampleIT how did I come to know that this is a folder because if you pay attention to it the value is called input or output qualifier the value is called string or number but the path is called folder or file so that folder is quantification that folder output from that quantification process we have sent it to quantCH channel it is not going anywhere but if you want to add a new process then you can mention quantCH if you want to pause this video then this is perfect if you want to continue I highly recommend this exercise because now we are adding links in this exercise so through these links you will get an idea of next flow reference documentation not just this process so I recommend you to do this exercise but now we are ready to go in the next script so now we have to add two new processes that are quality control and reporting as in data science or computer science garbage and garbage out we have to keep the key quality in control now we can see the script number 5 so in script number 5 the first process is added that process all these scripts are following the additive process which means that the first script actually the next script builds on the first script all these are the same in this script but this time we have added the process of the process which you can use now you will see new things here some things are familiar but some things are not so in familiar things comes input and tuple in familiar things comes output and dynamic pattern you have an input specific name and you want to generate your output from that name so you can use this string interpolation feature now the third thing we have seen script we will talk about that in script section we have made DIR we will generate output and in fast qc we will tell the output directory to estimate the read quality so what is the output of fast qc because it is a path quantifier after this we can recall this process it is like script number 4 but this time we have added a new thing and its input is readParesCH now I want to highlight you that in these tasks there is interdependency in index and quantification there is dependency fast qc can run directly till then it cannot run till then it will not get indexCH so you can see how we are building a life cycle of script how we are building its life so if I execute script number 5 and this time I will resume it is possible that my internet connection has some problem but it will be confirmed because we did not execute script 4 and next flow you have a message in log file but now I will resume I will delete my work directory so that everything is deleted I will delete my log and next flow folder where our cache database is saved this is for testing we will document next flow pipelines but for now you can understand that I have cleaned up my workspace now I want to run script 4 if I run script 4 then output should come and docker we have enabled so now we do not need to install the software we have fulfilled the requirement through docker now I want to run script 5 but with resume so if you compare what is the difference between script 4 and 5 there is a difference that we have added fast qc process in script number 5 but input is same so next flow when we resume next flow calculates that input is same in this script and two processes are same so this time only fast qc will run so you can develop your pipeline process by process so as you can see here this is cached and this is running similarly next step is to add another qc step which we will do using multi qc multi qc tool is summarized with many tools output it is a reporting software it gives you an HTML file which you can use to share your results to summarize your results so that you don't have to send 4 or 5 files to a collaborator you can only send one file now let's do script number 6 script number 6 and in script number 6 we can see again that many processes are same i close this index process i close quantification process and i close fast qc but i forgot to tell you one thing when you run a process with many samples it means that the blueprint of the process is combined with every sample to make a task so if you pass 10 samples it means 10 tasks now when you print it on screen and you want visibility you can see which task is running you can specify it through tagging so here you can see fast qc on sample id so here we can use sample id and when we run it you can see specific things like in index process we didn't use tag so these are optional things but it will help you overall in long term when you access your results now in script number 6 there is a multi qc process you can see a new directive published dir all other directives script section is very simple input section is interesting because it means whatever data comes in multi qc input you can accept it in previous cases we determined input shape we specified it because it was of different types like val and path but when we are using multi qc in this pipeline then we just send the path type or file or folder so we just used all capture all strategies now you can see published dir is a special directive by using it you can tell a process that whatever thing is generated in this process maybe you want to send HTML file or TXT file in a specific directory it helps you to generate your process data first you can put it in output channel second you can save it in results directory in this process we want first we want to see the value of published dir params.outdir params.outdir it means the result of this pipeline will be saved in results maybe we can change it rna seek nf simple rna seek results when multi qc run these things are output it will put it in other channel and it will copy it in one published directory you can move it but we will just copy it you can use move generally when you want to optimize data storage but for now it is a temporary computer you can see the workflow it is similar to the script we have added multi qc,quant,ch,mix now this is the first time we have combined two operators but now we want to see what these operators are doing we can use view it is the first time and we will give it custom formatting we can write it or not we can use implicit variable if you want to see quant,ch,mix fastqc,ch what will be the result of this you can view it you can give any name and you can use it this is the third step you can copy it and this time you can use view operator final step 2 is intermediate form of data operators work on the shape of the data shape changes form changes now we will run this pipeline script 5 not script 6 and we will let it be written we just want to run multi qc so this time so that we can see how the output is published what are the points of these operators next time no such variable because I made a mistake in line 95 next time this time you can see that intermediate form was printed twice final form was printed once because when you mix one channel content these two values are coming these two channels data merged into one channel so intermediate form was 2x invoked you can see that in final form we mixed first two channels then we collected means that the two separate outputs we put in one tuple so you can see that final form has one tuple with two values because we collected and when we collected final form then we made it input in multi qc so if you want to refactor this code or clear it a little for your understanding you can write like this final form and here you can write here final form and output should be same now we will run again we will see how many processes are resumed and how many will be run again no process is run again all processes are resumed this means that your channel's data shape or any superficial changes if you do not change the core functionality of the pipeline then next flow recognizes superficial changes and catching is intact if you change in functionality then your caching will break and if you resume then it will not have any effect and all these processes will run again you will not see any cached 1 or cached 2 at that moment with this we conclude section 3.6 and go towards section 3.7 which is towards finalization now when you have made your next flow pipeline now you want to see that as soon as your pipeline is complete successfully or failure then you have an email for that next flow has implemented functionality which is workflow on complete so if you open script number 7 you can see workflow on complete usage I copy it from here and bring it to the other side so that we can refer to our documentation and now if you see here all the processes are same in the end we have added workflow on complete in which we say log info which is the way of formatted output workflow if this is if else here we have used ternary operator if ternary operator means this question mark and then column so done open the following of params out dir string interpolation or if failure happens oops something went wrong this is feedback for user so as soon as your workflow complete now we go to script number 7 and will resume as soon as workflow complete depending on successful or unsuccessful next flow you will print this log this time no process has run again because next flow knows no new data and the structure of pipeline has not changed we have just made a superficial change which is adding a section workflow.on complete and because of that we have special message then you can see according to the special message our output is multi qc html if you look at the results folder in your directory result folder has been made its sorry results according to us this time it will be results because in this script parameter is not changing this is default parameter may be we can change it simple rnc results and here we can give full name multi qc then we will see what will happen publish directory is also a superficial change so this means your pipeline's logic is intact and you will not have any process or caching break so because of this you will see one more folder as you refresh here you are seeing multi qc and here is multi qc report this report is written in html so may be we cannot see full content but for these things we will use tower later we will show you how you can use tower to visualize these reports with this we complete section 3.7 and read section 3.8 which exposes functionality which is email notification this means if you want to trigger an email on completion of next flow pipeline whether it is for you for any other for collaborators you can initiate using this mail functionality this mail functionality you can copy and customize your functionality customize your variables for this you may have your IT staff or if you have this knowledge then you will have to replace SMTP variables after that you will receive email on completion after completion or on failure then you have a feedback you can run your pipelines in background because as soon as background process screen or tmux processes manager as soon as your pipeline is complete you will have a email notification after this one major topic major section is custom scripts we will cover it quickly custom scripts you may remember when we were watching presentation of next flow introduction there was a tag file in which we displayed many custom scripts like there were 55 custom scripts if you want to make custom scripts you can because we are using training material you can copy it and you can make a bin folder bin folder where pipeline is running click here and bin in bin as soon as it loads I will close it in bin you have to make a file whose name is .sh now we will add this fastqc file in it I will copy this file and put it on right hand side and close it in this file we will add this content and save it because if you see our script script number 7 in script number 7 this is multi-line shell script if you imagine that your script may be of 100 lines or 200 lines then it will be complicated because one process definition will be very big which is not right which will not be readable then what can we do because we have made a shell script whose interpreter is here set execution mode after that first and second parameter is set and the script content in fastqc process is pasted here now you can replace this section and here you can say fastqc.sh and save it here your first input should be our sample ID ok maybe it will be easy for us if we write fastqc.sh and sample ID after that we can write reads I want to clarify one more thing that if your input like sample ID is a fundamental value if it is not a collection value or group of values then you can write it directly sample ID this notation and this notation is equivalent but general recommendation is if you are following a pattern then look at the same pattern so that your long term maintainability of the pipeline it will not be completed now you have updated fastqc.sh script 7 and you have accommodated it but we have one step which is chmod make it executable give it permission fastqc now that file is executable now let's run this process script number 7 again this time we will see which process is resumable and which is not you see cast process index or quantification fastqc is running again because script content has changed this means for nextflow it is not a superficial change it is a core change and the logic of the pipeline has changed again run after that multi qc is run and this error message is printed because we didn't add our details so what we will do we will comment out this section and now we will run script 7 so this time 100% processes should be resumable 100% zero new execution this time correct ok so with this we come to the metrics and reports section which you can use with any external pipeline or with your own pipeline but sometimes like nf core pipelines they already implement reporting functionality but if there is a third part pipeline like our rnseek which is complete version of this toy rnseek tutorial you can see it in this repository and if you want to run it directly through nextflow till now we have run main.nf but you can run any pipeline on github you can give full URL or you can start with github.com that is valid yes i won't allow after that actually i have to change this here i will say with talker with report with trace with maybe i was wrong yes if you will say github.com then you have to add sctps but you can tell the nextflow directly and here you will see just rnseek.nf by default if you don't specify any user or group for nextflow nextflow assumes nextflow hyphen.io so in this case we don't have to tell the full name of the pipeline now the pipeline is run you can see index fastqc,quant multiqc process results generated this pipeline rnseek pipeline rnseek nf pipeline results generated results folder but maybe there is a better option rnseek to generate results this time we will resume because resume we have changed one parameter so this is superficial change all our caching is intact so we can resume it 100% resumption is done this time our results are saved in the second folder now let's see in this folder if i use tree command so fastqc reports and multiqc reports with this if we go back it is better to open explorer and it will reload after reload we will see new files in explorer as you can see report which is html timeline which is html and tag which is txt file which we can see directly so you can see nextflow gives you reporting functionality and along with your results some extra reporting and files can be generated so now we will talk about tower so in the tower you will see reports nextflow level reports will automatically the tower will generate and the pipeline results you can display in the tower so as soon as you open pipeline run or execution you will see both along with this i think we have covered this section run a project from github nextflow rna seek and if you need to refer to other resources i recommend so you can see nextflow reference documentation nextflow patterns this website is a collection for common use cases like you want to take a lot of files in one process so collect all patterns so we have added a lot of patterns and after that variant calling pipelines or nfcore community pipelines which we will talk about in the next session so along with this our today's session is complete and i want to thank you that you completed this session with us for tomorrow we will give introduction of nfcore and as a user developer and we will talk about modules and sub-workflows but my request is that if you can resume or rewind and nextflow exercises on this website if you can follow up then it will be very good tomorrow we will build on those foundations so thank you for joining if you have questions then 23 march 23 march training hindi channel 23 march hindi i think hindi channel can access and talk to us otherwise if you are comfortable in english for question answers then you can interact with us in english thank you so much for watching we will meet tomorrow bye