Я пытаюсь написать простой скрипт для извлечения определенных данных из файла VCF, который отображает варианты в последовательностях генома.
Скрипт должен извлечь заголовок из файла, а также SNV, исключив при этом любые значения.Варианты отображаются в 2 столбцах, ALT и REF.Каждый столбец отделен пробелом.Indels будет иметь 2 символа в ALT или REF, SNV будет всегда иметь 1.
То, что у меня есть, извлекает заголовки (которые всегда начинаются с ##), но не любые из данных варианта.
original_file = open('/home/user/Documents/NA12878.vcf', 'r')
extracted_file = open('NA12878_SNV.txt', 'w+')
for line in original_file:
if '##' in line:
extracted_file.write(line)
# Extract SNVs while omitting indels
# Indels will have multiple entries in the REF or ALT column
# The ALT and REF columns appear at position 4 & 5 respectively
for line in original_file:
ref = str.split()[3]
alt = str.split()[4]
if len(ref) == 1 and len(alt) == 1:
extracted_file.write(line)
original_file.close()
extracted_file.close()