VCF 文件缺少强制性标题行(“#CHROM...”)

Posted

技术标签:

【中文标题】VCF 文件缺少强制性标题行(“#CHROM...”)【英文标题】:VCF file is missing mandatory header line ("#CHROM...") 【发布时间】:2022-01-20 14:01:32 【问题描述】:

当我要使用 docker 映像和操作系统 ubuntu 18.04 中的 scikit-allel 库读取 VCF 文件时,出现错误。这表明

raise RuntimeError('VCF 文件缺少强制标题行 ("#CHROM...")') RuntimeError: VCF 文件缺少强制标题行 ("#CHROM...")

但在 VCF 文件中是格式良好的。

这是我如何申请的代码:

import pandas as pd
import os
import numpy as np
import allel
import tkinter as tk
from tkinter import filedialog
import matplotlib.pyplot as plt
from scipy.stats import norm

GenomeVariantsInput = allel.read_vcf('quartet_variants_annotated.vcf', samples=['ISDBM322015'],fields=[ 'variants/CHROM', 'variants/ID', 'variants/REF',
 'variants/ALT','calldata/GT'])

安装的版本: 蟒蛇 3.6.9 Numpy 1.19.5 熊猫 1.1.5 scikit-allel 1.3.5

【问题讨论】:

【参考方案1】:

你需要在第一行添加这样的一行:

#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT NA00001 NA00002 NA00003

但并非所有文件都是静态的,您必须像上面一样为您的文件创建Header。 (我建议先试试这个标题,如果有错误,然后自定义它)

【讨论】:

感谢您的建议。我确实喜欢,但仍然遇到同样的错误

以上是关于VCF 文件缺少强制性标题行(“#CHROM...”)的主要内容,如果未能解决你的问题,请参考以下文章

vcf-tools 笔记

VCF文件参数解读

GATK 模块 CombineVariants 合并多样本 VCF 时 AD 字段缺失问题

将phasing的vcf文件转化为plink格式时保持phasing状态

结合两个具有不同 sampleId 和位置的 VCF 文件

如何为单个联系人创建 .vcf 文件?