Mercurial > repos > eduardo > mergegffs
comparison mergegffs.py @ 0:2b2efd0c4df8 draft
planemo upload commit 7bc2a91afe5fcf29893e582382aa874eacb1c1ca
| author | eduardo |
|---|---|
| date | Fri, 07 Apr 2017 17:27:31 -0400 |
| parents | |
| children | 79d6bb2e6a5d |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:2b2efd0c4df8 |
|---|---|
| 1 import sys | |
| 2 import os | |
| 3 import gffutils | |
| 4 import argparse | |
| 5 | |
| 6 | |
| 7 | |
| 8 | |
| 9 def main(argv, wayout): | |
| 10 if not len(argv): | |
| 11 argv.append("-h") | |
| 12 parser = argparse.ArgumentParser(formatter_class=argparse.RawDescriptionHelpFormatter, description=__doc__) | |
| 13 parser.add_argument('-m','--genemap', help="mapping of genes to transcripts") | |
| 14 parser.add_argument('-p','--peptides',required=True, help="peptide prediction gff") | |
| 15 parser.add_argument('-b','--blastp', help="blastp outfmt6 results for peptides") | |
| 16 parser.add_argument('-f','--pfam', help="hmmer results for peptides") | |
| 17 parser.add_argument('-t','--tmhmm', help="tmhmm results for peptides") | |
| 18 parser.add_argument('-s','--signalP', help="signalP results for peptides") | |
| 19 parser.add_argument('-d','--database', required=True, help="gff database to load or create") | |
| 20 parser.add_argument('-o','--output', required=True, help="output in gff format") | |
| 21 args = parser.parse_args(argv) | |
| 22 | |
| 23 | |
| 24 db = gffutils.create_db(args.peptides, dbfn=args.database, force=True, keep_order=True,merge_strategy='merge', sort_attribute_values=True) | |
| 25 if args.blastp == True: | |
| 26 os.system("blast2genomegff.py -b "+args.blastp+" -g -d "+args.peptides+" -p blastp -t protein_match -T -x > blastp.gff") | |
| 27 db=db.update(args.blastp) | |
| 28 if args.blastp == True: | |
| 29 os.system("convert2gff.py -i "+args.signalP+" -g "+args.peptides+" -T -t signalP > signalp.gff") | |
| 30 db=db.update(args.blastp) | |
| 31 if args.blastp == True: | |
| 32 os.system("convert2gff.py -i "+args.tmhmm+" -g "+args.peptides+" -T -t tmhmm > tmhmm.gff") | |
| 33 db=db.update(args.blastp) | |
| 34 if args.blastp == True: | |
| 35 os.system("pfam2gff.py -i "+args.pfam+" -g "+args.peptides+" -T > PFAM.gff") | |
| 36 db=db.update(args.blastp) | |
| 37 | |
| 38 with open(args.output, 'w') as fout: | |
| 39 for f in db.all_features(): | |
| 40 fout.write(str(f) + '\n') | |
| 41 if __name__ == "__main__": | |
| 42 main(sys.argv[1:],sys.stdout) |
