python 将VCF中的FILTER列复制到所有样本#vcf的新创建的GF FORMAT字段

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 将VCF中的FILTER列复制到所有样本#vcf的新创建的GF FORMAT字段相关的知识,希望对你有一定的参考价值。

#!bin/usr/python
'''
Filter TransferScript
usage:
bcftools view  <filename> | python filter_transfer.py  | bcftools view -O z > <filename.het.polarized.vcf.gz>

Copies the filter column to a FORMAT (gt) field.

'''
import sys

def main():
    format_added = False
    for l in sys.stdin.xreadlines():
        l = l.strip()
        if l.startswith("#CHROM"):
            # Get Sample information and count
            samples = l.strip().split("\t")[9:]
        elif l.startswith("#"):
            # Add Info line for het polarization flag
            if l.startswith("##FORMAT") and format_added == False:
                format_added = True
                l = l + "\n##FORMAT=<ID=GF,Number=1,Type=String,Description=\"Genotype Filter\">"
        else:
            l = l.split("\t")
            FILTER = l[6]
            l[8] = l[8] + ":" + "GF"
            l[9:] = [x + ":" + FILTER for x in l[9:]]
            l = '\t'.join(l)

        sys.stdout.write(l + "\n")



if __name__ == '__main__':
    main()

以上是关于python 将VCF中的FILTER列复制到所有样本#vcf的新创建的GF FORMAT字段的主要内容,如果未能解决你的问题,请参考以下文章

VCF文件参数解读

将所有联系人导出到 VCF (vcard) 文件 Windows phone

将多个样本的vcf文件转化为Phylip输入格式的python脚本

在不打开联系人应用程序的情况下以编程方式将 vcf 保存到 Android 中的联系人

python - 如何将qwidgettable中的列设置为python中的会计格式? [复制]

如何在熊猫数据框中的所有列中搜索模式,并在找到时将其复制到另一列