文本处理时需小心驶得万年船
同样的GEO数据库的NGS数据重新处理,按照往常的方式下载sra转为fq,链接是:https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE102339
但是在制作配置文件的时候发现:
$head gsm2sample.txt
GSM2734944 ChIP-Seq_Ez_WT_1
GSM2734945 ChIP-Seq_Ez_WT_2
GSM2734946 ChIP-Seq_Ez_WT_3
GSM2734947 ChIP-Seq_Pc_WT_1
GSM2734948 ChIP-Seq_Pc_WT_2
GSM2734949 ChIP-Seq_Ph_WT_1
GSM2734950 ChIP-Seq_Ph_WT_2
GSM2734951 ChIP-Seq_Pho_WT_1
GSM2734952 ChIP-Seq_Pho_WT_2
GSM2734953 ChIP-Seq_Pho_WT_3
jianmingzeng 10:31:27 ~/project/fly
$head srr2gsm.txt
SRR5907429 GSM2734944
SRR5907430 GSM2734945
SRR5907431 GSM2734946
SRR5907432 GSM2734947
SRR5907433 GSM2734948
SRR5907434 GSM2734949
SRR5907436 GSM2734951
SRR5907437 GSM2734952
SRR5907438 GSM2734953
SRR5907439 GSM2734954
sra数据库的文件的srr开头的ID需要以gsm开通的id进行中转才能对应到真正的样本处理信息。
下意识的把这两个文件paste一下,因为粗略看起来顺序是一致的:
SRR5907429 GSM2734944 GSM2734944 ChIP-Seq_Ez_WT_1
SRR5907430 GSM2734945 GSM2734945 ChIP-Seq_Ez_WT_2
SRR5907431 GSM2734946 GSM2734946 ChIP-Seq_Ez_WT_3
SRR5907432 GSM2734947 GSM2734947 ChIP-Seq_Pc_WT_1
SRR5907433 GSM2734948 GSM2734948 ChIP-Seq_Pc_WT_2
SRR5907434 GSM2734949 GSM2734949 ChIP-Seq_Ph_WT_1
SRR5907436 GSM2734951 GSM2734950 ChIP-Seq_Ph_WT_2
SRR5907437 GSM2734952 GSM2734951 ChIP-Seq_Pho_WT_1
很诡异的地方就是,文件开头和结尾都是一致的,但偏偏就是中间的一个样本顺序是错乱的,而且我再三检查,的确错乱了,现在无法确认是作者自己上传的问题,还是本身就应该是这样的。
$grep GSM2734950 *
gsm2sample.txt:GSM2734950 ChIP-Seq_Ph_WT_2
SraRunTable.txt:ChIP-Seq 51 SAMN07457456 SRX3068959 SINGLE ChIP GENOMIC 2018-01-23 553 378 SRR6490544 SRS2413439 GSM2734950 PRJNA397448 GEO public sra ncbi 0 Illumina HiSeq 2500 Drosophila melanogaster ILLUMINA 2018-03-08 SRP114984 third instar larval imaginal discs and brains third instar larval imaginal discs and brains
srr2gsm.txt:SRR6490544 GSM2734950
本来想着用linux的join命令来把两个文件一一对应,不过想了想那个命令需要文件本身是排序的,所以我排序后,还不如干脆就paste了。
GSM2734944 ChIP-Seq_Ez_WT_1 SRR5907429 GSM2734944
GSM2734945 ChIP-Seq_Ez_WT_2 SRR5907430 GSM2734945
GSM2734946 ChIP-Seq_Ez_WT_3 SRR5907431 GSM2734946
GSM2734947 ChIP-Seq_Pc_WT_1 SRR5907432 GSM2734947
GSM2734948 ChIP-Seq_Pc_WT_2 SRR5907433 GSM2734948
GSM2734949 ChIP-Seq_Ph_WT_1 SRR5907434 GSM2734949
GSM2734950 ChIP-Seq_Ph_WT_2 SRR6490544 GSM2734950
GSM2734951 ChIP-Seq_Pho_WT_1 SRR5907436 GSM2734951
GSM2734952 ChIP-Seq_Pho_WT_2 SRR5907437 GSM2734952
GSM2734953 ChIP-Seq_Pho_WT_3 SRR5907438 GSM2734953
GSM2734954 ChIP-Seq_Psc_WT_1 SRR5907439 GSM2734954
GSM2734955 ChIP-Seq_Psc_WT_2 SRR5907440 GSM2734955
GSM2734956 ChIP-Seq_Spps_WT_1 SRR5907441 GSM2734956
GSM2734957 ChIP-Seq_Spps_WT_2 SRR5907442 GSM2734957
GSM2734958 ChIP-Seq_Input_WT_1 SRR5907443 GSM2734958
GSM2734959 ChIP-Seq_Input_WT_2 SRR5907444 GSM2734959
GSM2734960 ChIP-Seq_H3K27_SppsKO_1 SRR5907445 GSM2734960
从代码的角度来看,问题是解决了。
但是只有把数据重新处理过后才能完全知道是不是作者上传数据本身的错误。
Attention!
生信基础知识大全系列:生信基础知识100讲
7次改版,11节课程,14K的讲稿,30个夜晚打磨,100页PPT的课程。
如果需要组装自己的服务器:代办生物信息学服务器
如果需要帮忙下载海外数据(GEO/TCGA/GTEx等等),点我?
如果需要个人电脑:个人计算机推荐
如果需要置办生物信息学书籍,看:生信人必备书单
如果需要实习岗位:实习职位发布
如果需要售后:点我
如果需要入门资料大全:点我