美文网首页走进转录组生物信息学
水稻RNA-seq数据分析(上游)

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

作者: LiuYueRR | 来源:发表于2019-09-30 17:41 被阅读0次

    水稻学名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值
    #至此,转录组上游分析基本结束。
    

    相关文章

      网友评论

        本文标题:水稻RNA-seq数据分析(上游)

        本文链接:https://www.haomeiwen.com/subject/ucwcpctx.html