重测序分析--构建物种系统发育树

最近开始对重测序数据进行分析,针对构建系统发育树做记录:
进入环境:

source activate bininfo

文件准备:SNP的.vcf文件
软件准备:bgzip(压缩为gz格式)、bcftools(合并文件)、plink(plink2)(数据过滤)、phylip(构树)、tassel(转换格式)。

①压缩文件:公司返回的vcf文件是单独的,即一个物种有一个snp.vcf,我们需要合成一个总vcf文件进行构树。另外有时公司返回的文件已经压缩snp.vcf.gz,需要用bzip解压再压缩。可在centos下文件管理解压。

bgzip -c -f xxx1.vcf > xxx1.vcf.gz
bgzip -c -f xxx2.vcf > xxx2.vcf.gz

②合并文件

bcftools index xxx1.vcf.gz
bcftools index xxx2.vcf.gz
bcftools merge xxx1.vcf.gz xxx2.vcf.gz -Oz -o merge.vcf.gz

输出了合并文件merge.vcf.gz,之后解压得到最终的合并文件merge.vcf

③plink(原文https://www.jianshu.com/p/44993691145f

过滤SNP

plink --vcf  merge.vcf --geno 0.1 --maf 0.01 --out all.missing_maf --recode vcf-iid --allow-extra-chr --set-missing-var-ids @:# --keep-allele-order

如果提示memory报错,则在后面加--memory 报错数字。

plink --vcf  merge.vcf --geno 0.1 --maf 0.01 --out all.missing_maf --recode vcf-iid --allow-extra-chr --set-missing-var-ids @:# --keep-allele-order --memory 217364096

如果pink持续报错,度娘不出来解决办法,使用plink2试试。
输出文件all.missing_maf

生成保留位点文件

plink --vcf all.missing_maf.vcf  --indep-pairwise 50 10 0.2 --out tmp.ld --allow-extra-chr --set-missing-var-ids @:#

过滤LD

plink --vcf  all.missing_maf.vcf --make-bed --extract tmp.ld.prune.in --out all.LDfilter --recode vcf-iid --keep-allele-order --allow-extra-chr --set-missing-var-ids @:#

输出文件all.LDfilter.vcf

④构树

将vcf转为phylip格式文件

run_pipeline.pl -Xms1G -Xmx5G -importGuess all.LDfilter.vcf -ExportPlugin -saveAs sequences.phy -format Phylip_Inter

生成dnadist需要的配置文件

echo -e "sequences.phy\nY" > dnadist.cfg

运行dnadist生成距离矩阵文件

dnadist < dnadist.cfg  >dnadist.log

生成neighbor程序需要的配置文件

mv outfile infile.dist
echo -e "infile.dist\nY"  > neighbor.cfg

构建nj树

neighbor  <  neighbor.cfg  >nj.log

整理结果格式

less infile.dist | tr '\n' '|'| sed 's/| / /g' | tr '|' '\n' >infile.dist.table
less outtree | tr '\n' ' '|sed 's/ //g' > outtree.nwk

输出文件outtree.nwk,用MEGA进行优化。

2022.10.30 by ZXG

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容