与之对应的是single cell RNA-Seq,后面也会有类似文章。

参考:https://github.com/xuzhougeng/Learn-Bioinformatics/

作业:RNA-seq基础入门传送门

资料:RNA-seq Data Analysis-A Practical Approach(2015)

Bioinformatic Data Skill

biostar handbook

A survey of best practices for RNA-seq data analysis

Gaining comprehensive biological insight into the transcriptome by performing a broad-spectrum RNA-seq analysis

Detecting differential usage of exons from RNA-seq data

转录组入门(1): 工作环境准备

miniconda2

cd src
wget https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh
bash Miniconda2-latest-Linux-x86_64.sh
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/msys2/
conda config --add channels bioconda
conda config --set show_channel_urls yes

在里面安装各种工具

conda create -n biostar sra-tools fastqc hisat2 samtools htseq

转录组入门(2):读文章拿到测序数据

AKAP95 regulates splicing through scaffolding RNAs and RNA processing factors. Nat Commun 2016 Nov 8;7:13347. PMID: 27824034

GSE81916,https://www.ncbi.nlm.nih.gov/geo/

for i in `seq  `;
do
prefetch SRR35899${i}
done

用到RNA-seq的部分:

AKAP95 mainly promotes inclusion of exons globally.

To assess the global impact of AKAP95 on AS, we depleted 耗尽 AKAP95 in human 293 cells and mouse ES cells, and performed RNA-seq followed by DEXseq analysis29 to identify the differential exon usage in the cellular mRNAs.

(DEXSeq包是用来分析RNA-seq实验数据中exon usage的差异,这里exon usage的差异指的是由于实验条件导致的相对不同的exon usage)

文章的整体逻辑:

转录组入门(3):了解fastq测序数据

for id in `seq  `
do
fastq-dump --gzip --split- -O /mnt/f/Data/RNA-Seq -A SRR35899${id}
done

FastQC质量报告

fastqc seqfile1 seqfile2 .. seqfileN
常用参数:
-o: 输出路径
--extract: 输出文件是否需要自动解压 默认是--noextract
-t: 线程, 和电脑配置有关,每个线程需要250MB的内存
-c: 测序中可能会有污染, 比如说混入其他物种
-a: 接头
-q: 安静模式
zcat SRR3589956_1.fastq.gz | fastqc -t  stdin
fastqc SRR3589956_1.fastq.gz
conda install multiqc
multiqc --help

转录组入门(4):了解参考基因组及基因注释

cd /mnt/f/Data
mkdir reference && cd reference
mkdir -p genome/hg19 && cd genome/hg19
nohup wget http://hgdownload.soe.ucsc.edu/goldenPath/hg19/bigZips/chromFa.tar.gz &
tar -zvf chromFa.tar.gz
cat *.fa > hg19.fa
rm chr*
nohup wget ftp://ftp.sanger.ac.uk/pub/gencode/Gencode_human/release_26/GRCh37_mapping/gencode.v26lift37.annotation.gtf.gz &
nohuop wget ftp://ftp.sanger.ac.uk/pub/gencode/Gencode_human/release_26/GRCh37_mapping/gencode.v26lift37.annotation.gff3.gz &

转录组入门(5): 序列比对

RNA-Seq数据分析分为很多种,比如说找差异表达基因或寻找新的可变剪切。如果找差异表达基因单纯只需要确定不同的read计数就行的话,我们可以用bowtie, bwa这类比对工具,或者是salmon这类align-free工具,并且后者的速度更快。

但是如果你需要找到新的isoform,或者RNA的可变剪切,看看外显子使用差异的话,你就需要TopHat, HISAT2或者是STAR这类工具用于找到剪切位点。因为RNA-Seq不同于DNA-Seq,DNA在转录成mRNA的时候会把内含子部分去掉。所以mRNA反转的cDNA如果比对不到参考序列,会被分开,重新比对一次,判断中间是否有内含子。

基本上就是HISAT2和STAR选一个就行。

cd referece && mkdir index && cd index
wget ftp://ftp.ccb.jhu.edu/pub/infphilo/hisat2/data/hg19.tar.gz
tar -zxvf hg19.tar.gz
# 其实hisat2-buld在运行的时候也会自己寻找exons和splice_sites,但是先做的目的是为了提高运行效率
extract_exons.py gencode.v26lift37.annotation.sorted.gtf > hg19.exons.gtf &
extract_splice_sites.py gencode.v26lift37.annotation.gtf > hg19.splice_sites.gtf &
# 建立index, 必须选项是基因组所在文件路径和输出的前缀
hisat2-build --ss hg19.splice_sites.gtf --exon hg19.exons.gtf genome/hg19/hg19.fa hg19
mkdir -p RNA-Seq/aligned
for i in `seq `
do
hisat2 -t -x reference/index/hg19/genome - RNA-Seq/SRR35899${i}_1.fastq.gz - SRR35899${i}_2.fastq.gz -S RNA-Seq/aligned/SRR35899${i}.sam &
done
# 运行实例
hisat2-2.0./hisat2 --no-discordant -t -x Database/hg19/GenomeHisat2Index/chrALL -U split_read..fq > Map2GenomeStat.xls | samtools view -bS - -o hisat2.bam
mkdir -p RNA-Seq/aligned
for i in `seq `
do
hisat2 -t -x reference/index/hg19/genome - RNA-Seq/SRR35899${i}_1.fastq.gz - SRR35899${i}_2.fastq.gz -S RNA-Seq/SRR35899${i}.sam &
done
for i in `seq  `
do
samtools view -S SRR35899${i}.sam -b > SRR35899${i}.bam
samtools sort SRR35899${i}.bam -o SRR35899${i}_sorted.bam
samtools index SRR35899${i}_sorted.bam
done

比对质控(QC)

Picard https://broadinstitute.github.io/picard/
RSeQC http://rseqc.sourceforge.net/
Qualimap http://qualimap.bioinfo.cipf.es/

# Python2.7环境下
pip install RSeQC
# 先对bam文件进行统计分析, 从结果上看是符合70~90的比对率要求。
bam_stat.py -i SRR3589956_sorted.bam
# 基因组覆盖率的QC需要提供bed文件,可以直接RSeQC的网站下载,或者可以用gtf转换
read_distribution.py -i RNA-Seq/aligned/SRR3589956_sorted.bam -r reference/hg19_RefSeq.bed

转录组入门(6): reads计数

如果你只需要知道已知基因的表达情况,那么可以选择alignment-free工具(例如salmon, sailfish),如果你需要找到noval isoforms,那么就需要alignment-based工具(如HISAT2, STAR)。

定量分为三个水平

基因水平(gene-level)
转录本水平(transcript-level)
外显子使用水平(exon-usage-level)。

计数分为三个水平: gene-level, transcript-level, exon-usage-level

标准化方法: FPKM RPKM TMM TPM

# 安装
conda install htseq
# 使用
# htseq-count [options] <alignment_file> <gtf_file>
htseq-count -r pos -f bam RNA-Seq/aligned/SRR3589957_sorted.bam reference/gencode.v26lift37.annotation.sorted.gtf > SRR3589957.count
mkdir -p RNA-Seq/matrix/
for i in `seq `
do
htseq-count -s no -r pos -f bam RNA-Seq/aligned/SRR35899${i}_sorted.bam reference/gencode.v26lift37.annotation.sorted.gtf > RNA-Seq/matrix/SRR35899${i}.count > RNA-Seq/matrix/SRR35899${i}.log
done
paste *.txt | awk '{printf $1 "\t";for(i=2;i<=NF;i+=2) printf $i"\t";printf $i}'

转录组入门(7): 差异表达分析

转录组入门(8): 富集分析

Bulk RNA-Seq转录组学习的更多相关文章

  1. RNA -seq

    RNA -seq RNA-seq目的.用处::可以帮助我们了解,各种比较条件下,所有基因的表达情况的差异. 比如:正常组织和肿瘤组织的之间的差异:检测药物治疗前后,基因表达的差异:检测发育过程中,不同 ...

  2. RNA seq 两种计算基因表达量方法

    两种RNA seq的基因表达量计算方法: 1. RPKM:http://www.plob.org/2011/10/24/294.html 2. RSEM:这个是TCGAdata中使用的.RSEM据说比 ...

  3. R-sampe & seq函数学习[转载]

    转自:https://blog.csdn.net/u012108367/article/details/69913280 https://blog.csdn.net/qq_33547243/artic ...

  4. RNA测序相对基因表达芯片有什么优势?

    RNA测序相对基因表达芯片有什么优势? RNA-Seq和基因表达芯片相比,哪种方法更有优势?关键看适用不适用.那么RNA-Seq适用哪些研究方向?是否您的研究?来跟随本文了解一下RNA测序相对基因表达 ...

  5. xgene:WGS,突变与癌,RNA-seq,WES

     人类全基因组测序06 SNP(single nucleotide polymorphism):有了10倍以上的覆盖深度以后,来确认SNP信息,就相当可靠了. 一个普通黄种人的基因组,与hg19这个参 ...

  6. 链终止法|边合成边测序|Bowtie|TopHat|Cufflinks|RPKM|FASTX-Toolkit|fastaQC|基因芯片|桥式扩增|

    生物信息学 Sanger采用链终止法进行测序 带有荧光基团的ddXTP+其他四种普通的脱氧核苷酸放入同一个培养皿中,例如带有荧光基团的ddATP+普通的脱氧核苷酸A.T.C.G放入同一个培养皿,以此类 ...

  7. featureCounts 软件说明

    featuresCounts 软件用于定量,不仅可以支持gene的定量,也支持exon, gene bodies, genomic bins, chromsomal locations的定量: 官网 ...

  8. Advances in Single Cell Genomics to Study Brain Cell Types | 会议概览

    单细胞在脑科学方面的应用 Session 1: Deciphering the Cellular Landscape of the Brain Using Single Cell Transcript ...

  9. 【豆科基因组】绿豆Mungbean, Vigna radiata基因组2014NC

    目录 来源 一.简介 二.结果 基因组组装 重复序列和转座子 基因组特征和基因注释 绿豆的驯化 豆科基因组复制历史 基于转录组分析的豇豆属形成 绿豆育种基因组资源 三.讨论 四.方法 材料 组装 SN ...

随机推荐

  1. topcoder srm 350 div1

    problem1 link 满足$a^{b}\leq5000000,b>1$的数字不多,有2000多个,直接暴力计算能组成哪些数字即可. import java.util.*; import j ...

  2. LightOJ 1151 Snakes and Ladders(概率DP + 高斯消元)

    题意:1~100的格子,有n个传送阵,一个把进入i的人瞬间传送到tp[i](可能传送到前面,也可能是后面),已知传送阵终点不会有另一个传送阵,1和100都不会有传送阵.每次走都需要掷一次骰子(1~6且 ...

  3. 【示例】Spring Quartz入门

    JAVA 针对定时任务,有 Timer,Scheduler, Quartz 等几种实现方式,其中最常用的应该就是 Quartz 了. 一. Quartz的基本概念 在开始之前,我们必须了解以下的几个基 ...

  4. 【入门】Gradle的基本使用、在IDEA中的配置、常用命令

    一.介绍 java的源码构建工具,大致经历了 ant -> maven -> gradle 这个过程,每一次进步,都是在解决之前的工具所带来的问题,简单来说: 1. ant 功能虽然也很强 ...

  5. IAR8.11.1安装与破解教程

      IAR 8.11.1的安装与破解  1.IAR的安装   (1)              (2)然后选择自己的调试方式驱动(jtag与swd...)     (3)选择路径,一直下一步就好   ...

  6. 洛谷P1164 小A点菜 DP入门

    原题传输门>>https://www.luogu.org/problem/show?pid=1164<< 前几天开始联系DP的,一路水题做到这,发现这题套不了模板了QAQ 在大 ...

  7. 转载:避免重复插入,更新的sql

    本文章来给大家提供三种在mysql中避免重复插入记录方法,主要是讲到了ignore,Replace,ON DUPLICATE KEY UPDATE三种方法,各位同学可尝试参考. 案一:使用ignore ...

  8. Mac环境下扩容 .vmdk 镜像容量

    参考: Resizing a VirtualBox Disk Image (.vmdk) on a Mac Mac环境下扩容 .vmdk 镜像容量 在安装虚拟机时,原有的vmdk镜像容量只有20G,在 ...

  9. Python中的垃圾回收机制

    Python的垃圾回收机制 引子: 我们定义变量会申请内存空间来存放变量的值,而内存的容量是有限的,当一个变量值没有用了(简称垃圾)就应该将其占用的内存给回收掉,而变量名是访问到变量值的唯一方式,所以 ...

  10. HDU 5242 Game(贪心)

    http://acm.hdu.edu.cn/showproblem.php?pid=5242 题意: 给出一棵树,每个节点都有一个权值,每次可以获得从根结点(1)到叶子节点上的所有权值和,每个节点只能 ...