annotate ensembl_variant_report.py @ 10:d367a472e8a1 draft default tip

planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit d3b7ff1c2f0a1eed7a65af7208e987a35627402c-dirty
author jjohnson
date Wed, 20 Mar 2019 15:27:32 -0400
parents 0ef485da6ba6
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
1 #!/usr/bin/env python
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
2 """
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
3 Report variants to Ensembl Transcripts
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
4
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
5 FrameShift report line
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
6 # Gene Variant Position Reference Variation Prevalence Sequencing Depth Transcript AA Position AA change AA Length Stop Codon Stop Region AA Variation
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
7 TIGD6 chr5:149374879 AAG AG 1.00 13 ENSG00000164296|ENST00000296736 345 Q344 522 A-TGA-T KRWTSSRPST*
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
8
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
9 MissSense report line
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
10 # Gene Variant Position Reference Variation Prevalence Sequencing Depth Transcript AA Position AA change AA Length Stop Codon Stop Region AA Variation
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
11 FN1 chr2:216235089 G A 1.00 7394 ENSG00000115414|ENST00000354785 2261 V2261I 2478 G-TAA TGLTRGATYN_I_IVEALKDQQR
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
12 """
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
13 import sys
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
14 import os.path
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
15 import re
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
16 import time
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
17 import optparse
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
18 from ensemblref import EnsemblRef
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
19 from Bio.Seq import reverse_complement, translate
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
20
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
21
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
22 def __main__():
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
23 #Parse Command Line
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
24 parser = optparse.OptionParser()
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
25 #I/O
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
26 parser.add_option( '-i', '--input', dest='input', default=None, help='Tabular file with peptide_sequence column' )
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
27 parser.add_option( '-s', '--format', dest='format', default='tabular', choices=['tabular','snpeff'], help='Tabular file with peptide_sequence column' )
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
28 #Columns for tabular input
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
29 parser.add_option( '-C', '--chrom_column', type='int', dest='chrom_column', default=1, help='column ordinal with Ensembl transctip ID' )
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
30 parser.add_option( '-P', '--pos_column', type='int', dest='pos_column', default=2, help='column ordinal with Ensembl transctip ID' )
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
31 parser.add_option( '-R', '--ref_column', type='int', dest='ref_column', default=3, help='column ordinal with Ensembl transctip ID' )
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
32 parser.add_option( '-A', '--alt_column', type='int', dest='alt_column', default=4, help='column ordinal with Ensembl transctip ID' )
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
33 parser.add_option( '-T', '--transcript_column', type='int', dest='transcript_column', default=1, help='column ordinal with Ensembl transctip ID' )
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
34 parser.add_option( '-F', '--dpr_column', type='int', dest='dpr_column', default=1, help='column with VCF: DPR or AD' )
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
35 parser.add_option( '-D', '--dp_column', type='int', dest='dp_column', default=1, help='column with VCF: DP' )
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
36 parser.add_option( '-g', '--gene_model', dest='gene_model', default=None, help='GTF gene model file. Used to annotate NSJ peptide entries.')
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
37 parser.add_option( '-2', '--twobit', dest='twobit', default=None, help='Reference genome in UCSC twobit format')
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
38 #Output file
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
39 parser.add_option( '-o', '--output', dest='output', default=None, help='The output report (else write to stdout)' )
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
40 #filters
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
41 parser.add_option( '-d', '--min_depth', type='int', dest='min_depth', default=None, help='Minimum read depth to report' )
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
42 parser.add_option( '-f', '--min_freq', type='float', dest='min_freq', default=None, help='Minimum variant frequency to report' )
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
43 #peptide options
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
44 parser.add_option( '-l', '--leading_aa', type='int', dest='leading_aa', default=10, help='Number AAs before missense variant' )
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
45 parser.add_option( '-t', '--trailing_aa', type='int', dest='trailing_aa', default=10, help='Number AAs after missense variant' )
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
46 parser.add_option( '-r', '--readthrough', type='int', dest='readthrough', default=0, help='' )
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
47 #
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
48 parser.add_option('--debug', dest='debug', action='store_true', default=False, help='Print debugging messages')
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
49 (options, args) = parser.parse_args()
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
50
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
51 ##INPUTS##
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
52 if options.input != None:
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
53 try:
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
54 inputPath = os.path.abspath(options.input)
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
55 inputFile = open(inputPath, 'r')
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
56 except Exception, e:
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
57 print >> sys.stderr, "failed: %s" % e
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
58 exit(2)
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
59 else:
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
60 inputFile = sys.stdin
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
61
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
62 if options.output != None:
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
63 try:
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
64 outputPath = os.path.abspath(options.output)
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
65 outputFile = open(outputPath, 'w')
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
66 except Exception, e:
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
67 print >> sys.stderr, "failed: %s" % e
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
68 exit(3)
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
69 else:
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
70 outputFile = sys.stdout
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
71
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
72 def parse_tabular():
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
73 ci = options.chrom_column - 1
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
74 pi = options.pos_column - 1
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
75 ri = options.ref_column - 1
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
76 ai = options.alt_column - 1
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
77 ti = options.transcript_column - 1
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
78 di = options.dp_column - 1
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
79 fi = options.dpr_column - 1
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
80 for linenum,line in enumerate(inputFile):
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
81 if options.debug:
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
82 print >> sys.stderr, "%d: %s\n" % (linenum,line)
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
83 if line.startswith('#'):
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
84 continue
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
85 if line.strip() == '':
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
86 continue
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
87 fields = line.rstrip('\r\n').split('\t')
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
88 transcript = fields[ti]
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
89 if not transcript:
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
90 print >> sys.stderr, "%d: %s\n" % (linenum,line)
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
91 continue
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
92 chrom = fields[ci]
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
93 pos = int(fields[pi])
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
94 ref = fields[ri]
5
9e83cc05d384 Uploaded
jjohnson
parents: 0
diff changeset
95 alts = fields[ai]
0
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
96 dp = int(fields[di])
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
97 dpr = [int(x) for x in fields[fi].split(',')]
5
9e83cc05d384 Uploaded
jjohnson
parents: 0
diff changeset
98 for i,alt in enumerate(alts.split(',')):
8
fd612f8119a2 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit f003aece24587f68b883449f278f1e601110e2ec-dirty
jjohnson
parents: 7
diff changeset
99 freq = float(dpr[i+1])/float(dp) if dp and dpr else \
fd612f8119a2 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit f003aece24587f68b883449f278f1e601110e2ec-dirty
jjohnson
parents: 7
diff changeset
100 float(dpr[i+1])/float(sum(dpr)) if dpr else None
5
9e83cc05d384 Uploaded
jjohnson
parents: 0
diff changeset
101 yield (transcript,pos,ref,alt,dp,freq)
0
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
102
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
103 def parse_snpeff_vcf():
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
104 for linenum,line in enumerate(inputFile):
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
105 if line.startswith('##'):
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
106 if line.find('SnpEffVersion=') > 0:
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
107 SnpEffVersion = re.search('SnpEffVersion="?(\d+\.\d+)',line).groups()[0]
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
108 elif line.startswith('#CHROM'):
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
109 pass
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
110 else:
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
111 fields = line.strip('\r\n').split('\t')
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
112 if options.debug: print >> sys.stderr, "\n%s" % (fields)
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
113 (chrom, pos, id, ref, alts, qual, filter, info) = fields[0:8]
5
9e83cc05d384 Uploaded
jjohnson
parents: 0
diff changeset
114 alt_list = alts.split(',')
0
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
115 pos = int(pos)
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
116 qual = float(qual)
6
d9fad18ffdb1 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit e6aa05bbbee3cc7d98f16354fc41c674f439ff1b-dirty
jjohnson
parents: 5
diff changeset
117 dp = None
d9fad18ffdb1 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit e6aa05bbbee3cc7d98f16354fc41c674f439ff1b-dirty
jjohnson
parents: 5
diff changeset
118 dpr = None
10
d367a472e8a1 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit d3b7ff1c2f0a1eed7a65af7208e987a35627402c-dirty
jjohnson
parents: 9
diff changeset
119 ao = None
9
0ef485da6ba6 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 6b6e5c13531bf909c4c70b7f8f9e28b4206d9068-dirty
jjohnson
parents: 8
diff changeset
120 af = None
0
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
121 for info_item in info.split(';'):
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
122 if info_item.find('=') < 0: continue
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
123 (key, val) = info_item.split('=', 1)
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
124 if key == 'DP':
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
125 dp = int(val)
9
0ef485da6ba6 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 6b6e5c13531bf909c4c70b7f8f9e28b4206d9068-dirty
jjohnson
parents: 8
diff changeset
126 if key == 'DPR' or key == 'AD':
6
d9fad18ffdb1 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit e6aa05bbbee3cc7d98f16354fc41c674f439ff1b-dirty
jjohnson
parents: 5
diff changeset
127 dpr = [int(x) for x in val.split(',')]
10
d367a472e8a1 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit d3b7ff1c2f0a1eed7a65af7208e987a35627402c-dirty
jjohnson
parents: 9
diff changeset
128 if key == 'AO':
d367a472e8a1 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit d3b7ff1c2f0a1eed7a65af7208e987a35627402c-dirty
jjohnson
parents: 9
diff changeset
129 ao = [int(x) for x in val.split(',')]
9
0ef485da6ba6 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 6b6e5c13531bf909c4c70b7f8f9e28b4206d9068-dirty
jjohnson
parents: 8
diff changeset
130 if key == 'AF':
0ef485da6ba6 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 6b6e5c13531bf909c4c70b7f8f9e28b4206d9068-dirty
jjohnson
parents: 8
diff changeset
131 af = [float(x) for x in val.split(',')]
0
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
132 if key in ['EFF','ANN']:
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
133 for effect in val.split(','):
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
134 if options.debug: print >> sys.stderr, "\n%s" % (effect.split('|'))
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
135 if key == 'ANN':
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
136 (alt,eff,impact,gene_name,gene_id,feature_type,transcript,biotype,exon,c_hgvs,p_hgvs,cdna,cds,aa,distance,info) = effect.split('|')
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
137 elif key == 'EFF':
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
138 (eff, effs) = effect.rstrip(')').split('(')
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
139 (impact, functional_class, codon_change, aa_change, aa_len, gene_name, biotype, coding, transcript, exon, alt) = effs.split('|')[0:11]
5
9e83cc05d384 Uploaded
jjohnson
parents: 0
diff changeset
140 i = alt_list.index(alt) if alt in alt_list else 0
10
d367a472e8a1 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit d3b7ff1c2f0a1eed7a65af7208e987a35627402c-dirty
jjohnson
parents: 9
diff changeset
141 if ao:
d367a472e8a1 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit d3b7ff1c2f0a1eed7a65af7208e987a35627402c-dirty
jjohnson
parents: 9
diff changeset
142 freq = float(ao[i])/float(dp) if dp else \
d367a472e8a1 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit d3b7ff1c2f0a1eed7a65af7208e987a35627402c-dirty
jjohnson
parents: 9
diff changeset
143 float(dpr[i])/float(sum(ao))
9
0ef485da6ba6 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 6b6e5c13531bf909c4c70b7f8f9e28b4206d9068-dirty
jjohnson
parents: 8
diff changeset
144 elif dpr:
0ef485da6ba6 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 6b6e5c13531bf909c4c70b7f8f9e28b4206d9068-dirty
jjohnson
parents: 8
diff changeset
145 freq = float(dpr[i+1])/float(dp) if dp else \
0ef485da6ba6 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 6b6e5c13531bf909c4c70b7f8f9e28b4206d9068-dirty
jjohnson
parents: 8
diff changeset
146 float(dpr[i+1])/float(sum(dpr))
10
d367a472e8a1 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit d3b7ff1c2f0a1eed7a65af7208e987a35627402c-dirty
jjohnson
parents: 9
diff changeset
147 elif af:
d367a472e8a1 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit d3b7ff1c2f0a1eed7a65af7208e987a35627402c-dirty
jjohnson
parents: 9
diff changeset
148 freq = af[i]
9
0ef485da6ba6 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 6b6e5c13531bf909c4c70b7f8f9e28b4206d9068-dirty
jjohnson
parents: 8
diff changeset
149 else:
0ef485da6ba6 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 6b6e5c13531bf909c4c70b7f8f9e28b4206d9068-dirty
jjohnson
parents: 8
diff changeset
150 freq = None
0ef485da6ba6 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 6b6e5c13531bf909c4c70b7f8f9e28b4206d9068-dirty
jjohnson
parents: 8
diff changeset
151 if freq:
0ef485da6ba6 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 6b6e5c13531bf909c4c70b7f8f9e28b4206d9068-dirty
jjohnson
parents: 8
diff changeset
152 yield (transcript,pos,ref,alt,dp,freq)
0
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
153
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
154
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
155 #Process gene model
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
156 ens_ref = None
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
157 if options.gene_model != None:
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
158 try:
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
159 geneModelFile = os.path.abspath(options.gene_model)
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
160 twoBitFile = os.path.abspath(options.twobit)
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
161 print >> sys.stderr, "Parsing ensembl ref: %s %s" % (options.gene_model,options.twobit)
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
162 time1 = time.time()
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
163 ens_ref = EnsemblRef(geneModelFile,twoBitFile)
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
164 time2 = time.time()
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
165 print >> sys.stderr, "Parsing ensembl ref: %d seconds" % (int(time2-time1))
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
166 except Exception, e:
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
167 print >> sys.stderr, "Parsing gene model failed: %s" % e
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
168 exit(2)
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
169 try:
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
170 parse_input = parse_tabular if options.format == 'tabular' else parse_snpeff_vcf
5
9e83cc05d384 Uploaded
jjohnson
parents: 0
diff changeset
171 for tid,pos1,ref,alt,dp,freq in parse_input():
7
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
172 if options.debug: print >> sys.stderr, "%s\t%d\t%s\t%s\t%d\t%f" % (tid,pos1,ref,alt,dp,freq)
5
9e83cc05d384 Uploaded
jjohnson
parents: 0
diff changeset
173 if not tid:
9e83cc05d384 Uploaded
jjohnson
parents: 0
diff changeset
174 continue
0
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
175 if options.min_depth and dp is not None and dp < options.min_depth:
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
176 continue
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
177 if options.min_freq and freq is not None and freq < options.min_freq:
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
178 continue
7
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
179 try:
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
180 ## transcript_id, pos, ref, alt, dp, dpr
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
181 tx = ens_ref.get_gtf_transcript(tid)
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
182 if not tx and tid.find('.') > 0:
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
183 tid = tid.split('.')[0]
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
184 tx = ens_ref.get_gtf_transcript(tid)
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
185 if not tx:
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
186 continue
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
187 if options.debug: print >> sys.stderr, "%s" % (tx)
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
188 coding = ens_ref.transcript_is_coding(tid)
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
189 if not coding:
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
190 continue
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
191 frame_shift = len(ref) != len(alt)
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
192 cds = ens_ref.get_cds(tid)
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
193 if options.debug or not cds: print >> sys.stderr, "cds:\n%s" % (cds)
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
194 pos0 = pos1 - 1 # zero based position
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
195 spos = pos0 if tx.gene.strand else pos0 + len(ref) - 1
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
196 alt_seq = alt if tx.gene.strand else reverse_complement(alt)
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
197 ref_seq = ref if tx.gene.strand else reverse_complement(ref)
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
198 cds_pos = ens_ref.genome_to_cds_pos(tid, spos)
9
0ef485da6ba6 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 6b6e5c13531bf909c4c70b7f8f9e28b4206d9068-dirty
jjohnson
parents: 8
diff changeset
199 if cds_pos is None:
0ef485da6ba6 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 6b6e5c13531bf909c4c70b7f8f9e28b4206d9068-dirty
jjohnson
parents: 8
diff changeset
200 continue
7
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
201 if options.debug: print >> sys.stderr, "cds_pos: %s" % (str(cds_pos))
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
202 alt_cds = cds[:cds_pos] + alt_seq + cds[cds_pos+len(ref):] if cds_pos+len(ref) < len(cds) else ''
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
203 offset = 0
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
204 if tx.gene.strand:
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
205 for i in range(min(len(ref),len(alt))):
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
206 if ref[i] == alt[i]:
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
207 offset = i
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
208 else:
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
209 break
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
210 else:
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
211 for i in range(-1,-min(len(ref),len(alt)) -1,-1):
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
212 if ref[i] == alt[i]:
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
213 offset = i
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
214 else:
0
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
215 break
7
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
216 refpep = translate(cds[:len(cds)/3*3])
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
217 pep = translate(alt_cds[:len(alt_cds)/3*3])
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
218 peplen = len(pep)
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
219 aa_pos = (cds_pos + offset) / 3
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
220 reported_stop_codon = ''
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
221 if aa_pos >= len(pep):
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
222 print >> sys.stderr, "aa_pos %d >= peptide length %d : %s %d %s %s" % (aa_pos,len(pep),tid,pos1,ref,alt)
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
223 continue
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
224 if frame_shift:
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
225 #find stop_codons
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
226 nstops = 0
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
227 stop_codons = []
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
228 for i in range(aa_pos,peplen):
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
229 if refpep[i] != pep[i]:
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
230 aa_pos = i
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
231 break
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
232 reported_peptide = pep[aa_pos:]
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
233 for i in range(aa_pos,peplen):
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
234 if pep[i] == '*':
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
235 nstops += 1
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
236 stop_codons.append("%s-%s%s" % (alt_cds[i*3-1],alt_cds[i*3:i*3+3],"-%s" % alt_cds[i*3+4] if len(alt_cds) > i*3 else ''))
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
237 if nstops > options.readthrough:
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
238 reported_peptide = pep[aa_pos:i+1]
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
239 reported_stop_codon = ','.join(stop_codons)
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
240 break
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
241 else:
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
242 reported_stop_codon = "%s-%s" % (alt_cds[peplen*3-4],alt_cds[peplen*3-3:peplen*3])
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
243 reported_peptide = "%s_%s_%s" % (pep[max(aa_pos-options.leading_aa,0):aa_pos],
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
244 pep[aa_pos],
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
245 pep[aa_pos+1:min(aa_pos+1+options.trailing_aa,len(pep))])
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
246 cs_pos = aa_pos * 3
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
247 aa_pos = (cds_pos + offset) / 3
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
248 ref_codon = cds[cs_pos:cs_pos+3]
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
249 ref_aa = translate(ref_codon)
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
250 alt_codon = alt_cds[cs_pos:cs_pos+3]
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
251 alt_aa = translate(alt_codon)
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
252 gene = tx.gene.names[0]
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
253 report_fields = [tx.gene.names[0],
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
254 '%s:%d %s' % (tx.gene.contig,pos1,'+' if tx.gene.strand else '-'),
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
255 ref_seq,
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
256 alt_seq,
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
257 "%1.2f" % freq if freq is not None else '',
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
258 str(dp),
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
259 "%s|%s" % (tx.gene.gene_id,tx.cdna_id),
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
260 "%d" % (aa_pos + 1),
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
261 "%s%d%s" % (ref_aa,aa_pos + 1,alt_aa),
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
262 "%d" % len(pep),
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
263 reported_stop_codon,
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
264 reported_peptide,
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
265 tx.get_transcript_type_name()
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
266 ]
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
267 if options.debug:
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
268 report_fields.append("%d %d %d %d %s %s" % (cds_pos, offset, cs_pos,aa_pos,ref_codon,alt_codon))
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
269 outputFile.write('\t'.join(report_fields))
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
270 if options.debug:
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
271 print >> sys.stderr, "%s %s\n%s\n%s\n%s %s" % (
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
272 cds[cs_pos-6:cs_pos], cds[cs_pos:cs_pos+15],
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
273 translate(cds[cs_pos-6:cs_pos+15]),
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
274 translate(alt_cds[cs_pos-6:cs_pos+15]),
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
275 alt_cds[cs_pos-6:cs_pos], alt_cds[cs_pos:cs_pos+15])
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
276 outputFile.write('\n')
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
277 except Exception, e:
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
278 print >> sys.stderr, "failed: %s" % e
d5cb252c68da planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit b62e927469f96a857e880c77530c50c885ad92fc-dirty
jjohnson
parents: 6
diff changeset
279 print >> sys.stderr, "%s\t%d\t%s\t%s\t%d\t%f\t%s" % (tid,pos1,ref,alt,dp,freq,e)
0
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
280 except Exception, e:
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
281 print >> sys.stderr, "failed: %s" % e
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
282 exit(1)
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
283
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
284
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
285 if __name__ == "__main__" : __main__()
c3a9e63e8c51 planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/ensembl_variant_report commit 239c1ee096e5fc3e2e929f7bf2d4afba5c677d4b-dirty
jjohnson
parents:
diff changeset
286