Summary
यह ट्यूटोरियल मेटाजनोमिक डेटा के 2-वर्ग अनुक्रम वर्गीकरण प्रदर्शन के लिए एक गहरी सीखने की एल्गोरिदम का निर्माण करने के लिए एक सरल विधि का वर्णन करता है।
Abstract
प्रजातियों के वर्गीकरण, जीन समारोह वर्गीकरण और वायरल होस्ट वर्गीकरण जैसे विभिन्न जैविक अनुक्रम वर्गीकरण कार्यों, कई मेटाजन्नोमिक डेटा विश्लेषणों में अपेक्षित प्रक्रियाएं हैं। चूंकि मेटाजन्नोमिक डेटा में बड़ी संख्या में उपन्यास प्रजातियां और जीन होते हैं, इसलिए कई अध्ययनों में उच्च प्रदर्शन करने वाले वर्गीकरण एल्गोरिदम की आवश्यकता होती है। जीवविज्ञानी अक्सर किसी विशिष्ट कार्य के लिए उपयुक्त अनुक्रम वर्गीकरण और एनोटेशन टूल खोजने में चुनौतियों का सामना करते हैं और अक्सर आवश्यक गणितीय और कम्प्यूटेशनल ज्ञान की कमी के कारण अपने दम पर एक संबंधित एल्गोरिदम का निर्माण करने में सक्षम नहीं होते हैं। डीप लर्निंग तकनीक हाल ही में एक लोकप्रिय विषय बन गई है और कई वर्गीकरण कार्यों में मजबूत फायदे दिखाती है। आज तक, कई अत्यधिक पैक किए गए डीप लर्निंग पैकेज, जो जीव विज्ञानियों के लिए एल्गोरिदम विवरणों के गहन ज्ञान के बिना अपनी आवश्यकताओं के अनुसार गहरे सीखने के ढांचे का निर्माण करना संभव बनाते हैं, विकसित किए गए हैं। इस ट्यूटोरियल में, हम पर्याप्त गणितीय ज्ञान या प्रोग्रामिंग कौशल की आवश्यकता के बिना अनुक्रम वर्गीकरण के लिए एक आसान-से-उपयोग डीप लर्निंग फ्रेमवर्क के निर्माण के लिए एक दिशानिर्देश प्रदान करते हैं। सभी कोड को एक आभासी मशीन में अनुकूलित किया जाता है ताकि उपयोगकर्ता सीधे अपने डेटा का उपयोग करके कोड चला सकें।
Introduction
मेटाजेनोमिक अनुक्रमण तकनीक तनाव अलगाव प्रक्रिया को नजरअंदाज करती है और सीधे पर्यावरणीय नमूने में कुल डीएनए को दृश्यों करती है। इस प्रकार, मेटाजन्नोमिक डेटा में विभिन्न जीवों से डीएनए होता है, और अधिकांश जैविक दृश्य उपन्यास जीवों से होते हैं जो वर्तमान डेटाबेस में मौजूद नहीं हैं। विभिन्न शोध उद्देश्यों के अनुसार, जीवविज्ञानियों को इन दृश्यों को विभिन्न दृष्टिकोणों से वर्गीकृत करने की आवश्यकता है, जैसे वर्गीकरण वर्गीकरण1,वायरस-बैक्टीरिया वर्गीकरण2,3,4,गुणसूत्र-प्लाज्मिड वर्गीकरण3,5,6,7,और जीन फंक्शन एनोटेशन (जैसे एंटीबायोटिक प्रतिरोध जीन वर्गीकरण8 और उग्रता कारक वर्गीकरण9 ). चूंकि मेटाजेनोमिक डेटा में बड़ी संख्या में उपन्यास प्रजातियां और जीन होते हैं, एबी इनिटियो एल्गोरिदम, जो अनुक्रम वर्गीकरण (डीएनए वर्गीकरण और प्रोटीन वर्गीकरण सहित) के लिए ज्ञात डेटाबेस पर भरोसा नहीं करते हैं, मेटाजनोमिक डेटा विश्लेषण में एक महत्वपूर्ण दृष्टिकोण हैं। हालांकि, इस तरह के एल्गोरिदम के डिजाइन के लिए पेशेवर गणित ज्ञान और प्रोग्रामिंग कौशल की आवश्यकता होती है; इसलिए, कई जीवविज्ञानियों और एल्गोरिदम डिजाइन शुरुआती लोगों को अपनी आवश्यकताओं के अनुरूप वर्गीकरण एल्गोरिदम का निर्माण करने में कठिनाई होती है।
आर्टिफिशियल इंटेलिजेंस के विकास के साथ, मेटाजेनोमिक विश्लेषण में अनुक्रम वर्गीकरण जैसे कार्यों को पूरा करने के लिए बायोइन्फॉर्मेटिक्स के क्षेत्र में डीप लर्निंग एल्गोरिदम का व्यापक रूप से उपयोग किया गया है। शुरुआती लोगों को डीप लर्निंग एल्गोरिदम को समझने में मदद करने के लिए, हम नीचे एक आसान-से-समझ फैशन में एल्गोरिदम का वर्णन करते हैं।
एक गहरी सीखने की तकनीक का अवलोकन चित्र 1में दिखाया गया है । एक डीप लर्निंग एल्गोरिदम की मुख्य तकनीक एक कृत्रिम तंत्रिका नेटवर्क है, जो मानव मस्तिष्क की संरचना से प्रेरित है। एक गणितीय दृष्टिकोण से, एक कृत्रिम तंत्रिका नेटवर्क को एक जटिल कार्य के रूप में माना जा सकता है। प्रत्येक वस्तु (जैसे डीएनए अनुक्रम, एक तस्वीर या वीडियो) पहले डिजिटाइज्ड होती है। डिजिटाइज्ड ऑब्जेक्ट को तब फ़ंक्शन में आयात किया जाता है। आर्टिफिशियल न्यूरल नेटवर्क का काम इनपुट डेटा के हिसाब से सही रिस्पॉन्स देना है। उदाहरण के लिए, यदि 2-श्रेणी वर्गीकरण कार्य करने के लिए एक कृत्रिम तंत्रिका नेटवर्क का निर्माण किया जाता है, तो नेटवर्क को एक संभावना स्कोर आउटपुट करना चाहिए जो प्रत्येक वस्तु के लिए 0-1 के बीच है। तंत्रिका नेटवर्क को नकारात्मक वस्तु को कम स्कोर देते समय सकारात्मक वस्तु को उच्च स्कोर (जैसे 0.5 से अधिक स्कोर) देना चाहिए। इस लक्ष्य को प्राप्त करने के लिए, प्रशिक्षण और परीक्षण प्रक्रियाओं के साथ एक कृत्रिम तंत्रिका नेटवर्क का निर्माण किया जाता है। इन प्रक्रियाओं के दौरान, ज्ञात डेटाबेस से डेटा डाउनलोड किया जाता है और फिर एक प्रशिक्षण सेट और परीक्षण सेट में विभाजित किया जाता है। प्रत्येक वस्तु को उचित तरीके से डिजिटाइज्ड किया जाता है और सकारात्मक वस्तुओं के लिए एक लेबल ("1" और नकारात्मक वस्तुओं के लिए "0" दिया जाता है)। प्रशिक्षण प्रक्रिया में, प्रशिक्षण सेट में डिजिटाइज्ड डेटा तंत्रिका नेटवर्क में इनपुट किया जाता है। कृत्रिम तंत्रिका नेटवर्क एक नुकसान फ़ंक्शन का निर्माण करता है जो इनपुट ऑब्जेक्ट के आउटपुट स्कोर और ऑब्जेक्ट के संबंधित लेबल के बीच विघटन का प्रतिनिधित्व करता है। उदाहरण के लिए, यदि इनपुट ऑब्जेक्ट का लेबल "1" है, जबकि आउटपुट स्कोर "0.1" है, तो नुकसान फ़ंक्शन अधिक होगा; और यदि इनपुट ऑब्जेक्ट का लेबल "0" है, जबकि आउटपुट स्कोर "0.1" है, तो नुकसान का कार्य कम होगा। कृत्रिम तंत्रिका नेटवर्क एक विशिष्ट पुनरावृत्ति एल्गोरिदम को नियोजित करता है जो नुकसान के कार्य को कम करने के लिए तंत्रिका नेटवर्क के मापदंडों को समायोजित करता है। प्रशिक्षण प्रक्रिया खत्म जब नुकसान समारोह स्पष्ट रूप से और अधिक कम नहीं किया जा सकता है । अंत में, परीक्षण सेट में डेटा का उपयोग निश्चित तंत्रिका नेटवर्क का परीक्षण करने के लिए किया जाता है, और उपन्यास वस्तुओं के लिए सही लेबल की गणना करने के लिए तंत्रिका नेटवर्क की क्षमता का मूल्यांकन किया जाता है। डीप लर्निंग एल्गोरिदम के अधिक सिद्धांत लेकुन एट अल में समीक्षा में पाए जा सकते हैं। 10.
यद्यपि डीप लर्निंग एल्गोरिदम के गणितीय सिद्धांत जटिल हो सकते हैं, हाल ही में कई अत्यधिक पैक किए गए डीप लर्निंग पैकेज विकसित किए गए हैं, और प्रोग्रामर सीधे कोड की कुछ पंक्तियों के साथ एक सरल कृत्रिम तंत्रिका नेटवर्क का निर्माण कर सकते हैं।
अधिक तेजी से गहरी शिक्षा का उपयोग करने में शुरू होने में जीव विज्ञानियों और एल्गोरिदम डिजाइन शुरुआती की सहायता करने के लिए, यह ट्यूटोरियल अनुक्रम वर्गीकरण के लिए एक आसान-से-उपयोग गहरे सीखने के ढांचे के निर्माण के लिए एक दिशानिर्देश प्रदान करता है। यह फ्रेमवर्क जैविक दृश्यों को डिजिटाइज करने के लिए गणितीय मॉडल के रूप में "एक-गर्म" एन्कोडिंग फॉर्म का उपयोग करता है और वर्गीकरण कार्य करने के लिए एक जटिल तंत्रिका नेटवर्क का उपयोग करता है (पूरक सामग्रीदेखें)। इस दिशानिर्देश का उपयोग करने से पहले उपयोगकर्ताओं को केवल एक चीज की आवश्यकता है कि "फास्टा" प्रारूप में चार अनुक्रम फ़ाइलें तैयार करना है। पहली फ़ाइल में प्रशिक्षण प्रक्रिया के लिए सकारात्मक वर्ग के सभी दृश्य शामिल हैं (जिसे "p_train.fasta" कहा जाता है); दूसरी फ़ाइल में प्रशिक्षण प्रक्रिया के लिए नकारात्मक वर्ग के सभी दृश्य शामिल हैं (जिसे "n_train.fasta" कहा जाता है); तीसरी फ़ाइल में परीक्षण प्रक्रिया के लिए सकारात्मक वर्ग के सभी दृश्य शामिल हैं (जिसे "p_test.fasta" कहा जाता है); और अंतिम फ़ाइल में परीक्षण प्रक्रिया के लिए नकारात्मक वर्ग के सभी दृश्य शामिल हैं (जिसे "n_test.fasta" कहा जाता है)। इस ट्यूटोरियल के फ्लोचार्ट का अवलोकन चित्र 2में प्रदान किया गया है, और अधिक विवरण नीचे उल्लेख किया जाएगा।
Subscription Required. Please recommend JoVE to your librarian.
Protocol
1. वर्चुअल मशीन की स्थापना
- (https://github.com/zhenchengfang/DL-VM) से वर्चुअल मशीन फाइल डाउनलोड करें।
- https://www.virtualbox.org से वर्चुअलबॉक्स सॉफ्टवेयर डाउनलोड करें।
- "7-ज़िप", "WinRAR" या "WinZip" जैसे संबंधित सॉफ़्टवेयर का उपयोग करके ".7z" फ़ाइल को डिकंप्रेस करें।
- हर स्टेप में नेक्स्ट बटन पर क्लिक करके वर्चुअलबॉक्स सॉफ्टवेयर इंस्टॉल करें।
- वर्चुअलबॉक्स सॉफ्टवेयर खोलें और वर्चुअल मशीन बनाने के लिए नए बटन पर क्लिक करें।
- चरण 6: "नाम" फ्रेम में निर्दिष्ट वर्चुअल मशीन नाम दर्ज करें, "प्रकार" फ्रेम में ऑपरेटिंग सिस्टम के रूप में लिनक्स का चयन करें, "संस्करण" फ्रेम में Ubuntu का चयन करें और अगले बटन पर क्लिक करें।
- वर्चुअल मशीन के मेमोरी साइज को आवंटित करें। हम अनुशंसा करते हैं कि उपयोगकर्ता वर्चुअल मशीन को जितना संभव हो उतना मेमोरी असाइन करने के लिए हरे रंग की पट्टी के दाहिने-अधिकांश हिस्से में बटन खींचें, और फिर अगले बटन पर क्लिक करें।
- मौजूदा वर्चुअल हार्ड डिस्क फाइल सेलेक्शन का इस्तेमाल चुनें, स्टेप 1.1 से डाउनलोड की गई फाइल "VM_Bioinfo.vdi" का चयन करें और फिर क्रिएट बटन पर क्लिक करें।
- वर्चुअल मशीन खोलने के लिए स्टार बटन पर क्लिक करें।
नोट: चित्रा 3 आभासी मशीन के डेस्कटॉप के स्क्रीनशॉट से पता चलता है।
2. भौतिक मेजबान और आभासी मशीन के बीच आदान-प्रदान फ़ाइलों के लिए साझा फ़ोल्डर बनाएं
- भौतिक होस्ट में, "shared_host" नाम का एक साझा फ़ोल्डर बनाएं, और वर्चुअल मशीन के डेस्कटॉप पर, "shared_VM" नाम से एक साझा फ़ोल्डर बनाएं।
- वर्चुअल मशीन के मेन्यू बार में क्लिक करें डिवाइस, शेयर्ड फोल्डर, शेयर्ड फोल्डर सेटिंग्स लगातार।
- ऊपरी दाएं कोने में बटन पर क्लिक करें।
- चरण 2.1 में बनाए गए भौतिक मेजबान में साझा फ़ोल्डर का चयन करें और ऑटो-माउंट विकल्प का चयन करें। ओके बटन पर क्लिक करें।
- वर्चुअल मशीन को फिर से चालू करें।
- वर्चुअल मशीन के डेस्कटॉप पर सही क्लिक करें और टर्मिनल खोलें।
- टर्मिनल पर फॉलो कमांड कॉपी करें:
सुडो माउंट-टी vboxsf shared_host ./डेस्कटॉप/shared_VM- जब पासवर्ड के लिए प्रेरित किया जाता है, तो "1" दर्ज करें और"एंटर"कुंजी को हिट करें, जैसा कि चित्र 4में दिखाया गया है।
3. प्रशिक्षण सेट और परीक्षण सेट के लिए फाइलें तैयार करें
- प्रशिक्षण और परीक्षण प्रक्रिया के लिए "फास्टा" प्रारूप में सभी चार अनुक्रम फ़ाइलों को भौतिक मेजबान के "shared_host" फ़ोल्डर में कॉपी करें। इस तरह, सभी फाइलें वर्चुअल मशीन के "shared_VM" फ़ोल्डर में भी हो जाएंगी। फिर, वर्चुअल मशीन के "डीपलर्निंग" फ़ोल्डर में "shared_VM" फ़ोल्डर में फ़ाइलों को कॉपी करें।
4. "एक गर्म" एन्कोडिंग फॉर्म का उपयोग करके जैविक दृश्यों को डिजिटाइज करें
- "डीपलर्निंग" फ़ोल्डर पर जाएं, सही क्लिक पर क्लिक करें और टर्मिनल खोलें। निम्नलिखित आदेश टाइप करें:
./onehot_encoding p_train.fasta n_train.fasta p_test.fasta n_test.fasta aa
(अमीनो एसिड दृश्यों के लिए)
नहीं तो
./onehot_encoding p_train.fasta n_train.fasta p_test.fasta n_test.fasta nt
(न्यूक्लिक एसिड दृश्यों के लिए)
नोट: इस प्रक्रिया का एक स्क्रीनशॉट चित्रा 5में प्रदान किया गया है ।
5. कृत्रिम तंत्रिका नेटवर्क को प्रशिक्षित और परीक्षण करें
- टर्मिनल में, निम्नलिखित कमांड टाइप करें जैसा कि चित्र 6में दिखाया गया है:
अजगर train.py
नोट: प्रशिक्षण प्रक्रिया शुरू हो जाएगा ।
Subscription Required. Please recommend JoVE to your librarian.
Representative Results
अपने पिछले काम में, हमने इस ट्यूटोरियल3,11, 12के समान दृष्टिकोण का उपयोग करके मेटाजेनोमिक डेटा के लिए अनुक्रम वर्गीकरणउपकरणोंकी एक श्रृंखला विकसित की। एक उदाहरण के रूप में, हमने वर्चुअल मशीन में अपने पिछले काम3,11 से प्रशिक्षण सेट और परीक्षण सेट के सबसेट की अनुक्रम फाइलें जमा कीं।
फेंग और झोउ11 का उद्देश्य विरोम डेटा से पूर्ण और आंशिक प्रोकरोट वायरस विरेशन प्रोटीन की पहचान करना है । फ़ाइल "p_train.fasta" प्रशिक्षण सेट के लिए वायरस virion प्रोटीन टुकड़े शामिल हैं; फ़ाइल "n_train.fasta" प्रशिक्षण सेट के लिए वायरस nonvirion प्रोटीन टुकड़े शामिल हैं; फ़ाइल "p_test.fasta" परीक्षण सेट के लिए वायरस विषाणु प्रोटीन टुकड़े शामिल हैं; और फ़ाइल "n_test.fasta" परीक्षण सेट के लिए वायरस nonvirion प्रोटीन टुकड़े शामिल हैं । उपयोगकर्ता सीधे तंत्रिका नेटवर्क का निर्माण करने के लिए निम्नलिखित दो आदेशों को निष्पादित कर सकता है:
./onehot_encoding p_train.fasta n_train.fasta p_test.fasta n_test.fasta aa
और
अजगर train.py
प्रदर्शन चित्रा 7में दिखाया गया है ।
फेंग एट अल3 का उद्देश्य मेटाजन्नोमिक डेटा में बैक्टीरियल गुणसूत्र डीएनए टुकड़ों से फेज डीएनए के टुकड़ों की पहचान करना है । फ़ाइल "phage_train.fasta" प्रशिक्षण सेट के लिए phage डीएनए टुकड़े शामिल हैं; फ़ाइल "chromosome_train.fasta" प्रशिक्षण सेट के लिए गुणसूत्र डीएनए टुकड़े शामिल हैं; फ़ाइल "phage_test.fasta" परीक्षण सेट के लिए phage डीएनए टुकड़े शामिल हैं; और फ़ाइल "chromosome_test.fasta" परीक्षण सेट के लिए गुणसूत्र डीएनए टुकड़े शामिल हैं । उपयोगकर्ता सीधे तंत्रिका नेटवर्क का निर्माण करने के लिए निम्नलिखित दो आदेशों को निष्पादित कर सकता है:
./onehot_encoding phage_train.fasta chromosome_train.fasta phage_test.fasta chromosome_test.fasta nt
और
अजगर train.py
प्रदर्शन चित्रा 8में दिखाया गया है ।
यह देखने लायक है कि क्योंकि एल्गोरिदम में कुछ प्रक्रियाएं हैं जिनमें यादृच्छिकता है, यदि उपयोगकर्ता स्क्रिप्ट को फिर से चलाते हैं तो उपरोक्त परिणाम थोड़ा अलग हो सकते हैं।
चित्रा 1। डीप लर्निंग तकनीक का अवलोकन। कृपया इस आंकड़े का एक बड़ा संस्करण देखने के लिए यहां क्लिक करें ।
चित्रा 2। इस ट्यूटोरियल के फ्लोचार्ट का अवलोकन। कृपया इस आंकड़े का एक बड़ा संस्करण देखने के लिए यहां क्लिक करें ।
चित्रा 3। वर्चुअल मशीन के डेस्कटॉप का स्क्रीनशॉट। कृपया इस आंकड़े का एक बड़ा संस्करण देखने के लिए यहां क्लिक करें ।
चित्रा 4। साझा फ़ोल्डरों की सक्रियता का स्क्रीनशॉट। कृपया इस आंकड़े का एक बड़ा संस्करण देखने के लिए यहां क्लिक करें ।
चित्रा 5। अनुक्रम डिजिटाइजेशन की प्रक्रिया का स्क्रीनशॉट। कृपया इस आंकड़े का एक बड़ा संस्करण देखने के लिए यहां क्लिक करें ।
चित्रा 6। कृत्रिम तंत्रिका नेटवर्क को प्रशिक्षित करें और परीक्षण करें। कृपया इस आंकड़े का एक बड़ा संस्करण देखने के लिए यहां क्लिक करें ।
चित्रा 7। प्रोकर्योट वायरस विरेशन प्रोटीन के टुकड़ों की पहचान का प्रदर्शन। मूल्यांकन मानदंड एसएन=टीपी/(टीपी+एफएन), एसपी= टीएन /(टीएन+एफपी), एसीसी=(टीपी +टीएन)/(टीपी+टीएन+एफपी)और एयूसीहैं। कृपया इस आंकड़े का एक बड़ा संस्करण देखने के लिए यहां क्लिक करें ।
चित्रा 8। फेज डीएनए के टुकड़ों की पहचान का प्रदर्शन । मूल्यांकन मानदंड एसएन=टीपी/(टीपी+एफएन), एसपी= टीएन /(टीएन+एफपी), एसीसी=(टीपी +टीएन)/(टीपी+टीएन+एफपी)और एयूसीहैं। कृपया इस आंकड़े का एक बड़ा संस्करण देखने के लिए यहां क्लिक करें ।
अनुपूरक सामग्री: कृपया इस फ़ाइल को डाउनलोड करने के लिए यहां क्लिक करें ।
Subscription Required. Please recommend JoVE to your librarian.
Discussion
यह ट्यूटोरियल जीव विज्ञानियों और एल्गोरिदम डिजाइन शुरुआती लोगों के लिए एक अवलोकन प्रदान करता है कि मेटाजेनोमिक डेटा में जैविक अनुक्रम वर्गीकरण के लिए एक आसान-से-उपयोग गहरे सीखने के ढांचे का निर्माण कैसे किया जाए। इस ट्यूटोरियल का उद्देश्य गहरी शिक्षा की सहज समझ प्रदान करना और उस चुनौती को संबोधित करना है जो शुरुआती लोगों को अक्सर डीप लर्निंग पैकेज स्थापित करने और एल्गोरिदम के लिए कोड लिखने में कठिनाई होती है। कुछ सरल वर्गीकरण कार्यों के लिए, उपयोगकर्ता वर्गीकरण कार्यों को करने के लिए ढांचे का उपयोग कर सकते हैं।
यह देखते हुए कि कई जीव विज्ञानी लिनक्स ऑपरेटिंग सिस्टम की कमांड लाइन से परिचित नहीं हैं, हमने वर्चुअल मशीन में सभी निर्भर सॉफ्टवेयर को पहले से ही स्थापित कर दिया। ऐसे में ऊपर बताए गए प्रोटोकॉल का पालन करते हुए यूजर सीधे वर्चुअल मशीन में कोड चला सकता है। इसके अतिरिक्त, यदि उपयोगकर्ता लिनक्स ऑपरेटिंग सिस्टम और पायथन प्रोग्रामिंग से परिचित हैं, तो वे इस प्रोटोकॉल को सीधे सर्वर या स्थानीय पीसी पर भी चला सकते हैं। इस तरह, उपयोगकर्ता को निम्नलिखित निर्भर सॉफ़्टवेयर को पहले से अपडेट करना चाहिए:
अजगर 2.7.12 (https://www.python.org/)
अजगर पैकेज:
न्यूम्पी 1.13.1 (http://www.numpy.org/)
h5py 2.6.0 (http://www.h5py.org/)
टेनसोरफ्लो 1.4.1 (https://www.tensorflow.org/)
केरास 2.0.8 (https://keras.io/)
MATLAB घटक रनटाइम (एमसीआर) R2018a (https://www.mathworks.com/products/compiler/matlab-runtime.html)
हमारे पिछले काम3 के मैनुअल स्थापना का एक संक्षिप्त विवरण है। ध्यान दें कि प्रत्येक पैकेज की संस्करण संख्या उस संस्करण से मेल खाती है जिसका उपयोग हमने कोड में किया था। वर्चुअल मशीन के बिना सर्वर या लोकल पीसी में कोड चलाने का फायदा यह है कि कोड इस तरह से जीपीयू के साथ स्पीड कर सकता है, जिससे ट्रेनिंग प्रोसेस में ज्यादा समय बच सकता है। इस तरह, उपयोगकर्ता को TensorFlow का जीपीयू संस्करण स्थापित करना चाहिए (पिछले काम3का मैनुअल देखें)।
प्रोटोकॉल के भीतर कुछ महत्वपूर्ण कदम इस प्रकार बताए गए हैं । चरण 4.1 में, "p_train.fasta", "n_train.fasta", "p_test.fasta" और "n_test.fasta" के फ़ाइल नामों का उपयोग किया जाना चाहिए । इस कमांड में इन चारों फाइलों का क्रम बदला नहीं जा सकता। यदि फ़ाइलों में अमीनो एसिड दृश्य होते हैं, तो अंतिम पैरामीटर "एए" होना चाहिए; यदि फाइलों में न्यूक्लिक एसिड दृश्य होते हैं, तो अंतिम पैरामीटर "एनटी" होना चाहिए। यह कमांड जैविक दृश्यों को डिजिटाइज करने के लिए "वन-हॉट" एन्कोडिंग फॉर्म का उपयोग करता है। अनुपूरक सामग्री में "एक-गर्म" एन्कोडिंग फॉर्म का परिचय प्रदान किया जाता है। चरण 5.1 में, क्योंकि वर्चुअल मशीन को जीपीयू के साथ उड़ नहीं सकता है, इस प्रक्रिया में डेटा आकार के आधार पर कुछ घंटे या कई दिन लग सकते हैं। प्रत्येक पुनरावृत्ति युग के लिए प्रगति सलाखों टर्मिनल में दिखाया गया है। हम युगों की संख्या को 50 तक सेट करते हैं, और इस प्रकार, प्रशिक्षण प्रक्रिया समाप्त होने पर कुल 50 प्रगति बार प्रदर्शित किए जाएंगे। जब परीक्षण प्रक्रिया समाप्त हो जाती है, तो परीक्षण सेट के लिए सटीकता टर्मिनल में प्रदर्शित की जाएगी। वर्चुअल मशीन के "डीपलर्निंग" फ़ोल्डर में "भविष्यवाणी.csv" नाम की एक फाइल बनाई जाएगी। इस फ़ाइल में परीक्षण डेटा के लिए सभी भविष्यवाणी स्कोर शामिल हैं। इन स्कोरों का क्रम "p_test.फास्टा" और "n_test.फास्टा" में अनुक्रम क्रम से मेल खाता है (इनमें से पहला आधा स्कोर "p_test.fasta" से मेल खाता है, जबकि इन स्कोर की दूसरी छमाही "n_test.fatsa" से मेल खाती है)। यदि उपयोगकर्ता उन दृश्यों के लिए भविष्यवाणियां करना चाहते हैं जिनकी सच्ची कक्षाएं अज्ञात हैं, तो वे इन अज्ञात दृश्यों को "p_test.fasta" या "n_test.fasta" फ़ाइल में भी जमा कर सकते हैं। इस तरह, इन अज्ञात दृश्यों के स्कोर को "भविष्यवाणी.csv" फ़ाइल में भी प्रदर्शित किया जाएगा, लेकिन टर्मिनल में "सटीकता" प्रदर्शन का कोई मतलब नहीं है। यह लिपि वर्गीकरण करने के लिए एक जटिल तंत्रिका नेटवर्क को नियोजित करती है। तंत्रिका नेटवर्क की संरचना और तंत्रिका नेटवर्क के लिए कोड अनुपूरक सामग्रीमें दिखाया गया है ।
गहरी सीखने की विशेषताओं में से एक यह है कि कई पैरामीटर सेटिंग्स के लिए कुछ अनुभव की आवश्यकता होती है, जो शुरुआती लोगों के लिए एक बड़ी चुनौती हो सकती है। बड़ी संख्या में सूत्रों की वजह से शुरुआती आशंका से बचने के लिए, हम डीप लर्निंग के गणितीय सिद्धांतों पर ध्यान केंद्रित नहीं करते हैं, और आभासी मशीन में, हम एक विशेष पैरामीटर सेटिंग इंटरफेस प्रदान नहीं करते हैं। हालांकि यह शुरुआती लोगों के लिए एक अच्छा विकल्प हो सकता है, अनुचित पैरामीटर चयन भी सटीकता में गिरावट का कारण बन सकता है। शुरुआती को बेहतर अनुभव करने की अनुमति देने के लिए कि पैरामीटर को कैसे संशोधित किया जाए, स्क्रिप्ट "train.py" में, हम संबंधित कोड में कुछ टिप्पणियां जोड़ते हैं, और उपयोगकर्ता संबंधित मापदंडों को संशोधित कर सकते हैं, जैसे कि कन्वोल्यूशन गुठली की संख्या, यह देखने के लिए कि ये पैरामीटर प्रदर्शन को कैसे प्रभावित करते हैं।
इसके अतिरिक्त, कई गहरे सीखने के कार्यक्रम एक GPU के तहत चलाया जाना चाहिए । हालांकि, जीपीयू को कॉन्फ़िगर करने के लिए कुछ कंप्यूटर कौशल की भी आवश्यकता होती है जो गैर-कंप्यूटर पेशेवरों के लिए मुश्किल हो सकता है; इसलिए, हम एक आभासी मशीन में कोड को अनुकूलित करना चुनते हैं।
इस दिशानिर्देश के आधार पर अन्य अनुक्रम वर्गीकरण कार्यों को हल करते समय, उपयोगकर्ताओं को केवल चार अनुक्रम फ़ाइलों को अपने डेटा के साथ बदलने की आवश्यकता होती है। उदाहरण के लिए, यदि उपयोगकर्ताओं को मेटाजेनोमिक डेटा में प्लाज्मिड-व्युत्पन्न और गुणसूत्र-व्युत्पन्न दृश्यों को अलग करने की आवश्यकता है, तो वे सीधे प्लाज्मिड जीनोम (https://ftp.ncbi.nlm.nih.gov/refseq/release/plasmid/) और बैक्टीरियल गुणसूत्र जीनोम (https://ftp.ncbi.nlm.nih.gov/refseq/release/bacteria/) को RefSeq डेटाबेस से डाउनलोड कर सकते हैं और जीनोम को एक प्रशिक्षण सेट और परीक्षण सेट में अलग कर सकते हैं। यह देखने लायक है कि मेटाजन्नोमिक डेटा में डीएनए दृश्यों अक्सर पूर्ण जीनोम के बजाय खंडित कर रहे हैं । ऐसे मामलों में, उपयोगकर्ता पूर्ण जीनोम से डीएनए टुकड़ा निकालने के लिए मेटासिम13 उपकरण का उपयोग कर सकते हैं। मेटासिम जीयूआई इंटरफ़ेस के साथ एक उपयोगकर्ता के अनुकूल उपकरण है, और उपयोगकर्ता कीबोर्ड पर कोई आदेश टाइप किए बिना माउस का उपयोग करके अधिकांश संचालन समाप्त कर सकते हैं। शुरुआती लोगों के लिए ऑपरेशन को सरल बनाने के लिए, हमारा ट्यूटोरियल दो-वर्ग वर्गीकरण कार्य के लिए डिज़ाइन किया गया है। हालांकि, हमें कई कार्यों में बहुवर्गीयता करने की जरूरत है । ऐसे मामलों में, शुरुआती कई दो-वर्ग वर्गीकरण कार्यों में बहुवर्गीय कार्य को अलग करने की कोशिश कर सकते हैं। उदाहरण के लिए, फेज होस्ट की पहचान करने के लिए, झांग एट अल ने 9 2-श्रेणी के क्लासिफायर का निर्माण किया ताकि यह पहचान की जा सके कि क्या कोई दिया हुआ फेज अनुक्रम एक निश्चित मेजबान को संक्रमित कर सकता है।
इस ट्यूटोरियल का होमपेज https://github.com/zhenchengfang/DL-VM गिटहब साइट पर जमा किया गया है। ट्यूटोरियल के किसी भी अद्यतन वेबसाइट पर वर्णित किया जाएगा। उपयोगकर्ता वेबसाइट पर इस ट्यूटोरियल के बारे में अपने सवाल भी उठा सकते हैं।
Subscription Required. Please recommend JoVE to your librarian.
Disclosures
लेखक घोषणा करते हैं कि हितों के टकराव नहीं हैं ।
Acknowledgments
इस जांच को नेशनल नेचुरल साइंस फाउंडेशन ऑफ चाइना (81925026, 82002201, 81800746, 82102508) ने आर्थिक रूप से समर्थन दिया था ।
Materials
Name | Company | Catalog Number | Comments |
PC or server | NA | NA | Suggested memory: >6GB |
VirtualBox software | NA | NA | Link: https://www.virtualbox.org |
References
- Liang, Q., Bible, P. W., Liu, Y., Zou, B., Wei, L. DeepMicrobes: taxonomic classification for metagenomics with deep learning. NAR Genomics and Bioinformatics. 2 (1), (2020).
- Ren, J., et al. VirFinder: a novel k -mer based tool for identifying viral sequences from assembled metagenomic data. Microbiome. 5 (1), 69 (2017).
- Fang, Z., et al. PPR-Meta: a tool for identifying phages and plasmids from metagenomic fragments using deep learning. GigaScience. 8 (6), (2019).
- Ren, J., et al. Identifying viruses from metagenomic data using deep learning. Quantitative Biology. 8 (1), 64-77 (2020).
- Zhou, F., Xu, Y. cBar: a computer program to distinguish plasmid-derived from chromosome-derived sequence fragments in metagenomics data. Bioinformatics. 26 (16), 2051-2052 (2010).
- Krawczyk, P. S., Lipinski, L., Dziembowski, A. PlasFlow: predicting plasmid sequences in metagenomic data using genome signatures. Nucleic Acids Research. 46 (6), (2018).
- Pellow, D., Mizrahi, I., Shamir, R. PlasClass improves plasmid sequence classification. PLOS Computational Biology. 16 (4), (2020).
- Arango-Argoty, G., et al. DeepARG: a deep learning approach for predicting antibiotic resistance genes from metagenomic data. Microbiome. 6 (1), 1-15 (2018).
- Zheng, D., Pang, G., Liu, B., Chen, L., Yang, J. Learning transferable deep convolutional neural networks for the classification of bacterial virulence factors. Bioinformatics. 36 (12), 3693-3702 (2020).
- LeCun, Y., Bengio, Y., Hinton, G.
Deep learning. Nature. 521 (7553), 436-444 (2015). - Fang, Z., Zhou, H. VirionFinder: Identification of Complete and Partial Prokaryote Virus Virion Protein From Virome Data Using the Sequence and Biochemical Properties of Amino Acids. Frontiers in Microbiology. 12, 615711 (2021).
- Fang, Z., Zhou, H. Identification of the conjugative and mobilizable plasmid fragments in the plasmidome using sequence signatures. Microbial Genomics. 6 (11), (2020).
- Richter, D. C., Ott, F., Auch, A. F., Schmid, R., Huson, D. H. MetaSim-a sequencing simulator for genomics and metagenomics. PLoS One. 3 (10), 3373 (2008).
- Zhang, M., et al. Prediction of virus-host infectious association by supervised learning methods. BMC Bioinformatics. 18 (3), 143-154 (2017).