2016-07-11 9 views
6

से scikit-bio निकालने जीनोमिक विशेषताएं क्या जीनोम फास्टा फ़ाइल से gff3 स्वरूपित फ़ाइल में संग्रहीत जीनोमिक सुविधाओं को निकालने के लिए scikit-bio में यह संभव है?gk3 फ़ाइल

उदाहरण:


genome.fasta

>sequence1 
ATGGAGAGAGAGAGAGAGAGGGGGCAGCATACGCATCGACATACGACATACATCAGATACGACATACTACTACTATGA 

annotation.gff3

#gff-version 3 
sequence1 source gene 1 78 . + . ID=gene1 
sequence1 source mRNA 1 78 . + . ID=transcript1;parent=gene1 
sequence1 source CDS 1 6 . + 0 ID=CDS1;parent=transcript1 
sequence1 source CDS 73 78 . + 0 ID=CDS2;parent=transcript1 

वांछित अनुक्रम एमआरएनए फीचर (ट्रांसक्रिप्ट 1) के लिए दो बच्चों की सीडीएस सुविधाओं का संयोजन होगा। तो इस मामले में यह 'ATGGAGCTATGA' होगा।

+0

scikit-bio 0.5.0 के रूप में, gff3 फ़ाइलों को पढ़ने का समर्थन नहीं है। यदि यह एक ऐसी सुविधा है जिसे आप प्रोजेक्ट में जोड़ना चाहते हैं, तो कृपया समस्या ट्रैकर पर एक सुविधा अनुरोध सबमिट करने पर विचार करें: https://github.com/biocore/scikit-bio/issues – jairideout

उत्तर

1

यह सुविधा scikit-bio में जोड़ा गया है, हालांकि बायोकॉन्डा में उपलब्ध संस्करण अभी तक इसका समर्थन नहीं करता है (2017-12-15)। Gff3 के लिए प्रारूप फ़ाइल Github repository में मौजूद है।

आप रेपो क्लोन कर सकते हैं और का उपयोग कर स्थानीय स्तर पर इसे स्थापित:

$ git clone https://github.com/biocore/scikit-bio.git 
$ cd scikit-bio 
$ python setup.py install 

उदाहरण फ़ाइल में दिए गए के बाद निम्नलिखित कोड काम करना चाहिए:

import io 
from skbio.metadata import IntervalMetadata 
from skbio.io import read 

gff = io.StringIO(open("annotations.gff3", "r").read()) 
im = read(gff, format='gff3', into=IntervalMetadata, seq_id="sequence1") 

print(im) 

मेरे लिए यह इस एक FormatIdentificationWarning को जन्म देती है, लेकिन प्रविष्टियों को सही ढंग से रिपोर्ट किया गया है:

4 interval features 
------------------- 
Interval(interval_metadata=<140154121000104>, bounds=[(0, 78)], fuzzy=[(False, False)], metadata={'source': 'source', 'type': 'gene', 'score': '.', 'strand': '+', 'ID': 'gene1'}) 
Interval(interval_metadata=<140154121000104>, bounds=[(0, 78)], fuzzy=[(False, False)], metadata={'source': 'source', 'type': 'mRNA', 'score': '.', 'strand': '+', 'ID': 'transcript1', 'parent': 'gene1'}) 
Interval(interval_metadata=<140154121000104>, bounds=[(0, 6)], fuzzy=[(False, False)], metadata={'source': 'source', 'type': 'CDS', 'score': '.', 'strand': '+', 'phase': 0, 'ID': 'CDS1', 'parent': 'transcript1'}) 
Interval(interval_metadata=<140154121000104>, bounds=[(72, 78)], fuzzy=[(False, False)], metadata={'source': 'source', 'type': 'CDS', 'score': '.', 'strand': '+', 'phase': 0, 'ID': 'CDS2', 'parent': 'transcript1'}) 

ई में कोड में xample, GFF3 और FASTA फ़ाइल को फ़ंक्शन फ़ंक्शन के लिए उपयोग की जाने वाली इनपुट स्ट्रिंग में संयोजित किया जाता है। शायद यह इस मुद्दे को ठीक कर सकता है। इसके अलावा मैं 100% निश्चित नहीं हूं कि आप सुविधा निकालने के लिए लौटाए गए अंतराल का उपयोग कैसे कर सकते हैं।