主页 > 手机  > 

vcf2phylipv2.8-生信工具46

vcf2phylipv2.8-生信工具46
vcf2phylip.py 01 介绍

将VCF格式的SNP转换为PHYLIP、NEXUS、二进制NEXUS或FASTA对齐格式用于系统发育分析

简要描述: 该脚本适用于Python 3,输入为VCF文件,使用SNP基因型生成矩阵以供系统发育分析,支持PHYLIP(松散版)、FASTA、NEXUS或二进制NEXUS格式。对于杂合SNP,脚本会生成共识并将IUPAC核苷酸模糊代码写入最终矩阵。支持任何倍性水平,并会自动检测。该代码经过优化,能够处理大规模的VCF矩阵(数百个样本和数百万个基因型),例如,在我们的测试中,它能够在约27分钟内处理一个20GB的VCF文件(大约300万个SNP × 650个个体)。脚本的初始版本只生成PHYLIP矩阵,但现在我们添加了其他流行的格式,包括用于在BEAST中通过SNAPP插件分析SNP的二进制NEXUS文件(仅适用于二倍体基因型)。

此外,您可以选择每个SNP所需的最小样本数,以控制最终的缺失数据量。由于系统发育软件通常会将树根定位在对齐的第一个序列上(例如RAxML、IQTREE和MrBayes),该脚本还允许您指定一个外组序列,该序列将作为对齐中的第一个序列。

压缩的VCF文件可以直接分析,但扩展名必须为.vcf.gz。

该脚本已通过以下工具生成的VCF文件进行测试:pyrad v.3.0.66、ipyrad v.0.7.x、Stacks v.1.47、dDocent、GATK、freebayes和graphtyper。

02 官网 github /edgardomortiz/vcf2phylip 03 使用方法 usage: vcf2phylip.py [-h] -i FILENAME [--output-folder FOLDER] [--output-prefix PREFIX] [-m MIN_SAMPLES_LOCUS] [-o OUTGROUP] [-p] [-f] [-n] [-b] [-r] [-w] [-v]

该脚本将VCF格式的SNP集合转换为PHYLIP、FASTA、NEXUS或二进制NEXUS文件,用于系统发育分析。代码已针对大于1GB的VCF文件进行了优化。对于小型VCF文件,当物种数增加时,算法会变慢(但仍然很快)。

允许任何倍性,但仅对于二倍体VCF会生成二进制NEXUS。

可选参数:

-h, --help:显示帮助信息并退出-i FILENAME, --input FILENAME:输入VCF文件的名称,可以是压缩格式(.vcf.gz)--output-folder FOLDER:输出文件夹的名称,如果文件夹不存在则会创建(默认与输入文件相同)--output-prefix PREFIX:输出文件的前缀(默认与输入VCF文件名相同)-m MIN_SAMPLES_LOCUS, --min-samples-locus MIN_SAMPLES_LOCUS:每个SNP位置所需的最小样本数(默认为4)-o OUTGROUP, --outgroup OUTGROUP:外组的名称,该序列将作为对齐的第一个物种-p, --phylip-disable:默认生成PHYLIP矩阵,除非启用此标志-f, --fasta:生成FASTA矩阵(默认禁用)-n, --nexus:生成NEXUS矩阵(默认禁用)-b, --nexus-binary:为二倍体基因型生成二进制NEXUS矩阵以进行SNAPP分析(默认禁用)-r, --resolve-IUPAC:随机解析杂合基因型,以避免矩阵中的IUPAC模糊性(默认禁用)-w, --write-used-sites:保存通过过滤器并用于对齐的坐标列表(默认禁用)-v, --version:显示程序版本号并退出 04 案例

示例:

在以下示例中,如果您更改了vcf2phylip.py文件的权限为可执行文件,则可以省略python。

示例1:使用默认参数创建一个最小样本数为4的PHYLIP矩阵:

python vcf2phylip.py --input myfile.vcf # 等同于: python vcf2phylip.py -i myfile.vcf # 该命令将创建一个名为`myfile_min4.phy`的PHYLIP文件

示例2:使用最小样本数为60创建PHYLIP和FASTA矩阵:

python vcf2phylip.py --input myfile.vcf --fasta --min-samples-locus 60 # 等同于: python vcf2phylip.py -i myfile.vcf -f -m 60 # 该命令将创建名为`myfile_min60.phy`的PHYLIP文件和名为`myfile_min60.fasta`的FASTA文件

示例3:创建所有输出格式,并选择“sample1”作为外组:

python vcf2phylip.py --input myfile.vcf --outgroup sample1 --fasta --nexus --nexus-binary # 等同于: python vcf2phylip.py -i myfile.vcf -o sample1 -f -n -b # 该命令将创建`myfile_min4.phy`的PHYLIP文件、`myfile_min4.fasta`的FASTA文件、`myfile_min4.nexus`的NEXUS文件和`myfile_min4.bin.nexus`的二进制NEXUS文件

示例4:如果您只希望创建NEXUS矩阵并禁用PHYLIP矩阵:

python vcf2phylip.py --input myfile.vcf --phylip-disable --nexus # 等同于: python vcf2phylip.py -i myfile.vcf -p -n # 该命令只会创建名为`myfile_min4.nexus`的NEXUS矩阵

示例5:如果您不希望在PHYLIP矩阵中出现IUPAC模糊表示的杂合基因型:

python vcf2phylip.py --input myfile.vcf --resolve-IUPAC # 等同于: python vcf2phylip.py -i myfile.vcf -r # 该命令将只创建一个名为`myfile_min4.phy`的PHYLIP矩阵,其中杂合基因型的IUPAC模糊性已随机解析

示例6:指定输出文件夹和输出前缀:

python vcf2phylip.py -i myfile.vcf.gz --output-folder /data/results --output-prefix mymatrix # 该命令将在`/data/results`文件夹中创建名为`myfile.min4.phy`的文件

示例7:写入用于对齐的坐标列表:

python vcf2phylip.py -i myfile.vcf.gz -w # 该命令将创建名为`myfile.min4.phy`的PHYLIP文件,并生成`myfile.min4.used_sites.tsv`的坐标列表  05 引用

Ortiz, E.M. 2019. vcf2phylip v2.0: convert a VCF matrix into several matrix formats for phylogenetic analysis. DOI:10.5281/zenodo.2540861

标签:

vcf2phylipv2.8-生信工具46由讯客互联手机栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“vcf2phylipv2.8-生信工具46