Mercurial > repos > iuc > exonerate
annotate exonerategff_to_gff3.py @ 4:37f3a8c3c694 draft default tip
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit e0d4688a59e6eeba33adcfe803ac43d0bc2863e7"
| author | iuc |
|---|---|
| date | Tue, 31 Aug 2021 08:06:32 +0000 |
| parents | 0d6a5769f901 |
| children |
| rev | line source |
|---|---|
|
3
0d6a5769f901
"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 |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
2 |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
3 """ |
|
0d6a5769f901
"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) |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
5 """ |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
6 |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
7 import argparse |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
8 import sys |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
9 |
|
0d6a5769f901
"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 |
|
0d6a5769f901
"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 |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
12 |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
13 parser = argparse.ArgumentParser() |
|
0d6a5769f901
"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) |
|
0d6a5769f901
"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) |
|
0d6a5769f901
"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() |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
17 |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
18 |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
19 scaffs = [] |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
20 gene_number = 0 |
|
0d6a5769f901
"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): |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
22 scaff.annotations = {} |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
23 scaff.seq = "" |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
24 kept_features = [] |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
25 current_gene = None |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
26 exon_number = 0 |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
27 last_utr = None |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
28 |
|
0d6a5769f901
"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: |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
30 |
|
0d6a5769f901
"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": |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
32 gene_number += 1 |
|
0d6a5769f901
"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) |
|
0d6a5769f901
"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 = [] |
|
0d6a5769f901
"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'] |
|
0d6a5769f901
"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) |
|
0d6a5769f901
"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 |
|
0d6a5769f901
"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] |
|
0d6a5769f901
"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) |
|
0d6a5769f901
"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: |
|
0d6a5769f901
"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'] |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
42 if current_gene: |
|
0d6a5769f901
"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) |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
44 |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
45 current_gene = feature |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
46 exon_number = 0 |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
47 last_utr = None |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
48 |
|
0d6a5769f901
"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': |
|
0d6a5769f901
"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' |
|
0d6a5769f901
"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) |
|
0d6a5769f901
"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) |
|
0d6a5769f901
"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} |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
54 |
|
0d6a5769f901
"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': |
|
0d6a5769f901
"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' |
|
0d6a5769f901
"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) |
|
0d6a5769f901
"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) |
|
0d6a5769f901
"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} |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
60 |
|
0d6a5769f901
"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': |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
62 exon_number += 1 |
|
0d6a5769f901
"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) |
|
0d6a5769f901
"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) |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
65 |
|
0d6a5769f901
"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: |
|
0d6a5769f901
"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) |
|
0d6a5769f901
"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 = [] |
|
0d6a5769f901
"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'] |
|
0d6a5769f901
"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" |
|
0d6a5769f901
"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) |
|
0d6a5769f901
"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']: |
|
0d6a5769f901
"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']: |
|
0d6a5769f901
"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) |
|
0d6a5769f901
"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 = [] |
|
0d6a5769f901
"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'] |
|
0d6a5769f901
"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" |
|
0d6a5769f901
"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) |
|
0d6a5769f901
"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']: |
|
0d6a5769f901
"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) |
|
0d6a5769f901
"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 = [] |
|
0d6a5769f901
"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'] |
|
0d6a5769f901
"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" |
|
0d6a5769f901
"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) |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
85 |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
86 last_utr = None |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
87 |
|
0d6a5769f901
"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': |
|
0d6a5769f901
"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: |
|
0d6a5769f901
"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 |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
91 feature.type = 'match' |
|
0d6a5769f901
"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) |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
93 |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
94 last_utr = None |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
95 |
|
0d6a5769f901
"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']: |
|
0d6a5769f901
"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) |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
98 last_utr = None |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
99 |
|
0d6a5769f901
"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 |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
101 if current_gene: |
|
0d6a5769f901
"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) |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
103 |
|
0d6a5769f901
"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 |
|
0d6a5769f901
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
iuc
parents:
diff
changeset
|
105 |
|
0d6a5769f901
"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): |
|
0d6a5769f901
"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) |
