水稻RNA-seq数据分析(上游)

水稻学名Oryza sativa)是草本稻属的一种,也是稻属中作为粮食的最主要最悠久的一种,又称为亚洲型栽培稻,简单来说也可以说是。全世界有半数以上人口以水稻为主食[1]
水稻是非常重要的粮食作物,也是重要的禾本科模式植物之一。
转录组是实验进行数据挖掘以及后续实验验证的有效手段。

下面就是水稻RNA-seq进行数据挖掘的主要分析流程。

转录组上游分析涉及到的软件主要有:
sra-tools fastqc multiqc trim-galore hisat2 samtools subread

一、下载水稻基因组数据

目前水稻的权威数据库主要有两个:

#1.水稻MSU版本的数据库(2011年最后一次更新,已经很旧了)
http://rice.plantbiology.msu.edu/
#2.水稻RAP版本的数据库
https://rapdb.dna.affrc.go.jp/

下载水稻基因组文件和基因组注释文件

#MSU版本
#基因组文件
wget -c http://rice.plantbiology.msu.edu/pub/data/Eukaryotic_Projects/o_sativa/annotation_dbs/pseudomolecules/version_7.0/all.dir/all.con
#gff3注释文件
wget -c http://rice.plantbiology.msu.edu/pub/data/Eukaryotic_Projects/o_sativa/annotation_dbs/pseudomolecules/version_7.0/all.dir/all.gff3

#RAP版本
#基因组文件
wget -c ftp://ftp.ensemblgenomes.org/pub/release-44/plants/fasta/oryza_sativa/dna/Oryza_sativa.IRGSP-1.0.dna.toplevel.fa.gz
#gff3注释文件
wget -c ftp://ftp.ensemblgenomes.org/pub/release-44/plants/gff3/oryza_sativa/Oryza_sativa.IRGSP-1.0.44.gff3.gz
#gtf注释文件
wget -c ftp://ftp.ensemblgenomes.org/pub/release-44/plants/gtf/oryza_sativa/Oryza_sativa.IRGSP-1.0.44.gtf.gz

数据下载好,以备后续构建基因组索引以及count值的使用

二、搭建RNA-seq数据分析环境

使用conda搭建分析环境以及安装分析软件

安装conda并设置镜像

#服务器
##安装conda,并且配置镜像
wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
source ~/.bashrc
##确认是否安装成功
conda --help
##安装好conda后,需要设置镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda
conda config --set show_channel_urls yes

建立小环境以及安装软件

#conda构建rna-seq分析小环境
conda create -n rna-seq python=2
conda activate rna-seq
conda install -y sra-tools fastqc multiqc hisat2 samtools subread gffread
conda deactivate 

创建分析所用的文件夹

mkdir rnaseq
cd rnaseq
mkdir {sra,clean_data,fastqc,refastqc,align,count}

三、转录组数据分析

step1 测序数据的下载(sra-tools)

在文章中搜索GSE编号,进而搜索到SRR编号(SRR_list),进行sra数据的下载

#激活小环境
conda activate rna-seq
#使用while循环批量进行下载sra数据
cat SRR_Acc_List.txt| while read id;do ( nohup prefetch -O ./sra $id &); done

step2 数据格式转化(sra--->fastq)

注意下载数据是双端数据还是单端数据
双端数据--split-3

cd sra
ls *.sra|while read id;do ( nohup fastq-dump --gzip --split-3 -O ./ ${id} & );done

step3 第一次质量控制(fastqc && multiqc)

cd ../fastqc
nohup fastqc -t 6 -O ./ ../sra/*_?.fastq.gz &
#汇总质控报告
multiqc ./*.zip
阅读质控报告(重点关注一下测序质量以及接头序列情况),观察是否需要进行截断以及切除接头序列

step4 数据过滤 (trim-galore)

#批量进行数据过滤
cd ~/project_rna/sra
dir=~/project_rna/sra
ls *_1.fastq.gz > 1
ls *_2.fastq.gz > 2
paste 1 2 > config
cat config |while read id
do
arr=(${id})
fq1=${arr[0]}
fq2=${arr[1]}
trim_galore --phred33 -q 25 -e 0.1 --length 36 --stringency 3 --paired -o ../clean_data $dir/${fq1} $dir/${fq2}
done 

step5 第二次质量控制(fastqc && multiqc)

cd ~/project_rna/clean_data
ls *.gz|while read id;do ( nohup fastqc -t 6 -O ../refastqc $id &);done
top
#multiqc,对质控结果进行整合
multiqc ./*.zip
继续查看质控报告,查看碱基质量是否合格,以及是否还有接头序列存在,是否满足下游的数据分析。

step6 比对(hisat2)

第一步:构建index

#需要genome.fa 和 gtf文件   ##在此以水稻参考基因组序列和水稻的gtf文件为例
##使用hisat2软件自导的py脚本 extract_exons.py 和 extract_splice_sites.py 分别寻找外exon和splice的位点
hisat2_extract_exons.py Oryza_sativa.gtf > genome.exon
hisat2_extract_splice_sites.py Oryza_sativa.gtf > genome.ss
#寻找完位点以后,进行index的构建
hisat2-build -p 20 Oryza_sative.fa --ss genome.ss --exon genome.exon genome_tran

第二步:hisat2比对

cd ~/rnaseq/clean_data/
for i in `ls *_1*`
do 
i=${i/_*/}
nohup hisat2 -p 10 -x ~/ly_sra/ref/index/hisat2/genome_tran -1 ./${i}_1_val_1.fq.gz -2 ./${i}_2_val_2.fq.gz -S ../align/${i}.sam &
done
top

step7 SAM文件转化为BAM文件(转化+排序)(samtools)

ls *.sam|while read id;do ( nohup samtools sort -O bam -@ 4 -o ${id%%.*}.bam ${id} & );done
top
rm *.sam
#删除掉所有的sam文件,因为sam文件占的内存太大

step8 bam文件的质控

##批量进行bam索引的构建
ls *.bam|xargs -i samtools index {}
#加上h 属于加上了表头
###统计一下bam文件的比对情况,使用samtools flagstat。然后1>标准输出出来,2>标准错误输出也输出出来
ls *.bam|while read id;do ( nohup samtools flagstat -@ 4 ${id} 1> ${id%%.*}.flagstat 2>${id}.log &) ;done 
#注意标准输出和标准错误输出即可

step9 featureCounts统计counts值

#将所有bam进行featureCounts
cd  ~/project_rna/align/
nohup featureCounts -T 5 -p -t exon -g gene_id -a ~/ref/gtf/Oryza_sativa.IRGSP-1.0.44.gtf.gz -o ../count/all.id.txt  ./*.bam &
top
#之后得到的all.id.txt即为得到的count值
#至此,转录组上游分析基本结束。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容