annotate tbl2gff3.py @ 1:d9eb9f753fa6 draft default tip

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit db75a8489a1f61ea30abe9b91f6febac8b34204f"
author iuc
date Thu, 03 Dec 2020 16:59:00 +0000
parents 63f6b6ca0e97
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
1 #!/usr/bin/env python
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
2 import argparse
1
d9eb9f753fa6 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit db75a8489a1f61ea30abe9b91f6febac8b34204f"
iuc
parents: 0
diff changeset
3 import collections
0
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
4 import csv
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
5 import sys
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
6
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
7 from BCBio import GFF
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
8 from Bio.Seq import Seq
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
9 from Bio.SeqFeature import FeatureLocation, SeqFeature
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
10 from Bio.SeqRecord import SeqRecord
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
11
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
12
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
13 def c(row, v, default=None):
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
14 if v is None:
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
15 return default
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
16
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
17 try:
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
18 _ = int(v)
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
19 return row[int(v) - 1]
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
20 except ValueError:
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
21 return v
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
22
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
23
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
24 def tbl2gff3(
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
25 table,
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
26 rid,
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
27 begin,
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
28 end,
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
29 source=None,
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
30 type=None,
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
31 score=None,
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
32 frame=None,
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
33 a=None,
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
34 strand_column=None,
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
35 strand_value=None,
1
d9eb9f753fa6 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit db75a8489a1f61ea30abe9b91f6febac8b34204f"
iuc
parents: 0
diff changeset
36 strand_infer=False,
0
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
37 ):
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
38
1
d9eb9f753fa6 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit db75a8489a1f61ea30abe9b91f6febac8b34204f"
iuc
parents: 0
diff changeset
39 records = collections.OrderedDict()
0
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
40
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
41 for row in csv.reader(table, delimiter="\t"):
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
42 # print(', '.join(row))
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
43
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
44 # if we haven't seen this record before, populate it.
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
45 recid = c(row, rid)
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
46 if recid not in records:
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
47 records[recid] = SeqRecord(Seq("ACTG"), id=recid)
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
48
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
49 r = records[recid]
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
50 q = {}
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
51 if c(row, score) is not None:
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
52 q["score"] = float(c(row, score))
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
53
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
54 q["source"] = c(row, source, "tbl2gff3")
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
55
1
d9eb9f753fa6 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit db75a8489a1f61ea30abe9b91f6febac8b34204f"
iuc
parents: 0
diff changeset
56 begin_i = int(c(row, begin))
d9eb9f753fa6 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit db75a8489a1f61ea30abe9b91f6febac8b34204f"
iuc
parents: 0
diff changeset
57 end_i = int(c(row, end))
d9eb9f753fa6 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit db75a8489a1f61ea30abe9b91f6febac8b34204f"
iuc
parents: 0
diff changeset
58
d9eb9f753fa6 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit db75a8489a1f61ea30abe9b91f6febac8b34204f"
iuc
parents: 0
diff changeset
59 begin_f = min(begin_i, end_i)
d9eb9f753fa6 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit db75a8489a1f61ea30abe9b91f6febac8b34204f"
iuc
parents: 0
diff changeset
60 end_f = max(begin_i, end_i)
d9eb9f753fa6 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit db75a8489a1f61ea30abe9b91f6febac8b34204f"
iuc
parents: 0
diff changeset
61
0
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
62 _str = None
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
63 if strand_column is not None:
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
64 _str = int(c(row, strand_column))
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
65 elif strand_value is not None:
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
66 _str = int(strand_value)
1
d9eb9f753fa6 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit db75a8489a1f61ea30abe9b91f6febac8b34204f"
iuc
parents: 0
diff changeset
67 if strand_infer:
d9eb9f753fa6 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit db75a8489a1f61ea30abe9b91f6febac8b34204f"
iuc
parents: 0
diff changeset
68 if begin_i > begin_f:
d9eb9f753fa6 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit db75a8489a1f61ea30abe9b91f6febac8b34204f"
iuc
parents: 0
diff changeset
69 _str = -1
d9eb9f753fa6 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit db75a8489a1f61ea30abe9b91f6febac8b34204f"
iuc
parents: 0
diff changeset
70 else:
d9eb9f753fa6 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit db75a8489a1f61ea30abe9b91f6febac8b34204f"
iuc
parents: 0
diff changeset
71 _str = 1
0
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
72
1
d9eb9f753fa6 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit db75a8489a1f61ea30abe9b91f6febac8b34204f"
iuc
parents: 0
diff changeset
73 if a is not None:
d9eb9f753fa6 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit db75a8489a1f61ea30abe9b91f6febac8b34204f"
iuc
parents: 0
diff changeset
74 for x in a:
d9eb9f753fa6 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit db75a8489a1f61ea30abe9b91f6febac8b34204f"
iuc
parents: 0
diff changeset
75 k, v = x.split(":", 1)
d9eb9f753fa6 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit db75a8489a1f61ea30abe9b91f6febac8b34204f"
iuc
parents: 0
diff changeset
76 _v = c(row, v)
d9eb9f753fa6 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit db75a8489a1f61ea30abe9b91f6febac8b34204f"
iuc
parents: 0
diff changeset
77 if k in q:
d9eb9f753fa6 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit db75a8489a1f61ea30abe9b91f6febac8b34204f"
iuc
parents: 0
diff changeset
78 q[k].append(_v)
d9eb9f753fa6 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit db75a8489a1f61ea30abe9b91f6febac8b34204f"
iuc
parents: 0
diff changeset
79 else:
d9eb9f753fa6 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit db75a8489a1f61ea30abe9b91f6febac8b34204f"
iuc
parents: 0
diff changeset
80 q[k] = [_v]
0
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
81
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
82 f = SeqFeature(
1
d9eb9f753fa6 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit db75a8489a1f61ea30abe9b91f6febac8b34204f"
iuc
parents: 0
diff changeset
83 FeatureLocation(begin_f, end_f),
0
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
84 type=c(row, type),
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
85 strand=_str,
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
86 qualifiers=q,
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
87 )
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
88 r.features.append(f)
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
89
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
90 return records
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
91
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
92
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
93 if __name__ == "__main__":
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
94 parser = argparse.ArgumentParser(description="Convert tables to gff3", epilog="")
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
95 parser.add_argument("table", type=argparse.FileType("r"), help="Tabular Input")
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
96 parser.add_argument("rid", help="id column")
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
97 parser.add_argument("begin", help="begin column")
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
98 parser.add_argument("end", help="end column")
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
99 parser.add_argument("--type", help="feature type column")
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
100 parser.add_argument("--score", help="score column")
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
101 parser.add_argument("--source", help="source column")
1
d9eb9f753fa6 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit db75a8489a1f61ea30abe9b91f6febac8b34204f"
iuc
parents: 0
diff changeset
102 parser.add_argument("--strand_infer", action='store_true', help="infer strand")
0
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
103 parser.add_argument("--strand_column", help="strand column")
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
104 parser.add_argument("--strand_value", help="strand value")
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
105 # parser.add_argument('--frame', help='frame column')
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
106 parser.add_argument("-a", action="append", help="attribute column (-a k:v)")
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
107 args = parser.parse_args()
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
108
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
109 for rid, rec in tbl2gff3(**vars(args)).items():
63f6b6ca0e97 "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/tbl2gff3 commit 725ff8b6a4f01bf532052ce46400f529551a317d"
iuc
parents:
diff changeset
110 GFF.write([rec], sys.stdout)