GWAS分析-说人话(12)“BUG”?您好!

前言

当岁月静好,一切就等着到“曼哈顿”相见的时候

“BUG”就悄悄地来了!~

如暴风雨前一样安静。


若数据安好,便是晴天~

当一切如前话获得一个又一个的关联结果后,卡壳的事情出现了!

当我使用keep保留希望留住想要的亚组的时候,居然报错了!(是的1-23号染色体,只有15号有问题)

小白幼小而又脆弱的心灵!

提取完后居然没有剩下的样本!?

反正我也有22条染色体了~ 不如......

骚年!忘记骚想法!科学精神都去哪里了!!!

于是就要开始查原因了。

人话:结果是简单的,但是查找原因的过程是痛苦的~

正如:相爱是简单的,但是相处的日子是痛苦的一样。


第一步:一开始,我并不知道Individual ID是不是真的不存在(当然不存在的可能性不大~)

但是本着科学的精神,我们还是在需要提取的txt文件(--keep中间的那个文件)中挑一个individual ID出来,

grep -nw 142120126 chr19.ped 

是存在的~
反复查找是否存在

IID说:你爱或不爱,我就在哪里~

那么,究竟是什么阻挡着我们的康庄大道?


第二步:为什么其他染色体能够提取出来,就这个不行?

是否有天生异品之处?

我们先看看文件长什么样子!

打开15号(不能提取的),19号和22号(能提取的)文件,看长什么样子(文件较大,打开需要一点时间~ 注意加head!!!!否则普通电脑handle不了!)

awk '{print $1,$2}' chr15.ped |head 

awk '{print $1,$2}' chr19.ped|head

awk '{print $1,$2}' chr22.ped |head

结果:

看到了吗?15号染色体和其他的染色体不!一!样!

第三步:把所有不同的™️给找出来!

你想想,就看前几行就已经有不一样了,中间的呢?后面的呢?

相信我,你是不可能全部打开,然后一个一个对比的!!!!

(有听过愚公移山吗?)

我们首先读入15号染色体和20号染色体(随便选的,一个能跑的就可以了)

打开R(Rstudio也好,Terminal的R也罢)

读入chr15.fam文件

chr15fam=read.table("chr15.fam",header=F,stringsAsFactors=F)

读入chr20.fam文件

chr20fam=read.table("chr20.fam",header=F,stringsAsFactors=F)

我说过了,熟悉这些文件是什么,是很重要的!(GWAS分析-说人话(2)认识文件名

查看一下,我们关心的第二列(Individual ID,我们想保留的)是否不一样

#首先配对

tmp=match(chr15fam[,2], chr20fam[,2])

#然后查看没有配对的元素个数(我们的目的是查不同啊~)

length(which(is.na(tmp)))

结果:

[1] 2

没想到还真有!(15号染色体有两个不同于其他染色体的存在!)

究竟是哪个!!!

which(is.na(tmp))

[1]  275 1211

我们来看一个全相!

chr20fam[notfound,]

          V1              V2              V3 V4 V5 V6

275  famid275 142120304  0  0  0 -9

1211 famid1211 142120782  0  0  0 -9

我们从一开始的head,发现了某些individual ID缺失了,导致和FamilyID的配对乱了!

所以我们尽管看看是否如此:

查看15号染色体第274行(减一行)的样子

chr15fam[274,]

结果:

          V1        V2 V3 V4 V5 V6

274 famid274 142120304  0  0  0 -9

对比15号染色体第275行

chr20fam[275,]

好的,发现第二行的Individual ID是一样的,但是Family ID确实不一样!

          V1        V2 V3 V4 V5 V6

275 famid275 142120304  0  0  0 -9

这个就是为什么之前的keep完全提取不了数据的原因!!!

我们要知道,--keep中间的文件是有两行的,是配对的!

这个染色体乱套了!!

是的,一子错满盘皆落错!(这是原来数据集的问题啦~)

第四步:我们通过科学的方法查找了问题所在了,接下来就是解决问题了!~

#我们首先在R中读入原来用在--keep中的txt文件

scfam=read.table("SCfam.txt",header=F,stringsAsFactors=F)

#在terminal中提取15号染色体ped文件前两行(Family ID和Individual ID),保存为一个txt文件。

awk '{print $1,$2}' chr15.ped > ~seedson/Desktop/file/Chr15IDs.txt

awk '{print $1,$2}' chr20.ped > ~seedson/Desktop/file/Chr20IDs.txt (用于后面的确认而已)

在R中读入15号染色体的txt文件

chr15=read.table("Chr15IDs.txt",header=F,stringsAsFactors=F)

#可省略(不过习惯上都要看看数据读入成不成功,不成功的话,后面的分析都是不靠谱的!~)

scfam[1:2,]

chr15[1:3,]

 dim(chr15)

dim(chr20)

control15[1:3,]

#我们再确认一下,第二行是否有差异,差异的是哪个(上述第三步重复)

tmp=match(chr15[,2], chr20[,2])

length(which(is.na(tmp)))

which(is.na(tmp))

chr20[275,]

chr20[1211,]

Terminal界面:

相信我,查BUG就是要反复确认,因为没有人会告诉你答案

大招来了!~

设定一个变量(scinchr15),把需要提取的Individual ID和全部的15号染色体的Individual ID配对起来(第二列)

scinchr15= match(scfam[,2], chr15[,2])

#length(which(is.na(scinchr15)))

#scinchr15[1:10]

#scfaminchr15=match(scfam[,1], chr15[,1])

#length(which(is.na(scfaminchr15)))

#scfaminchr15[1:10]

对于15号染色体需要提取的数据(scforchr15):

对于15号染色体的行,根据scinchr15保留,对于15号染色体的列,全部第一,二列全部保留。

scforchr15= chr15[scinchr15, 1:2]

#scforchr15[1:3,]

#scinchr15[1:10]

#输出数据,用于--keep中间。

write.table(scforchr15, file="SCfam_forChr15.txt",quote=F,row.names=F,col.names=F)

看见右下角的Done,腰不疼啦,腿不痛啦..上六楼啊也有劲勒

配对成功

对照组也是同样的处理(其他亚组也是一样了)

chr15=read.table("Chr15IDs.txt",header=F,stringsAsFactors=F)

control15=read.table("controlfam.txt",header=F,stringsAsFactors=F)

controlscinchr15= match(control15[,2], chr15[,2])

scforchr15control= chr15[controlscinchr15, 1:2]

write.table(scforchr15control,file="control_forChr15.txt",quote=F,row.names=F,col.names=F)

后记

告诉大家一个不幸的消息:尽管我经过如此谨慎的计算后,该染色体并没有我们想要的SNP

......

原谅我的浮躁~

c'est la 科研 (ᗒᗣᗕ)՞

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,036评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,046评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,411评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,622评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,661评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,521评论 1 304
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,288评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,200评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,644评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,837评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,953评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,673评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,281评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,889评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,011评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,119评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,901评论 2 355