Mercurial > repos > jjohnson > defuse8
annotate defuse_results_to_vcf.py @ 1:e0a835a2f74a draft default tip
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 1a82c0609363fe0541e6dbdd46308a67f30ca9e1-dirty
author | jjohnson |
---|---|
date | Mon, 20 May 2019 15:30:06 -0400 |
parents | 63f23d5db27c |
children |
rev | line source |
---|---|
0
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
1 #!/usr/bin/env python |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
2 """ |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
3 # |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
4 #------------------------------------------------------------------------------ |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
5 # University of Minnesota |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
6 # Copyright 2012, Regents of the University of Minnesota |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
7 #------------------------------------------------------------------------------ |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
8 # Author: |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
9 # |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
10 # James E Johnson |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
11 # Jesse Erdmann |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
12 # |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
13 #------------------------------------------------------------------------------ |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
14 """ |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
15 |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
16 |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
17 """ |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
18 This tool takes the defuse results.tsv tab-delimited file as input and creates a Variant Call Format file as output. |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
19 """ |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
20 |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
21 import sys,re,os.path |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
22 import optparse |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
23 from optparse import OptionParser |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
24 |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
25 """ |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
26 http://www.1000genomes.org/wiki/analysis/variant-call-format/vcf-variant-call-format-version-42 |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
27 |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
28 5. INFO keys used for structural variants |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
29 When the INFO keys reserved for encoding structural variants are used for imprecise variants, the values should be best estimates. When a key reflects a property of a single alt allele (e.g. SVLEN), then when there are multiple alt alleles there will be multiple values for the key corresponding to each alelle (e.g. SVLEN=-100,-110 for a deletion with two distinct alt alleles). |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
30 The following INFO keys are reserved for encoding structural variants. In general, when these keys are used by imprecise variants, the values should be best estimates. When a key reflects a property of a single alt allele (e.g. SVLEN), then when there are multiple alt alleles there will be multiple values for the key corresponding to each alelle (e.g. SVLEN=-100,-110 for a deletion with two distinct alt alleles). |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
31 ##INFO=<ID=IMPRECISE,Number=0,Type=Flag,Description="Imprecise structural variation"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
32 ##INFO=<ID=NOVEL,Number=0,Type=Flag,Description="Indicates a novel structural variation"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
33 ##INFO=<ID=END,Number=1,Type=Integer,Description="End position of the variant described in this record"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
34 For precise variants, END is POS + length of REF allele - 1, and the for imprecise variants the corresponding best estimate. |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
35 ##INFO=<ID=SVTYPE,Number=1,Type=String,Description="Type of structural variant"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
36 Value should be one of DEL, INS, DUP, INV, CNV, BND. This key can be derived from the REF/ALT fields but is useful for filtering. |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
37 ##INFO=<ID=SVLEN,Number=.,Type=Integer,Description="Difference in length between REF and ALT alleles"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
38 One value for each ALT allele. Longer ALT alleles (e.g. insertions) have positive values, shorter ALT alleles (e.g. deletions) have negative values. |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
39 ##INFO=<ID=CIPOS,Number=2,Type=Integer,Description="Confidence interval around POS for imprecise variants"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
40 ##INFO=<ID=CIEND,Number=2,Type=Integer,Description="Confidence interval around END for imprecise variants"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
41 ##INFO=<ID=HOMLEN,Number=.,Type=Integer,Description="Length of base pair identical micro-homology at event breakpoints"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
42 ##INFO=<ID=HOMSEQ,Number=.,Type=String,Description="Sequence of base pair identical micro-homology at event breakpoints"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
43 ##INFO=<ID=BKPTID,Number=.,Type=String,Description="ID of the assembled alternate allele in the assembly file"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
44 For precise variants, the consensus sequence the alternate allele assembly is derivable from the REF and ALT fields. However, the alternate allele assembly file may contain additional information about the characteristics of the alt allele contigs. |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
45 ##INFO=<ID=MEINFO,Number=4,Type=String,Description="Mobile element info of the form NAME,START,END,POLARITY"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
46 ##INFO=<ID=METRANS,Number=4,Type=String,Description="Mobile element transduction info of the form CHR,START,END,POLARITY"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
47 ##INFO=<ID=DGVID,Number=1,Type=String,Description="ID of this element in Database of Genomic Variation"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
48 ##INFO=<ID=DBVARID,Number=1,Type=String,Description="ID of this element in DBVAR"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
49 ##INFO=<ID=DBRIPID,Number=1,Type=String,Description="ID of this element in DBRIP"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
50 ##INFO=<ID=MATEID,Number=.,Type=String,Description="ID of mate breakends"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
51 ##INFO=<ID=PARID,Number=1,Type=String,Description="ID of partner breakend"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
52 ##INFO=<ID=EVENT,Number=1,Type=String,Description="ID of event associated to breakend"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
53 ##INFO=<ID=CILEN,Number=2,Type=Integer,Description="Confidence interval around the length of the inserted material between breakends"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
54 ##INFO=<ID=DP,Number=1,Type=Integer,Description="Read Depth of segment containing breakend"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
55 ##INFO=<ID=DPADJ,Number=.,Type=Integer,Description="Read Depth of adjacency"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
56 ##INFO=<ID=CN,Number=1,Type=Integer,Description="Copy number of segment containing breakend"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
57 ##INFO=<ID=CNADJ,Number=.,Type=Integer,Description="Copy number of adjacency"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
58 ##INFO=<ID=CICN,Number=2,Type=Integer,Description="Confidence interval around copy number for the segment"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
59 ##INFO=<ID=CICNADJ,Number=.,Type=Integer,Description="Confidence interval around copy number for the adjacency"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
60 6. FORMAT keys used for structural variants |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
61 ##FORMAT=<ID=CN,Number=1,Type=Integer,Description="Copy number genotype for imprecise events"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
62 ##FORMAT=<ID=CNQ,Number=1,Type=Float,Description="Copy number genotype quality for imprecise events"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
63 ##FORMAT=<ID=CNL,Number=.,Type=Float,Description="Copy number genotype likelihood for imprecise events"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
64 ##FORMAT=<ID=NQ,Number=1,Type=Integer,Description="Phred style probability score that the variant is novel with respect to the genome's ancestor"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
65 ##FORMAT=<ID=HAP,Number=1,Type=Integer,Description="Unique haplotype identifier"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
66 ##FORMAT=<ID=AHAP,Number=1,Type=Integer,Description="Unique identifier of ancestral haplotype"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
67 These keys are analogous to GT/GQ/GL and are provided for genotyping imprecise events by copy number (either because there is an unknown number of alternate alleles or because the haplotypes cannot be determined). CN specifies the integer copy number of the variant in this sample. CNQ is encoded as a phred quality -10log_10p(copy number genotype call is wrong). CNL specifies a list of log10 likelihoods for each potential copy number, starting from zero. When possible, GT/GQ/GL should be used instead of (or in addition to) these keys. |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
68 |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
69 Specifying Complex Rearrangements with Breakends |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
70 An arbitrary rearrangement event can be summarized as a set of novel adjacencies. |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
71 Each adjacency ties together 2 breakends. The two breakends at either end of a novel adjacency are called mates. |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
72 There is one line of VCF (i.e. one record) for each of the two breakends in a novel adjacency. A breakend record is identified with the tag SYTYPE=BND" in the INFO field. The REF field of a breakend record indicates a base or sequence s of bases beginning at position POS, as in all VCF records. The ALT field of a breakend record indicates a replacement for s. This "breakend replacement" has three parts: |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
73 the string t that replaces places s. The string t may be an extended version of s if some novel bases are inserted during the formation of the novel adjacency. |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
74 The position p of the mate breakend, indicated by a string of the form "chr:pos". This is the location of the first mapped base in the piece being joined at this novel adjacency. |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
75 The direction that the joined sequence continues in, starting from p. This is indicated by the orientation of square brackets surrounding p. |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
76 These 3 elements are combined in 4 possible ways to create the ALT. In each of the 4 cases, the assertion is that s is replaced with t, and then some piece starting at position p is joined to t. The cases are: |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
77 REF ALT Meaning |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
78 s t[p[ piece extending to the right of p is joined after t |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
79 s t]p] reverse comp piece extending left of p is joined after t |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
80 s ]p]t piece extending to the left of p is joined before t |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
81 s [p[t reverse comp piece extending right of p is joined before t |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
82 |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
83 Examples: |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
84 #CHROM POS ID REF ALT QUAL FILT INFO |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
85 2 321681 bnd_W G G]17:198982] 6 PASS SVTYPE=BND;MATEID=bnd_Y |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
86 2 321682 bnd_V T ]13:123456]T 6 PASS SVTYPE=BND;MATEID=bnd_U |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
87 13 123456 bnd_U C C[2:321682[ 6 PASS SVTYPE=BND;MATEID=bnd_V |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
88 13 123457 bnd_X A [17:198983[A 6 PASS SVTYPE=BND;MATEID=bnd_Z |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
89 17 198982 bnd_Y A A]2:321681] 6 PASS SVTYPE=BND;MATEID=bnd_W |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
90 17 198983 bnd_Z C [13:123457[C 6 PASS SVTYPE=BND;MATEID=bnd_X |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
91 """ |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
92 |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
93 vcf_header = """\ |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
94 ##fileformat=VCFv4.1 |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
95 ##source=defuse |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
96 ##reference=%s |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
97 ##INFO=<ID=SVLEN,Number=.,Type=Integer,Description="Difference in length between REF and ALT alleles"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
98 ##INFO=<ID=SVTYPE,Number=1,Type=String,Description="Type of structural variant"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
99 ##INFO=<ID=MATEID,Number=1,Type=String,Description="ID of the BND mate"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
100 ##INFO=<ID=MATELOC,Number=1,Type=String,Description="The chrom:position of the BND mate"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
101 ##INFO=<ID=GENESTRAND,Number=2,Type=String,Description="Strands"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
102 ##INFO=<ID=DP,Number=1,Type=Integer,Description="Read Depth of segment containing breakend"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
103 ##INFO=<ID=SPLITCNT,Number=1,Type=Integer,Description="number of split reads supporting the prediction"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
104 ##INFO=<ID=SPANCNT,Number=1,Type=Integer,Description="number of spanning reads supporting the fusion"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
105 ##INFO=<ID=HOMLEN,Number=1,Type=Integer,Description="Length of base pair identical micro-homology at event breakpoints"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
106 ##INFO=<ID=SPLICESCORE,Number=1,Type=Integer,Description="number of nucleotides similar to GTAG at fusion splice"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
107 ##INFO=<ID=GENE,Number=2,Type=String,Description="Gene Names at each breakend"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
108 ##INFO=<ID=GENEID,Number=2,Type=String,Description="Gene IDs at each breakend"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
109 ##INFO=<ID=GENELOC,Number=2,Type=String,Description="location of breakpoint releative to genes"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
110 ##INFO=<ID=EXPR,Number=2,Type=Integer,Description="expression of genes as number of concordant pairs aligned to exons"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
111 ##INFO=<ID=ORF,Number=0,Type=Flag,Description="fusion combines genes in a way that preserves a reading frame"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
112 ##INFO=<ID=EXONBND,Number=0,Type=Flag,Description="fusion splice at exon boundaries"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
113 ##INFO=<ID=INTERCHROM,Number=0,Type=Flag,Description="fusion produced by an interchromosomal translocation"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
114 ##INFO=<ID=READTHROUGH,Number=0,Type=Flag,Description="fusion involving adjacent potentially resulting from co-transcription rather than genome rearrangement"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
115 ##INFO=<ID=ADJACENT,Number=0,Type=Flag,Description="fusion between adjacent genes"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
116 ##INFO=<ID=ALTSPLICE,Number=0,Type=Flag,Description="fusion likely the product of alternative splicing between adjacent genes"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
117 ##INFO=<ID=DELETION,Number=0,Type=Flag,Description="fusion produced by a genomic deletion"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
118 ##INFO=<ID=EVERSION,Number=0,Type=Flag,Description="fusion produced by a genomic eversion"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
119 ##INFO=<ID=INVERSION,Number=0,Type=Flag,Description="fusion produced by a genomic inversion"> |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
120 #CHROM POS ID REF ALT QUAL FILTER INFO\ |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
121 """ |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
122 |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
123 def cmp_alphanumeric(s1,s2): |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
124 if s1 == s2: |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
125 return 0 |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
126 a1 = re.findall("\d+|[a-zA-Z]+",s1) |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
127 a2 = re.findall("\d+|[a-zA-Z]+",s2) |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
128 for i in range(min(len(a1),len(a2))): |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
129 if a1[i] == a2[i]: |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
130 continue |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
131 if a1[i].isdigit() and a2[i].isdigit(): |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
132 return int(a1[i]) - int(a2[i]) |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
133 return 1 if a1[i] > a2[i] else -1 |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
134 return len(a1) - len(a2) |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
135 |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
136 def __main__(): |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
137 # VCF functions |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
138 chr_dict = dict() |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
139 def add_vcf_line(chr,pos,id,line): |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
140 if chr not in chr_dict: |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
141 pos_dict = dict() |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
142 chr_dict[chr] = pos_dict |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
143 if pos not in chr_dict[chr]: |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
144 id_dict = dict() |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
145 chr_dict[chr][pos] = id_dict |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
146 chr_dict[chr][pos][id] = line |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
147 |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
148 def write_vcf(): |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
149 print >> outputFile, vcf_header % (refname) |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
150 for chr in sorted(chr_dict.keys(),cmp=cmp_alphanumeric): |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
151 for pos in sorted(chr_dict[chr].keys()): |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
152 for id in chr_dict[chr][pos]: |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
153 print >> outputFile, chr_dict[chr][pos][id] |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
154 #Parse Command Line |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
155 parser = optparse.OptionParser() |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
156 # files |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
157 parser.add_option( '-i', '--input', dest='input', help='The input defuse results.tsv file (else read from stdin)' ) |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
158 parser.add_option( '-o', '--output', dest='output', help='The output vcf file (else write to stdout)' ) |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
159 parser.add_option( '-r', '--reference', dest='reference', default=None, help='The genomic reference id' ) |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
160 (options, args) = parser.parse_args() |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
161 |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
162 # results.tsv input |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
163 if options.input != None: |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
164 try: |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
165 inputPath = os.path.abspath(options.input) |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
166 inputFile = open(inputPath, 'r') |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
167 except Exception, e: |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
168 print >> sys.stderr, "failed: %s" % e |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
169 exit(2) |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
170 else: |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
171 inputFile = sys.stdin |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
172 # vcf output |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
173 if options.output != None: |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
174 try: |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
175 outputPath = os.path.abspath(options.output) |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
176 outputFile = open(outputPath, 'w') |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
177 except Exception, e: |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
178 print >> sys.stderr, "failed: %s" % e |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
179 exit(3) |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
180 else: |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
181 outputFile = sys.stdout |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
182 |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
183 refname = options.reference if options.reference else 'unknown' |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
184 |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
185 svtype = 'SVTYPE=BND' |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
186 filt = 'PASS' |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
187 columns = [] |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
188 try: |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
189 for linenum,line in enumerate(inputFile): |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
190 ## print >> sys.stderr, "%d: %s\n" % (linenum,line) |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
191 fields = line.strip().split('\t') |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
192 if line.startswith('cluster_id'): |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
193 columns = fields |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
194 ## print >> sys.stderr, "columns: %s\n" % columns |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
195 continue |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
196 cluster_id = fields[columns.index('cluster_id')] |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
197 gene_chromosome1 = fields[columns.index('gene_chromosome1')] |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
198 gene_chromosome2 = fields[columns.index('gene_chromosome2')] |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
199 genomic_strand1 = fields[columns.index('genomic_strand1')] |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
200 genomic_strand2 = fields[columns.index('genomic_strand2')] |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
201 gene1 = fields[columns.index('gene1')] |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
202 gene2 = fields[columns.index('gene2')] |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
203 gene_info = 'GENEID=%s,%s' % (gene1,gene2) |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
204 gene_name1 = fields[columns.index('gene_name1')] |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
205 gene_name2 = fields[columns.index('gene_name2')] |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
206 gene_name_info = 'GENE=%s,%s' % (gene_name1,gene_name2) |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
207 gene_location1 = fields[columns.index('gene_location1')] |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
208 gene_location2 = fields[columns.index('gene_location2')] |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
209 gene_loc = 'GENELOC=%s,%s' % (gene_location1,gene_location2) |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
210 expression1 = int(fields[columns.index('expression1')]) |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
211 expression2 = int(fields[columns.index('expression2')]) |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
212 expr = 'EXPR=%d,%d' % (expression1,expression2) |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
213 genomic_break_pos1 = int(fields[columns.index('genomic_break_pos1')]) |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
214 genomic_break_pos2 = int(fields[columns.index('genomic_break_pos2')]) |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
215 breakpoint_homology = int(fields[columns.index('breakpoint_homology')]) |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
216 homlen = 'HOMLEN=%s' % breakpoint_homology |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
217 orf = fields[columns.index('orf')] == 'Y' |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
218 exonboundaries = fields[columns.index('exonboundaries')] == 'Y' |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
219 read_through = fields[columns.index('read_through')] == 'Y' |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
220 interchromosomal = fields[columns.index('interchromosomal')] == 'Y' |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
221 adjacent = fields[columns.index('adjacent')] == 'Y' |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
222 altsplice = fields[columns.index('altsplice')] == 'Y' |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
223 deletion = fields[columns.index('deletion')] == 'Y' |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
224 eversion = fields[columns.index('eversion')] == 'Y' |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
225 inversion = fields[columns.index('inversion')] == 'Y' |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
226 span_count = int(fields[columns.index('span_count')]) |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
227 splitr_count = int(fields[columns.index('splitr_count')]) |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
228 splice_score = int(fields[columns.index('splice_score')]) |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
229 probability = fields[columns.index('probability')] if columns.index('probability') else '.' |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
230 splitr_sequence = fields[columns.index('splitr_sequence')] |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
231 split_seqs = splitr_sequence.split('|') |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
232 mate_id1 = "bnd_%s_1" % cluster_id |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
233 mate_id2 = "bnd_%s_2" % cluster_id |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
234 ref1 = split_seqs[0][-1] |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
235 ref2 = split_seqs[1][0] |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
236 b1 = '[' if genomic_strand1 == '+' else ']' |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
237 b2 = '[' if genomic_strand2 == '+' else ']' |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
238 alt1 = "%s%s%s:%d%s" % (ref1,b2,gene_chromosome2,genomic_break_pos2,b2) |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
239 alt2 = "%s%s:%d%s%s" % (b1,gene_chromosome1,genomic_break_pos1,b1,ref2) |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
240 #TODO evaluate what should be included in the INFO field |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
241 info = ['DP=%d' % (span_count + splitr_count),'SPLITCNT=%d' % splitr_count,'SPANCNT=%d' % span_count,gene_name_info,gene_info,gene_loc,expr,homlen,'SPLICESCORE=%d' % splice_score] |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
242 if orf: |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
243 info.append('ORF') |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
244 if exonboundaries: |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
245 info.append('EXONBND') |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
246 if interchromosomal: |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
247 info.append('INTERCHROM') |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
248 if read_through: |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
249 info.append('READTHROUGH') |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
250 if adjacent: |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
251 info.append('ADJACENT') |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
252 if altsplice: |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
253 info.append('ALTSPLICE') |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
254 if deletion: |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
255 info.append('DELETION') |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
256 if eversion: |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
257 info.append('EVERSION') |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
258 if inversion: |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
259 info.append('INVERSION') |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
260 info1 = [svtype,'MATEID=%s;MATELOC=%s:%d' % (mate_id2,gene_chromosome2,genomic_break_pos2)] + info |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
261 info2 = [svtype,'MATEID=%s;MATELOC=%s:%d' % (mate_id1,gene_chromosome1,genomic_break_pos1)] + info |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
262 qual = int(float(fields[columns.index('probability')]) * 255) if columns.index('probability') else '.' |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
263 vcf1 = '%s\t%d\t%s\t%s\t%s\t%s\t%s\t%s'% (gene_chromosome1,genomic_break_pos1, mate_id1, ref1, alt1, qual, filt, ';'.join(info1) ) |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
264 vcf2 = '%s\t%d\t%s\t%s\t%s\t%s\t%s\t%s'% (gene_chromosome2,genomic_break_pos2, mate_id2, ref2, alt2, qual, filt, ';'.join(info2) ) |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
265 add_vcf_line(gene_chromosome1,genomic_break_pos1,mate_id1,vcf1) |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
266 add_vcf_line(gene_chromosome2,genomic_break_pos2,mate_id2,vcf2) |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
267 write_vcf() |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
268 except Exception, e: |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
269 print >> sys.stderr, "failed: %s" % e |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
270 sys.exit(1) |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
271 |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
272 if __name__ == "__main__" : __main__() |
63f23d5db27c
planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/defuse commit 2c2fd38cb761ec57bac7a0bd376e6aa2b88265d0-dirty
jjohnson
parents:
diff
changeset
|
273 |