Oh I did't see this related post.. thank you, for helping :) So if I combine these two scripts I should obtain something like:
import sys
import re
def parse_vcf(vcf_file):
with open(vcf_file, 'r+') as vcf_f:
for line in vcf_f:
if line[0] != '#':
info_field_line = line.split("\t")[7]
info_field_line_array = info_field_line.split(";")
dict_info = {}
for i in info_field_line_array:
if "=" in i:
key = i.split("=")[0]
value = i.split("=")[1]
dict_info[key]=value
my_GeneRefGene = dict_info['Gene.refGene']
my_ExonicFuncRefGene = dict_info['ExonicFunc.refGene']
my_AAChangeRefGene = dict_info['AAChange.refGene']
if dict_info['ExonicFunc.refGene'] == "." and dict_info['AAChange.refGene'] == ".":
check_up_line=False
if dict_info['AAChange.refGene'] != ".":
line = line.replace(dict_info['AAChange.refGene'], dict_info['AAChange.refGene'].split(":")[-1])
if len(dict_info['Gene.refGene'].split(","))>1:
line = line.replace(dict_info['Gene.refGene'], dict_info['Gene.refGene'].split(",")[0])
if check_up_line:
vcf_f.write(line)
else:
vcf_f.write(line)
print(my_GeneRefGene),(my_ExonicFuncRefGene),(my_AAChangeRefGene)
if __name__ == '__main__':
vcf=sys.argv[1]
parse_vcf(vcf)
vcf_f.close()
right?