无生物学重复RNA-seq原始数据预处理

1:fastq检测测序质量,命令行如下

使用tmux将命令挂后台运行,不用担心因为网络问题掉线导致运行终止

tmux new -s fastqc

fastqc -q -t 3 -o /home/wanghongli/teacherW/BMK_DATA_20220325154115_1/Data/1/ *.fq.gz

-q:表示quiet,安静运行,最后生成报告

-t:表示线程,可以提高计算速度

-o:表示输出结果目录

运行结束会得到fastqc报告,

绿色表示通过检测,黄色警告,红色表示不通过,需要进一步处理原始reads。一般情况下,我们比较关注GC含量,Q20和Q30的比例以及是否存在接头(adaptor)、index以及其他物种序列的污染等。

2:去接头并质控

trim galore命令

tumx new -s trim_galore
trim_galore --illumina --fastqc --paired -o /home/wanghongli/teacherW/BMK_DATA_20220325154115_1/Data/1/ *.fastq.gz

--illumina:表示illumina接头

--fastqc:去完接头后进行fastqc质控

--paired:表示双端测序

-o:表示输出结果目录

输出结果:

生成的_val_fastq.gz文件是原始文件去完接头后得到的文件。通过网页打开质控文件,看看是否去接头成功。

3:比对

3.1.参考基因

小鼠   /home/wanghongli/mm10/mm10
人类   /home/wanghongli/hg38/hg38

3.2.基因注释

小鼠   /home/wanghongli/mm10/mm10.ncbiRefSeq.gtf
人类  /home/wanghongli/hg38/hg38.ncbiRefSeq.gtf

3.3. 比对 双端

小鼠    nohup hisat2 -p 16 -t -x /home/wanghongli/mm10/mm10 -1 T883-S01-01T0001_good_1.fq.gz -2 T883-S01-01T0001_good_2.fq.gz -S T883-S01-01T0001.sam &

人类     nohup hisat2 -p 16 -t -x /home/wanghongli/hg38/hg38 -1 T883-S01-01T0001_good_1.fq.gz -2 T883-S01-01T0001_good_2.fq.gz -S T883-S01-01T0001.sam &

3.4.sam转bam

nohup samtools view -bS T883-S01-01T0001.sam | samtools sort -@ 10 - -o T883-S01-01T0002.bam &

4:定量

4.1.构建bam索引

nohup samtools index T883-S01-01T0001.bam &

4.2.定量(两种定量方法)

4.2.1.

小鼠  featureCounts -T 10 -g gene_id -a /home/wanghongli/mm10/mm10.ncbiRefSeq.gtf -o T883-S01-01T0001_Counts.txt T883-S01-01T0001.bam

人类  featureCounts -T 10 -g gene_id -a /home/wanghongli/hg38/hg38.ncbiRefSeq.gtf -o T883-S01-01T0001_Counts.txt T883-S01-01T0001.bam

4.2.2.

小鼠  htseq-count -f bam -s no T883-S01-01T0002.bam /home/wanghongli/mm10/mm10.ncbiRefSeq.gtf > T883-S01-01T0002.count
人类  htseq-count -f bam -s no T883-S01-01T0002.bam /home/wanghongli/hg38/hg38.ncbiRefSeq.gtf > T883-S01-01T0002.count

5:无重复样本差异分析

5.1count转RPKM

RPKM=count/(length*文库大小)

每个样本中所有基因counts数求和是文库大小

5.2

https://www.jianshu.com/p/25038fa16717

5.2.1 安装gfold

Gfold软件是做没有生物学重复样本首选的软件

https://zhanglab.tongji.edu.cn/softwares/GFOLD/index.html

安装gsl最新版

以下所有路径均为解压后gsl内的路径

wget http://mirrors.ocf.berkeley.edu/gnu/gsl/gsl-latest.tar.gz 
tar -zxv -f gsl-latest.tar.gz cd gsl-2.6/ 
./configure --prefix=/home/fanzhiyu_31946012_cyl_150/chayifenxi/gsl-2.6 
make 
make check(选做) 
make install 

安装gfold

cd .. wget https://zhanglab.tongji.edu.cn/softwares/GFOLD/gfold.V1.1.4.tar.gz 
tar -zxf gfold.V1.1.4.tar.gz cd gfold.V1.1.4/ 
make

发现报错,输入以下命令

export CXXFLAGS="-g -O3 -I/home/fanzhiyu_31946012_cyl_150/chayifenxi/gsl-2.6/include -L/home/fanzhiyu_31946012_cyl_150/chayifenxi/gsl-2.6/lib" 
export LD_LIBRARY_PATH="/home/fanzhiyu_31946012_cyl_150/chayifenxi/gsl-2.6/lib:"$LD_LIBRARY_PATH g++ -O3 -Wall -g main.cc -o gfold -lgsl -lgslcblas -I/home/fanzhiyu_31946012_cyl_150/chayifenxi/gsl-2.6/include -L/home/fanzhiyu_31946012_cyl_150/chayifenxi/gsl-2.6/lib 

有warnning不用理会

./gfold -h
image

出现此安装成功

5.2.2.差异分析

5.2.2.1、把实验组和对照组的表达值分别建立两个csv文件,各包含如图五列,保证第一列顺序相同,如果不需要计算后两列的值,后两列可以随便填值

image

5.2.2.2、将自己生成的csv文件,再在 R 中统一一下格式(下面的代码是在作者没有猫但是有猫饼文章中粘的)

新生成的文件名我一般不改,就是 raw_data_Vec , raw_data_LSH 反正后面还会改掉

file1 = "ck.csv" raw_data_ck <- read.csv(file1, stringsAsFactors=FALSE)
file2 = "VI.csv" raw_data_vi <- read.csv(file2, stringsAsFactors=FALSE)

统一列名别出错

colnames(raw_data_ck) <- c("GeneSymbol", "GeneName", "Read Count", "Gene exon length", "RPKM") colnames(raw_data_vi) <- c("GeneSymbol", "GeneName", "Read Count", "Gene exon length", "RPKM")

导出文件,这个文件名我也不改,不然在 Linux 里改好麻烦

write.table(raw_data_ck, file="C:/Users/Administrator/Desktop/GFOLD/Sample1ck.read_cnt", row.names=F, col.names=F, quote=F, sep="\t") 
write.table(raw_data_vi, file="C:/Users/Administrator/Desktop/GFOLD/Sample2vi.read_cnt", row.names=F, col.names=F, quote=F, sep="\")

5.2.2.3、将文件上传到服务器,运行如下命令

./gfold diff -s1 /home/fanzhiyu_31946012_cyl_150/chayifenxi/gfold.V1.1.4/Sample1ck -s2 /home/fanzhiyu_31946012_cyl_150/chayifenxi/gfold.V1.1.4/Sample2vi -suf .read_cnt -o sample1VSsample2.diff

5.2.2.4.筛选差异基因

大于0为上调,小于0下调(第3列是gfold值所在列,第4列是E值)

awk '{if($3>0 && $4=1) print $0}' sample1VSsample2.diff OFS='\t' > up_diff.gene 
awk '{if($3<0 && $4=1) print $0}' sample1VSsample2.diff OFS='\t' > down_diff.gene 

筛选两倍差异基因,即大于1和小于-1的

awk '{if($3>1 && $4=1) print $0}' sample1VSsample2.diff OFS='\t' > up_diff.gene-2 
awk '{if($3<-1 && $4=1) print $0}' sample1VSsample2.diff OFS='\t' > down_diff.gene-2

你可能感兴趣的:(无生物学重复RNA-seq原始数据预处理)