बायोपाइथन

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

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

संस्करण 1.77 के अनुसार, बायोपाइथॉन अब पायथन 2 का समर्थन नहीं करता है।

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

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

अनुक्रम
बायोपाइथॉन में मुख्य अवधारणा जैविक अनुक्रम है, और इसे इसके द्वारा दर्शाया गया है   कक्षा।  बायोपिथॉन   ऑब्जेक्ट कई मायनों में पायथन स्ट्रिंग के समान है: यह पायथन स्लाइस नोटेशन का समर्थन करता है, इसे अन्य अनुक्रमों के साथ जोड़ा जा सकता है और अपरिवर्तनीय है। इसके अलावा, इसमें अनुक्रम-विशिष्ट विधियाँ शामिल हैं और प्रयुक्त विशेष जैविक वर्णमाला को निर्दिष्ट किया गया है।

अनुक्रम एनोटेशन
ई> वर्ग नाम, विवरण और विशेषताओं जैसी जानकारी के साथ-साथ अनुक्रमों का वर्णन करता है  वस्तुएं. प्रत्येक  ऑब्जेक्ट सुविधा के प्रकार और उसके स्थान को निर्दिष्ट करता है। फ़ीचर प्रकार 'जीन', 'सीडीएस' (कोडिंग अनुक्रम), 'रिपीट_रीजन', 'मोबाइल_एलिमेंट' या अन्य हो सकते हैं, और अनुक्रम में सुविधाओं की स्थिति सटीक या अनुमानित हो सकती है।

इनपुट और आउटपुट

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

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

ऑनलाइन डेटाबेस तक पहुँचना

Bio.Entrez मॉड्यूल के माध्यम से, Biopython के उपयोगकर्ता एनसीबीआई डेटाबेस से जैविक डेटा डाउनलोड कर सकते हैं। अंदर आएं ़ सर्च इंजन द्वारा प्रदान किया गया प्रत्येक फ़ंक्शन इस मॉड्यूल में फ़ंक्शन के माध्यम से उपलब्ध है, जिसमें रिकॉर्ड खोजना और डाउनलोड करना शामिल है।

फाइलोजेनी

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

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

मैक्रोमोलेक्यूलर संरचना
Bio.PDB मॉड्यूल प्रोटीन डेटा बैंक (फ़ाइल प्रारूप) और क्रिस्टलोग्राफ़िक सूचना फ़ाइल फ़ाइलों से आणविक संरचनाओं को लोड कर सकता है, और 2003 में बायोपाइथॉन में जोड़ा गया था।    ई> ऑब्जेक्ट इस मॉड्यूल के केंद्र में है, और यह  पदानुक्रमित फैशन में मैक्रोमोलेक्यूलर संरचना का आयोजन करता है:   वस्तुओं में शामिल हैं   जिन वस्तुओं में शामिल हैं   जिन वस्तुओं में शामिल हैं   जिन वस्तुओं में शामिल हैं   वस्तुएं. अव्यवस्थित अवशेषों और परमाणुओं को अपनी-अपनी कक्षाएँ मिल जाती हैं,  और , जो उनकी अनिश्चित स्थिति का वर्णन करता है।

Bio.PDB का उपयोग करके, कोई व्यक्ति मैक्रोमोलेक्यूलर संरचना फ़ाइल के व्यक्तिगत घटकों के माध्यम से नेविगेट कर सकता है, जैसे कि प्रोटीन में प्रत्येक परमाणु की जांच करना। सामान्य विश्लेषण किए जा सकते हैं, जैसे दूरियां या कोण मापना, अवशेषों की तुलना करना और अवशेषों की गहराई की गणना करना।

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

यह मॉड्यूल fastsimcoal2 प्रोग्राम के साथ सहसंयोजक सिद्धांत का उपयोग करके जनसंख्या आनुवंशिक सिमुलेशन भी कर सकता है।

कमांड लाइन उपकरण के लिए रैपर

बायोपाइथन के कई मॉड्यूल में आमतौर पर उपयोग किए जाने वाले उपकरणों के लिए कमांड लाइन रैपर होते हैं, जिससे इन उपकरणों को बायोपाइथॉन के भीतर से उपयोग करने की अनुमति मिलती है। इन रैपरों में धमाका, क्लस्टल, PhyML, EMBOSS और SAMtools शामिल हैं। उपयोगकर्ता किसी अन्य कमांड लाइन उपकरण के लिए समर्थन जोड़ने के लिए जेनेरिक रैपर क्लास को उपवर्गित कर सकते हैं।

यह भी देखें
जैव सूचना विज्ञान फाउंडेशन खोलें खोलें
 * बायोपर्ल
 * बायोरूबी
 * बायोजेएस
 * बायोजावा

बाहरी संबंध

 * Biopython Tutorial and Cookbook (PDF)
 * Biopython source code on GitHub
 * Biopython source code on GitHub