Admixture只能用整数染色体: "Invalid chromosome code. Use integers!"

原始帖

Admixture做群体结构分析是好用,但也有一些不顺手的地方。最大的问题是不支持非整数的染色体号!

相信我们手里绝大部分vcf或plink格式文件,染色体ID基本是文本类型的吧。注意plink处理时加上-allow-extra-chr,若染色体数超过人类,可使用--chr-set设置。

scaffold或chr等字符不谈,我们可以手动处理为数字。但异常多倍体呢?比如小麦、油菜等,必须有chrA、ChrB。能否把亚组基因组也直接改为其他数字来代替?

官方好像没找到回答,一些网友认为是可以的。

比如异源四倍体的油菜,将A亚基因组改为数字,C亚基因组改为另一组数字。

sed 's/^chrA0//g;s/^chrA//g' snp.bim |sed 's/^chrC01/11/g;s/^chrC02/12/g;s/^chrC03/13/g;s/^chrC04/14/g;s/^chrC05/15/g;s/^chrC06/16/g;s/^chrC07/17/g;s/^chrC08/18/g;s/^chrC09/19/g' >new.snp.bim
mv new.snp.bim snp.bim

for K in {2..10};do
admixture --cv snp.bed $K | tee log${K}.out;
done
grep -h 'CV'  log*.out >CV.log

https://www.biostars.org/p/236704/


补充1:vcf转plink格式时染色体自动数字化

使用Plink软件将vcf格式转化为plink格式时,若染色体号类似chr1/Chr1/chr01/Chr01等时,会自动变为1(类似chrA01、chromosome1的则不行),不管有没有加-allow-extra-chr
image.png
image.png

如果染色体号既存在chr1/chr01/Chr1/Chr01,又存在1时(实际数据不会存在这种情况,有时请检查数据正确性),则plink转化的1会与原来的1形成冲突,报错误: .bim file has a split chromosome. Use --make-bed by itself to remedy this.
也就是说chr/Chr后的数字和原有数字不能相同,否则将冲突,无法完成plink格式转化。

补充2:染色体重新编号后,admixture分析结果的准确性

admixture不能对非整数型染色体号分析,对非整数型染色体号重新编数字,以及编不同的数字,会不会对结果产生影响?答案是肯定的。
比如我有一个油菜的基因型文件:

  • 第一次分析将chrA01-10改为1-10,chrC01-C09改为11-19

  • 第二次分析chrA01-10改为1-10,chrC01改为21,chrC02-C09改为12-19,结果只有少数几行有一点点变化。
    image.png

  • 第三次随便瞎改sed 's/11/21/g;s/12/22/g;s/13/23/g;s/14/24/g;s/15/25/g',行数变化增多,但还是很小,约0.00001位数变化。
    image.png

  • 以上是划分2个亚群的结果,划分3个及以上时,这种差异稍微变大了。

image.png

总体而言,还是可以接受的。所以,admixture分析似乎与染色体号无多大关系,重新进行数字编号分析是可以的。

posted @ 2023-03-14 17:09  生物信息与育种  阅读(472)  评论(0编辑  收藏  举报