RNA_seq植物实战

Author : yujia

目录:

  1. 概述
  2. salmon工具完成索引建立和生物学定量
  3. subread工具完成序列比对和定量
  4. DESeq2差异基因分析
  5. 总结

一、 概述

  • 练习数据:数据来源于拟南芥,共16个样本,处理分为4组(0day,1day,2day,3day)
  • 练习目的:熟悉两套RNA-seq差异基因表达分析的流程(salmon流程和subread流程)
  • 数据存放地址:/public/study/mRNAseq/tair/
  • 软件调用地址:/usr/local/bin/miniconda3/bin/
  • 实战项目来源地址:Jimmy学长的生信菜鸟团博客:http://www.bio-info-trainee.com/2809.html (一个植物转录组项目的实践)

二、salmon工具完成索引建立和生物学定量

salmon是一款不通过序列比对就可以快速完成生物学定量的RNA-seq数据分析工具。它的使用流程包括两步:1.建立索引 2.对reads进行生物学定量(quantification)。所以,如果我们使用salmon工具来做生物学定量的话,会非常的快速简洁。以下是代码流程:

First step:使用salmon < index >选项对转录组建立索引

利用salmon建立索引的基本语法是:

salmon index -t athal.fa.gz -i athal_index
#index 代表建立索引
#-t .fa文件的路径
#-i 索引存放路径

所以我们的代码如下:

/usr/local/bin/miniconda3/bin/salmon index -t /public/study/mRNAseq/tair/Arabidopsis_thaliana.TAIR10.28.cdna.all.fa.gz -i /trainee/home/yjxiang/practice/index_file

执行后,会得到如下文件:

-rw-rw-r-- 1 yjxiang yjxiang  14K Aug 13 14:40 duplicate_clusters.tsv
-rw-rw-r-- 1 yjxiang yjxiang 751M Aug 13 14:40 hash.bin
-rw-rw-r-- 1 yjxiang yjxiang  357 Aug 13 14:40 header.json
-rw-rw-r-- 1 yjxiang yjxiang  115 Aug 13 14:40 indexing.log
-rw-rw-r-- 1 yjxiang yjxiang  412 Aug 13 14:40 quasi_index.log
-rw-rw-r-- 1 yjxiang yjxiang  116 Aug 13 14:40 refInfo.json
-rw-rw-r-- 1 yjxiang yjxiang 7.8M Aug 13 14:40 rsd.bin
-rw-rw-r-- 1 yjxiang yjxiang 247M Aug 13 14:40 sa.bin
-rw-rw-r-- 1 yjxiang yjxiang  63M Aug 13 14:40 txpInfo.bin
-rw-rw-r-- 1 yjxiang yjxiang   96 Aug 13 14:40 versionInfo.json

Second step:使用salmon < quant >选项完成生物学定量

salmon中进行生物学定量的基本语法是:

salmon quant -i athal_index -l A -1 samp_1.fastq.gz -2 samp_2.fastq.gz -p 8 -o quants/sample_quant
# quant是salmon中进行生物学定量的选项
# -i The -i argument tells salmon where to find the index
# -l A tells salmon that it should automatically determine the library type of the sequencing reads
#The -1 and -2 arguments tell salmon where to find the left and right reads for this sample
# -p 8 argument tells salmon to make use of 8 threads
# -o argument specifies the directory where salmon’s quantification results sould be written

由于我们一共有16个样本,要一一进行生物学定量,因此编写一个bash脚本完成批量处理:

 #脚本地址存储在/trainee/home/yjxiang/practice#!/bin/bash
index=/trainee/home/yjxiang/practice/index_file
for fn in ERR1698{194..209};
do
samp=`basename ${fn}`
echo "Processing sample ${samp}"
/usr/local/bin/miniconda3/bin/salmon quant -i $index -l A \-1 ${samp}_1.fastq.gz \-2 ${samp}_2.fastq.gz \-p 6 -o /trainee/home/yjxiang/practice/quants/${samp}_quant
done 

运行脚本之后,得到如下结果:

drwxrwxr-x 5 yjxiang yjxiang 4.0K Aug 13 15:28 ERR1698194_quant
drwxrwxr-x 5 yjxiang yjxiang 4.0K Aug 13 15:38 ERR1698195_quant
drwxrwxr-x 5 yjxiang yjxiang 4.0K Aug 13 15:39 ERR1698196_quant
drwxrwxr-x 5 yjxiang yjxiang 4.0K Aug 13 15:39 ERR1698197_quant
drwxrwxr-x 5 yjxiang yjxiang 4.0K Aug 13 15:40 ERR1698198_quant
drwxrwxr-x 5 yjxiang yjxiang 4.0K Aug 13 15:40 ERR1698199_quant
drwxrwxr-x 5 yjxiang yjxiang 4.0K Aug 13 15:41 ERR1698200_quant
drwxrwxr-x 5 yjxiang yjxiang 4.0K Aug 13 15:42 ERR1698201_quant
drwxrwxr-x 5 yjxiang yjxiang 4.0K Aug 13 15:43 ERR1698202_quant
drwxrwxr-x 5 yjxiang yjxiang 4.0K Aug 13 15:43 ERR1698203_quant
drwxrwxr-x 5 yjxiang yjxiang 4.0K Aug 13 15:44 ERR1698204_quant
drwxrwxr-x 5 yjxiang yjxiang 4.0K Aug 13 15:44 ERR1698205_quant
drwxrwxr-x 5 yjxiang yjxiang 4.0K Aug 13 15:45 ERR1698206_quant
drwxrwxr-x 5 yjxiang yjxiang 4.0K Aug 13 15:46 ERR1698207_quant
drwxrwxr-x 5 yjxiang yjxiang 4.0K Aug 13 15:46 ERR1698208_quant
drwxrwxr-x 5 yjxiang yjxiang 4.0K Aug 13 15:47 ERR1698209_quant

每个文件夹里都有对应样本的quant结果,以样本ERR1698209为例,文件夹里含有这些文件,quant.sf 文件就是我们得到的定量结果:

drwxrwxr-x 2 yjxiang yjxiang 4.0K Aug 13 15:47 aux_info
-rw-rw-r-- 1 yjxiang yjxiang  307 Aug 13 15:47 cmd_info.json
-rw-rw-r-- 1 yjxiang yjxiang  551 Aug 13 15:47 lib_format_counts.json
drwxrwxr-x 2 yjxiang yjxiang 4.0K Aug 13 15:47 libParams
drwxrwxr-x 2 yjxiang yjxiang 4.0K Aug 13 15:00 logs
-rw-rw-r-- 1 yjxiang yjxiang 1.8M Aug 13 15:47 quant.sf

查看一下quant.sf,常见的TPM值、Numreads都在里面:

$ head -n 5 quant.sf
Name    Length  EffectiveLength TPM     NumReads
ATMG00010.1     462     301.089 0.000000        0.000000
ATMG00030.1     324     166.891 0.000000        0.000000
ATMG00040.1     948     786.477 0.000000        0.000000
ATMG00050.1     396     236.034 0.000000        0.000000

salmon流程到此就结束了,根据得到的quant文件,我们可以在后续利用DESeq2, edgeR, limma等包进行下游的差异基因分析。现在我们来看subread工具如何完成RNA-seq数据的生物学定量。

RNA_seq(1)植物转录组实战(上)之salmon进行索引建立和转录组定量相关推荐

  1. NCBI|转录组原始数据上传

    数据上传NCBI系列又来啦!今天小编来为大家演示的是转录组原始数据上传NCBI哦~ 01.申请Biosample编号 1.首先我们需要进入NCBI网页https://www.ncbi.nlm.nih. ...

  2. FPGA的设计艺术(4)STA实战之不同时序路径的建立保持时间计算

    前言 本文首发:FPGA的设计艺术(4)STA实战之不同时序路径的建立保持时间计算 STA定义 STA定义为:时序验证,可确保各种电路时序是否满足各种时序要求. ASIC / FPGA设计流程中最重要 ...

  3. pandas中dataframe索引排序实战:pandas中dataframe索引降序排序、pandas中dataframe索引升序排序

    pandas中dataframe索引排序实战:pandas中dataframe索引降序排序.pandas中dataframe索引升序排序 目录

  4. pandas把dataframe的数据列转化为索引列实战:单列转化为索引、多列转化为复合索引

    pandas把dataframe的数据列转化为索引列实战:单列转化为索引.多列转化为复合索引 目录

  5. 三、索引优化(3)聚集索引上的非聚集索引

    一.索引结构 在聚集索引上建立非聚集索引,在日常应用中经常发生. <?xml:namespace prefix="[default]" ns="http://www ...

  6. 近世代数--整环上的唯一分解问题--相伴是整环上的等价关系,最大公因子建立在相伴所划分的等价类上

    近世代数--整环上的唯一分解问题--相伴是整环上的等价关系,最大公因子建立在相伴所划分的等价类上 相伴是整环上的等价关系 最大公因子建立在相伴所划分的等价类上 整除 最大公因子 博主是初学近世代数(群 ...

  7. mysql left join 索引失效_MySQL索引列上做操作导致索引失效案例分析

    索引列上做操作导致索引失效 通常我们认为只要建立索引就可以万事大吉,以为只要建立就一定会使用到,可其实在索引列上的计算.函数.类型转换都可能导致索引失效,所以我们不仅要会创建索引,更重要的是如何正确的 ...

  8. Salmon构建索引的时间效率和计算效率明显高于STAR

    前面我们评估了不同大小基因组基于STAR构建索引所需的计算资源和时间资源.不同大小数据集基于STAR进行比对所需的计算资源和时间资源和STAR比对速度与分配线程的关系. 将人类基因组按染色体拆分模拟不 ...

  9. MSSQL调优实战一 乱建聚集索引的后果

    今天调优某电信的大型数据库,是一个日志型的表,其中有个自增列字段和时间(时间是每个小时小时来的,每个小时有大概23万条记录),以及点击次数等日志信息,数据量在4000万以上,sp_spaceused使 ...

  10. mysql查询一个表有哪些索引_如何查看某张数据库表上都有哪些索引(转)

    索引使用简介 一. 关于索引的知识 要写出运行效率高的sql,需要对索引的机制有一定了解,下面对索引的基本知识做一介绍. 1. 索引的优点和局限 索引可以提高查询的效率,但会降低dml操作的效率. 所 ...

最新文章

  1. 牵引力教育学校分析UI设计师的薪酬水平
  2. freeRtos学习笔记 (7)信号量
  3. 百度App Objective-C/Swift 组件化混编之路(二)- 工程化
  4. 15分钟从零开始搭建支持10w+用户的生产环境(二)
  5. C#如何关闭指定进程
  6. PostgreSQL 内存OOM控制策略导致数据库无法启动的诊断一例(如何有效避免oom)
  7. layer 刷新某个页面
  8. 软件工程-软件需求规格说明书模板
  9. 传奇人物称号设置详细步骤
  10. 韩语在线翻译图片识别_如何用扫描全能王将图片转成文字?
  11. 将多张图片缩小合为一张图片(千图成像)
  12. 物联网工业串口转WiFi模块 无线路由WiFi模块的选型
  13. python回复qq信息_python脚本实现QQ自动发送、回复消息机器人
  14. 【Python从0到1】第三篇:基础语法(三)
  15. 定义Mat类型显示未定义
  16. 一位友人做足这些准备,终于拿到了FaceBook的offer
  17. 五分钟小知识之什么是前缀表达式
  18. Python3安装turtle库
  19. 帆软FineReport学习篇(二)
  20. 小甲鱼C++ 30 错误处理和调试技巧1 鬼扯内容

热门文章

  1. 只会编程的程序员没有前途
  2. Android利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩形、多边形、曲线、圆角矩形...
  3. 使用工厂方法模式实现多数据库WinForm手机号码查询器(附源码)
  4. 51CTO专访:谈谈SOC安全管理平台
  5. 病毒周报(100201至100207)
  6. 快餐店选址指南--转
  7. qi接收启动协议_无线充电Qi通信协议分析
  8. c语言可不可以不要.cpp文件,[求助]一个头文件和CPP文件的问题
  9. ibatis mysql 配置文件详解_Mybatis主配置文件的properties标签详解
  10. linux打开python3_Linux环境安装python3