测序数据的质控和过滤
见上一篇论文 https://www.jianshu.com/p/0a8461b1ea7a
本文涉及到的软件
RSEM软件包 RSEM (RNA-Seq by Expectation-Maximization)
http://deweylab.github.io/RSEM/
安装:
conda install -c bioconda rsem
Trinity软件包
安装:
conda install -c bioconda trinity
正文1.构建参考基因组
a. 参考基因组.fa及注释文件.gtf的下载
ensembl : ftp://ftp.ensembl.org/pub (我个人首选)
NCBI : ftp://ftp.ncbi.nih.gov/genomes/
UCSC:ftp://hgdownload.soe.ucsc.edu/goldenPath
注意:1. 参考基因组尽量下载dna.primary_assembly.fa.gz(仅包含组装到染色体上的序列),如果没有就下载dna.toplevel.fa.gz(包含未组装到染色体上的scaffold),如下图人的参考基因组:
人参考基因组:ftp://ftp.ensembl.org/pub/release-99/fasta/homo_sapiens/dna/
小鼠参考基因组:ftp://ftp.ensembl.org/pub/release-99/fasta/mus_musculus/dna/
大鼠参考基因组:ftp://ftp.ensembl.org/pub/release-99/fasta/rattus_norvegicus/dna/
2. 注释文件下载要与参考基因组同一个网站,要不然后边构建参考基因组时会报错...,下载文件最好是chr.gtf.gz结尾.
人注释文件 :ftp://ftp.ensembl.org/pub/release-99/gtf/homo_sapiens
小鼠注释文件:ftp://ftp.ensembl.org/pub/release-99/gtf/mus_musculus
大鼠注释文件:ftp://ftp.ensembl.org/pub/release-99/gtf/rattus_norvegicus
下载完成后解压,命令:“gunzip 文件.gz“.
b. 构建参考基因组(以大鼠为例)
新建一个目录,名字叫ref,将构建好的索引放在这个目录中。
rsem-prepare-reference --gtf /public/home/huangshsh/zxg/ref_genome/Rattus_norvegicus.Rnor_6.0.99.chr.gtf \
--bowtie2 \
-p 16 \
/public/home/huangshsh/zxg/ref_genome/Rattus_norvegicus.Rnor_6.0.dna.toplevel.fa \
./rn6
#--gtf 参数后跟解压后的注释文件
#--bowtie2 利用bowtie2构建索引,默认bowtie2在path中,若没有后边要跟bowtie的路径
#-p 参考基因组构建索引的线程数,根据自己电脑实际情况来
#再跟上解压后的参考基因组
#再跟上参考基因组索引的前缀(rn6 )
索引构建成功后如下图
若出现错误
这表明注释文件和参考基因组不是同一来源,要换成同一来源的才行。
正文2.比对和表达定量
参考基因组索引构建成功后,对每个样本进行比对和表达定量,以W2BR样品为例
rsem-calculate-expression --strandedness reverse \
--paired-end \
-p 16 \
--bowtie2 \
../cleandata/W2BR_P_R1.fq.gz \
../cleandata/W2BR_P_R2.fq.gz \
/public/home/huangshsh/zxg/rat_trans_nn/rsem/ref/rn6 \
W2BR
#--strandedness reverse 建库方式,一般为illumina的方式,具体自己查资料
#--paired-end 双尾测序
# -p 16程序运行的线程数
# --bowtie2 用bowtie2构建的索引
#../cleandata/W2BR_P_R1.fq.gz 第一个测序文件
#../cleandata/W2BR_P_R2.fq.gz 第二个测序文件
# /public/home/huangshsh/zxg/rat_trans_nn/rsem/ref/rn6 参考基因组文件位置.../ref/,参考基因组索引前缀rn6
#W2BR 结果文件前缀(这个参数很容易遗漏,会报错的)
比对要一会,完成后结果如下:
一个文件夹和两个文件,其中genes.results是以基因为基础的,包含了gene_id,对应transcript_id, count,TPM和FPKM等信息。
isoforms.results是转录本为基础的
正文3.生成表达量矩阵文件
利用trinity安装包中的util/abundance_estimates_to_matrix.pl(一个perl脚本)
ls *.genes.results > genes.quant_files.txt #将所有的genes.results文件的名字存到genes.quant_files.txt ,当成一个目录后边要用
路径到trinity安装包下/util/abundance_estimates_to_matrix.pl \
--est_method RSEM \
--cross_sample_norm TMM \
--gene_trans_map none \
--quant_files genes.quant_files.txt \
--out_prefix rsem_matrix
# or /public/home/huangshsh/zxg/software/trinityrnaseq-2.9.0/util/abundance_estimates_to_matrix.pl --est_method --quant_files file.listing_target_files.txt
# Note, if only a single input file is given, it's expected to contain the paths to all the target abundance estimation files.
# Required:
# --est_method RSEM|eXpress|kallisto|salmon (needs to know what format to expect)
# --gene_trans_map the gene-to-transcript mapping file. (if you don't want gene estimates, indicate 'none'.
# 可以从gtf中提取转录本信息,最后做成的文件要转录本-基因一一对应,转录本一定要在前
# 边,两者用\t分隔。
# Options:
# --cross_sample_norm TMM|UpperQuartile|none (default: TMM)
# --name_sample_by_basedir name sample column by dirname instead of filename
# --basedir_index default(-2)
# --out_prefix default: value for --est_method 前缀随意命名,默认为RSEM
# --quant_files file containing a list of all the target files.
结果文件如下图
我们后续要用到第一个,rsem_matrix.gene.counts.matrix
正文4.差异表达基因分析
要用到R包里边的DESeq2或edgeR,所以R里边要提前装好DESeq2包或者edgeR包。
脚本命令用到trinity软件目录下的/Analysis/DifferentialExpression/run_DE_analysis.pl,所用到的脚本参数如下:
$TRINITY_HOME=~/zxg/software/trinityrnaseq-2.9.0 #trinity的安装路径
perl $TRINITY_HOME/Analysis/DifferentialExpression/run_DE_analysis.pl \
--matrix ~/zxg/rat_trans_nn/rsem/rsem_matrix.gene.counts.matrix \
--method DESeq2 \
--samples_file sample.list.txt
##sample.list.txt格式如上图所示