您的位置:

python安装vcf库,vc调用python

本文目录一览:

跟着Nature ecology and evolution学python:vcf文件转换成fasta文件

本地pdf文件

A polar bear paleogenome reveals extensive ancient gene flow from polar bears into brown bears.pdf

这个脚本用到了 Pool python多线程处理,主要学习这个内容

如果是在windows系统下运行脚本

abc是一个文件夹,需要在当前目录下存在

这里会遇到报错 NameError: name 'dict_run' is not defined 这里的dict_run是使用global定义到函数里的一个变量,linux系统下就没有这个问题,windows学习通下的python是3.8.3,linux系统下的python版本是3.9.1

使用脚本的时候linux系统下不知道为啥用tab键不能补全文件名,暂时不知道是什么原因

脚本里定义了每种基因型对应的碱基序列

这里非纯合的位点定义为M R W这些是为啥,暂时想不明白

这个脚本有局限是,他定义了vcf文件的基因型

如果vcf文件的基因型不是这些的话就会报错keyError

这里Pool这个函数好像是必须搭配 if __name__ == '__main__': 这个语句

参考链接

小明的数据分析笔记本

基于vcf文件构建进化树

===========第一种方法利用VCF2Dis生成距离矩阵===================

VCF2Dis -i all.chromosome.SNP.changID.vcf -o p_dis.mat  //我大概600多份样品,也运行了3天左右

然后利用fastme转化成为树的格式(nwk)(链接:)

转化为newick格式

我个人喜欢iTol()来调整样式

==================第二种方法 转化vcf文件为phylip 格式==========

python vcf2phylip.py --input myfile.vcf --fasta --nexus 

然后,利用phylip构建进化树

phylip 在命令行中可以根据提示输入参数,也可以用含有参数的文本导入参数。

利用 dnadist:计算距离矩阵,最耗时,几千个SNP可能需要1天甚至数天。 参数文本dnadist.par //有点耗时间

$ cat dnadist.par

myfile.vcf.phy

2 #将软件运行情况显示出来

Y #确认以上设定的参数

$ dnadist dnadist.par

$ mv outfile dnadist.out

生成距离矩阵,然后利用neighbor: Neighbor-Joining 构建进化树

我最好还是在iTOL里面进行样式调整

python如何读取xml中的list表,并将其转换成如下VCF格式输出?请给出具体程序,编译成功给分

1.可以使用ElementTree模块

from xml.etree.ElementTree import ElementTree

from xml.etree.ElementTree import Element

from xml.etree.ElementTree import SubElement

from xml.etree.ElementTree import dump

from xml.etree.ElementTree import Comment

from xml.etree.ElementTree import tostring

2.可以使用BeautifulSoup模块

生物数据格式 - vcf/bcf

VCF是Variant Call Format的简称,该格式文件是专门用于存储基因序列突变信息的一种文本文件,包括单碱基突变SNV、单核苷酸多态性SNP、InDel、拷贝数变异CNV和结构变异SV等,文件可以采取editplus或pilotedit(建议)打开查看,其二进制存储格式是BCF。vcf文件后续可以用于多种分析,包括但不限于:进化树分析、群体结构分析、PCA分析、GWAS关联分析等。vcf文件格式如下:

VCF文件开头是整体的注释信息,以##作为起始,其后接FILTER、INFO、FORMAT等,其中##FILTER开头的行是vcf主体record中第七列缩写词的说明、##INFO开头的行注释vcf主体record中第8列的缩写字母、##FORMAT开头的行注释第九列的缩写字母。

在header之后,vcf主体的每一行是一条record,固定列有9列,以及在之后的第十列,它们分别是:

第一列:#CHROM,染色体号

第二列:POS,在染色体上的位置

第三列:ID,突变名称,一般只有人类才有dbSNP编号,以rs开头

第四列:REF,参考基因组碱基类型,必须大写

第五列:ALT,变异碱基类型,大写,多个以逗号分隔,‘.'表示缺失

第六列:QUAL,变异检测质量值,越高越可靠

第七列:FILTER,标记过滤结果的列:通过质控过滤标准的标记为‘PASS’,后续可用其他工具进行挑选过滤

第八列:INFO,附加信息列,附加信息的注释在header的##INFO中

第九列:FORMAT,后面信息的说明列

第十列开始为样品信息:GT=genotype、AD=碱基支持数量、DP=测序深度总和、PL=归一化后基因型的可能性、GQ=PL判读的基因型的质量值,其中当第二小的值小于99时,有必要怀疑基因型的可靠性。

vcf文件基本由bam文件生成,当得到排序并建立索引的bam文件后,可以使用多种工具例如bcftools、gatk、freebayes、lumpy、delly、varscan2等处理得到。

处理vcf格式文件的软件有许多种,包括:bcftools、vcftools、gatk、python_pyvcf、plink等。

———以上属个人理解与记录

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

但是phylip又不能直接把vcf文件作为输入文件,它的输入格式要求如下

第一行的两个数字分别为样本数和SNP数目

第二行的第一列为物种名称,一定要是10个字符的长度,长度不足可以用空格填充.第二列则是要用于比对的SNP序列。两列之间没有分隔符,而且后面的SNP每10个字符有一个空格.

python脚本如下:

可以选择输出fasta文件或者phy文件

怎么读取千人基因组中的vcf数据格式文件

(看到这个问题是近3年前的,提问者应该早就知道了,但好像没有正确的回答,就在这里回答一下希望对别的搜索的问题的人有帮助)

既然知道vcf文件,就默认你是在linux系统下操作的。

1)只是查看的话:如果是.vcf.gz压缩格式,就使用这个命令:less yourfile.vcf.gz,打开乱码试试这个:bcftools view yourfile.vcf.gz |less ;如果不是压缩格式: less yourfile.vcf就可以查看。

2)如果是要操作vcf的话:就用python,导入pysam模块,没有这个模块要下载。pysam模块下载:pip install pysam,如果下不了就自己网上搜一下。顺便提供一个pysam的说明文档,有操作示例:网页链接