RNA-seq学习:No.3上游分析获取表达矩阵

RNA-seq的上游分析主要基于Linux平台,根据给定的fastq文件,经过系列生信软件处理最终得到表达矩阵的过程。原始数据文件一般可以从文献中获取(可能是sra格式,需要转换成fastq,之后会专门整理下如何获取)。我之前练习的是老师直接给我的fastq文件(猴子的数据),还要补充的是双末端测序同一样本会有两个文件的。就从这开始吧~

0、环境配置所需软件

conda activate rna-seq
conda install fastqc -y  
conda install multiqc -y
conda install trimmomatic -y
conda install hisat2 -y
conda install trim-galore -y
conda install samtools -y
conda install -c bioconda subread
  • 关于conda的说明,见之前的整理

1、质控

目的:检测fastq测序质量如何,不好的话要进行一定的处理才能用以分析
涉及软件:fastqc、multiqc

ls *gz | xargs fastqc -o /home/monkey4/myfastqc -t 10
  • 注意此时所在位置要在fastq文件路径下
  • xargs 命令实现了将ls的结果作为fastqc的参数输入
  • fastqc的 -o选项交代结果储存路径; -t 选项交代线程数
  • 关于qc的结果,每个fastq文件都会有一个对应的“检查报告”,也可以将所有报告进行合并。
cd /home/monkey4/myfastqc
multiqc ./
# multiqc会进行自动识别合并
  • 关于报告结果解读,网上有很多总结的介绍。之后自己可能也会整理下。目前的测序结果都蛮不错的,比如我做的那个。
  • 如果的确测序结果质量不行,可以进行下面的处理。(我自己没有实操过..仅记录下)
#单独处理
trim_glaore -q 25 --phred33 --length 36 -e 0.1 --stringency 3 --paired -o 输出路径 路径/xxx_1.fastq.gz 路径/xxx_2.fastq.gz

#批量处理
ls 路径/*_1.fastq.gz >1
ls 路径/*_2.fastq.gz >2
paste 1 2  #查看
paste 1 2 > config
cat >qc.sh
conda activate rna-seq
bin_trim_glore=trim_glaore
dir='/home/li/monkey4/test/clean'
cat $1 |while read id     #注意这里的$1 表示第一个参数,即bash qc.sh config 中的config
do
    arr=($id)
    fq1=${arr[0]}
    fq2=${arr[1]}
nohup $bin_trim_glore -q 25 --phred33 --length 36 -e 0.1 --stringency 3 -paired -o $dir $fq1 $fq2 &
done
source deactivate
ctrl+c  #终止输入编辑
bash qc.sh config

2、比对

  • 目的:将fastq文件的所有read短序列比对到参考基因组上,即read本来属于哪条基因上的。
  • 涉及软件:hisat2(还有同类型软件bowtie2等)、samtools

2.1、构建索引

构建索引的原因是因为参考基因组文件太太太大了,把一个几百bp的read比对到基因组上,难度可想而知。而索引文件就类似图书的目录,按图索骥就方便很多。

hisat2-build -p 10 基因组文件路径/xxxx.fa 索引储存路径/xxxx
#索引文件命名不需要加后缀,取个名即可。软件会自己加的
hisat2-build -p 4 /home/li/genome/monkey.fa  /home/li/monkey4/hisat2-index/Macaca
#这个是我的实操代码

2.2、进行比对

#单个比对
hisat2 -t -p 4 -x 索引文件路径/索引文件名 -1 XXX1.fq.gz -2 XXX2.fq.gz -S 储存路径/XXX.sam
# 针对双末端测序,可以同时比对,进行结果合并
hisat2 -t -p 4 -x /home/li/monkey4/rnaseq_test/index/hisat2_index/Macaca -1 M5Acortex_1.fq.gz -2 M5Acortex_2.fq.gz -S /home/li/monkey4/rnaseq_test/M5A.sam
#实操代码

#批量比对
ls *gz |cut -d"_" -f 1 | sort -u |while read id ; do hisat2 -p 10 -x 索引文件路径/索引文件名 -1 ${id}_1.fq.gz -2 ${id}_2.fq.gz  -S 输出路径/${id}.hisat.sam ; done
ls *gz |cut -d"_" -f 1 | sort -u |while read id ; do hisat2 -p 10 -x /home/li/monkey4/rnaseq_test/index/hisat2_index/Macaca -1 ${id}_1.fq.gz -2 ${id}_2.fq.gz -S /home/li/monkey4/rnaseq_test/sam/${id}.sam 1>$id.download.log 2>&1 ; done

分析得到的sam文件记录一个样本的所有read比对信息。

2.3、sam转bam

samtools view -S XXX.sam -@ 10 -b > XXX.bam
ls *.sam | cut -d"." -f 1 | sort -u | while read id ;do samtools view -S ${id}.hisat.sam -@ 10 -b > ${id}.bam ; done

而bam格式中的b是binary的意思,是sam格式的二进制表示方式,主要就是为了节省内存,提高后面分析速度。

3、计数

  • 目的:统计每个基因比对上了多少个read
  • 涉及软件:subread
#单个计数
featureCounts -T 10 -p -t exon -g gene_id -a 基因组注释文件路径/XXX.gtf -o 结果文件名 bam文件路径/XXX.bam
featureCounts -T 10 -p -t exon -g gene_id -a /home/li/genome/Macaca_fascicularis.Macaca_fascicularis_5.0.97.gtf -o counts.M2Ccortex.txt /home/li/monkey4/test/aligned/M2Ccortex.bam

#批量处理
ls *tex.bam |cut -d"." -f 1 |sort -u |while read id ; do featureCounts -T 10 -p -t exon -g gene_id -a /home/li/genome/Macaca_fascicularis.Macaca_fascicularis_5.0.97.gtf -o counts.${id}.txt /home/li/monkey4/test/aligned/${id}.bam; done

#将批量计数结果转成CSV格式
ls *.txt |cut -d"." -f 1,2 |sort -u | while read id ; do cut -f 1,7-12 ${id}.txt | grep -v "#" > countmatrix.${id}.csv; done

#合并所有样本的CSV文件
paste *.csv | awk '{printf $1 "\t" ; for (i=2; i<=NF; i=i+2) printf $i "\t" ; print $i}' > merge.count.csv

以上就是一个极简版的RNA-seq的上游分析过程,最终获得了基因表达矩阵,用以后期的数据分析。文中提到一些数据文件及格式还是值得后期慢慢梳理的。暂时先这样吧。上述代码主要参考自生信技能树的学习,站在巨人肩膀学生信,嘻嘻~

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 230,501评论 6 544
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 99,673评论 3 429
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 178,610评论 0 383
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 63,939评论 1 318
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 72,668评论 6 412
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 56,004评论 1 329
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 44,001评论 3 449
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 43,173评论 0 290
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 49,705评论 1 336
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 41,426评论 3 359
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 43,656评论 1 374
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 39,139评论 5 364
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 44,833评论 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 35,247评论 0 28
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 36,580评论 1 295
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 52,371评论 3 400
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 48,621评论 2 380

推荐阅读更多精彩内容