前言
你以为,曼哈顿图之前的数据,
天都会给你准备好?
实际是,你去曼哈顿前,都起码买张机票吧?
这文章重点不在作图,作图可以参考其他大神的文章(会列举在最下面~)
本节谈谈画图前的数据整理。
首先我们看看手上的数据:(某些数据确实已经产生,或者整理得很好的,请忽略一下n字~)
一开始的数据是,每一个染色体号码都是0的,很明显,这样的数据合并后,曼哈顿图出来的结果是不会分开23个染色体柱的。
首先,我们需要批量把某一列改成“相同的值”
这个时候,就要打开terminal,然后执行一下改名工作:
mv chr19.txt tmp
awk '{print $1=19,$2,$3,$4,$5,$6}' tmp > chr19.txt
人话:
总之,
不要告诉我用Excel打开,然后对着CHR一列,下拉8万多个格子,然后重复23次就好!~
(这里还是建议小白用最粗暴的方法打开每一个Excel表格,进行分列,整理如“r s”成为“rs”,“6 :”成为“6:”,是的,空格就是那么讨厌!)
接着,就是合并数据了
(请打开R-studio 当然Terminal上操作也可以~)
读入数据:
读入数据后,就要用rbind合并数据咯~
相信我,打消用Excel复制黏贴合并的念头!
因为:Excel根本显示不了那么多行啊!(“大数据”,还是要给点面子吧)
chrall=rbind(chr1,chr2,chr3,chr4,chr5,chr6,chr7,chr8,chr9,chr10,chr11,chr12,chr13,chr14,chr15,chr16,chr17,chr18,chr19,chr20,chr21,chr22,chr23)
是的,这个操作对于一部小小的Macbook Pro来说,风扇呼呼地响,走去茶水间冲个茶,都是正常的~
列名的修改, names()
names(chrall) <- c("CHR","SNP","BP", "A1", "P","F_U")
来吧,我的曼哈顿~
gwassclc1 <- chrall[,c(2,1,3,5)]
data2 <- na.omit(gwassclc1)
library(qqman)
color_set <- rainbow(22)
manhattan(data2,col = color_set)
说人话:
1.提取数据集中需要的列;
2.去除数据集中的NA(你不需要这个数据啦);
3.调动qqman包;
4.设颜色(随便弄,找到自己喜欢的颜色就好);
5.出来吧!“曼哈顿”~就是你了~ (这里又是一个上厕所或者冲茶的瞬间...)
后记:
距离宝可梦大师是不是又近了一步呢?
参考文章:
1.https://taoyan.netlify.com/post/2018-01-11.一步步教你如何绘制gwas中的曼哈顿图以及qq图/;
2.https://www.jianshu.com/p/e914ecb99fcc;
3.如何理解GWAS中Manhattan plot和QQ plot所传递的信息。