बायोपर्ल

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

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

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

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

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

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

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

$db_obj = Bio::DB::GenBank->new;

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

use Bio::SeqIO;

my $usage = "all2y.pl informat outfile outfileformat"; my $informat = shift or die $usage; my $outfile = shift or die $usage; my $outformat = shift or die $usage;

my $seqin = Bio::SeqIO->new( -fh => *STDIN,  -format => $informat, ); my $seqout = Bio::SeqIO->new( -file => ">$outfile",  -format => $outformat, );

while (my $inseq = $seqin->next_seq) {  $seqout->write_seq($inseq); }

किसी दिए गए अनुक्रम के लिए तथ्यांक एकत्र करने का उदाहरण
 * व्यक्तिगत अनुक्रमों में हेरफेर करना

use Bio::Tools::SeqStats; $seq_stats = Bio::Tools::SeqStats->new($seqobj);

$weight = $seq_stats->get_mol_wt; $monomer_ref = $seq_stats->count_monomers;

$codon_ref = $seq_stats->count_codons; for nucleic acid sequence
 * 1) for nucleic acid sequence

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

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

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


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

लाभ
बायोपर्ल प्रथम जैविक मॉड्यूल रिपॉजिटरी में से था जिसने इसकी प्रयोज्यता को विस्तृत किया। नम्य वैश्विक रिपॉजिटरी के साथ इसमें मॉड्यूल स्थापित करना अधिक सरल होता है। बायोपर्ल विभिन्न प्रकार की प्रक्रियाओं के लिए उत्तम परीक्षण मॉड्यूल का उपयोग करता है।

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

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