01AnalysisFlow

RNA-seq基本分析流程

1.从NCBI下载原始数据

  • 多线程同时下载

    dataSRRID=(SRR8089897
    SRR8089896
    SRR8089895
    )
    
    for id in ${dataSRRID[@]};
    do 
    j=`echo ${id:0:6}`
    wget -c ftp://ftp-trace.ncbi.nih.gov/sra/sra-instant/reads/ByRun/sra/SRR/${j}/${id}/${id}.sra &
    
    done
  • 检查数据大小

    ### 使用curl命令访问NCNI网页
    for i in `ls .|grep sra`; do j=`echo ${i:0:10}`; curl https://www.ncbi.nlm.nih.gov/sra/${j}|grep -E "<tbody><tr>.*</tr></tbody>" >>1 ; done
    ### 正则表达式将数据大小给匹配出来,之后网页内容可能会有所改变,正则表达式可能不固定
    sed 's/.*<tbody><tr>\(.*\)<\/tr><\/tbody>/\1/g' 1|sed 's/.*align=\"right\">\(.*\)<\/td><td>.*/\1/g' >2
    ### 与本地数据进行比较
    ls -lh|grep sra |paste  - 2 |less
  • 将sra文件转换成fastq文件

    dataSRRID=(SRR8089897
    SRR8089896
    SRR8089895
    )
    for i in ${dataSRRID[@]};
    do
    fastq-dump --split-3 ./rawdata/${i}.sra -O ./fast_dump/ &
    done

2.数据过滤 Trimmomatic

代码如下

  • PE 指定过滤数据为双端测序

  • thread 使用10个线程

  • R1.fastq.gz/R2.fastq.gz 对应双端测序数据

  • baseout 后面接输出文件路径,以及输出文件的前缀

  • ILLUMINACLIP 指定测序接头的文件

  • LEADING 去除头部read质量低于10的序列

  • TRAILING 去除尾部质量低于10的read

  • SLIDINGWINDOW 按照4个碱基长度进行滑动,去除平均质量低于20的read

  • MINLEN 去除长度小于50的read

写一个bash循环进行批量过滤原始数据

  • 可以写成多个for循环进行跑

  • &作用是将for循环放入后台,进行并行计算,基本上100多G的数据 30分钟跑完

3.将数据比对到参考基因组

  • 构建参考基因组索引'

    接收基因组fasta序列文件,和索引生成路径及索引前称

  • 进行比对

    • --fr链特异性建库

    • --rf普通建库

4.计算基因表达量

将比对好的sam文件按照染色体位置进行排序后,使用stringtie比对

合并多个组织的表达量

手动计算指定区域的表达量

链特异性建库

https://www.cnblogs.com/renping/p/7875744.html

使用samtools 计算目标区域的表达量

参考 : https://www.omicsclass.com/article/416

tview能直观的显示出reads比对基因组的情况,和基因组浏览器有点类似。

需要事先利用利用上面讲的sort和建index命令执行完后,用下述命令。

Usage: samtools tview [ref.fasta]

出参考基因组的时候,会在第一排显示参考基因组的序列,否则,第一排全用N表示。 按下 g ,则提示输入要到达基因组的某一个位点。例子“scaffold_10:1000"表示到达第 10号scaffold的第1000个碱基位点处。 使用H(左)J(上)K(下)L(右)移动显示界面。大写字母移动快,小写字母移动慢。 使用空格建向左快速移动(和 L 类似),使用Backspace键向左快速移动(和 H 类似)。 Ctrl+H 向左移动1kb碱基距离; Ctrl+L 向右移动1kb碱基距离 可以用颜色标注比对质量,碱基质量,核苷酸等。30~40的碱基质量或比对质量使用白色表示; 20~30黄色;10~20绿色;0~10蓝色。 使用点号'.'切换显示碱基和点号;使用r切换显示read name等 还有很多其它的使用说明,具体按 ? 键来查看。

计算某个区域paired read数目

使用脚本计算某区域的read比对情况

脚本只支持链特异性建库的bam文件

Bam Flag :https://blog.csdn.net/xcaryyz/article/details/79257327

https://broadinstitute.github.io/picard/explain-flags.html

Last updated

Was this helpful?