Mercurial > repos > jjohnson > ensembl_variant_report
comparison 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 |
comparison
equal
deleted
inserted
replaced
| 9:0ef485da6ba6 | 10:d367a472e8a1 |
|---|---|
| 114 alt_list = alts.split(',') | 114 alt_list = alts.split(',') |
| 115 pos = int(pos) | 115 pos = int(pos) |
| 116 qual = float(qual) | 116 qual = float(qual) |
| 117 dp = None | 117 dp = None |
| 118 dpr = None | 118 dpr = None |
| 119 ao = None | |
| 119 af = None | 120 af = None |
| 120 for info_item in info.split(';'): | 121 for info_item in info.split(';'): |
| 121 if info_item.find('=') < 0: continue | 122 if info_item.find('=') < 0: continue |
| 122 (key, val) = info_item.split('=', 1) | 123 (key, val) = info_item.split('=', 1) |
| 123 if key == 'DP': | 124 if key == 'DP': |
| 124 dp = int(val) | 125 dp = int(val) |
| 125 if key == 'DPR' or key == 'AD': | 126 if key == 'DPR' or key == 'AD': |
| 126 dpr = [int(x) for x in val.split(',')] | 127 dpr = [int(x) for x in val.split(',')] |
| 128 if key == 'AO': | |
| 129 ao = [int(x) for x in val.split(',')] | |
| 127 if key == 'AF': | 130 if key == 'AF': |
| 128 af = [float(x) for x in val.split(',')] | 131 af = [float(x) for x in val.split(',')] |
| 129 if key in ['EFF','ANN']: | 132 if key in ['EFF','ANN']: |
| 130 for effect in val.split(','): | 133 for effect in val.split(','): |
| 131 if options.debug: print >> sys.stderr, "\n%s" % (effect.split('|')) | 134 if options.debug: print >> sys.stderr, "\n%s" % (effect.split('|')) |
| 133 (alt,eff,impact,gene_name,gene_id,feature_type,transcript,biotype,exon,c_hgvs,p_hgvs,cdna,cds,aa,distance,info) = effect.split('|') | 136 (alt,eff,impact,gene_name,gene_id,feature_type,transcript,biotype,exon,c_hgvs,p_hgvs,cdna,cds,aa,distance,info) = effect.split('|') |
| 134 elif key == 'EFF': | 137 elif key == 'EFF': |
| 135 (eff, effs) = effect.rstrip(')').split('(') | 138 (eff, effs) = effect.rstrip(')').split('(') |
| 136 (impact, functional_class, codon_change, aa_change, aa_len, gene_name, biotype, coding, transcript, exon, alt) = effs.split('|')[0:11] | 139 (impact, functional_class, codon_change, aa_change, aa_len, gene_name, biotype, coding, transcript, exon, alt) = effs.split('|')[0:11] |
| 137 i = alt_list.index(alt) if alt in alt_list else 0 | 140 i = alt_list.index(alt) if alt in alt_list else 0 |
| 138 if af: | 141 if ao: |
| 139 freq = af[i] | 142 freq = float(ao[i])/float(dp) if dp else \ |
| 143 float(dpr[i])/float(sum(ao)) | |
| 140 elif dpr: | 144 elif dpr: |
| 141 freq = float(dpr[i+1])/float(dp) if dp else \ | 145 freq = float(dpr[i+1])/float(dp) if dp else \ |
| 142 float(dpr[i+1])/float(sum(dpr)) | 146 float(dpr[i+1])/float(sum(dpr)) |
| 147 elif af: | |
| 148 freq = af[i] | |
| 143 else: | 149 else: |
| 144 freq = None | 150 freq = None |
| 145 if freq: | 151 if freq: |
| 146 yield (transcript,pos,ref,alt,dp,freq) | 152 yield (transcript,pos,ref,alt,dp,freq) |
| 147 | 153 |
