annotate mergegffs.py @ 12:e188a09bf012 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/mergegffs commit 96fe2c546e9e6a58707cfaf6e6435ed4289c55a2
author eduardo
date Sat, 17 Jun 2017 07:52:11 -0400
parents 791fae70fa3c
children 742d726397b3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
2b2efd0c4df8 planemo upload commit 7bc2a91afe5fcf29893e582382aa874eacb1c1ca
eduardo
parents:
diff changeset
1 import sys
2b2efd0c4df8 planemo upload commit 7bc2a91afe5fcf29893e582382aa874eacb1c1ca
eduardo
parents:
diff changeset
2 import os
2b2efd0c4df8 planemo upload commit 7bc2a91afe5fcf29893e582382aa874eacb1c1ca
eduardo
parents:
diff changeset
3 import gffutils
2b2efd0c4df8 planemo upload commit 7bc2a91afe5fcf29893e582382aa874eacb1c1ca
eduardo
parents:
diff changeset
4 import argparse
2b2efd0c4df8 planemo upload commit 7bc2a91afe5fcf29893e582382aa874eacb1c1ca
eduardo
parents:
diff changeset
5
2b2efd0c4df8 planemo upload commit 7bc2a91afe5fcf29893e582382aa874eacb1c1ca
eduardo
parents:
diff changeset
6
2b2efd0c4df8 planemo upload commit 7bc2a91afe5fcf29893e582382aa874eacb1c1ca
eduardo
parents:
diff changeset
7
2b2efd0c4df8 planemo upload commit 7bc2a91afe5fcf29893e582382aa874eacb1c1ca
eduardo
parents:
diff changeset
8
2b2efd0c4df8 planemo upload commit 7bc2a91afe5fcf29893e582382aa874eacb1c1ca
eduardo
parents:
diff changeset
9 def main(argv, wayout):
2b2efd0c4df8 planemo upload commit 7bc2a91afe5fcf29893e582382aa874eacb1c1ca
eduardo
parents:
diff changeset
10 if not len(argv):
2b2efd0c4df8 planemo upload commit 7bc2a91afe5fcf29893e582382aa874eacb1c1ca
eduardo
parents:
diff changeset
11 argv.append("-h")
2b2efd0c4df8 planemo upload commit 7bc2a91afe5fcf29893e582382aa874eacb1c1ca
eduardo
parents:
diff changeset
12 parser = argparse.ArgumentParser(formatter_class=argparse.RawDescriptionHelpFormatter, description=__doc__)
2b2efd0c4df8 planemo upload commit 7bc2a91afe5fcf29893e582382aa874eacb1c1ca
eduardo
parents:
diff changeset
13 parser.add_argument('-m','--genemap', help="mapping of genes to transcripts")
2b2efd0c4df8 planemo upload commit 7bc2a91afe5fcf29893e582382aa874eacb1c1ca
eduardo
parents:
diff changeset
14 parser.add_argument('-p','--peptides',required=True, help="peptide prediction gff")
2b2efd0c4df8 planemo upload commit 7bc2a91afe5fcf29893e582382aa874eacb1c1ca
eduardo
parents:
diff changeset
15 parser.add_argument('-b','--blastp', help="blastp outfmt6 results for peptides")
9
79d6bb2e6a5d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/mergegffs commit b370006ad76357c5f9014e0af87205737197ace2
eduardo
parents: 0
diff changeset
16 parser.add_argument('-x','--blastx', help="blastx outfmt6 results for transcripts")
0
2b2efd0c4df8 planemo upload commit 7bc2a91afe5fcf29893e582382aa874eacb1c1ca
eduardo
parents:
diff changeset
17 parser.add_argument('-f','--pfam', help="hmmer results for peptides")
2b2efd0c4df8 planemo upload commit 7bc2a91afe5fcf29893e582382aa874eacb1c1ca
eduardo
parents:
diff changeset
18 parser.add_argument('-t','--tmhmm', help="tmhmm results for peptides")
2b2efd0c4df8 planemo upload commit 7bc2a91afe5fcf29893e582382aa874eacb1c1ca
eduardo
parents:
diff changeset
19 parser.add_argument('-s','--signalP', help="signalP results for peptides")
2b2efd0c4df8 planemo upload commit 7bc2a91afe5fcf29893e582382aa874eacb1c1ca
eduardo
parents:
diff changeset
20 parser.add_argument('-d','--database', required=True, help="gff database to load or create")
2b2efd0c4df8 planemo upload commit 7bc2a91afe5fcf29893e582382aa874eacb1c1ca
eduardo
parents:
diff changeset
21 parser.add_argument('-o','--output', required=True, help="output in gff format")
2b2efd0c4df8 planemo upload commit 7bc2a91afe5fcf29893e582382aa874eacb1c1ca
eduardo
parents:
diff changeset
22 args = parser.parse_args(argv)
2b2efd0c4df8 planemo upload commit 7bc2a91afe5fcf29893e582382aa874eacb1c1ca
eduardo
parents:
diff changeset
23
2b2efd0c4df8 planemo upload commit 7bc2a91afe5fcf29893e582382aa874eacb1c1ca
eduardo
parents:
diff changeset
24
2b2efd0c4df8 planemo upload commit 7bc2a91afe5fcf29893e582382aa874eacb1c1ca
eduardo
parents:
diff changeset
25 db = gffutils.create_db(args.peptides, dbfn=args.database, force=True, keep_order=True,merge_strategy='merge', sort_attribute_values=True)
10
8d0c12c9241d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/mergegffs commit c9b4085466b82054831df7bb14a8ebe1fdc3e164-dirty
eduardo
parents: 9
diff changeset
26 if args.blastp is not None:
8d0c12c9241d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/mergegffs commit c9b4085466b82054831df7bb14a8ebe1fdc3e164-dirty
eduardo
parents: 9
diff changeset
27 os.system("convert2gff.py -i "+args.blastp+" -g "+args.peptides+" -p blastp -t protein_match -T -x > blastp.gff")
12
e188a09bf012 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/mergegffs commit 96fe2c546e9e6a58707cfaf6e6435ed4289c55a2
eduardo
parents: 11
diff changeset
28 db=db.update("blastp.gff")
10
8d0c12c9241d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/mergegffs commit c9b4085466b82054831df7bb14a8ebe1fdc3e164-dirty
eduardo
parents: 9
diff changeset
29 if args.signalP is not None:
8d0c12c9241d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/mergegffs commit c9b4085466b82054831df7bb14a8ebe1fdc3e164-dirty
eduardo
parents: 9
diff changeset
30 os.system("convert2gff.py -i "+args.signalP+" -g "+args.peptides+" -T -p signalP -t signalpep > signalp.gff")
12
e188a09bf012 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/mergegffs commit 96fe2c546e9e6a58707cfaf6e6435ed4289c55a2
eduardo
parents: 11
diff changeset
31 db=db.update("signalP.gff")
10
8d0c12c9241d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/mergegffs commit c9b4085466b82054831df7bb14a8ebe1fdc3e164-dirty
eduardo
parents: 9
diff changeset
32 if args.tmhmm is not None:
8d0c12c9241d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/mergegffs commit c9b4085466b82054831df7bb14a8ebe1fdc3e164-dirty
eduardo
parents: 9
diff changeset
33 os.system("convert2gff.py -i "+args.tmhmm+" -g "+args.peptides+" -T -p tmhmm -t trans_helix > tmhmm.gff")
12
e188a09bf012 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/mergegffs commit 96fe2c546e9e6a58707cfaf6e6435ed4289c55a2
eduardo
parents: 11
diff changeset
34 db=db.update("tmhmm.gff")
10
8d0c12c9241d planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/mergegffs commit c9b4085466b82054831df7bb14a8ebe1fdc3e164-dirty
eduardo
parents: 9
diff changeset
35 if args.pfam is not None:
0
2b2efd0c4df8 planemo upload commit 7bc2a91afe5fcf29893e582382aa874eacb1c1ca
eduardo
parents:
diff changeset
36 os.system("pfam2gff.py -i "+args.pfam+" -g "+args.peptides+" -T > PFAM.gff")
12
e188a09bf012 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/mergegffs commit 96fe2c546e9e6a58707cfaf6e6435ed4289c55a2
eduardo
parents: 11
diff changeset
37 db=db.update("PFAM.gff")
0
2b2efd0c4df8 planemo upload commit 7bc2a91afe5fcf29893e582382aa874eacb1c1ca
eduardo
parents:
diff changeset
38
2b2efd0c4df8 planemo upload commit 7bc2a91afe5fcf29893e582382aa874eacb1c1ca
eduardo
parents:
diff changeset
39 with open(args.output, 'w') as fout:
2b2efd0c4df8 planemo upload commit 7bc2a91afe5fcf29893e582382aa874eacb1c1ca
eduardo
parents:
diff changeset
40 for f in db.all_features():
2b2efd0c4df8 planemo upload commit 7bc2a91afe5fcf29893e582382aa874eacb1c1ca
eduardo
parents:
diff changeset
41 fout.write(str(f) + '\n')
2b2efd0c4df8 planemo upload commit 7bc2a91afe5fcf29893e582382aa874eacb1c1ca
eduardo
parents:
diff changeset
42 if __name__ == "__main__":
2b2efd0c4df8 planemo upload commit 7bc2a91afe5fcf29893e582382aa874eacb1c1ca
eduardo
parents:
diff changeset
43 main(sys.argv[1:],sys.stdout)