बायोजावा

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

निम्नलिखित एल्गोरिदम को बायोजावा में लागू और शामिल किया गया है। इन एल्गोरिदम का उपयोग आरसीएसबी प्रोटीन डेटा बैंक (पीडीबी) प्रदान करने के लिए किया जाता है प्रोटीन तुलना उपकरण के साथ-साथ साप्ताहिक आधार पर पीडीबी में सभी प्रोटीनों की व्यवस्थित तुलना। पीडीबी के लिए पार्सर्स और एमएमसीआईएफ फ़ाइल स्वरूप संरचना डेटा को पुन: प्रयोज्य डेटा मॉडल में लोड करने की अनुमति देते हैं। इस सुविधा का उपयोग SIFTS प्रोजेक्ट द्वारा UniProt अनुक्रमों और PDB संरचनाओं के बीच मैप करने के लिए किया जाता है। डेटा को मैन्युअल रूप से डाउनलोड करने की आवश्यकता के बिना आरसीएसबी पीडीबी से जानकारी गतिशील रूप से प्राप्त की जा सकती है। विज़ुअलाइज़ेशन के लिए, 3D व्यूअर Jmol के लिए इंटरफ़ेस प्रदान किया गया है।
 * लचीले और कठोर शरीर संरेखण के लिए FATCAT एल्गोरिदम।
 * मानक कॉम्बिनेटोरियल एक्सटेंशन (सीई) एल्गोरिदम।
 * सीई का नया संस्करण जो प्रोटीन में गोलाकार क्रमपरिवर्तन का पता लगा सकता है।

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

यह मॉड्यूल कोर मॉड्यूल से जीन अनुक्रम वस्तुओं के निर्माण पर केंद्रित है। इसे ओपन सोर्स जीन भविष्यवाणी अनुप्रयोगों द्वारा उत्पन्न निम्नलिखित लोकप्रिय मानक फ़ाइल स्वरूपों के पार्सिंग का समर्थन करके महसूस किया गया है: फिर जीन अनुक्रम ऑब्जेक्ट को GFF3 प्रारूप के रूप में लिखा जाता है और GMOD में आयात किया जाता है। ये फ़ाइल प्रारूप अच्छी तरह से परिभाषित हैं लेकिन फ़ाइल में जो लिखा जाता है वह बहुत लचीला है।
 * GeneMark द्वारा उत्पन्न GTF फ़ाइलें
 * GeneID द्वारा उत्पन्न GFF2 फ़ाइलें
 * ग्लिमर द्वारा उत्पन्न GFF3 फ़ाइलें

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

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

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

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

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

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

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

इस मॉड्यूल का उपयोग करने के दो तरीके हैं:
 * लाइब्रेरी फ़ंक्शन कॉल का उपयोग करना
 * कमांड लाइन का उपयोग करना

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


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

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

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

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

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

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

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

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

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

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

बायोजावा का उपयोग करने वाली परियोजनाएं
निम्नलिखित परियोजनाएँ बायोजावा का उपयोग करती हैं।
 * मेटाबोलिक पाथवे बिल्डर: जीन, प्रोटीन, प्रतिक्रियाओं और मेटाबोलिक मार्गों के बीच कनेक्शन की खोज के लिए समर्पित सॉफ्टवेयर सूट
 * DengueInfo : डेंगू जीनोम सूचना पोर्टल जो मिडलवेयर में बायोजावा का उपयोग करता है और बायोएसक्यूएल डेटाबेस से बात करता है।
 * Dazzle: बायोजावा आधारित DAS सर्वर।
 * बायोसेंस: इन्फोरसेंस सूट के लिए प्लग-इन (कंप्यूटिंग)|प्लग-इन, आईडीबीएस द्वारा एनालिटिक्स सॉफ्टवेयर प्लेटफॉर्म जो बायोजावा को एकजुट करता है।
 * बायोक्लिप्स: अणुओं, अनुक्रमों, प्रोटीन, स्पेक्ट्रा, आदि के लिए शक्तिशाली संपादन और दृश्य क्षमताओं के साथ कीमो- और जैव सूचना विज्ञान के लिए स्वतंत्र, खुला स्रोत, कार्यक्षेत्र।
 * PROMPT: प्रोटीन सेट की तुलना और मैपिंग के लिए मुफ़्त, खुला स्रोत ढांचा और एप्लिकेशन। अधिकांश इनपुट डेटा प्रारूपों को संभालने के लिए बायोजावा का उपयोग करता है।
 * साइटोस्केप: आणविक संपर्क नेटवर्क की कल्पना करने के लिए खुला स्रोत जैव सूचना विज्ञान सॉफ्टवेयर मंच।
 * BioWeka: खुला स्रोत जैविक डेटा खनन अनुप्रयोग।
 * Geneious: आणविक जीव विज्ञान टूलकिट।
 * MassSieve: मास स्पेक प्रोटिओमिक्स डेटा का विश्लेषण करने के लिए खुला स्रोत एप्लिकेशन।
 * STRAP: एकाधिक अनुक्रम संरेखण और अनुक्रम-आधारित संरचना संरेखण के लिए उपकरण।
 * Jstacs: जैविक अनुक्रमों के सांख्यिकीय विश्लेषण और वर्गीकरण के लिए जावा ढांचा
 * jLSTM: प्रोटीन वर्गीकरण के लिए दीर्घकालिक अल्पकालिक मेमोरी
 * LaJolla: हजारों संरचनाओं के तेजी से संरेखण के लिए सूचकांक संरचना का उपयोग करके आरएनए और प्रोटीन के लिए खुला स्रोत संरचनात्मक संरेखण उपकरण; इसमें उपयोग में आसान कमांड लाइन इंटरफ़ेस शामिल है।
 * GenBeans: जैव सूचना विज्ञान के लिए समृद्ध ग्राहक मंच मुख्य रूप से आणविक जीव विज्ञान और अनुक्रम विश्लेषण पर केंद्रित है।
 * Jensembl: डेटा सिस्टम को असेंबल करने के लिए संस्करण-जागरूक जावा एपीआई।
 * MUSI: बहुत बड़े पेप्टाइड या न्यूक्लिक एसिड डेटा सेट से कई विशिष्टता की पहचान करने के लिए एकीकृत प्रणाली।
 * बायोशेल: संरचनात्मक जैव सूचना विज्ञान के लिए उपयोगिता पुस्तकालय

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