annotate exonerategff_to_gff3.py @ 3:a03dead1bede draft default tip

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
author iuc
date Sun, 01 Mar 2020 04:48:34 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
1 #!/usr/bin/env python3
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
2
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
3 """
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
4 Converts a GFF produced by exonerate into a more standard GFF3 (e.g. usable in JBrowse)
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
5 """
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
6
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
7 import argparse
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
8 import sys
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
9
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
10 from BCBio import GFF
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
11 from Bio.SeqFeature import FeatureLocation, SeqFeature
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
12
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
13 parser = argparse.ArgumentParser()
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
14 parser.add_argument('infile', nargs='?', type=argparse.FileType('r'), default=sys.stdin)
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
15 parser.add_argument('outfile', nargs='?', type=argparse.FileType('a'), default=sys.stdout)
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
16 args = parser.parse_args()
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
17
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
18
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
19 scaffs = []
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
20 gene_number = 0
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
21 for scaff in GFF.parse(args.infile):
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
22 scaff.annotations = {}
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
23 scaff.seq = ""
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
24 kept_features = []
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
25 current_gene = None
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
26 exon_number = 0
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
27 last_utr = None
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
28
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
29 for feature in scaff.features:
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
30
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
31 if feature.type == "gene":
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
32 gene_number += 1
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
33 mrna_feature = SeqFeature(FeatureLocation(feature.location.start, feature.location.end), type="mRNA", strand=feature.location.strand)
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
34 mrna_feature.sub_features = []
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
35 mrna_feature.qualifiers['source'] = feature.qualifiers['source']
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
36 mrna_id = "mRNA_" + str(gene_number)
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
37 mrna_feature.qualifiers['ID'] = mrna_id
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
38 feature.sub_features = [mrna_feature]
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
39 feature.qualifiers['ID'] = "gene_" + str(gene_number)
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
40 if 'gene_orientation' in feature.qualifiers:
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
41 del feature.qualifiers['gene_orientation']
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
42 if current_gene:
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
43 kept_features.append(current_gene)
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
44
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
45 current_gene = feature
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
46 exon_number = 0
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
47 last_utr = None
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
48
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
49 elif feature.type == 'utr5':
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
50 feature.type = 'five_prime_UTR'
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
51 feature.qualifiers['ID'] = '%s_five_prime_UTR' % (mrna_id)
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
52 mrna_feature.sub_features.append(feature)
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
53 last_utr = {'start': feature.location.start, 'end': feature.location.end}
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
54
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
55 elif feature.type == 'utr3':
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
56 feature.type = 'three_prime_UTR'
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
57 feature.qualifiers['ID'] = '%s_three_prime_UTR' % (mrna_id)
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
58 mrna_feature.sub_features.append(feature)
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
59 last_utr = {'start': feature.location.start, 'end': feature.location.end}
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
60
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
61 elif feature.type == 'exon':
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
62 exon_number += 1
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
63 feature.qualifiers['ID'] = '%s_exon_%s' % (mrna_id, exon_number)
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
64 mrna_feature.sub_features.append(feature)
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
65
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
66 if last_utr is None:
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
67 cds_feature = SeqFeature(FeatureLocation(feature.location.start, feature.location.end), type="CDS", strand=feature.location.strand)
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
68 cds_feature.sub_features = []
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
69 cds_feature.qualifiers['source'] = feature.qualifiers['source']
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
70 cds_feature.qualifiers['ID'] = mrna_id + "_CDS"
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
71 mrna_feature.sub_features.append(cds_feature)
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
72 elif feature.location.start != last_utr['start'] or feature.location.end != last_utr['end']:
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
73 if feature.location.start > last_utr['start']:
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
74 cds_feature = SeqFeature(FeatureLocation(feature.location.start, last_utr['start']), type="CDS", strand=feature.location.strand)
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
75 cds_feature.sub_features = []
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
76 cds_feature.qualifiers['source'] = feature.qualifiers['source']
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
77 cds_feature.qualifiers['ID'] = mrna_id + "_CDS"
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
78 mrna_feature.sub_features.append(cds_feature)
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
79 if feature.location.end < last_utr['end']:
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
80 cds_feature = SeqFeature(FeatureLocation(feature.location.end, last_utr['end']), type="CDS", strand=feature.location.strand)
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
81 cds_feature.sub_features = []
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
82 cds_feature.qualifiers['source'] = feature.qualifiers['source']
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
83 cds_feature.qualifiers['ID'] = mrna_id + "_CDS"
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
84 mrna_feature.sub_features.append(cds_feature)
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
85
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
86 last_utr = None
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
87
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
88 elif feature.type == 'similarity':
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
89 if current_gene is None:
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
90 # We haven't seen any gene, just convert similarity to match
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
91 feature.type = 'match'
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
92 kept_features.append(feature)
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
93
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
94 last_utr = None
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
95
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
96 elif feature.type not in ['splice3', 'splice5', 'similarity', 'intron']:
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
97 mrna_feature.sub_features.append(feature)
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
98 last_utr = None
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
99
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
100 # For the last one
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
101 if current_gene:
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
102 kept_features.append(current_gene)
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
103
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
104 scaff.features = kept_features
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
105
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
106 if len(kept_features):
a03dead1bede "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff changeset
107 GFF.write([scaff], args.outfile)