बायोपर्ल

बायोपर्ल पर्ल मॉड्यूल का संग्रह है जो जैव सूचना विज्ञान अनुप्रयोगों के लिए पर्ल स्क्रिप्ट के विकास की सुविधा प्रदान करता है। इसने मानव जीनोम परियोजना में अभिन्न भूमिका निभाई है।

पृष्ठभूमि
बायोपर्ल ओपन बायोइनफॉरमैटिक्स फाउंडेशन द्वारा समर्थित सक्रिय ओपन स्रोत सॉफ्टवेयर प्रोजेक्ट है। बायोपर्ल के पर्ल कोड का प्रथम सेट टिम हब्बार्ड और जोंग भाक द्वारा चिकित्सा अनुसंधान परिषद (यूनाइटेड किंगडम) केंद्र कैम्ब्रिज में बनाया गया था जहां प्रथम जीनोम अनुक्रमण फ्रेड सेंगर द्वारा किया गया था। एमआरसी केंद्र आधुनिक जैव सूचना विज्ञान के केंद्रों और जन्मस्थानों में से था क्योंकि इसमें बड़ी मात्रा में डीएनए अनुक्रम और 3डी प्रोटीन संरचनाएं थीं। हबर्ड th_lib.pl पर्ल लाइब्रेरी का उपयोग कर रहा था, जिसमें जैव सूचना विज्ञान के लिए कई उपयोगी पर्ल सबरूटीन्स सम्मिलित थे। हबर्ड के प्रथम पीएचडी छात्र भक ने jong_lib.pl बनाया। भक ने दो पर्ल सबरूटीन लाइब्रेरीज़ को Bio.pl में विलय कर दिया। बायोपर्ल नाम भक और स्टीवन ई. ब्रेनर द्वारा प्रोटीन इंजीनियरिंग केंद्र (सीपीई) में संयुक्त रूप से रखा गया था। 1995 में, ब्रेनर ने कैम्ब्रिज में आयोजित आण्विक जीव विज्ञान के लिए इंटेलिजेंट प्रणाली सम्मेलन में बायोपर्ल सत्र का आयोजन किया। आगामी माह में बायोपर्ल के कुछ उपयोगकर्ता होंगे जिनमें जॉर्ज फ़्यूलेन भी सम्मिलित हैं जिन्होंने जर्मनी में प्रशिक्षण पाठ्यक्रम का आयोजन किया था। फ़्यूलेन के सहकर्मियों और छात्रों ने बायोपर्ल का अधिक विस्तार किया; इसे अन्य लोगों द्वारा और विस्तारित किया गया, जिनमें स्टीव चेर्विट्ज़ भी सम्मिलित थे, जो सक्रिय रूप से अपने यीस्ट जीनोम डेटाबेस के लिए पर्ल कोड विकसित कर रहे थे। बड़ा विस्तार तब हुआ जब कैम्ब्रिज के छात्र इवान बिरनी विकास समूह में सम्मिलित हुए।

प्रथम स्थिर रिलीज़ 11 जून 2002 को हुई थी; सबसे हालिया स्थिर (एपीआई के संदर्भ में) रिलीज़ 07 सितंबर 2017 से 1.7.2 है। समय-समय पर डेवलपर रिलीज़ भी तैयार की जाती हैं। संस्करण श्रृंखला 1.7.x को बायोपर्ल का सबसे स्थिर (बग के संदर्भ में) संस्करण माना जाता है और इसे प्रतिदिन के उपयोग के लिए अनुशंसित किया जाता है।

बायोपर्ल का लाभ प्राप्त करने के लिए, यूजर को पर्ल प्रोग्रामिंग भाषा के मूलभूत अध्ययन की आवश्यकता होती है, जिसमें पर्ल संदर्भों, मॉड्यूल, ऑब्जेक्ट और विधियों का उपयोग करने का अध्ययन भी सम्मिलित होता है।

मानव जीनोम परियोजना पर प्रभाव
मानव जीनोम परियोजना को अपने जीवनकाल के समय कई प्रचारणों का सामना करना होता है। इनमें से कुछ समस्याओं का समाधान तब हो गया जब कई जीनोमिक्स प्रयोगशालाओं ने पर्ल का उपयोग करना प्रारम्भ कर दिया। सभी डीएनए अनुक्रमों का विश्लेषण करने की प्रक्रिया इसी प्रकार की समस्या थी। कुछ प्रयोगशालाओं ने जटिल रिलेशनल डेटाबेस के साथ बड़ी मोनोलिथिक प्रणाली बनाई, जिन्हें डिबग करने और प्रारम्भ करने में अधिक समय लगा, और नई प्रौद्योगिकियों ने उन्हें पीछे कर दिया। अन्य प्रयोगशालाओं ने मॉड्यूलर, शिथिल-युग्मित प्रणाली निर्मित करने का अध्ययन किया, जिनके भागों को नई तकनीकों के आने पर भीतर और बाहर परिवर्तित किया जा सकता था। सभी प्रयोगशालाओं के कई प्रारंभिक परिणाम मिश्रित थे। अंततः यह ज्ञात हुआ कि कई चरणों को शिथिल युग्मित प्रोग्रामों के रूप में कार्यान्वित किया जा सकता है जो पर्ल शेल स्क्रिप्ट के साथ रन कराए गए थे। डेटा का आदान-प्रदान नामक समस्या का समाधान भी किया गया था। प्रत्येक प्रयोगशाला में सामान्यतः भिन्न-भिन्न प्रोग्राम होते थे जिन्हें वे अपनी स्क्रिप्ट के साथ रन करते थे, जिसके परिणामस्वरूप परिणामों की तुलना करते समय कई रूपांतरण होते थे। इसे उचित प्रकार से करने के लिए प्रयोगशालाओं ने सामूहिक रूप से डेटा के सुपर-सेट का उपयोग करना प्रारम्भ कर दिया था। स्क्रिप्ट का उपयोग सुपर-सेट से प्रत्येक प्रयोगशाला के सेट में परिवर्तित करने के लिए किया गया था और अन्य का उपयोग पुनः परिवर्तित करने के लिए किया गया था। इससे आवश्यक स्क्रिप्ट की संख्या कम हो गई और पर्ल के साथ डेटा विनिमय सरल हो गया।

सुविधाएँ और उदाहरण
बायोपर्ल जैव सूचना विज्ञान प्रोग्रामिंग के कई विशिष्ट कार्यों के लिए सॉफ्टवेयर मॉड्यूल प्रदान करता है। इसमे सम्मिलित है:

किसी अनुक्रम को पुनः प्राप्त करने के लिए जेनबैंक के एक्सेस का उदाहरण:
 * स्थानीय और दूरस्थ जैविक डेटाबेस से न्यूक्लियोटाइड अनुक्रम और पेप्टाइड अनुक्रम डेटा का एक्सेस

 बायो::डीबी::जेनबैंक का उपयोग करें;

$db_obj = बायो::DB::GenBank->नया;

$seq_obj = $db_obj->get_Seq_by_acc( # परिग्रहण संख्या डालें);  स्वरूप परिवर्तित करने के लिए उदाहरण कोड
 * फ़ाइल स्वरूपों की परिवर्तनकारी सूची

 Bio::SeqIO का उपयोग करें;

मेरा $usage = all2y.pl जानकारी आउटफ़ाइल आउटफ़ाइलफ़ॉर्मेट; मेरी $सूचना = शिफ्ट या मरो $उपयोग; मेरा $आउटफ़ाइल = शिफ्ट या मरना $उपयोग; मेरा $आउटफॉर्मेट = शिफ्ट या डाई $उपयोग;

मेरा $seqin = Bio::SeqIO->new( -fh => *STDIN, -format => $informat, ); मेरा $seqout = Bio::SeqIO->new( -file => >$outfile, -format => $outformat, );

जबकि (मेरा $inseq = $seqin->next_seq) { $seqout->write_seq($inseq); }  किसी दिए गए अनुक्रम के लिए तथ्यांक एकत्र करने का उदाहरण
 * व्यक्तिगत अनुक्रमों में हेरफेर करना

 Bio::Tools::SeqStats का उपयोग करें; $seq_stats = Bio::Tools::SeqStats->new($seqobj);

$वजन = $seq_stats->get_mol_wt; $monomer_ref = $seq_stats->count_monomers;

$codon_ref = $seq_stats->count_codons; 
 * 1) न्यूक्लिक अम्ल अनुक्रम के लिए
 * समान अनुक्रमों का शोध
 * अनुक्रम संरेखण बनाना और उनमें परिवर्तन करना
 * जीनोमिक डीएनए पर जीन और अन्य संरचनाओं को सर्च करना
 * मशीन पठनीय अनुक्रम जीनोम प्रोजेक्ट अथवा जीनोम एनोटेशन विकसित करना

उपयोग
अंतिम-उपयोगकर्ताओं द्वारा सीधे उपयोग किए जाने के अलावा, बायोपर्ल ने विभिन्न प्रकार के जैव सूचनात्मक उपकरणों के लिए आधार भी प्रदान किया है, जिनमें सहित अन्य सम्मिलित हैं:

बाहरी डेवलपर्स के नए उपकरण और एल्गोरिदम अक्सर सीधे बायोपर्ल में ही ीकृत होते हैं:
 * सिंब्राउज
 * जीनकोम्बर
 * टीएफबीएस
 * मिमॉक्स
 * बायोपार्सर
 * ख़राब प्राइमर डिज़ाइन
 * सार्वजनिक डेटाबेस को क्वेरी करना
 * वर्तमान तुलनात्मक तालिका


 * फ़ाइलोजेनेटिक पेड़ों और नेस्टेड टैक्सा से निपटना
 * एफपीसी वेब उपकरण

फायदे
बायोपर्ल पहले जैविक मॉड्यूल रिपॉजिटरी में से था जिसने इसकी प्रयोज्यता को बढ़ाया। लचीले वैश्विक भंडार के साथ-साथ इसमें मॉड्यूल स्थापित करना बहुत आसान है। बायोपर्ल विभिन्न प्रकार की प्रक्रियाओं के लिए अच्छे परीक्षण मॉड्यूल का उपयोग करता है।

नुकसान
बायोपर्ल का उपयोग करने के कई तरीके हैं, सरल स्क्रिप्टिंग से लेकर बहुत जटिल ऑब्जेक्ट प्रोग्रामिंग तक। इससे भाषा स्पष्ट नहीं होती और कभी-कभी समझने में कठिनाई होती है। बायोपर्ल के पास जितने भी मॉड्यूल हैं, उनमें से कुछ हमेशा उस तरह से काम नहीं करते जैसे वे चाहते हैं।

अन्य प्रोग्रामिंग भाषाओं में संबंधित लाइब्रेरी
ओपन बायोइनफॉरमैटिक्स फाउंडेशन के हिस्से के रूप में अन्य प्रोग्रामिंग भाषाओं में कार्यान्वित कई संबंधित जैव सूचना विज्ञान पुस्तकालय मौजूद हैं, जिनमें सम्मिलित हैं:
 * बायोपिथॉन
 * बायोजावा
 * बायोरूबी
 * बायोपीएचपी
 * बायोजेएस
 * बायोकंडक्टर