TransDecoder那一步最终得到了*.cds序列,之后就需要用到salmon进行下面操作

salmon介绍

Salmon是不基于比对计数而直接对基因进行定量的工具,适用于转录组、宏基因组等的分析。Salmon通过许多不同的创新来提高其准确性和速度,包括使用选择性比对(传统读取比对中的准确但快速计算的代理)以及大规模并行的随机折叠变分推理。

其优势是:

  1. 定量时考虑到不同样品中基因长度的改变(比如不同isoform的使用)
  2. 速度快、需要的计算资源和存储资源小
  3. 敏感性高,不会丢弃匹配到多个基因同源区域的reads
  4. 可以直接校正GC-bias
  5. 自动判断文库类型

使用Salmon

salmon有两种“操作模式”。首先,要求您为转录组建立索引,但随后需要直接处理读取。第二种模式仅要求您提供转录组的FASTA文件和包含一组比对的.sam.bam

准备转录组索引(mapping-based mode)

生成decoy-aware transcriptome的方法有两种:

  • 第一种方法是通过将你想要索引的注释转录本映射到生物体基因组的hard-masked version来计算一组诱饵序列。可以通过minimap2来实现或者使用generateDecoyTranscriptome.sh脚本来实现

  • 第二种是将生物的整个基因组用作诱饵序列。这可以通过将基因组连接到要索引的转录组的末端并填充decoys.txt染色体名称的文件。关于如何准备这种诱饵序列的详细说明可以在这里找到。

如果不使用预先计算的索引,则按以下方式运行salmon

1
salmon index -t transcripts.fa -i transcripts_index

定量(mapping-based mode)

以使用Salmon命令直接针对此索引来量化任何一组读取(say, paired-end reads in files reads1.fq and reads2.fq)quant:

1
salmon quant -i transcripts_index -l <LIBTYPE> -1 reads1.fq -2 reads2.fq --validateMappings -o transcripts_quant

如果使用的是单端测序reads,则将它们带有如下-r标记:

1
salmon quant -i transcripts_index -l <LIBTYPE> -r reads.fq --validateMappings -o transcripts_quant

向Salmon提供多个读取文件

建立索引

通过前面的trandecoder得到序列LXZ_30sample_longest.cds.fa

1
salmon index -t LXZ_30sample_longest.cds.fa -i LXZ_30sample_longest.cds.fa_index -p 20

通过教程(一)和教程(二)的处理之后得到的序列为例:

1
2
3
4
5
LXZ_1_A_1.cor.p.fq.gz    LXZ_1_A_2.cor.p.fq.gz
LXZ_2_B_1.cor.p.fq.gz    LXZ_2_B_2.cor.p.fq.gz
LXZ_3_C_1.cor.p.fq.gz    LXZ_3_C_2.cor.p.fq.gz
LXZ_4_D_1.cor.p.fq.gz    LXZ_4_D_2.cor.p.fq.gz
LXZ_5_E_1.cor.p.fq.gz    LXZ_5_E_2.cor.p.fq.gz

整理样本信息表,命名为sampleFile,内容如下:

1
2
3
4
5
6
Samp    conditions    individual
LXZ_1_A    LXZ_    1_A
LXZ_2_B    LXZ_    2_B
LXZ_3_C    LXZ_    3_C
LXZ_4_D    LXZ_    4_D
LXZ_5_E    LXZ_    5_E

循环定量多个样品的表达量

采用for循环进行批量定量

1
for samp in `tail -n +2 sampleFile | cut -f 1`; do salmon quant -l A -1 ${samp}_1.cor.p.fq.gz -2 ${samp}_2.cor.p.fq.gz  -i /home/lixingze/data/salmon/test/LXZ_30samples_longest.cds.fa_index -o ${samp}/${samp}.salmon.count -p 20  >${samp}.salmon.log 2>&1; done &

最后可以批量在每个样本下面生成对应名称的文件每个文件中的quant.sf即为定量结果,以下为示例:

1
2
3
4
5
6
7
Name    Length  EffectiveLength TPM     NumReads
Name1    13476   13184.752       22.536164       5948.000
Name2    12195   11903.752       0.000000        0.000
Name3   12174   11882.752       0.000000        0.000
Name4    10890   10598.752       0.000000        0.000
Name5    9384    9092.752        26.711841       4862.036

最后如果要将所有样品做成矩阵可以进行提取TPM那一列,最后合并

1
2
3
4
5
6
awk ‘ {print $4} ‘ quant.sf >quant.sf_extracted
#表明提取第四列的内容`quant.sf_extracted`为输出文件可以自定义命名,提取完成之后合并的话,修改TPM名称为对应样本名称
awk ‘ {print $1} ‘ quant.sf >ID
#提取文档第一列ID名称
paste id quant.sf_extracted quant.sf_extracted > final_matrix
#将所有的提取文件合并在一起生成最终的矩阵,可通过WGCNA来进行共表达分析

最终处理完成!

整理Salmon定量文件用于DESeq2差异基因鉴定

此步骤参考生信宝典公众号相关内容,具体内容本文不在复述,有需要的可以访问此处
大致内容为:
找到Salmon的输出文件并压缩起来,用于下载到本地进行差异分析。

1
2
3
4
# 列出salmon的输出文件
find . -name quant.sf
# 这个压缩包下载解压到本地
zip quant.sf.zip `find . -name quant.sf`

./LXZ_1_A.salmon.count/quant.sf
./LXZ_2_B.salmon.count/quant.sf
./LXZ_3_C.salmon.count/quant.sf
./LXZ_4_D.salmon.count/quant.sf
./LXZ_5_E.salmon.count/quant.sf

生成辅助文件,指出每个样品对应的自己的quant.sf文件,便于导入tximport包。

1
2
3
4
5
# 生成一个两列文件方便R导入
# xargs接收上一步的输出,按批次提供给下游程序作为输入
# -i: 用{}表示传递的值
cut -f 1 sampleFile | xargs -i echo -e "{}\t{}/{}.salmon.count/quant.sf" >salmon.output
head salmon.output

重要选项说明

Salmon向用户提供了许多有用的可选命令行参数,通过salmon quant -h查看

-p/--threads

设置线程数,根据配置自行选择

--validateMappings

在将测序读段映射到转录组时启用选择性比对。这可以提高映射的敏感性和特异性,结果可以提高定量准确性。

--useEM

使用“标准” EM算法代替变量贝叶斯EM算法来优化丰度估计。

--seqBias

能够学习和纠正输入数据中特定于序列的偏差。默认情况下,Salmon使​​用从输入开始的1,000,000次读取来学习特定于序列的偏差参数。如果要更改从中学习模型的样本数,可以使用--numBiasSamples 参数。

-l A/--libType A

基于对齐方式的自动库类型检测,自动判断文库类型,尤其适用于链特异性文库.

--gcBias

校正测序片段GC含量,获得更准确的转录本定量结果

参考信息

如果有需要更详细的了解软件的具体内容请参照salmon官方文档,以及github。

点击前往Salmon官方文档

转录组分析流程|基于salmon转录组批量定量流程(三)相关推荐

  1. 零基础入门转录组分析——第五章(表达定量)

    零基础入门转录组分析--第五章(表达定量) 目录 零基础入门转录组分析--第五章(表达定量) 1. 序列比对结果的复查 2. 表达定量 3. 提取有效信息 4. 合并多个样本定量结果 5. 进一步修改 ...

  2. 基于Salmon的转录组批量定量流程和差异分析

    继续前文:基于Salmon的转录组定量流程 循环定量多个样品的表达量 整理样本信息表,命名为sampleFile,内容如下: Samp conditions individual untrt_N613 ...

  3. 生物信息学之rnaseq转录组分析流程--转换文件中的ensemble id到gene名

    生物信息学之rnaseq转录组分析--转换文件中的ensemble id到gene名 如何解决转录组分析中count之后遇到ensemble id的问题 一个将ensemble id转换成gene名的 ...

  4. 《生物信息学:导论与方法》--新一代测序NGS:转录组分析RNA-Seq--听课笔记(十四)

    第八章 新一代测序NGS:转录组分析RNA-Seq 8.1 转录组介绍 A transcriptome is a collection of all the transcripts present i ...

  5. thinkphp删除某一学生_基于ThinkPHP实现批量删除

    本文实例分析了基于ThinkPHP实现批量删除的代码实例,分享给大家供大家参考,具体如下: 废话不多说,先上效果图: HTML布局(基于bootstrap) 留言列表 返回 删除 id名称邮箱内容日期 ...

  6. 基于Salmon的转录组定量流程

    为什么使用Salmon? Salmon是不基于比对计数而直接对基因进行定量的工具,适用于转录组.宏基因组等的分析. 其优势是: 定量时考虑到不同样品中基因长度的改变(比如不同isoform的使用) 速 ...

  7. 转录组分析_肠道菌群:宏转录组测序分析流程解读

    上回给大家讲述了16S测序分析 和 宏基因组测序分析,本期的宏转录组来啦~ 你知道吗?通过16S测序分析 和 宏基因组测序分析,我们只能够知道肠道菌群做好事或坏事的潜力,而并不知道它们此时此刻正在我们 ...

  8. 转录组分析流程|数据处理与De novo组装(一)

    title: 转录组分析流程|数据处理与De novo组装(一) tags: - 转录组组装 - 教程 - 软件 - Trinity - Rcorrector - Trimmomatic catego ...

  9. 空间转录组分析流程(使用Seurat对空间数据集进行分析)

    空间转录组分析流程(使用Seurat对空间数据集进行分析) 因为每次打开这个网页都非常慢,所以我讲这个网页进行一个翻译,方便学习. 使用Seurat对空间数据集进行分析,可视化和集成 1.介绍 本教程 ...

最新文章

  1. 在CentOS 6.6 64bit上安装截图软件shutter
  2. micro-mvc框架支持mvc各层业务代码热部署
  3. python web为什么不火-编程语言里的明星:Python为什么突然不火了?
  4. Echo Socket例子项目
  5. 使用Ultra Librarian 生成PCB库文件
  6. 好看的扁平化大气IT个人简历网页模板
  7. 【C语言】常用字符(string库函数,ctype库函数),字符数组的输入与处理)
  8. 程序员常常会用到的几款文本编辑器
  9. 如何快速解决腿抽筋?
  10. rabbitmq 之 ack
  11. 强化学习总结(1)--EE问题
  12. 基于onvif协议的嵌入式设备(摄像头)开发(客户端)
  13. 安卓反编译smali代码注入第三方广告
  14. 使用 MyBatis 的 Maven 插件生成代码
  15. 阿里p7大手子测试笔记:一线互联网大厂面试问题吃透,巧过面试关
  16. c++计算圆柱体表面积
  17. 【案例分享】项目施工进度报告 – 树形报表
  18. 做SEO,如何分析竞争对手网站-趣味seo
  19. 简单小游戏——见缝插针
  20. 《高效能人士的七个习惯》读书笔记

热门文章

  1. okhttp3使用总结
  2. sinceirt 被打脸的潇洒哥(规律题型)
  3. LRUCache 详解
  4. rap技术原理_RAP如何自动在 方法上生成前端开发文档
  5. ZigBee硬件平台小记(CC2530)
  6. 欢喜解决Mingw64安装问题
  7. requests.exceptions.InvalidHeader: Invalid return character or leading space in header: user-agent错误
  8. Spring中@NotNull注解@Valid注解使用
  9. 开源linux_适用于Linux和开源迷的12本小说书
  10. 16系列显卡支持的计算机系统,老卡福音:NVIDIA GeForce GTX 10和GTX 16系列显卡 将支持DRX光追技术...