बायोपाइथन: Difference between revisions
No edit summary |
No edit summary |
||
| Line 17: | Line 17: | ||
== इतिहास == | == इतिहास == | ||
बायोपाइथॉन का विकास 1999 में | बायोपाइथॉन का विकास 1999 में प्रारम्भ हुआ और इसे प्रथम बार जुलाई 2000 में प्रस्तावित किया गया था।<ref name="Chapman2004">{{Citation | first = Brad | last = Chapman |title=The Biopython Project: Philosophy, functionality and facts |url=http://www.biopython.org/DIST/docs/presentations/biopython_exelixis.pdf |date=11 March 2004 |accessdate=11 September 2014}}</ref> इसे समान समय सीमा के अंतर्गत और अन्य परियोजनाओं के समान लक्ष्यों के साथ विकसित किया गया था, जिसमें [[बायोपर्ल]], [[बायोरूबी]] और [[बायोजावा]] सहित उनकी संबंधित प्रोग्रामिंग भाषाओं में जैव सूचना विज्ञान क्षमताओं को युग्मित किया गया था। परियोजना के प्रारंभिक डेवलपर्स में जेफ चांग, एंड्रयू डेल्के और ब्रैड चैपमैन सम्मिलित थे, चूँकि अब तक 100 से अधिक लोगों ने योगदान दिया है।<ref name="Contributors">{{Citation |title=List of Biopython contributors |url=http://biopython.org/SRC/biopython/CONTRIB |accessdate=11 September 2014 |url-status=dead |archiveurl=https://archive.today/20140911121354/http://biopython.org/SRC/biopython/CONTRIB |archivedate=11 September 2014 }}</ref> 2007 में, समान पायथन (प्रोग्रामिंग भाषा) परियोजना, जिसका नाम पायकोजेंट था, स्थापित की गई थी।<ref>{{Cite journal | ||
| pmid = 17708774 | | pmid = 17708774 | ||
| pmc = 2375001 | | pmc = 2375001 | ||
| Line 70: | Line 70: | ||
| doi = 10.1186/gb-2007-8-8-r171 | | doi = 10.1186/gb-2007-8-8-r171 | ||
}}</ref> | }}</ref> | ||
बायोपाइथॉन के प्रारंभिक | बायोपाइथॉन के प्रारंभिक समय में जैविक अनुक्रम फ़ाइलों तक पहुंच, अनुक्रमण और प्रसंस्करण सम्मिलित था। चूँकि यह अभी भी प्रमुख फोकस है, पश्चात् के वर्षों में जोड़े गए मॉड्यूल ने जीवविज्ञान के अतिरिक्त क्षेत्रों को कवर करने के लिए इसकी कार्यक्षमता बढ़ा दी है (मुख्य विशेषताएं और उदाहरण देखें)। | ||
संस्करण 1.77 के अनुसार, बायोपाइथॉन अब पायथन 2 का समर्थन नहीं करता है।<ref name="Python27EoL">{{Citation | first = Chris | last = Daley |title=Biopython 1.77 released |url=https://www.open-bio.org/2020/05/25/biopython-1-77-released/ |accessdate=6 October 2021}}</ref> | संस्करण 1.77 के अनुसार, बायोपाइथॉन अब पायथन 2 का समर्थन नहीं करता है।<ref name="Python27EoL">{{Citation | first = Chris | last = Daley |title=Biopython 1.77 released |url=https://www.open-bio.org/2020/05/25/biopython-1-77-released/ |accessdate=6 October 2021}}</ref> | ||
| Line 82: | Line 82: | ||
=== अनुक्रम === | === अनुक्रम === | ||
बायोपाइथॉन में मुख्य अवधारणा जैविक अनुक्रम है, और इसे इसके द्वारा दर्शाया गया है <code>Seq</code> कक्षा।<ref name="Tutorial">{{Citation |last1=Chang |first1=Jeff |last2=Chapman |first2=Brad |last3=Friedberg |first3=Iddo |last4=Hamelryck |first4=Thomas |last5=de Hoon |first5=Michiel |last6=Cock |first6=Peter |last7=Antao |first7=Tiago |last8=Talevich |first8=Eric |last9=Wilczynski |first9=Bartek |title=Biopython Tutorial and Cookbook |url=http://biopython.org/DIST/docs/tutorial/Tutorial.html |date=29 May 2014 |accessdate=28 August 2014}}</ref> बायोपिथॉन <code>Seq</code> ऑब्जेक्ट कई मायनों में पायथन स्ट्रिंग के समान है: यह पायथन स्लाइस नोटेशन का समर्थन करता है, इसे अन्य अनुक्रमों के साथ जोड़ा जा सकता है और अपरिवर्तनीय है। इसके अलावा, इसमें अनुक्रम-विशिष्ट विधियाँ | बायोपाइथॉन में मुख्य अवधारणा जैविक अनुक्रम है, और इसे इसके द्वारा दर्शाया गया है <code>Seq</code> कक्षा।<ref name="Tutorial">{{Citation |last1=Chang |first1=Jeff |last2=Chapman |first2=Brad |last3=Friedberg |first3=Iddo |last4=Hamelryck |first4=Thomas |last5=de Hoon |first5=Michiel |last6=Cock |first6=Peter |last7=Antao |first7=Tiago |last8=Talevich |first8=Eric |last9=Wilczynski |first9=Bartek |title=Biopython Tutorial and Cookbook |url=http://biopython.org/DIST/docs/tutorial/Tutorial.html |date=29 May 2014 |accessdate=28 August 2014}}</ref> बायोपिथॉन <code>Seq</code> ऑब्जेक्ट कई मायनों में पायथन स्ट्रिंग के समान है: यह पायथन स्लाइस नोटेशन का समर्थन करता है, इसे अन्य अनुक्रमों के साथ जोड़ा जा सकता है और अपरिवर्तनीय है। इसके अलावा, इसमें अनुक्रम-विशिष्ट विधियाँ सम्मिलित हैं और प्रयुक्त विशेष जैविक वर्णमाला को निर्दिष्ट किया गया है। | ||
<syntaxhighlight lang="pycon"> | <syntaxhighlight lang="pycon"> | ||
| Line 134: | Line 134: | ||
'''ऑनलाइन डेटाबेस तक पहुँचना''' | '''ऑनलाइन डेटाबेस तक पहुँचना''' | ||
Bio.Entrez मॉड्यूल के माध्यम से, Biopython के उपयोगकर्ता एनसीबीआई डेटाबेस से जैविक डेटा डाउनलोड कर सकते हैं। [[ अंदर आएं ]]़ सर्च इंजन द्वारा प्रदान किया गया प्रत्येक फ़ंक्शन इस मॉड्यूल में फ़ंक्शन के माध्यम से उपलब्ध है, जिसमें रिकॉर्ड खोजना और डाउनलोड करना | Bio.Entrez मॉड्यूल के माध्यम से, Biopython के उपयोगकर्ता एनसीबीआई डेटाबेस से जैविक डेटा डाउनलोड कर सकते हैं। [[ अंदर आएं ]]़ सर्च इंजन द्वारा प्रदान किया गया प्रत्येक फ़ंक्शन इस मॉड्यूल में फ़ंक्शन के माध्यम से उपलब्ध है, जिसमें रिकॉर्ड खोजना और डाउनलोड करना सम्मिलित है। | ||
<syntaxhighlight lang="pycon"> | <syntaxhighlight lang="pycon"> | ||
| Line 152: | Line 152: | ||
'''फाइलोजेनी'''[[File:Phylo.draw.png|thumb|300px|चित्र 1: बायो.फ़ाइलो द्वारा बनाया गया जड़युक्त फ़ाइलोजेनेटिक पेड़ जो विभिन्न जीवों के एपाफ़-1 होमोलॉग के बीच संबंध दर्शाता है<ref name="Zmasek2007">{{cite journal |last1=Zmasek |first1=Christian M |last2=Zhang |first2=Qing |last3=Ye |first3=Yuzhen |last4=Godzik |first4=Adam |date=24 October 2007 |title=पैतृक एपोप्टोसिस नेटवर्क की आश्चर्यजनक जटिलता|url=http://genomebiology.com/2007/8/10/R226 |journal=Genome Biology |volume=8 |issue=10 |accessdate=9 September 2014 |doi=10.1186/gb-2007-8-10-r226 |pages=R226 |pmid=17958905 |pmc=2246300 |archive-date=10 October 2014 |archive-url=https://web.archive.org/web/20141010110024/http://genomebiology.com/2007/8/10/R226 |url-status=dead }}</ref>]] | '''फाइलोजेनी'''[[File:Phylo.draw.png|thumb|300px|चित्र 1: बायो.फ़ाइलो द्वारा बनाया गया जड़युक्त फ़ाइलोजेनेटिक पेड़ जो विभिन्न जीवों के एपाफ़-1 होमोलॉग के बीच संबंध दर्शाता है<ref name="Zmasek2007">{{cite journal |last1=Zmasek |first1=Christian M |last2=Zhang |first2=Qing |last3=Ye |first3=Yuzhen |last4=Godzik |first4=Adam |date=24 October 2007 |title=पैतृक एपोप्टोसिस नेटवर्क की आश्चर्यजनक जटिलता|url=http://genomebiology.com/2007/8/10/R226 |journal=Genome Biology |volume=8 |issue=10 |accessdate=9 September 2014 |doi=10.1186/gb-2007-8-10-r226 |pages=R226 |pmid=17958905 |pmc=2246300 |archive-date=10 October 2014 |archive-url=https://web.archive.org/web/20141010110024/http://genomebiology.com/2007/8/10/R226 |url-status=dead }}</ref>]] | ||
[[File:Phylo.draw graphviz.png|thumb|चित्र 2: ऊपर जैसा ही पेड़, बायो.फ़ाइलो के माध्यम से ग्राफ़विज़ का उपयोग करके बिना जड़ के खींचा गया]]बायो.फाइलो मॉड्यूल फ़ाइलोजेनेटिक पेड़ों के साथ काम करने और उनकी कल्पना करने के लिए उपकरण प्रदान करता है। पढ़ने और लिखने के लिए विभिन्न प्रकार के फ़ाइल प्रारूप समर्थित हैं, जिनमें [[न्यूविक प्रारूप]], नेक्सस फ़ाइल और [[फ़ाइलोएक्सएमएल|फ़ाइलो्सएमएल]] | [[File:Phylo.draw graphviz.png|thumb|चित्र 2: ऊपर जैसा ही पेड़, बायो.फ़ाइलो के माध्यम से ग्राफ़विज़ का उपयोग करके बिना जड़ के खींचा गया]]बायो.फाइलो मॉड्यूल फ़ाइलोजेनेटिक पेड़ों के साथ काम करने और उनकी कल्पना करने के लिए उपकरण प्रदान करता है। पढ़ने और लिखने के लिए विभिन्न प्रकार के फ़ाइल प्रारूप समर्थित हैं, जिनमें [[न्यूविक प्रारूप]], नेक्सस फ़ाइल और [[फ़ाइलोएक्सएमएल|फ़ाइलो्सएमएल]] सम्मिलित हैं। सामान्य वृक्ष जोड़-तोड़ और ट्रैवर्सल का समर्थन किया जाता है <code>Tree</code> और <code>Clade</code> वस्तुएं. उदाहरणों में पेड़ फ़ाइलों को परिवर्तित करना और त्रित करना, पेड़ से सबसेट निकालना, पेड़ की जड़ बदलना और लंबाई या स्कोर जैसी शाखा सुविधाओं का विश्लेषण करना सम्मिलित है।<ref name="Talevich2012">{{cite journal |last1=Talevich |first1=Eric |last2=Invergo |first2=Brandon M |last3=Cock |first3=Peter JA |last4=Chapman |first4=Brad A |date=21 August 2012 |title=Bio.Phylo: A unified toolkit for processing, analyzing and visualizing phylogenetic trees in Biopython |url= |journal=BMC Bioinformatics |volume=13 |issue=209 |pages=209 |doi=10.1186/1471-2105-13-209 |pmid=22909249 |pmc=3468381}}</ref> | ||
जड़ वाले पेड़ों को ASCII कला में या [[matplotlib]] का उपयोग करके तैयार किया जा सकता है (चित्र 1 देखें), और [[ग्रप्ह्वइज़]] लाइब्रेरी का उपयोग बिना जड़ वाले लेआउट बनाने के लिए किया जा सकता है (चित्र 2 देखें)। | जड़ वाले पेड़ों को ASCII कला में या [[matplotlib]] का उपयोग करके तैयार किया जा सकता है (चित्र 1 देखें), और [[ग्रप्ह्वइज़]] लाइब्रेरी का उपयोग बिना जड़ वाले लेआउट बनाने के लिए किया जा सकता है (चित्र 2 देखें)। | ||
=== जीनोम आरेख === | === जीनोम आरेख === | ||
[[File:PKPS77.png|thumb|300px|चित्र 3: pKPS77 प्लास्मिड पर जीन का आरेख,<ref name="NC_023330.1">{{cite web |url=https://www.ncbi.nlm.nih.gov/nuccore/NC_023330.1 |title=क्लेबसिएला निमोनिया स्ट्रेन KPS77 प्लास्मिड pKPS77, पूर्ण अनुक्रम|date= |website= |publisher=NCBI |accessdate=10 September 2014}}</ref> बायोपाइथॉन में जेनोमडायग्राम मॉड्यूल का उपयोग करके कल्पना की गई]]GenomeDiagram मॉड्यूल बायोपिथॉन के भीतर अनुक्रमों को देखने के तरीके प्रदान करता है।<ref name="Pritchard2006">{{Cite journal |last1=Pritchard |first1=Leighton |last2=White |first2=Jennifer A |last3=Birch |first3=Paul RJ |last4=Toth |first4=Ian K |title=GenomeDiagram: a python package for the visualization of large-scale genomic data |journal=Bioinformatics |date=March 2006 |volume=22 |issue=5 |pages=616–617 |doi=10.1093/bioinformatics/btk021 |pmid=16377612|doi-access=free }}</ref> अनुक्रमों को रैखिक या गोलाकार रूप में खींचा जा सकता है (चित्र 3 देखें), और कई आउटपुट प्रारूप समर्थित हैं, जिनमें पोर्टेबल दस्तावेज़ प्रारूप और [[ पोर्टेबल नेटवर्क ग्राफ़िक्स ]] | [[File:PKPS77.png|thumb|300px|चित्र 3: pKPS77 प्लास्मिड पर जीन का आरेख,<ref name="NC_023330.1">{{cite web |url=https://www.ncbi.nlm.nih.gov/nuccore/NC_023330.1 |title=क्लेबसिएला निमोनिया स्ट्रेन KPS77 प्लास्मिड pKPS77, पूर्ण अनुक्रम|date= |website= |publisher=NCBI |accessdate=10 September 2014}}</ref> बायोपाइथॉन में जेनोमडायग्राम मॉड्यूल का उपयोग करके कल्पना की गई]]GenomeDiagram मॉड्यूल बायोपिथॉन के भीतर अनुक्रमों को देखने के तरीके प्रदान करता है।<ref name="Pritchard2006">{{Cite journal |last1=Pritchard |first1=Leighton |last2=White |first2=Jennifer A |last3=Birch |first3=Paul RJ |last4=Toth |first4=Ian K |title=GenomeDiagram: a python package for the visualization of large-scale genomic data |journal=Bioinformatics |date=March 2006 |volume=22 |issue=5 |pages=616–617 |doi=10.1093/bioinformatics/btk021 |pmid=16377612|doi-access=free }}</ref> अनुक्रमों को रैखिक या गोलाकार रूप में खींचा जा सकता है (चित्र 3 देखें), और कई आउटपुट प्रारूप समर्थित हैं, जिनमें पोर्टेबल दस्तावेज़ प्रारूप और [[ पोर्टेबल नेटवर्क ग्राफ़िक्स ]] सम्मिलित हैं। ट्रैक बनाकर और फिर उन ट्रैक में अनुक्रम सुविधाएँ जोड़कर आरेख बनाए जाते हैं। अनुक्रम की विशेषताओं पर लूपिंग करके और उनकी विशेषताओं का उपयोग करके यह तय करना कि क्या और कैसे उन्हें आरेख के ट्रैक में जोड़ा जाता है, कोई अंतिम आरेख की उपस्थिति पर अधिक नियंत्रण रख सकता है। विभिन्न ट्रैकों के बीच क्रॉस-लिंक खींचे जा सकते हैं, जिससे ही आरेख में कई अनुक्रमों की तुलना की जा सकती है। | ||
=== मैक्रोमोलेक्यूलर संरचना === | === मैक्रोमोलेक्यूलर संरचना === | ||
Bio.PDB मॉड्यूल प्रोटीन डेटा बैंक (फ़ाइल प्रारूप) और क्रिस्टलोग्राफ़िक सूचना फ़ाइल फ़ाइलों से आणविक संरचनाओं को लोड कर सकता है, और 2003 में बायोपाइथॉन में जोड़ा गया था।<ref name="Hamelryck2003">{{cite journal |last1=Hamelryck |first1=Thomas |last2=Manderick |first2=Bernard |date=10 May 2003 |title=पीडीबी फ़ाइल पार्सर और संरचना वर्ग को पायथन में लागू किया गया|journal=Bioinformatics |volume=19 |issue=17 |doi=10.1093/bioinformatics/btg299 |pages=2308–2310|pmid=14630660 |doi-access=free }}</ref> <code>Structure</code> ई> ऑब्जेक्ट इस मॉड्यूल के केंद्र में है, और यह पदानुक्रमित फैशन में मैक्रोमोलेक्यूलर संरचना का आयोजन करता है: <code>Structure</code> वस्तुओं में | Bio.PDB मॉड्यूल प्रोटीन डेटा बैंक (फ़ाइल प्रारूप) और क्रिस्टलोग्राफ़िक सूचना फ़ाइल फ़ाइलों से आणविक संरचनाओं को लोड कर सकता है, और 2003 में बायोपाइथॉन में जोड़ा गया था।<ref name="Hamelryck2003">{{cite journal |last1=Hamelryck |first1=Thomas |last2=Manderick |first2=Bernard |date=10 May 2003 |title=पीडीबी फ़ाइल पार्सर और संरचना वर्ग को पायथन में लागू किया गया|journal=Bioinformatics |volume=19 |issue=17 |doi=10.1093/bioinformatics/btg299 |pages=2308–2310|pmid=14630660 |doi-access=free }}</ref> <code>Structure</code> ई> ऑब्जेक्ट इस मॉड्यूल के केंद्र में है, और यह पदानुक्रमित फैशन में मैक्रोमोलेक्यूलर संरचना का आयोजन करता है: <code>Structure</code> वस्तुओं में सम्मिलित हैं <code>Model</code> जिन वस्तुओं में सम्मिलित हैं <code>Chain</code> जिन वस्तुओं में सम्मिलित हैं <code>Residue</code> जिन वस्तुओं में सम्मिलित हैं <code>Atom</code> वस्तुएं. अव्यवस्थित अवशेषों और परमाणुओं को अपनी-अपनी कक्षाएँ मिल जाती हैं, <code>DisorderedResidue</code> और <code>DisorderedAtom</code>, जो उनकी अनिश्चित स्थिति का वर्णन करता है। | ||
Bio.PDB का उपयोग करके, कोई व्यक्ति मैक्रोमोलेक्यूलर संरचना फ़ाइल के व्यक्तिगत घटकों के माध्यम से नेविगेट कर सकता है, जैसे कि प्रोटीन में प्रत्येक परमाणु की जांच करना। सामान्य विश्लेषण किए जा सकते हैं, जैसे दूरियां या कोण मापना, अवशेषों की तुलना करना और अवशेषों की गहराई की गणना करना। | Bio.PDB का उपयोग करके, कोई व्यक्ति मैक्रोमोलेक्यूलर संरचना फ़ाइल के व्यक्तिगत घटकों के माध्यम से नेविगेट कर सकता है, जैसे कि प्रोटीन में प्रत्येक परमाणु की जांच करना। सामान्य विश्लेषण किए जा सकते हैं, जैसे दूरियां या कोण मापना, अवशेषों की तुलना करना और अवशेषों की गहराई की गणना करना। | ||
| Line 173: | Line 173: | ||
'''कमांड लाइन उपकरण के लिए रैपर''' | '''कमांड लाइन उपकरण के लिए रैपर''' | ||
बायोपाइथन के कई मॉड्यूल में आमतौर पर उपयोग किए जाने वाले उपकरणों के लिए कमांड लाइन रैपर होते हैं, जिससे इन उपकरणों को बायोपाइथॉन के भीतर से उपयोग करने की अनुमति मिलती है। इन रैपरों में [[ धमाका ]], [[क्लस्टल]], PhyML, [[EMBOSS]] और [[SAMtools]] | बायोपाइथन के कई मॉड्यूल में आमतौर पर उपयोग किए जाने वाले उपकरणों के लिए कमांड लाइन रैपर होते हैं, जिससे इन उपकरणों को बायोपाइथॉन के भीतर से उपयोग करने की अनुमति मिलती है। इन रैपरों में [[ धमाका ]], [[क्लस्टल]], PhyML, [[EMBOSS]] और [[SAMtools]] सम्मिलित हैं। उपयोगकर्ता किसी अन्य कमांड लाइन उपकरण के लिए समर्थन जोड़ने के लिए जेनेरिक रैपर क्लास को उपवर्गित कर सकते हैं। | ||
== यह भी देखें == | == यह भी देखें == | ||
Revision as of 12:56, 15 July 2023
| Original author(s) | Chapman B, Chang J[1] |
|---|---|
| Initial release | December 17, 2002 |
| Stable release | Script error: The module returned a nil value. It is supposed to return an export table.
|
| Repository | Script error: The module returned a nil value. It is supposed to return an export table. |
| Written in | Python and C |
| Platform | Cross-platform |
| Type | Bioinformatics |
| License | Biopython License |
| Website | biopython |
बायोपाइथॉन परियोजना ओपन स्रोत सॉफ्टवेयर है | कम्प्यूटेशनल बायोलॉजी विज्ञान और जैव सूचना विज्ञान के लिए गैर-व्यावसायिक पायथन (प्रोग्रामिंग भाषा) उपकरण का ओपन-सोर्स संग्रह, डेवलपर्स के अंतरराष्ट्रीय संघ द्वारा बनाया गया है।[1][2][3] इसमें जैविक अनुक्रमों और जैव सूचना विज्ञान जीनोम एनोटेशन का प्रतिनिधित्व करने वाली कक्षाएं सम्मिलित होती हैं, और यह विभिन्न फ़ाइल स्वरूपों को पढ़ने और लिखने में सक्षम होती है। यह राष्ट्रीय जैव प्रौद्योगिकी सूचना केंद्र जैसे ऑनलाइन जैविक डेटाबेस तक पहुंचने के प्रोग्रामेटिक माध्यमों की भी अनुमति देता है। भिन्न-भिन्न मॉड्यूल बायोपाइथॉन की क्षमताओं को अनुक्रम संरेखण, प्रोटीन संरचना, जनसंख्या आनुवंशिकी, फाइलोजेनेटिक्स, अनुक्रम रूपांकनों और यंत्र लर्निंग तक विस्तारित करते हैं। बायोपाइथॉन कम्प्यूटेशनल जीवविज्ञान में डुप्लिकेट कोड को कम करने के लिए निर्मित की गई कई बायो परियोजनाओं में से है।[4]
इतिहास
बायोपाइथॉन का विकास 1999 में प्रारम्भ हुआ और इसे प्रथम बार जुलाई 2000 में प्रस्तावित किया गया था।[5] इसे समान समय सीमा के अंतर्गत और अन्य परियोजनाओं के समान लक्ष्यों के साथ विकसित किया गया था, जिसमें बायोपर्ल, बायोरूबी और बायोजावा सहित उनकी संबंधित प्रोग्रामिंग भाषाओं में जैव सूचना विज्ञान क्षमताओं को युग्मित किया गया था। परियोजना के प्रारंभिक डेवलपर्स में जेफ चांग, एंड्रयू डेल्के और ब्रैड चैपमैन सम्मिलित थे, चूँकि अब तक 100 से अधिक लोगों ने योगदान दिया है।[6] 2007 में, समान पायथन (प्रोग्रामिंग भाषा) परियोजना, जिसका नाम पायकोजेंट था, स्थापित की गई थी।[7] बायोपाइथॉन के प्रारंभिक समय में जैविक अनुक्रम फ़ाइलों तक पहुंच, अनुक्रमण और प्रसंस्करण सम्मिलित था। चूँकि यह अभी भी प्रमुख फोकस है, पश्चात् के वर्षों में जोड़े गए मॉड्यूल ने जीवविज्ञान के अतिरिक्त क्षेत्रों को कवर करने के लिए इसकी कार्यक्षमता बढ़ा दी है (मुख्य विशेषताएं और उदाहरण देखें)।
संस्करण 1.77 के अनुसार, बायोपाइथॉन अब पायथन 2 का समर्थन नहीं करता है।[8]
डिज़ाइन
जहां भी संभव हो, बायोपीथॉन पायथन से परिचित उपयोगकर्ताओं के लिए इसे आसान बनाने के लिए पायथन प्रोग्रामिंग भाषा द्वारा उपयोग की जाने वाली परंपराओं का पालन करता है। उदाहरण के लिए, Seq और SeqRecord वस्तुओं को ऐरे स्लाइसिंग#1991: पायथन के माध्यम से हेरफेर किया जा सकता है, पायथन की स्ट्रिंग्स और सूचियों के समान। इसे कार्यात्मक रूप से अन्य बायो* परियोजनाओं, जैसे कि बायोपर्ल, के समान डिज़ाइन किया गया है।[5]
बायोपाइथन अपने प्रत्येक कार्यात्मक क्षेत्र के लिए सबसे सामान्य फ़ाइल स्वरूपों को पढ़ने और लिखने में सक्षम है, और इसका लाइसेंस अधिकांश अन्य सॉफ़्टवेयर लाइसेंसों के साथ अनुमेय और संगत है, जो बायोपाइथन को विभिन्न सॉफ़्टवेयर परियोजनाओं में उपयोग करने की अनुमति देता है।[3]
मुख्य विशेषताएं और उदाहरण
अनुक्रम
बायोपाइथॉन में मुख्य अवधारणा जैविक अनुक्रम है, और इसे इसके द्वारा दर्शाया गया है Seq कक्षा।[9] बायोपिथॉन Seq ऑब्जेक्ट कई मायनों में पायथन स्ट्रिंग के समान है: यह पायथन स्लाइस नोटेशन का समर्थन करता है, इसे अन्य अनुक्रमों के साथ जोड़ा जा सकता है और अपरिवर्तनीय है। इसके अलावा, इसमें अनुक्रम-विशिष्ट विधियाँ सम्मिलित हैं और प्रयुक्त विशेष जैविक वर्णमाला को निर्दिष्ट किया गया है।
>>> # This script creates a DNA sequence and performs some typical manipulations
>>> from Bio.Seq import Seq
>>> dna_sequence = Seq("AGGCTTCTCGTA", IUPAC.unambiguous_dna)
>>> dna_sequence
Seq('AGGCTTCTCGTA', IUPACUnambiguousDNA())
>>> dna_sequence[2:7]
Seq('GCTTC', IUPACUnambiguousDNA())
>>> dna_sequence.reverse_complement()
Seq('TACGAGAAGCCT', IUPACUnambiguousDNA())
>>> rna_sequence = dna_sequence.transcribe()
>>> rna_sequence
Seq('AGGCUUCUCGUA', IUPACUnambiguousRNA())
>>> rna_sequence.translate()
Seq('RLLV', IUPACProtein())
=== अनुक्रम एनोटेशन === SeqRecord ई> वर्ग नाम, विवरण और विशेषताओं जैसी जानकारी के साथ-साथ अनुक्रमों का वर्णन करता है SeqFeature वस्तुएं. प्रत्येक SeqFeature ऑब्जेक्ट सुविधा के प्रकार और उसके स्थान को निर्दिष्ट करता है। फ़ीचर प्रकार 'जीन', 'सीडीएस' (कोडिंग अनुक्रम), 'रिपीट_रीजन', 'मोबाइल_एलिमेंट' या अन्य हो सकते हैं, और अनुक्रम में सुविधाओं की स्थिति सटीक या अनुमानित हो सकती है।
>>> # This script loads an annotated sequence from file and views some of its contents.
>>> from Bio import SeqIO
>>> seq_record = SeqIO.read("pTC2.gb", "genbank")
>>> seq_record.name
'NC_019375'
>>> seq_record.description
'Providencia stuartii plasmid pTC2, complete sequence.'
>>> seq_record.features[14]
SeqFeature(FeatureLocation(ExactPosition(4516), ExactPosition(5336), strand=1), type='mobile_element')
>>> seq_record.seq
Seq("GGATTGAATATAACCGACGTGACTGTTACATTTAGGTGGCTAAACCCGTCAAGC...GCC", IUPACAmbiguousDNA())
इनपुट और आउटपुट
बायोपाइथन FASTA प्रारूप, FASTQ प्रारूप, जेनबैंक, क्लस्टल, PHYLIP और Nexus फ़ाइल सहित कई सामान्य अनुक्रम प्रारूपों को पढ़ और लिख सकता है। फ़ाइलें पढ़ते समय, फ़ाइल में वर्णनात्मक जानकारी का उपयोग बायोपाइथॉन कक्षाओं के सदस्यों को भरने के लिए किया जाता है, जैसे SeqRecord. यह फ़ाइल प्रारूप के रिकॉर्ड को दूसरे फ़ाइल प्रारूप में परिवर्तित करने की अनुमति देता है।
बहुत बड़ी अनुक्रम फ़ाइलें कंप्यूटर के मेमोरी संसाधनों से अधिक हो सकती हैं, इसलिए बायोपीथॉन बड़ी फ़ाइलों में रिकॉर्ड तक पहुंचने के लिए विभिन्न विकल्प प्रदान करता है। उन्हें पूरी तरह से पायथन डेटा संरचनाओं में मेमोरी में लोड किया जा सकता है, जैसे कि सूचियां या सहयोगी सरणी, जो मेमोरी उपयोग की कीमत पर तेजी से पहुंच प्रदान करते हैं। वैकल्पिक रूप से, फ़ाइलों को धीमे प्रदर्शन लेकिन कम मेमोरी आवश्यकताओं के साथ आवश्यकतानुसार डिस्क से पढ़ा जा सकता है।
>>> # This script loads a file containing multiple sequences and saves each one in a different format.
>>> from Bio import SeqIO
>>> genomes = SeqIO.parse("salmonella.gb", "genbank")
>>> for genome in genomes:
... SeqIO.write(genome, genome.id + ".fasta", "fasta")
ऑनलाइन डेटाबेस तक पहुँचना
Bio.Entrez मॉड्यूल के माध्यम से, Biopython के उपयोगकर्ता एनसीबीआई डेटाबेस से जैविक डेटा डाउनलोड कर सकते हैं। अंदर आएं ़ सर्च इंजन द्वारा प्रदान किया गया प्रत्येक फ़ंक्शन इस मॉड्यूल में फ़ंक्शन के माध्यम से उपलब्ध है, जिसमें रिकॉर्ड खोजना और डाउनलोड करना सम्मिलित है।
>>> # This script downloads genomes from the NCBI Nucleotide database and saves them in a FASTA file.
>>> from Bio import Entrez
>>> from Bio import SeqIO
>>> output_file = open("all_records.fasta", "w")
>>> Entrez.email = "my_email@example.com"
>>> records_to_download = ["FO834906.1", "FO203501.1"]
>>> for record_id in records_to_download:
... handle = Entrez.efetch(db="nucleotide", id=record_id, rettype="gb")
... seqRecord = SeqIO.read(handle, format="gb")
... handle.close()
... output_file.write(seqRecord.format("fasta"))
फाइलोजेनी
बायो.फाइलो मॉड्यूल फ़ाइलोजेनेटिक पेड़ों के साथ काम करने और उनकी कल्पना करने के लिए उपकरण प्रदान करता है। पढ़ने और लिखने के लिए विभिन्न प्रकार के फ़ाइल प्रारूप समर्थित हैं, जिनमें न्यूविक प्रारूप, नेक्सस फ़ाइल और फ़ाइलो्सएमएल सम्मिलित हैं। सामान्य वृक्ष जोड़-तोड़ और ट्रैवर्सल का समर्थन किया जाता है Tree और Clade वस्तुएं. उदाहरणों में पेड़ फ़ाइलों को परिवर्तित करना और त्रित करना, पेड़ से सबसेट निकालना, पेड़ की जड़ बदलना और लंबाई या स्कोर जैसी शाखा सुविधाओं का विश्लेषण करना सम्मिलित है।[11]
जड़ वाले पेड़ों को ASCII कला में या matplotlib का उपयोग करके तैयार किया जा सकता है (चित्र 1 देखें), और ग्रप्ह्वइज़ लाइब्रेरी का उपयोग बिना जड़ वाले लेआउट बनाने के लिए किया जा सकता है (चित्र 2 देखें)।
जीनोम आरेख
GenomeDiagram मॉड्यूल बायोपिथॉन के भीतर अनुक्रमों को देखने के तरीके प्रदान करता है।[13] अनुक्रमों को रैखिक या गोलाकार रूप में खींचा जा सकता है (चित्र 3 देखें), और कई आउटपुट प्रारूप समर्थित हैं, जिनमें पोर्टेबल दस्तावेज़ प्रारूप और पोर्टेबल नेटवर्क ग्राफ़िक्स सम्मिलित हैं। ट्रैक बनाकर और फिर उन ट्रैक में अनुक्रम सुविधाएँ जोड़कर आरेख बनाए जाते हैं। अनुक्रम की विशेषताओं पर लूपिंग करके और उनकी विशेषताओं का उपयोग करके यह तय करना कि क्या और कैसे उन्हें आरेख के ट्रैक में जोड़ा जाता है, कोई अंतिम आरेख की उपस्थिति पर अधिक नियंत्रण रख सकता है। विभिन्न ट्रैकों के बीच क्रॉस-लिंक खींचे जा सकते हैं, जिससे ही आरेख में कई अनुक्रमों की तुलना की जा सकती है।
मैक्रोमोलेक्यूलर संरचना
Bio.PDB मॉड्यूल प्रोटीन डेटा बैंक (फ़ाइल प्रारूप) और क्रिस्टलोग्राफ़िक सूचना फ़ाइल फ़ाइलों से आणविक संरचनाओं को लोड कर सकता है, और 2003 में बायोपाइथॉन में जोड़ा गया था।[14] Structure ई> ऑब्जेक्ट इस मॉड्यूल के केंद्र में है, और यह पदानुक्रमित फैशन में मैक्रोमोलेक्यूलर संरचना का आयोजन करता है: Structure वस्तुओं में सम्मिलित हैं Model जिन वस्तुओं में सम्मिलित हैं Chain जिन वस्तुओं में सम्मिलित हैं Residue जिन वस्तुओं में सम्मिलित हैं Atom वस्तुएं. अव्यवस्थित अवशेषों और परमाणुओं को अपनी-अपनी कक्षाएँ मिल जाती हैं, DisorderedResidue और DisorderedAtom, जो उनकी अनिश्चित स्थिति का वर्णन करता है।
Bio.PDB का उपयोग करके, कोई व्यक्ति मैक्रोमोलेक्यूलर संरचना फ़ाइल के व्यक्तिगत घटकों के माध्यम से नेविगेट कर सकता है, जैसे कि प्रोटीन में प्रत्येक परमाणु की जांच करना। सामान्य विश्लेषण किए जा सकते हैं, जैसे दूरियां या कोण मापना, अवशेषों की तुलना करना और अवशेषों की गहराई की गणना करना।
जनसंख्या आनुवंशिकी
Bio.PopGen मॉड्यूल जनसंख्या आनुवंशिकी के सांख्यिकीय विश्लेषण के लिए सॉफ्टवेयर पैकेज, Genepop के लिए Biopython को समर्थन जोड़ता है।[15] यह हार्डी-वेनबर्ग सिद्धांत | हार्डी-वेनबर्ग संतुलन, लिंकेज असंतुलन और जनसंख्या की एलील आवृत्ति की अन्य विशेषताओं के विश्लेषण की अनुमति देता है।
यह मॉड्यूल fastsimcoal2 प्रोग्राम के साथ सहसंयोजक सिद्धांत का उपयोग करके जनसंख्या आनुवंशिक सिमुलेशन भी कर सकता है।[16]
कमांड लाइन उपकरण के लिए रैपर
बायोपाइथन के कई मॉड्यूल में आमतौर पर उपयोग किए जाने वाले उपकरणों के लिए कमांड लाइन रैपर होते हैं, जिससे इन उपकरणों को बायोपाइथॉन के भीतर से उपयोग करने की अनुमति मिलती है। इन रैपरों में धमाका , क्लस्टल, PhyML, EMBOSS और SAMtools सम्मिलित हैं। उपयोगकर्ता किसी अन्य कमांड लाइन उपकरण के लिए समर्थन जोड़ने के लिए जेनेरिक रैपर क्लास को उपवर्गित कर सकते हैं।
यह भी देखें
जैव सूचना विज्ञान फाउंडेशन खोलें खोलें
- बायोपर्ल
- बायोरूबी
- बायोजेएस
- बायोजावा
संदर्भ
- ↑ 1.0 1.1 Chapman, Brad; Chang, Jeff (August 2000). "Biopython: Python tools for computational biology". ACM SIGBIO Newsletter. 20 (2): 15–19. doi:10.1145/360262.360268. S2CID 9417766.
- ↑ Cock, Peter JA; Antao, Tiago; Chang, Jeffery T; Chapman, Brad A; Cox, Cymon J; Dalke, Andrew; Friedberg, Iddo; Hamelryck, Thomas; Kauff, Frank; Wilczynski, Bartek; de Hoon, Michiel JL (20 March 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.
- ↑ 3.0 3.1 Refer to the Biopython website for other papers describing Biopython, and a list of over one hundred publications using/citing Biopython.
- ↑ Mangalam, Harry (September 2002). "The Bio* toolkits—a brief overview". Briefings in Bioinformatics. 3 (3): 296–302. doi:10.1093/bib/3.3.296. PMID 12230038.
- ↑ 5.0 5.1 Chapman, Brad (11 March 2004), The Biopython Project: Philosophy, functionality and facts (PDF), retrieved 11 September 2014
- ↑ List of Biopython contributors, archived from the original on 11 September 2014, retrieved 11 September 2014
- ↑ Knight, R; Maxwell, P; Birmingham, A; Carnes, J; Caporaso, J. G.; Easton, B. C.; Eaton, M; Hamady, M; Lindsay, H; Liu, Z; Lozupone, C; McDonald, D; Robeson, M; Sammut, R; Smit, S; Wakefield, M. J.; Widmann, J; Wikman, S; Wilson, S; Ying, H; Huttley, G. A. (2007). "Py Cogent: A toolkit for making sense from sequence". Genome Biology. 8 (8): R171. doi:10.1186/gb-2007-8-8-r171. PMC 2375001. PMID 17708774.
- ↑ Daley, Chris, Biopython 1.77 released, retrieved 6 October 2021
- ↑ Chang, Jeff; Chapman, Brad; Friedberg, Iddo; Hamelryck, Thomas; de Hoon, Michiel; Cock, Peter; Antao, Tiago; Talevich, Eric; Wilczynski, Bartek (29 May 2014), Biopython Tutorial and Cookbook, retrieved 28 August 2014
- ↑ Zmasek, Christian M; Zhang, Qing; Ye, Yuzhen; Godzik, Adam (24 October 2007). "पैतृक एपोप्टोसिस नेटवर्क की आश्चर्यजनक जटिलता". Genome Biology. 8 (10): R226. doi:10.1186/gb-2007-8-10-r226. PMC 2246300. PMID 17958905. Archived from the original on 10 October 2014. Retrieved 9 September 2014.
- ↑ Talevich, Eric; Invergo, Brandon M; Cock, Peter JA; Chapman, Brad A (21 August 2012). "Bio.Phylo: A unified toolkit for processing, analyzing and visualizing phylogenetic trees in Biopython". BMC Bioinformatics. 13 (209): 209. doi:10.1186/1471-2105-13-209. PMC 3468381. PMID 22909249.
- ↑ "क्लेबसिएला निमोनिया स्ट्रेन KPS77 प्लास्मिड pKPS77, पूर्ण अनुक्रम". NCBI. Retrieved 10 September 2014.
- ↑ Pritchard, Leighton; White, Jennifer A; Birch, Paul RJ; Toth, Ian K (March 2006). "GenomeDiagram: a python package for the visualization of large-scale genomic data". Bioinformatics. 22 (5): 616–617. doi:10.1093/bioinformatics/btk021. PMID 16377612.
- ↑ Hamelryck, Thomas; Manderick, Bernard (10 May 2003). "पीडीबी फ़ाइल पार्सर और संरचना वर्ग को पायथन में लागू किया गया". Bioinformatics. 19 (17): 2308–2310. doi:10.1093/bioinformatics/btg299. PMID 14630660.
- ↑ Rousset, François (January 2008). "GENEPOP'007: a complete re-implementation of the GENEPOP software for Windows and Linux". Molecular Ecology Resources. 8 (1): 103–106. doi:10.1111/j.1471-8286.2007.01931.x. PMID 21585727. S2CID 25776992.
- ↑ Excoffier, Laurent; Foll, Matthieu (1 March 2011). "fastsimcoal: a continuous-time coalescent simulator of genomic diversity under arbitrarily complex evolutionary scenarios". Bioinformatics. 27 (9): 1332–1334. doi:10.1093/bioinformatics/btr124. PMID 21398675.