Mercurial > repos > dfornika > ivar_variants_to_vcf
annotate ivar_variants_to_vcf.py @ 0:c87f6ad32fd8 draft default tip
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
author | dfornika |
---|---|
date | Fri, 05 Jun 2020 05:10:05 +0000 |
parents | |
children |
rev | line source |
---|---|
0
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
1 #!/usr/bin/env python |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
2 import os |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
3 import sys |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
4 import re |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
5 import errno |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
6 import argparse |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
7 |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
8 def parse_args(args=None): |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
9 Description = 'Convert iVar variants tsv file to vcf format.' |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
10 Epilog = """Example usage: python ivar_variants_to_vcf.py <FILE_IN> <FILE_OUT>""" |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
11 |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
12 parser = argparse.ArgumentParser(description=Description, epilog=Epilog) |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
13 parser.add_argument('FILE_IN', help="Input tsv file.") |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
14 parser.add_argument('FILE_OUT', help="Full path to output vcf file.") |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
15 parser.add_argument('-po', '--pass_only', dest="PASS_ONLY", help="Only output variants that PASS all filters.",action='store_true') |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
16 parser.add_argument('-ma', '--min_allele_freq', type=float, dest="MIN_ALLELE_FREQ", default=0, help="Only output variants where allele frequency greater than this number (default: 0).") |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
17 |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
18 return parser.parse_args(args) |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
19 |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
20 def make_dir(path): |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
21 if not len(path) == 0: |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
22 try: |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
23 os.makedirs(path) |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
24 except OSError as exception: |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
25 if exception.errno != errno.EEXIST: |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
26 raise |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
27 |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
28 def ivar_variants_to_vcf(FileIn,FileOut,passOnly=False,minAF=0): |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
29 filename = os.path.splitext(FileIn)[0] |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
30 header = ('##fileformat=VCFv4.2\n' |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
31 '##source=iVar\n' |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
32 '##INFO=<ID=DP,Number=1,Type=Integer,Description="Total Depth">\n' |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
33 '##FILTER=<ID=PASS,Description="Result of p-value <= 0.05">\n' |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
34 '##FILTER=<ID=FAIL,Description="Result of p-value > 0.05">\n' |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
35 '##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">\n' |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
36 '##FORMAT=<ID=REF_DP,Number=1,Type=Integer,Description="Depth of reference base">\n' |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
37 '##FORMAT=<ID=REF_RV,Number=1,Type=Integer,Description="Depth of reference base on reverse reads">\n' |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
38 '##FORMAT=<ID=REF_QUAL,Number=1,Type=Integer,Description="Mean quality of reference base">\n' |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
39 '##FORMAT=<ID=ALT_DP,Number=1,Type=Integer,Description="Depth of alternate base">\n' |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
40 '##FORMAT=<ID=ALT_RV,Number=1,Type=Integer,Description="Deapth of alternate base on reverse reads">\n' |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
41 '##FORMAT=<ID=ALT_QUAL,Number=1,Type=String,Description="Mean quality of alternate base">\n' |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
42 '##FORMAT=<ID=ALT_FREQ,Number=1,Type=String,Description="Frequency of alternate base">\n') |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
43 header += '#CHROM\tPOS\tID\tREF\tALT\tQUAL\tFILTER\tINFO\tFORMAT\t'+filename+'\n' |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
44 |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
45 varList = [] |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
46 varCountDict = {'SNP':0, 'INS':0, 'DEL':0} |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
47 OutDir = os.path.dirname(FileOut) |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
48 make_dir(OutDir) |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
49 fout = open(FileOut,'w') |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
50 fout.write(header) |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
51 with open(FileIn) as f: |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
52 for line in f: |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
53 if not re.match("REGION",line): |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
54 line = re.split("\t", line) |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
55 CHROM=line[0] |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
56 POS=line[1] |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
57 ID='.' |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
58 REF=line[2] |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
59 ALT=line[3] |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
60 var_type = 'SNP' |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
61 if ALT[0] == '+': |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
62 ALT = REF + ALT[1:] |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
63 var_type = 'INS' |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
64 elif ALT[0] == '-': |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
65 REF += ALT[1:] |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
66 ALT = line[2] |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
67 var_type = 'DEL' |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
68 QUAL='.' |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
69 pass_test=line[13] |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
70 if pass_test == 'TRUE': |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
71 FILTER='PASS' |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
72 else: |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
73 FILTER='FAIL' |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
74 INFO='DP='+line[11] |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
75 FORMAT='GT:REF_DP:REF_RV:REF_QUAL:ALT_DP:ALT_RV:ALT_QUAL:ALT_FREQ' |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
76 SAMPLE='1:'+line[4]+':'+line[5]+':'+line[6]+':'+line[7]+':'+line[8]+':'+line[9]+':'+line[10] |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
77 oline = CHROM+'\t'+POS+'\t'+ID+'\t'+REF+'\t'+ALT+'\t'+QUAL+'\t'+FILTER+'\t'+INFO+'\t'+FORMAT+'\t'+SAMPLE+'\n' |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
78 writeLine = True |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
79 if passOnly and FILTER != 'PASS': |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
80 writeLine = False |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
81 if float(line[10]) < minAF: |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
82 writeLine = False |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
83 if (CHROM,POS,REF,ALT) in varList: |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
84 writeLine = False |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
85 else: |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
86 varList.append((CHROM,POS,REF,ALT)) |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
87 if writeLine: |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
88 varCountDict[var_type] += 1 |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
89 fout.write(oline) |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
90 fout.close() |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
91 |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
92 ## Print variant counts to pass to MultiQC |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
93 varCountList = [(k, str(v)) for k, v in sorted(varCountDict.items())] |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
94 print('\t'.join(['sample'] + [x[0] for x in varCountList])) |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
95 print('\t'.join([filename] + [x[1] for x in varCountList])) |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
96 |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
97 def main(args=None): |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
98 args = parse_args(args) |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
99 ivar_variants_to_vcf(args.FILE_IN,args.FILE_OUT,args.PASS_ONLY,args.MIN_ALLELE_FREQ) |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
100 |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
101 |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
102 if __name__ == '__main__': |
c87f6ad32fd8
"planemo upload for repository https://github.com/dfornika/galaxytools/tree/master/tools/ivar_variants_to_vcf commit 16332019b4aab6af58c74e631f390dfeef23a3dc"
dfornika
parents:
diff
changeset
|
103 sys.exit(main()) |