这几天学习了如何在中对RNA-seq的原始数据(Raw data)进行上游分析。主要分为以下几个步骤:
1.质量评估和质控处理
2.基因组比对
3.基因表达水平定量
每一个步骤的详细操作如下:
1.质量评估和质控处理
拿到raw data时,可以直接用fastqc来进行质控(QC),输入以下命令。
sudo apt install fastqc
fastqc xxx.fastq
这次使用的数据质量好,所以没有进行质控处理。之后有质控会再写。
2.基因组比对
先从NCBI等网站下载参考基因组,然后构建索引。使用构建软件,一般推荐hisat2。之后可能还会试一下STAR。输入以下命令即可。
sudo apt install hisat2
hisat2-build -p [the number of threads] [file.fa] [the name of your genome index]
完成之后,可以先看一看自己的在哪里了。一般都是在建索引时所在位置。最好把索引和自己要跑的数据放在同一个位置,我觉得这样比较方便之后再跑。然后开始比对,形成sam文件。命令如下。
hisat2 -p [the number of threads] -x [genome index address] -1 [file1] -2 [file2] -S xxx.sam
跑出来之后就是一个sam文件,之后用samtools转化为bam文件,sort.bam文件,和bam.bai文件方便之后的分析
sudo apt install samtools
samtools view -bS xxx.sam > xxx.bam
samtools sort -@ [the number of threads] xxx.bam > xxx.sort.bam
转换为sort.bam文件之后就可以进行下一步分析
3.基因表达水平定量
用htseq count来计算比对数目:即有多少个reads比对上了外显子基因,此时还需要基因功能注释文件。
基因注释文件下载:从NCBI等网站中可以获取。下载后为gtf文件。
1.首先检查HTseq有没有下载,没有下载需要自行下载。
sudo apt install python-htseq
2.之后可以开始使用htseq命令。
htseq-count -f bam -i gene_id -m union [align file] [gtf file] > counts.txt
*注意:有时htseq运行期间有可能报错,
比如:
numpy.ndarray size changed, may indicate binary incompatibility. Expected 96 from C header, got 80 from PyObject.
这表明numpy的版本与当前一些库的版本不匹配,所以报错。升级numpy即可。
按照以下的一些命令可以处理好:
pip install --upgrate numpy
之后就可以继续运行htseq。