Mercurial > repos > eduardo > annotateviz
annotate annotateviz.py @ 0:7537482eed36 draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/annotateviz commit 9bbaa3eacc76ff3bf2b6da313cc0d85705f15dd1-dirty
| author | eduardo |
|---|---|
| date | Sat, 17 Jun 2017 13:31:06 -0400 |
| parents | |
| children | 3302f18f9e16 |
| rev | line source |
|---|---|
|
0
7537482eed36
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/annotateviz commit 9bbaa3eacc76ff3bf2b6da313cc0d85705f15dd1-dirty
eduardo
parents:
diff
changeset
|
1 import sys |
|
7537482eed36
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/annotateviz commit 9bbaa3eacc76ff3bf2b6da313cc0d85705f15dd1-dirty
eduardo
parents:
diff
changeset
|
2 import os |
|
7537482eed36
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/annotateviz commit 9bbaa3eacc76ff3bf2b6da313cc0d85705f15dd1-dirty
eduardo
parents:
diff
changeset
|
3 import gffutils |
|
7537482eed36
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/annotateviz commit 9bbaa3eacc76ff3bf2b6da313cc0d85705f15dd1-dirty
eduardo
parents:
diff
changeset
|
4 import argparse |
|
7537482eed36
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/annotateviz commit 9bbaa3eacc76ff3bf2b6da313cc0d85705f15dd1-dirty
eduardo
parents:
diff
changeset
|
5 import json |
|
7537482eed36
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/annotateviz commit 9bbaa3eacc76ff3bf2b6da313cc0d85705f15dd1-dirty
eduardo
parents:
diff
changeset
|
6 |
|
7537482eed36
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/annotateviz commit 9bbaa3eacc76ff3bf2b6da313cc0d85705f15dd1-dirty
eduardo
parents:
diff
changeset
|
7 def add_matches(matches,array): |
|
7537482eed36
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/annotateviz commit 9bbaa3eacc76ff3bf2b6da313cc0d85705f15dd1-dirty
eduardo
parents:
diff
changeset
|
8 for m in matches: |
|
7537482eed36
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/annotateviz commit 9bbaa3eacc76ff3bf2b6da313cc0d85705f15dd1-dirty
eduardo
parents:
diff
changeset
|
9 trans = {} |
|
7537482eed36
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/annotateviz commit 9bbaa3eacc76ff3bf2b6da313cc0d85705f15dd1-dirty
eduardo
parents:
diff
changeset
|
10 trans['mRNA'] = '.'.join(m.id.split('.',2)[:2]) #hack to recover mRNA from PFAM gff which doesn't include a query field |
|
7537482eed36
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/annotateviz commit 9bbaa3eacc76ff3bf2b6da313cc0d85705f15dd1-dirty
eduardo
parents:
diff
changeset
|
11 trans['Contig'] = m.seqid |
|
7537482eed36
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/annotateviz commit 9bbaa3eacc76ff3bf2b6da313cc0d85705f15dd1-dirty
eduardo
parents:
diff
changeset
|
12 trans['Source'] = m.source |
|
7537482eed36
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/annotateviz commit 9bbaa3eacc76ff3bf2b6da313cc0d85705f15dd1-dirty
eduardo
parents:
diff
changeset
|
13 trans['Score'] = m.score |
|
7537482eed36
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/annotateviz commit 9bbaa3eacc76ff3bf2b6da313cc0d85705f15dd1-dirty
eduardo
parents:
diff
changeset
|
14 trans['Prediction']=m["Name"] |
|
7537482eed36
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/annotateviz commit 9bbaa3eacc76ff3bf2b6da313cc0d85705f15dd1-dirty
eduardo
parents:
diff
changeset
|
15 array.append(trans) |
|
7537482eed36
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/annotateviz commit 9bbaa3eacc76ff3bf2b6da313cc0d85705f15dd1-dirty
eduardo
parents:
diff
changeset
|
16 def main(argv, wayout): |
|
7537482eed36
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/annotateviz commit 9bbaa3eacc76ff3bf2b6da313cc0d85705f15dd1-dirty
eduardo
parents:
diff
changeset
|
17 if not len(argv): |
|
7537482eed36
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/annotateviz commit 9bbaa3eacc76ff3bf2b6da313cc0d85705f15dd1-dirty
eduardo
parents:
diff
changeset
|
18 argv.append("-h") |
|
7537482eed36
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/annotateviz commit 9bbaa3eacc76ff3bf2b6da313cc0d85705f15dd1-dirty
eduardo
parents:
diff
changeset
|
19 parser = argparse.ArgumentParser(formatter_class=argparse.RawDescriptionHelpFormatter, description=__doc__) |
|
7537482eed36
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/annotateviz commit 9bbaa3eacc76ff3bf2b6da313cc0d85705f15dd1-dirty
eduardo
parents:
diff
changeset
|
20 parser.add_argument('-d','--database', help="gffutils sqlite database") |
|
7537482eed36
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/annotateviz commit 9bbaa3eacc76ff3bf2b6da313cc0d85705f15dd1-dirty
eduardo
parents:
diff
changeset
|
21 parser.add_argument('-j','--json', help="report in json format") |
|
7537482eed36
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/annotateviz commit 9bbaa3eacc76ff3bf2b6da313cc0d85705f15dd1-dirty
eduardo
parents:
diff
changeset
|
22 gffutils.constants.always_return_list = False |
|
7537482eed36
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/annotateviz commit 9bbaa3eacc76ff3bf2b6da313cc0d85705f15dd1-dirty
eduardo
parents:
diff
changeset
|
23 db = gffutils.interface.FeatureDB(args.database) |
|
7537482eed36
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/annotateviz commit 9bbaa3eacc76ff3bf2b6da313cc0d85705f15dd1-dirty
eduardo
parents:
diff
changeset
|
24 prediction_list = [] |
|
7537482eed36
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/annotateviz commit 9bbaa3eacc76ff3bf2b6da313cc0d85705f15dd1-dirty
eduardo
parents:
diff
changeset
|
25 add_matches(db.features_of_type("protein_match"), prediction_list) |
|
7537482eed36
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/annotateviz commit 9bbaa3eacc76ff3bf2b6da313cc0d85705f15dd1-dirty
eduardo
parents:
diff
changeset
|
26 add_matches(db.features_of_type("signalpep"), prediction_list) |
|
7537482eed36
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/annotateviz commit 9bbaa3eacc76ff3bf2b6da313cc0d85705f15dd1-dirty
eduardo
parents:
diff
changeset
|
27 add_matches(db.features_of_type("trans_helix"), prediction_list) |
|
7537482eed36
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/annotateviz commit 9bbaa3eacc76ff3bf2b6da313cc0d85705f15dd1-dirty
eduardo
parents:
diff
changeset
|
28 add_matches(db.features_of_type("PFAM"), prediction_list) |
|
7537482eed36
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/annotateviz commit 9bbaa3eacc76ff3bf2b6da313cc0d85705f15dd1-dirty
eduardo
parents:
diff
changeset
|
29 fout=open(args.json, 'w') |
|
7537482eed36
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/annotateviz commit 9bbaa3eacc76ff3bf2b6da313cc0d85705f15dd1-dirty
eduardo
parents:
diff
changeset
|
30 json.dump(prediction_list,fout) |
