बायोपर्ल

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

पृष्ठभूमि
बायोपर्ल जैव सूचना विज्ञान फाउंडेशन खोलें द्वारा समर्थित सक्रिय खुला स्रोत सॉफ्टवेयर प्रोजेक्ट है। बायोपर्ल के पर्ल कोड का पहला सेट टिम हब्बार्ड और जोंग भाक द्वारा बनाया गया था  चिकित्सा अनुसंधान परिषद (यूनाइटेड किंगडम)  सेंटर कैम्ब्रिज में, जहां पहला जीनोम अनुक्रमण फ्रेड सेंगर द्वारा किया गया था। एमआरसी केंद्र आधुनिक जैव सूचना विज्ञान के केंद्रों और जन्मस्थानों में से  था क्योंकि इसमें बड़ी मात्रा में डीएनए अनुक्रम और 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) न्यूक्लिक एसिड अनुक्रम के लिए
 * समान अनुक्रमों की खोज
 * अनुक्रम संरेखण बनाना और उनमें हेरफेर करना
 * [[जीनोम]] डीएनए पर जीन और अन्य संरचनाओं की खोज करना
 * मशीन पठनीय अनुक्रम जीनोम प्रोजेक्ट#जीनोम एनोटेशन विकसित करना

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

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


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

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

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

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