首页 > 解决方案 > 使用 PyVCF 按读取深度过滤 VCF 文件的问题

问题描述

我正在尝试使用 PyVCF 过滤掉读取深度为 10 或以上的站点。我知道内置过滤器可以按 PyVCF 中的读取深度排序,但我无法让它正常工作。相反,我尝试自己编写一个小脚本来执行此操作,但下面的脚本会产生以下错误:“TypeError: '>=' not supported between 'str' and 'int'”

谁能帮助我弄清楚如何通过深度读取、PyVCF 中的过滤器或我自己的脚本进行过滤?为什么我无法在这些实例之间使用 >= 命令?

import vcf
filename = "FR320N_shifted_ChrY.vcf"
fileoutput = "FR320N_shifted_ChrY_filtered_DP10.vcf"

vcf_reader = vcf.Reader(open(filename, 'r'))
vcf_writer = vcf.Writer(open(fileoutput, 'w'), vcf_reader)

for record in vcf_reader:
    if record.INFO['DP'] >= 10:
        vcf_writer.write_record(Record)

标签: python-3.xvcf-vcard

解决方案


推荐阅读