बायोजावा

From Vigyanwiki

बायोजावा ओपन-सोर्स सॉफ्टवेयर योजना है जो जैविक आंकड़ों को संसाधित करने के लिए जावा उपकरण प्रदान करने के लिए समर्पित है।[1][2][3] बायोजावा अनुक्रमों, प्रोटीन संरचनाओं, फ़ाइल पार्सर्स, कॉमन ऑब्जेक्ट रिक्वेस्ट ब्रोकर आर्किटेक्चर (कोरबा) इंटरऑपरेबिलिटी,वितरित एनोटेशन प्रणाली (डीएएस), AceDB तक पहुंच गतिशील प्रोग्रामिंग और सरल सांख्यिकीय में परिवर्तन करने के लिए प्रोग्रामिंग भाषा जावा में लिखे गए लाइब्रेरी कार्यों का समूह है। बायोजावा डीएनए और प्रोटीन अनुक्रम से लेकर 3डी प्रोटीन संरचनाओं के स्तर तक आंकड़ों की विशाल श्रृंखला का समर्थन करता है। बायोजावा लाइब्रेरी कई प्रतिदिन और सांसारिक जैव सूचना विज्ञान कार्यों को स्वचालित करने के लिए उपयोगी हैं जैसे कि प्रोटीन डेटा बैंक (पीडीबी) फ़ाइल को पार्स करना, जेएमओएल के साथ विचार करना और कई अन्य कार्य हैं।[4] यह एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस (एपीआई) मानक डेटा प्रारूपों के साथ कार्य करने की सुविधा के लिए विभिन्न फ़ाइल पार्सर, डेटा प्रारूप और एल्गोरिदम प्रदान करता है और तीव्रता से एप्लिकेशन विकास और विश्लेषण को सक्षम बनाता है।

बायोजावा की अतिरिक्त परियोजनाओं में आरसीएसबी-सीक्वेंसव्यूअर, बायोजावा-एचटीटीपी, बायोजावा-स्पार्क और आरसीएसबी-व्यूअर्स सम्मिलित हैं।

सुविधाएँ

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

  • स्थानीय और दूरस्थ डेटाबेस से न्यूक्लियोटाइड अनुक्रम और पेप्टाइड अनुक्रम डेटा तक पहुंचते हैं।
  • डेटाबेस/फ़ाइल रिकॉर्ड के स्वरूपों की परिवर्तनकारी सूची होती है।
  • प्रोटीन संरचना विश्लेषण और परिवर्तन होता है।
  • व्यक्तिगत अनुक्रमों में परिवर्तन करना होता है।
  • समान अनुक्रमों का शोध किया जाता है।
  • अनुक्रम संरेखण बनाना और उनमें परिवर्तन करना होता है।

इतिहास और प्रकाशन

जावा-आधारित जैव सूचना विज्ञान उपकरणों के विकास को सरल बनाने के लिए एपीआई बनाने के लिए थॉमस डाउन और मैथ्यू पोकॉक के कार्य से बायोजावा परियोजना विकसित हुई थी। बायोजावा सक्रिय ओपन सोर्स योजना है जिसे 12 से अधिक वर्षों में और 60 से अधिक डेवलपर्स द्वारा विकसित किया गया है। बायोजावा कोड द्विगुणन को अल्प करने के लिए डिज़ाइन की गई कई बायो* परियोजनाओं में से है।[5] ऐसी परियोजनाओं के उदाहरण जो बायोजावा के अतिरिक्त बायो* के अंतर्गत आते हैं, वे बायोपाइथॉन,[6] बायोपर्ल,[7] बायोरूबी,[8] ईएमबीओएसएसएस,[9] आदि हैं।

अक्टूबर 2012 में, बायोजावा पर प्रथम पेपर प्रकाशित हुआ था।[10] इस पेपर में बायोजावा के मॉड्यूल, कार्यप्रणाली और उद्देश्य का विवरण दिया गया है।

नवंबर 2018 तक गूगल स्कॉलर ने 130 से अधिक उद्धरण गिनाए हैं।[11]

बायोजावा पर सबसे वर्तमान पेपर फरवरी 2017 में लिखा गया था।[12] इस पेपर में बायोजावा-मॉडफाइंडर नाम के नए उपकरण का विवरण दिया गया है। इस उपकरण का उपयोग प्रोटीन डेटा बैंक (प्रोटीन डेटा बैंक) में प्रोटीन संशोधनों की आइडेंटिटी और उसके पश्चात 3डी में मैपिंग के लिए किया जा सकता है। पैकेज को आरसीएसबी पीडीबी वेब एप्लिकेशन के साथ भी एकीकृत किया गया था और अनुक्रम आरेख और संरचना प्रदर्शन में प्रोटीन संशोधन एनोटेशन जोड़ा गया था। बायोजावा-मॉडफाइंडर का उपयोग करके प्रोटीन संशोधनों के साथ 30,000 से अधिक संरचनाओं की पहचान की गई और इसे आरसीएसबी पीडीबी वेबसाइट पर पाया जा सकता है।

वर्ष 2008 में बायोजावा का प्रथम एप्लिकेशन नोट प्रकाशित हुआ था।[2] इसे अप्रैल 2013 में इसके मूल सीवीएस रिपॉजिटरी से GitHub में स्थानांतरित कर दिया गया था।[13] योजना को भिन्न रिपॉजिटरी, बायोजावा-लिगेसी में ले जाया गया है, और अभी भी छोटे परिवर्तन और बग फिक्स के लिए बनाए रखा गया है।[14]

संस्करण 3 दिसंबर 2010 में प्रस्तावित किया गया था। यह पिछले संस्करणों के लिए प्रमुख अद्यतन था। इस प्रस्ताव का उद्देश्य बायोजावा को पुनः लिखना था जिससे इसे छोटे, पुन: प्रयोज्य घटकों में मॉड्यूलर किया जा सके। इससे डेवलपर्स को अधिक सरलता से योगदान करने और निर्भरता अल्प करने की अनुमति मिली। बायोजावा 3 में देखा गया नया दृष्टिकोण अपाचे कॉमन्स के पश्चात प्रस्तुत किया गया था।

संस्करण 4 जनवरी 2015 में प्रस्तावित किया गया था। यह संस्करण बायोजावा-कोर, बायोजावा-स्ट्रक्चर, बायोजावा-स्ट्रक्चर-गुई, बायोजावा-फिलो, साथ ही अन्य पैकेजों में कई नई सुविधाएँ और सुधार लेकर आया था। बायोजावा 4.2.0, मेवेन सेंट्रल से मेवेन का उपयोग करके उपलब्ध होने वाला प्रथम प्रस्ताव था।

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

मॉड्यूल

2014-2015 के समय, मूल कोड आधार के बड़े भाग को पुनः लिखा गया था। बायोजावा 3 संस्करण 1 श्रृंखला से स्पष्ट विचलन है। इसमें अब अपाचे मावेन नामक स्वचालन उपकरण का उपयोग करके निर्मित कई स्वतंत्र मॉड्यूल सम्मिलित हैं।[15] ये मॉड्यूल प्रोटीन संरचना तुलना, युग्मित और एकाधिक अनुक्रम संरेखण, डीएनए और प्रोटीन अनुक्रमों के साथ कार्य करने, अमीनो अम्ल गुणों का विश्लेषण, प्रोटीन संशोधनों को ज्ञात करने, प्रोटीन में अव्यवस्थित क्षेत्रों की भविष्यवाणी करने और सामान्य फ़ाइल के पार्सर के लिए अत्याधुनिक उपकरण जैविक रूप से सार्थक डेटा प्रारूप का उपयोग करके प्रारूप प्रदान करते हैं। मूल कोड को विभिन्न बायोजावा लीगेसी योजना में ले जाया गया है, जो अभी भी बैकवर्ड संगतता के लिए उपलब्ध है।[16]

बायोजावा 5 ने दो मॉड्यूल, बायोजावा-संरेखण और बायोजावा-संरचना में नई सुविधाएँ प्रस्तुत की थी।

निम्नलिखित अनुभाग कई नए मॉड्यूल का वर्णन करते हैं और उन पर प्रकाश डालते हैं, जो बायोजावा के नवीनतम संस्करण में सम्मिलित हैं।

BioJava 5 Module Layout.png

कोर मॉड्यूल

यह मॉड्यूल एमिनो अम्ल या न्यूक्लियोटाइड अनुक्रमों को मॉडल करने के लिए जावा कक्षाएं प्रदान करता है। कक्षाओं को इस प्रकार डिज़ाइन किया गया था कि नाम परिचित हों और जीवविज्ञानियों के लिए समझ में आएं और कंप्यूटर वैज्ञानिकों और प्रोग्रामरों के लिए जीन अनुक्रम से प्रोटीन अनुक्रम तक जाने के चरणों का ठोस प्रतिनिधित्व भी प्रदान करें।

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

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

प्रोटीन संरचना मॉड्यूल

यह विंडो दो प्रोटीनों को आईडी 4hhb.A और 4hhb.B के साथ एक दूसरे के विपरीत संरेखित दिखाती है। कोड बाईं ओर दिया गया है। इसे बायोजावा लाइब्रेरीज़ का उपयोग करके प्रस्तुत किया जाता है जो विपरीत में जेएमओएल व्यूअर का उपयोग करता है।[4] FATCAT[17] संरेखण करने के लिए यहां कठोर एल्गोरिदम का उपयोग किया जाता है।

प्रोटीन संरचना मॉड्यूल 3डी जैव-आणविक संरचनाओं का प्रतिनिधित्व और उसमें परिवर्तन करने के लिए उपकरण प्रदान करते हैं। वे प्रोटीन संरचना तुलना पर ध्यान केंद्रित करते हैं।

निम्नलिखित एल्गोरिदम को बायोजावा में प्रारम्भ और सम्मिलित किया गया है।

  • कोमल और कठोर शरीर संरेखण के लिए एफएटीसीएटी (FATCAT) एल्गोरिदम होता है।[17]
  • मानक कॉम्बिनेटोरियल एक्सटेंशन (सीई) एल्गोरिदम है।[18]
  • सीई का नया संस्करण जो प्रोटीन में गोलाकार क्रमपरिवर्तन को ज्ञात कर सकता है।[19]

इन एल्गोरिदम का उपयोग आरसीएसबी प्रोटीन डेटा बैंक (पीडीबी) प्रोटीन तुलना उपकरण के साथ-साथ साप्ताहिक आधार पर पीडीबी में सभी प्रोटीनों की व्यवस्थित तुलना प्रदान करने के लिए किया जाता है।[20][21]

पीडीबी[22] और एमएमसीआईएफ[23] फ़ाइल स्वरूपों के लिए पार्सर संरचना डेटा को पुन: प्रयोज्य डेटा प्रारूप में लोड करने की अनुमति देते हैं। इस सुविधा का उपयोग एसआईएफटी योजना द्वारा यूनीप्रोट अनुक्रमों और पीडीबी संरचनाओं के मध्य मैप करने के लिए किया जाता है।[24] डेटा को मैन्युअल रूप से डाउनलोड करने की आवश्यकता के बिना आरसीएसबी पीडीबी से सूचना गतिशील रूप से प्राप्त की जा सकती है। विज़ुअलाइज़ेशन के लिए, 3डी व्यूअर जमोल के लिए इंटरफ़ेस प्रदान किया गया है।[4]

जीनोम और अनुक्रमण मॉड्यूल

यह मॉड्यूल कोर मॉड्यूल से जीन अनुक्रम वस्तुओं के निर्माण पर केंद्रित है। इसे ओपन सोर्स जीन भविष्यवाणी अनुप्रयोगों द्वारा उत्पन्न निम्नलिखित लोकप्रिय मानक फ़ाइल स्वरूपों के पार्सिंग का समर्थन करके अनुभूत किया गया है:

  • जीनमार्क द्वारा उत्पन्न जीटीएफ फ़ाइलें हैं।[25]
  • जीनआईडी द्वारा उत्पन्न जीएफएफ2 फ़ाइलें हैं।[26]
  • ग्लिमर द्वारा उत्पन्न जीएफएफ3 फ़ाइलें हैं।[27]

फिर जीन अनुक्रम ऑब्जेक्ट को जीएफएफ3 प्रारूप के रूप में लिखा जाता है और जीएमओडी में आयात किया जाता है।[28] ये फ़ाइल प्रारूप उचित प्रकार से परिभाषित हैं किन्तु फ़ाइल में जो लिखा जाता है वह अधिक कोमल है।

अगली पीढ़ी के सीक्वेंसर से फास्टक्यू फ़ाइल प्रारूप के कई सामान्य वेरिएंट के लिए इनपुट-आउटपुट समर्थन प्रदान करने के लिए,[29] विभिन्न अनुक्रमण मॉड्यूल प्रदान किया गया है। इस मॉड्यूल का उपयोग कैसे करें और इसके प्रतिरूप के लिए कृपया इस लिंक पर जाएं।

संरेखण मॉड्यूल

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

एकाधिक अनुक्रम संरेखण के लिए, ऊपर वर्णन की गई किसी भी विधि का उपयोग क्रमिक रूप से एकाधिक अनुक्रम संरेखण करने के लिए किया जा सकता है।

मॉडफाइंडर मॉड्यूल

मॉडफाइंडर मॉड्यूल और प्रोटीन संरचना मॉड्यूल का उपयोग करने वाला उदाहरण एप्लिकेशन है। प्रोटीन संशोधनों को फेर्रेडॉक्सिन (पीडीबी आईडी 1जीएओ) के अनुक्रम और संरचना पर मैप किया जाता है।[33] प्रोटीन अनुक्रम (3Fe-4S (F3S): नारंगी त्रिकोण/रेखाएं; 4Fe-4S (SF4): बैंगनी हीरे/रेखाएं) पर दो संभावित लौह-सल्फर क्लस्टर दिखाए गए हैं। 4Fe-4S क्लस्टर अनुक्रम डिस्प्ले के ऊपर जमोल संरचना विंडो में प्रदर्शित होता है।

मॉडफाइंडर मॉड्यूल प्रोटीन 3डी संरचनाओं में प्रोटीन संशोधनों को पहचानने और वर्गीकृत करने के लिए नयी विधि प्रदान करता है। फॉस्फोराइलेशन, ग्लाइकोसिलेशन, डाइसल्फ़ाइड बॉन्ड मेटल केलेशन इत्यादि जैसे 400 से अधिक विभिन्न प्रकार के प्रोटीन संशोधनों को पीएसआई-एमओडी, आरईएसआईडी और आरसीएसबी पीडीबी में एनोटेशन के आधार पर एकत्र और क्यूरेट किया गया था।[34][35][36] मॉड्यूल प्रोटीन संरचनाओं के अंदर पूर्व-, सह- और पोस्ट-ट्रांसलेशनल प्रोटीन संशोधनों को ज्ञात करने के लिए एपीआई भी प्रदान करता है। यह मॉड्यूल फॉस्फोराइलेशन की पहचान भी कर सकता है और संरचना से सभी प्री-लोडेड संशोधनों को प्रिंट कर सकता है।

अमीनो अम्ल गुण मॉड्यूल

यह मॉड्यूल प्रोटीन के त्रुटिहीन भौतिक-रासायनिक गुण प्रदान करने का प्रयास करता है। इस मॉड्यूल का उपयोग करके जिन गुणों की गणना की जा सकती है वे इस प्रकार हैं:

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

प्रोटीन विकार मॉड्यूल

इस मॉड्यूल का लक्ष्य उपयोगकर्ताओं को प्रोटीन अणुओं में विकारों को ज्ञात करने की विधि प्रदान करता है। बायोजावा में RONN प्रेडिक्टर का जावा कार्यान्वयन सम्मिलित है। बायोजावा 3.0.5 प्राचीन सी कार्यान्वयन की तुलना में आधुनिक क्वाड-कोर मशीन पर 3.2 गुना तक प्रदर्शन में सुधार करने के लिए मल्टीथ्रेडिंग के लिए जावा के समर्थन का उपयोग करता है।[37]

इस मॉड्यूल का उपयोग करने के दो प्रकार हैं:

  • लाइब्रेरी फ़ंक्शन कॉल का उपयोग करता है।
  • कमांड लाइन का उपयोग करता है।

इस मॉड्यूल की कुछ विशेषताओं में सम्मिलित हैं:

  • क्रम में प्रत्येक अवशेष के लिए विकार की संभावना की गणना करता है।
  • एफएएसटीए इनपुट फ़ाइल से सभी प्रोटीनों के अनुक्रम में प्रत्येक अवशेष के लिए विकार की संभावना की गणना करता है।
  • एकल प्रोटीन अनुक्रम के लिए या एफएएसटीए इनपुट फ़ाइल से सभी प्रोटीनों के लिए प्रोटीन के अव्यवस्थित क्षेत्र प्राप्त करता है।

वेब सेवा एक्सेस मॉड्यूल

जैव सूचना विज्ञान में वर्तमान रुझानों के अनुसार, वेब आधारित उपकरण लोकप्रियता प्राप्त कर रहे हैं। वेब सेवा मॉड्यूल आरईएसटी प्रोटोकॉल का उपयोग करके जैव सूचना विज्ञान सेवाओं तक पहुंचने की अनुमति देता है। वर्तमान में, दो सेवाएँ कार्यान्वित हैं: ब्लास्ट यूआरएलपीआई (जिसे पूर्व में क्यूबब्लास्ट के नाम से जाना जाता था) और एचएमएमईआर वेब सेवा के माध्यम से एनसीबीआई ब्लास्ट हैं।[38]

अन्य विकल्पों के साथ तुलना

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

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

सामान्यतः, छोटे प्रोग्रामों (<500 लाइनें) के लिए जिनका उपयोग केवल व्यक्ति या छोटे समूह द्वारा किया जाएगा, पर्ल और बायोपर्ल को हराना कठिन होता है। ये बाधाएँ संभवतः 90 प्रतिशत व्यक्तिगत जैव सूचना विज्ञान प्रोग्रामिंग की आवश्यकताओं को पूर्ण करती हैं।

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

उन लोगों के लिए जो जैव सूचना विज्ञान में करियर की ओर झुक रहे हैं और जो केवल भाषा सीखना चाहते हैं, जावा में व्यापक सामान्य प्रोग्रामिंग समर्थन है, बायोजावा के साथ बायो डोमेन में अधिक उत्तम समर्थन है, और अब यह व्यवसाय वास्तविक भाषा है (नया कोबोल, उत्तम या निकृष्ट के लिए)।

इन बायो परियोजनाओं के अतिरिक्त स्ट्रैप नामक परियोजना है जो जावा का उपयोग करती है और समान लक्ष्य रखती है। बायोजावा के समान स्ट्रैप-टूलबॉक्स भी बायोइनफॉरमैटिक्स प्रोग्राम और स्क्रिप्ट के डिजाइन के लिए जावा-टूलकिट है। बायोजावा और स्ट्रैप के मध्य समानताएं और अंतर इस प्रकार हैं:

समानताएँ

  • दोनों प्रोटीन अनुक्रमों के लिए विधियों का व्यापक संग्रह प्रदान करते हैं।
  • दोनों का उपयोग जावा प्रोग्रामर द्वारा जैव सूचना विज्ञान एल्गोरिदम को कोड करने के लिए किया जाता है।
  • जावा इंटरफेस का उपयोग करके दोनों भिन्न-भिन्न कार्यान्वयन और परिभाषाएँ प्रदान करते हैं।
  • दोनों ओपन सोर्स प्रोजेक्ट हैं।
  • दोनों कई अनुक्रम फ़ाइल स्वरूपों को पढ़ और लिख सकते हैं।

अंतर

  • बायोजावा न्यूक्लियोटाइड और पेप्टाइड अनुक्रमों पर प्रारम्भ होता है और इसे संपूर्ण जीनोम के लिए प्रारम्भ किया जा सकता है। स्ट्रैप पूर्ण गुणसूत्र जितने लंबे समय तक एकल अनुक्रमों का सामना नहीं कर सकता है। इसके अतिरिक्त स्ट्रैप एकल प्रोटीन के आकार के पेप्टाइड अनुक्रमों और 3डी- संरचनाओं में परिवर्तन करता है। फिर भी, यह मेमोरी में अधिक संख्या में अनुक्रमों और संरचनाओं को रख सकता है। स्ट्रैप को प्रोटीन अनुक्रमों के लिए डिज़ाइन किया गया है, किन्तु यह कोडिंग न्यूक्लियोटाइड फ़ाइलों को पढ़ सकता है, जिन्हें अंत में पेप्टाइड अनुक्रमों में अनुवादित किया जाता है।
  • स्ट्रैप अधिक तीव्र है क्योंकि ग्राफिकल यूजर इंटरफ़ेस अत्यधिक प्रतिक्रियाशील होना चाहिए। बायोजावा का उपयोग वहां किया जाता है जहां गति कम महत्वपूर्ण होती है।
  • बायोजावा को प्रकार की सुरक्षा, ऑन्टोलॉजी और ऑब्जेक्ट डिज़ाइन की स्थिति में उचित प्रकार से डिज़ाइन किया गया है। बायोजावा अनुक्रम, एनोटेशन और अनुक्रम स्थिति के लिए ऑब्जेक्ट का उपयोग करता है। यहां तक ​​कि एकल अमीनो अम्ल या न्यूक्लियोटाइड भी वस्तु संदर्भ हैं। गति बढ़ाने के लिए, स्ट्रैप बार-बार ऑब्जेक्ट इंस्टेंटेशन और गैर-अंतिम ऑब्जेक्ट-विधियों के आह्वान से बचता है।
    • बायोजावा में पेप्टाइड अनुक्रम और न्यूक्लियोटाइड अनुक्रम प्रतीकों की सूची हैं। प्रतीकों को पुनरावर्तक के साथ के पश्चात पुनर्प्राप्त किया जा सकता है या उप-अनुक्रम प्राप्त किए जा सकते हैं। लाभ यह है कि संपूर्ण अनुक्रम आवश्यक रूप से मेमोरी में नहीं रहता है और प्रोग्राम प्रोग्रामिंग त्रुटियों के प्रति कम संवेदनशील होते हैं। प्रतीक वस्तुएं किसी वर्णमाला के अपरिवर्तनीय तत्व हैं। चूँकि स्ट्रैप में अनुक्रमों के लिए सरल बाइट सरणियों का उपयोग किया जाता है और निर्देशांक के लिए फ़्लोट सरणियों का उपयोग किया जाता है। गति के अतिरिक्त कम मेमोरी व्यय मूलभूत डेटा प्रकारों का महत्वपूर्ण लाभ है। स्ट्रैप में कक्षाएं आंतरिक डेटा को उजागर करती हैं। इसलिए, प्रोग्रामर सेटर विधियों का उपयोग करने के अतिरिक्त सीधे बाइट सरणियों में परिवर्तन करने जैसी प्रोग्रामिंग त्रुटियां कर सकते हैं। और हानि यह है कि स्ट्रैप में कोई परीक्षण नहीं किया जाता है कि अनुक्रम में वर्ण अंतर्निहित वर्णमाला के संबंध में मान्य हैं या नहीं हैं।
    • बायोजावा अनुक्रम में स्थिति स्थान वर्ग द्वारा अनुभूत की जाती है। असंबद्ध स्थान ऑब्जेक्ट कई सन्निहित रेंजलोकेशन ऑब्जेक्ट या प्वाइंटलोकेशन ऑब्जेक्ट से बने होते हैं। चूँकि, स्ट्रैपप्रोटीन वर्ग के लिए, एकल अवशेष स्थितियों को 0 और काउंटरेसिड्यूज़()-1 के मध्य पूर्णांक संख्याओं द्वारा दर्शाया जाता है। बूलियन सरणियों द्वारा अनेक स्थान दिए गए हैं। किसी दिए गए पॉइंटर में सत्य का अर्थ चयनित है जबकि गलत का अर्थ चयनित नहीं है।
  • जब विधियों को अमान्य पैरामीटर के साथ प्रारम्भ किया जाता है तो बायोजावा अपवाद फेंकता है। स्ट्रैप थ्रोएबल ऑब्जेक्ट्स के समय लेने वाली रचना से बचाता है। इसके अतिरिक्त, विधियों में त्रुटियां रिटर्न मान नेन (NaN), -1 या शून्य द्वारा प्रदर्शित की जाती हैं। प्रोग्राम डिज़ाइन के दृष्टिकोण से थ्रोएबल ऑब्जेक्ट उत्तम होते हैं।
  • बायोजावा में अनुक्रम वस्तु या तो पेप्टाइड अनुक्रम या न्यूक्लियोटाइड अनुक्रम है। यदि कोडिंग न्यूक्लियोटाइड अनुक्रम को पढ़ा गया और प्रोटीन में अनुवादित किया गया तो स्ट्रैप प्रोटीन दोनों को ही समय में पकड़ सकता है। न्यूक्लियोटाइड अनुक्रम और पेप्टाइड अनुक्रम दोनों ही स्ट्रैपप्रोटीन ऑब्जेक्ट में समाहित हैं। कोडिंग या गैर-कोडिंग क्षेत्रों को परिवर्तित किया जा सकता है और पेप्टाइड अनुक्रम तदनुसार परिवर्तित हो जाता है।

बायोजावा का उपयोग करने वाली परियोजनाएं

निम्नलिखित परियोजनाएँ बायोजावा का उपयोग करती हैं।

  • मेटाबोलिक पाथवे बिल्डर: जीन, प्रोटीन, प्रतिक्रियाओं और मेटाबोलिक मार्गों के मध्य कनेक्शन के शोध के लिए समर्पित सॉफ्टवेयर सूट होता है।
  • DengueInfo Archived 2006-12-08 at the Wayback Machine: डेंगू जीनोम सूचना पोर्टल है, जो मिडलवेयर में बायोजावा का उपयोग करता है और बायोएसक्यूएल डेटाबेस से बात करता है।
  • डैज़ल : बायोजावा आधारित डीएएस सर्वर होता है।
  • बायोसेंस: इन्फोरसेंस सूट के लिए प्लग-इन, आईडीबीएस द्वारा एनालिटिक्स सॉफ्टवेयर प्लेटफॉर्म जो बायोजावा को एकजुट करता है।
  • बायोक्लिप्स: अणुओं, अनुक्रमों, प्रोटीन, स्पेक्ट्रा, आदि के लिए शक्तिशाली संपादन और दृश्य क्षमताओं के साथ कीमो- और जैव सूचना विज्ञान के लिए स्वतंत्र, ओपन सोर्स, कार्यक्षेत्र होता है।
  • संकेत: प्रोटीन सेट की तुलना और मैपिंग के लिए मुफ़्त, ओपन सोर्स प्रारूप और एप्लिकेशन है। अधिकांश इनपुट डेटा प्रारूपों को संभालने के लिए बायोजावा का उपयोग करता है।
  • साइटोस्केप: आणविक संपर्क नेटवर्क की कल्पना करने के लिए ओपन सोर्स जैव सूचना विज्ञान सॉफ्टवेयर मंच है।
  • बायोवेका: ओपन सोर्स जैविक डेटा खनन अनुप्रयोग है।
  • जीनियस: आणविक जीव विज्ञान टूलकिट होता है।
  • माससीव: मास स्पेक प्रोटिओमिक्स डेटा का विश्लेषण करने के लिए ओपन सोर्स एप्लिकेशन का उपयोग करता है।
  • स्ट्रैप: एकाधिक अनुक्रम संरेखण और अनुक्रम-आधारित संरचना संरेखण के लिए उपकरण का उपयोग करता है।
  • जेस्टैक्स: सांख्यिकीय विश्लेषण और जैविक अनुक्रमों के वर्गीकरण के लिए जावा प्रारूप का उपयोग करता है।
  • जेएलएसटीएम: प्रोटीन वर्गीकरण के लिए दीर्घकालिक मेमोरी होती है।
  • लाजोला: हजारों संरचनाओं के तीव्रता से संरेखण के लिए पॉइंटर संरचना का उपयोग करके आरएनए और प्रोटीन के लिए ओपन सोर्स संरचनात्मक संरेखण उपकरण; इसमें उपयोग में सरल कमांड लाइन इंटरफ़ेस सम्मिलित है।
  • जेनबीन्स: जैव सूचना विज्ञान के लिए समृद्ध ग्राहक मंच जो मुख्य रूप से आणविक जीव विज्ञान और अनुक्रम विश्लेषण पर केंद्रित है।
  • जेन्सेम्बल: एन्सेम्बल डेटा प्रणाली के लिए संस्करण-जागरूक जावा एपीआई है।[39]
  • मुसी : अधिक बड़े पेप्टाइड या न्यूक्लिक अम्ल डेटा सेट से कई विशिष्टता की पहचान करने के लिए एकीकृत प्रणाली है।[40]
  • बायोशेल: संरचनात्मक जैव सूचना विज्ञान के लिए उपयोगिता लाइब्रेरी है।[41]

यह भी देखें

जैव सूचना विज्ञान फाउंडेशन विवृत।

संदर्भ

  1. Prlić A, Yates A, Bliven SE, et al. (October 2012). "BioJava: an open-source framework for bioinformatics in 2012". Bioinformatics. 28 (20): 2693–5. doi:10.1093/bioinformatics/bts494. PMC 3467744. PMID 22877863.
  2. 2.0 2.1 Holland RC, Down TA, Pocock M, Prlić A, Huen D, James K, et al. (2008). "BioJava: an open-source framework for bioinformatics". Bioinformatics. 24 (18): 2096–7. doi:10.1093/bioinformatics/btn397. PMC 2530884. PMID 18689808.
  3. VS Matha and P Kangueane, 2009, Bioinformatics: a concept-based introduction, 2009. p26
  4. 4.0 4.1 4.2 Hanson, R.M. (2010) Jmol a paradigm shift in crystallographic visualization.
  5. 5.0 5.1 Mangalam H (2002). "बायो* टूलकिट--एक संक्षिप्त अवलोकन". Briefings in Bioinformatics. 3 (3): 296–302. doi:10.1093/bib/3.3.296. PMID 12230038.
  6. Cock PJ, Antao T, Chang JT, et al. (June 2009). "Biopython: freely available Python tools for computational molecular biology and bioinformatics". Bioinformatics. 25 (11): 1422–3. doi:10.1093/bioinformatics/btp163. PMC 2682512. PMID 19304878.
  7. Stajich JE, Block D, Boulez K, et al. (October 2002). "The Bioperl toolkit: Perl modules for the life sciences". Genome Res. 12 (10): 1611–8. doi:10.1101/gr.361602. PMC 187536. PMID 12368254.
  8. Goto N, Prins P, Nakao M, Bonnal R, Aerts J, Katayama T (October 2010). "BioRuby: bioinformatics software for the Ruby programming language". Bioinformatics. 26 (20): 2617–9. doi:10.1093/bioinformatics/btq475. PMC 2951089. PMID 20739307.
  9. Rice P, Longden I, Bleasby A (June 2000). "EMBOSS: the European Molecular Biology Open Software Suite". Trends Genet. 16 (6): 276–7. doi:10.1016/S0168-9525(00)02024-2. PMID 10827456.
  10. Prlić A, Yates A, Bliven SE, et al. (October 2012). "BioJava: an open-source framework for bioinformatics in 2012". Bioinformatics. 28 (20): 2693–5. doi:10.1093/bioinformatics/bts494. PMC 3467744. PMID 22877863.
  11. "गूगल ज्ञानी". scholar.google.com. Retrieved 2018-11-22.
  12. Gao, Jianjiong; Prlić, Andreas; Bi, Chunxiao; Bluhm, Wolfgang F.; Dimitropoulos, Dimitris; Xu, Dong; Bourne, Philip E.; Rose, Peter W. (2017-02-17). "BioJava-ModFinder: identification of protein modifications in 3D structures from the Protein Data Bank". Bioinformatics (in English). 33 (13): 2047–2049. doi:10.1093/bioinformatics/btx101. ISSN 1367-4803. PMC 5870676. PMID 28334105.
  13. "इतिहास". Retrieved 30 Jan 2015.
  14. BioJava-legacy Archived 2013-01-09 at the Wayback Machine
  15. मावेन, Apache. "मावेन". Apache.
  16. BioJava legacy project Archived 2013-01-09 at the Wayback Machine
  17. 17.0 17.1 Ye Y, Godzik A (October 2003). "संरेखित खंड जोड़ों को मोड़कर श्रृंखलाबद्ध करके लचीली संरचना संरेखण". Bioinformatics. 19 (Suppl 2): ii246–55. doi:10.1093/bioinformatics/btg1086. PMID 14534198.
  18. Shindyalov IN, Bourne PE (September 1998). "इष्टतम पथ के वृद्धिशील संयोजन विस्तार (सीई) द्वारा प्रोटीन संरचना संरेखण". Protein Eng. 11 (9): 739–47. doi:10.1093/protein/11.9.739. PMID 9796821.
  19. Bliven S, Prlić A (2012). "प्रोटीन में वृत्ताकार क्रमपरिवर्तन". PLOS Comput. Biol. 8 (3): e1002445. Bibcode:2012PLSCB...8E2445B. doi:10.1371/journal.pcbi.1002445. PMC 3320104. PMID 22496628.
  20. Rose PW, Beran B, Bi C, et al. (January 2011). "The RCSB Protein Data Bank: redesigned web site and web services". Nucleic Acids Res. 39 (Database issue): D392–401. doi:10.1093/nar/gkq1021. PMC 3013649. PMID 21036868.
  21. Prlić A, Bliven S, Rose PW, et al. (December 2010). "आरसीएसबी पीडीबी वेबसाइट पर पूर्व-गणना की गई प्रोटीन संरचना संरेखण". Bioinformatics. 26 (23): 2983–5. doi:10.1093/bioinformatics/btq572. PMC 3003546. PMID 20937596.
  22. Bernstein FC, Koetzle TF, Williams GJ, et al. (May 1977). "The Protein Data Bank: a computer-based archival file for macromolecular structures". J. Mol. Biol. 112 (3): 535–42. doi:10.1016/s0022-2836(77)80200-3. PMID 875032.
  23. Fitzgerald, P.M.D. et al. (2006) Macromolecular dictionary (mmCIF). In Hall, S.R.
  24. Velankar S, McNeil P, Mittard-Runte V, et al. (January 2005). "E-MSD: an integrated data resource for bioinformatics". Nucleic Acids Res. 33 (Database issue): D262–5. doi:10.1093/nar/gki058. PMC 540012. PMID 15608192.
  25. Besemer J, Borodovsky M (July 2005). "GeneMark: web software for gene finding in prokaryotes, eukaryotes and viruses". Nucleic Acids Res. 33 (Web Server issue): W451–4. doi:10.1093/nar/gki487. PMC 1160247. PMID 15980510.
  26. Blanco E, Abril JF (2009). "Computational gene annotation in new genome assemblies using GeneID". डीएनए अनुक्रम विश्लेषण के लिए जैव सूचना विज्ञान. Methods in Molecular Biology. Vol. 537. pp. 243–61. doi:10.1007/978-1-59745-251-9_12. ISBN 978-1-58829-910-9. PMID 19378148.
  27. Kelley DR, Liu B, Delcher AL, Pop M, Salzberg SL (January 2012). "वर्गीकरण और क्लस्टरिंग द्वारा संवर्धित मेटागेनोमिक अनुक्रमों के लिए ग्लिमर के साथ जीन भविष्यवाणी". Nucleic Acids Res. 40 (1): e9. doi:10.1093/nar/gkr1067. PMC 3245904. PMID 22102569.
  28. Stein LD, Mungall C, Shu S, et al. (October 2002). "The generic genome browser: a building block for a model organism system database". Genome Res. 12 (10): 1599–610. doi:10.1101/gr.403602. PMC 187535. PMID 12368253.
  29. Cock PJ, Fields CJ, Goto N, Heuer ML, Rice PM (April 2010). "The Sanger FASTQ file format for sequences with quality scores, and the Solexa/Illumina FASTQ variants". Nucleic Acids Res. 38 (6): 1767–71. doi:10.1093/nar/gkp1137. PMC 2847217. PMID 20015970.
  30. Needleman SB, Wunsch CD (March 1970). "दो प्रोटीनों के अमीनो एसिड अनुक्रम में समानता की खोज के लिए लागू एक सामान्य विधि". J. Mol. Biol. 48 (3): 443–53. doi:10.1016/0022-2836(70)90057-4. PMID 5420325.
  31. Smith TF, Waterman MS (March 1981). "आम आणविक नतीजों की पहचान". J. Mol. Biol. 147 (1): 195–7. CiteSeerX 10.1.1.63.2897. doi:10.1016/0022-2836(81)90087-5. PMID 7265238.
  32. Guan X, Uberbacher EC (February 1996). "फ्रेमशिफ्ट त्रुटियों वाले डीएनए और प्रोटीन अनुक्रमों का संरेखण". Comput. Appl. Biosci. 12 (1): 31–40. doi:10.1093/bioinformatics/12.1.31. PMID 8670617.
  33. Chen K, Jung YS, Bonagura CA, et al. (February 2002). "Azotobacter vinelandii ferredoxin I: a sequence and structure comparison approach to alteration of [4Fe-4S]2+/+ reduction potential". J. Biol. Chem. 277 (7): 5603–10. doi:10.1074/jbc.M108916200. PMID 11704670.
  34. Montecchi-Palazzi L, Beavis R, Binz PA, et al. (August 2008). "प्रोटीन संशोधन डेटा के प्रतिनिधित्व के लिए PSI-MOD समुदाय मानक". Nat. Biotechnol. 26 (8): 864–6. doi:10.1038/nbt0808-864. PMID 18688235. S2CID 205270043.
  35. Garavelli JS (June 2004). "एक संसाधन और एनोटेशन उपकरण के रूप में प्रोटीन संशोधनों का RESID डेटाबेस". Proteomics. 4 (6): 1527–33. doi:10.1002/pmic.200300777. PMID 15174122. S2CID 25712150.
  36. Berman HM, Westbrook J, Feng Z, et al. (January 2000). "प्रोटीन डाटा बैंक". Nucleic Acids Res. 28 (1): 235–42. doi:10.1093/nar/28.1.235. PMC 102472. PMID 10592235.
  37. Yang ZR, Thomson R, McNeil P, Esnouf RM (August 2005). "RONN: the bio-basis function neural network technique applied to the detection of natively disordered regions in proteins". Bioinformatics. 21 (16): 3369–76. doi:10.1093/bioinformatics/bti534. PMID 15947016.
  38. Finn RD, Clements J, Eddy SR (July 2011). "HMMER web server: interactive sequence similarity searching". Nucleic Acids Res. 39 (Web Server issue): W29–37. doi:10.1093/nar/gkr367. PMC 3125773. PMID 21593126.
  39. Paterson T, Law A (November 2012). "JEnsembl: a version-aware Java API to Ensembl data systems". Bioinformatics. 28 (21): 2724–31. doi:10.1093/bioinformatics/bts525. PMC 3476335. PMID 22945789.
  40. Kim T, Tyndel MS, Huang H, et al. (March 2012). "MUSI: an integrated system for identifying multiple specificity from very large peptide or nucleic acid data sets". Nucleic Acids Res. 40 (6): e47. doi:10.1093/nar/gkr1294. PMC 3315295. PMID 22210894.
  41. Gront D, Kolinski A (February 2008). "संरचनात्मक जैव सूचना विज्ञान के लिए उपयोगिता पुस्तकालय". Bioinformatics. 24 (4): 584–5. doi:10.1093/bioinformatics/btm627. PMID 18227118.

बाहरी संबंध