文章测序数据下载碰到的问题的小总结(南京站学员分享)
我目前的项目主要参考了一篇文献,我想借重复这篇文章的数据分析及表格制作来巩固学习3天的生信技能树培训内容。我翻到文章最后找到了数据的获取方式:
载入下载页面后一看有两个“数据大小”:Bytes和Bases,并且数据都不小,我电脑硬盘只有1T,如果下载数据是后者,那我连数据下载的第一步都无法完成,得先去扩展硬盘了。
那么这两个数字哪个是下载数据大小呢?
最直接的方式是将所有文件全部下载下来,看看文件的总大小,但是如果这样做耗时太长。我打算下载一个文件看看大小,然后找到tablelist里与文件大小对应列,统计一下整列的值的和,就得到了所有样本的数据量。看看这个数据量是不是对应的这两个数字中的一个。下载命令如下:
nohup wget -c https://sra-download.ncbi.nlm.nih.gov/traces/sra76/SRR/008301/SRR8500494 &
ls -lh
我下载的样本名称编号是SRR8500494,这个样本文件的大小是549M
在页面下方的表格中找到对应的样本,该数字对应的列名是MBytes,在R中统计MBytes和MBases这两列的数据的总和,
命令及结果如下:
> rm(list = ls())
> options(stringsAsFactors = F)
> x <- read.table("SraRunTable.txt",sep = ',',header = T)
> dim(x)
[1] 119 33
> colnames(x)
[1] "Run" "Assay.Type"
[3] "AvgSpotLen" "Biomaterial_provider"
[5] "BioProject" "BioSample"
[7] "BioSampleModel" "Center.Name"
[9] "Consent" "DATASTORE.filetype"
[11] "DATASTORE.provider" "DATASTORE.region"
[13] "Experiment" "Instrument"
[15] "isolate" "Library.Name"
[17] "LibraryLayout" "LibrarySelection"
[19] "LibrarySource" "MBases"
[21] "MBytes" "Organism"
[23] "Platform" "ReleaseDate"
[25] "sample_acc" "Sample.Name"
[27] "sex" "SRA.Study"
[29] "tissue" "disease"
[31] "Age" "capture"
[33] "replicate"
> y <- x$MBytes
> z <- x$MBases
> sum(y)
[1] 314988
> sum(z)
[1] 915887
结果说明Bytes的数值代表下载下来的SRA文件的大小。
(最开始并不知道页面里可以勾选单个样本,并且页面会显示样本的这2个数据)
插曲1:刚开始没有加参数,结果报错如下
> rm(list = ls())
> options(stringsAsFactors = F)
> x <- read.table("SraRunTable.txt")
Error in scan(file = file, what = what, sep = sep, quote = quote, dec = dec, :
line 1 did not have 14 elements
后来用Notepad++打开,发现数据分隔符是“,”,猜想可能是分隔符的问题,搜索后添加打开函数的参数,结果成功打开。
插曲2:用R语言统计的Bytes的结果是314988M,与307.61 Gb看上去不相等,实际是以1024为倍数换算是一致的;用R语言统计的Bases的结果是915887,与915.89 G确是以1000换算的。
再看看shell里的换算倍数是哪个:
嗯,是1024。
另外一个值的单位是bp,我猜想是数据读到的碱基数总和,为了验证我的猜想,我将下载下来的文件进行了SRA->Fastq文件的转换,并想用Fastqc统计总base数,结果发现Fastqc并不会统计这个值,于是在网上搜索了如下一行命令直接可以得到这个值:
(base) $ cat SRR8500494_1.fastq | paste - - - - | cut -f 4 | fold -w 1 | wc -l
882574875
(base) $ cat SRR8500494_2.fastq | paste - - - - | cut -f 4 | fold -w 1 | wc -l
882574875
可以看到,R1和R2的值相加刚好是该样本对应的Bases值:1.76G。
至此,这个两个数值是代表什么就搞清楚了:Bytes代表下载下来的SRA文件的大小,Bases代表的是这个数据读取的碱基数总和。
不知道你有没有发现,就是没有人提到fastq文件的大小呢?
聪明的读者朋友,可以留言说出自己的看法,为什么不标记fastq文件的大小?
另外,推荐学徒数据挖掘第二期汇总之多分组基因注释代码大放送(compareCluster) ,部分精彩推文如下: