बायोपाइथन

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

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

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

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

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

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

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

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

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

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

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

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

फाइलोजेनी

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

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

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

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

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

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

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

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

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

बाहरी संबंध

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