经典RNA-seq分析流程1

RNA-seq分析有很多流程,

一般都是上游linux工具获取表达矩阵数据,然后就可以使用下游R包进行处理了,要么是差异DEG表达gene等分析;

因为下游分析其实R包是明确的,毕竟有很多生信分析教程,但是上游的linux如何获取gene表达矩阵,实际上工具就很多了,所以不同套件的工具组合成一个上游分析系列,就会有很多分析方式;

1,上游linux的比对+计数工具选取:

参考https://mp.weixin.qq.com/s/Ny2VYP-M9BxD2V8R5kkXaA

有两种方式比较推荐:

这种方式其实很常见:上游比对/回帖的工具,比如STAR、hisat2+下游计数的featureCounts

直接使用salmon进行定量,但是所谓的"clean fq"是什么,是指经过上游QC的fq文件吗?

另外新增一种方式:

常规QC——》STAR——》Salmon——》edgeR,

主要就是STAR+Salmon是他的linux上游分析工具;

总之例子很多,转录组分析工具是非常的多,可参考https://mp.weixin.qq.com/s/NUEi6oRFL7B3f1FpCD4Xug

下面采用2以及3的方式来处理常规RNA-seq:

(1)Salmon直接上游定量:

参考公众号:https://mp.weixin.qq.com/s/aDxnkK3jhyP6E_wfvza6jQ?search_click_id=11630710159653975537-1726118237844-0581657105

(以及下游的后续CSDN:https://blog.csdn.net/qazplm12_3/article/details/111056012?ops_request_misc=%257B%2522request%255Fid%2522%253A%25222FF4544C-25A8-44B0-8470-554470EF9883%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=2FF4544C-25A8-44B0-8470-554470EF9883&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogfirst_rank_ecpm_v1~rank_v31_ecpm-3-111056012-null-null.nonecase&utm_term=salmon&spm=1018.2226.3001.4450)

基本等同于https://github.com/nattoh03/Salmon-Quant,

https://github.com/LauYuXuan/salmon_processing/blob/main/sh_salmon.sh,

https://github.com/bissessk/RNA-seq-Analysis-of-Control-and-NRDE2-depleted-Breast-Cancer-Cells/blob/master/1%20-%20Scripts%20and%20Commands/9_salmonQuantifySamples.sh

https://github.com/Alecrim24/Salmon_quant/blob/main/salmon%20on%20all%20reads%20mapped%20to%20the%20h.m%20genome

可以参考https://github.com/SamuelAMiller1/RNA-Seq_Analysis_salmon编写一个全程上游自动化的脚本

首先是下载salmon:

有很多方式,可以直接去salmon官网或者是github官网按照指示,

或者直接mamba search,也可以去bioconda寻找;

#构建索引index,从ucsc浏览器或者ENSEMBL下载参考基因组fa文件、基因注释gtf文件;假设为GRCh38.fa、GRCh38.gtf
#建议使用ensembl,最好是grch38也就是hg38
#这一块整个代码实际上就是参考https://combine-lab.github.io/alevin-tutorial/2019/selective-alignment/# 获取cDNA序列
gffread GRCh38.gtf -g GRCh38.fa -w GRCh38.transcript.fa.tmp# gffread生成的fasta文件同时包含基因名字和转录本名字
grep '>' GRCh38.transcript.fa.tmp | head# 去掉空格后面的字符串,保证cDNA文件中fasta序列的名字简洁,不然后续会出错
cut -f 1 -d ' ' GRCh38.transcript.fa.tmp >GRCh38.transcript.fa# 获取所有基因组序列的名字存储于decoy中
grep '^>' GRCh38.fa | cut -d ' ' -f 1 | sed 's/^>//g' >GRCh38.decoys.txt# 合并cDNA和基因组序列一起,注意:cDNA在前,基因组在后
cat GRCh38.transcript.fa GRCh38.fa >GRCh38_trans_genome.fa# 构建索引 (更慢,结果会更准)
salmon index -t GRCh38_trans_genome.fa -d GRCh38.decoys.txt -i GRCh38.salmon_sa_index

-d的文件(就是上图的decoy)加上整个到index步骤的代码块,都是参考https://combine-lab.github.io/alevin-tutorial/2019/selective-alignment/,也就是上面step1中代码块第3行的参考;

整体上上面大部分的代码是没有问题的,

就是-k参数,也就是k串,默认是31,但是我们在multiqc中实际上是可以知道我们二代测序的reads的长短的,所以可以根据上面这个指示进行修改-k参数,一般是改小。

step2:进行定量化,主salmon quant函数

实际执行过程中,参考官网https://salmon.readthedocs.io/en/latest/salmon.html
salmon有两种比对方式,就选其中使用reads的方法此处。因为:
salmon有2个模式mode:
1个是**mapping**-based mode,也就是先index再定量化,即直接对raw reads进行操作的此处(1)Salmon直接定量;

另外1个是alignment-based mode,可以接受STAR的比对/回帖,再Salmon定量化,也就是后面的(2)

因为我们是直接对reads进行定量化,所以此处选用mapping-based mode,

主要使用的参数:
-l A是对于raw reads定量而言的,亦即该模式;

–gcBias 都可以直接使用in any case

-p是线程数

官网推荐的这个参数已经弃用了

-g参数也就是前面step1中提供的gtf文件,只要提取其中的transcript_id以及gene_id两列即可,虽然官网中没有提示这个参数,所以

实际软件与官网提示不一定一致,看issue

其他的参数暂时就没有想到以及使用了,可以查看大多数人的经验缩小参数,然后看看是否必要设置;

当然,直接全部参数都去看才是最保险的!

反正就在这里https://salmon.readthedocs.io/en/latest/salmon.html

注意上游fq单端还是双端会有影响,分别编写了对应shell脚本salmon.sh、salmon_PE.sh、salmon_SE.sh,

**建议先对上游fq文件进行质控QC再执行salmon脚本!然后依据以前对于RNA-seq的处理经验,一般上游multiqc或者是fastqc的质控报告html中并不是所有的red flag error都需要修剪,一般只要trim_galore常规命令修剪,修剪之后依然error的一般不用太在意,因为RNA-seq的reads比较特殊,上游质控可以宽松点;

参考https://github.com/nattoh03/Salmon-Quant

总之常规QC+修剪——>再salmon quant定量化**,所谓的clean fq

然后输出的记过是quant.xxx.sf文件,

输出格式参考https://salmon.readthedocs.io/en/latest/file_formats.html#fileformats

总体而言,执行过程中官方声明线程数建议在8-12左右,所以我本人是用10线程左右,

总之一句话,对于软件的使用,一定要看官方教程,一定要搞清楚每个参数设置的必要性,不要随便拿别人的脚本来用,很吃亏的!

以上定量化流程并不完善,但是主要函数都列出了,后续再使用时最好对照官网再次进行分析

然后这个sf文件就可以直接开始下游分析了,比如说是DEG分析

综上,该模块整体脚本参考https://github.com/MaybeBio/HiC_pipeline/blob/main/pipeline/hic%20%E5%9F%BA%E7%A1%80pipeline%E9%AA%A8%E6%9E%B6/salmon.sh

(2)Star+Salmon定量:

对于STAR,也和1中一样使用featureCounts,即先STAR再featureCounts,但是也知道STAR自己也能定量化counts,所以为什么需要featureCounts呢、也就是为什么还需要Salmon呢?

参考https://mp.weixin.qq.com/s/OJ1MpHhW08BcZSjMvFs3eg

跑题了,我们这里要做的是先STAR再Salmon。

质控的fastqc+multiqc,以及修剪的trim_galore以及cutadapt在常规脚本中都有,见ChIP/ATAC-seq脚本都有;

参考官方https://salmon.readthedocs.io/en/latest/salmon.html

salmon有2个模式mode:
1个是**mapping**-based mode,也就是先index再定量化,即直接对raw reads进行操作的(1)Salmon直接定量;

另外1个是alignment-based mode,可以接受STAR的比对/回帖,再Salmon定量化,也就是此处的(2)

此法暂略,后续待更新

2,RNA-seq下游分析:

(1)DEG分析+GSEA:

原始参考脚本PDXHiC_supplemental/Fig2_RNA-seq/01以及02脚本,

修改见https://github.com/MaybeBio/TNBC-project/tree/main/2%2CCompartment同名,

调整之后参考见HiC_pipeline/pipeline/hic 基础pipeline骨架/01_TPMCalc_DataPreproc.R以及HiC_pipeline/pipeline/hic 基础pipeline骨架/02_DEG_Analysis_edgeR.Rmd,

可参考https://mp.weixin.qq.com/s/bXv1KG-p307pZ5i94AYnTQ,

主要就是使用salmon中的输出文件quant.sf文件,注意是转录本定量的文件,不是gene的!

对应脚本中也有这一步骤,注意将注释文件对应好即可,

总之是可以参考

https://mp.weixin.qq.com/s/bXv1KG-p307pZ5i94AYnTQ,也可以参考自己脚本中上游salmon输出到edgeR处理DEG;

DEG处理之后就是功能富集分析,即GSEA,可以使用clusterprofiler包,因为有logFC等rank数据,所以可以使用GSEA,clusterprofiler绘制出来的图已经足够了;

注意GSEA与常规的GO/KEGG中的过表达分析不同,在算法上不同,使用参考不同,前者rank,后者超几何test,可以参考博客,待更新。。。

(2)其他:

Fig2_RNA-seq/
在这里插入图片描述

3,其余pipeline,RNA-seq相关

很多script,可以参考仓库RNA-seq

后续待更新2,3,4之类,或者是1.1等

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/423287.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无人机之处理器篇

无人机的处理器是无人机系统的核心部件之一,它负责控制无人机的飞行、数据处理、任务执行等多个关键功能。以下是对无人机处理器的详细解析: 一、处理器类型 无人机中使用的处理器主要包括以下几种类型: CPU处理器:CPU是无人机的…

神经网络多层感知器异或问题求解-学习篇

多层感知器可以解决单层感知器无法解决的异或问题 首先给了四个输入样本,输入样本和位置信息如下所示,现在要学习一个模型,在二维空间中把两个样本分开,输入数据是个矩阵,矩阵中有四个样本,样本的维度是三维…

Unity全面取消Runtime费用 安装游戏不再收版费

Unity宣布他们已经废除了争议性的Runtime费用,该费用于2023年9月引入,定于1月1日开始收取。Runtime费用起初是打算根据使用Unity引擎安装游戏的次数收取版权费。2023年9月晚些时候,该公司部分收回了计划,称Runtime费用只适用于订阅…

[数据集][目标检测]车窗状态检测车窗开关检测数据集VOC+YOLO格式299张3类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):299 标注数量(xml文件个数):299 标注数量(txt文件个数):299 标注类别…

应用程序已被 Java 安全阻止:Java 安全中的添加的例外站点如何对所有用户生效

如题:应用程序已被 Java 安全阻止,如下图所示: 在寻找全局配置的时候花了一个上午的时间,到处搜解决方法,都不可行。最后还是参考官方的文档配置好了。如果你碰到了同样的问题,这篇文章一定可以帮到你。 环…

论文阅读:AutoDIR Automatic All-in-One Image Restoration with Latent Diffusion

论文阅读:AutoDIR: Automatic All-in-One Image Restoration with Latent Diffusion 这是 ECCV 2024 的一篇文章,利用扩散模型实现图像恢复的任务。 Abstract 这篇文章提出了一个创新的 all-in-one 的图像恢复框架,融合了隐扩散技术&#x…

【重学 MySQL】二十八、SQL99语法新特性之自然连接和 using 连接

【重学 MySQL】二十八、SQL99语法新特性之自然连接和 using 连接 自然连接(NATURAL JOIN)USING连接总结 SQL99语法在SQL92的基础上引入了一些新特性,其中自然连接(NATURAL JOIN)和USING连接是较为显著的两个特性。 自…

《数字图像处理(面向新工科的电工电子信息基础课程系列教材)》P84

更正卷积与相关微课中互相关运算动画中的索引。 1-D correlation rectwave 禹晶、肖创柏、廖庆敏《数字图像处理(面向新工科的电工电子信息基础课程系列教材)》 禹晶、肖创柏、廖庆敏《数字图像处理》资源二维码

性能测试【Locust】基本使用介绍

一.前言 Locust是一款易于使用的分布式负载测试工具,基于事件驱动,使用轻量级执行单元(如协程)来实现高并发。 二.基本使用 以下是Locust性能测试使用的一个基础Demo示例,该示例有安装Locust、编写测试脚本、启动测…

三方共建 | 网络安全运营中心正式揭牌成立

9月3日,广州迎来了一场网络安全领域的盛事。悦学科技、聚铭网络、微步在线联合打造的7x24小时网络安全运营中心(以下简称“中心”)正式成立,并在现场举行了庄重而热烈的揭牌仪式。众多行业专家、企业代表齐聚一堂,共同…

MPP数据库之SelectDB

SelectDB 是一个高性能、云原生的 MPP(大规模并行处理)数据库,旨在为分析型数据处理场景提供快速、弹性和高效的解决方案。它专为处理大规模结构化和半结构化数据设计,常用于企业级业务分析、实时分析和决策支持。 SelectDB 是在…

实习项目|苍穹外卖|day9

实战作业。 用户端新增功能 1. 查询历史订单 接口设计 返回的是orderorderdetails(那我这里就先查order,再根据order_id查) 分页 pageHelper的使用: //controller相关函数GetMapping("/historyOrders")ApiOperati…

【GBase 8c V5_3.0.0 分布式数据库常用几个SQL】

1.检查应用连接数 以管理员用户 gbase,登录数据库主节点。 接数据库,并执行如下 SQL 语句查看连接数。 SELECT count(*) FROM (SELECT pg_stat_get_backend_idset() AS backendid) AS s;2.查看空闲连接 查看空闲(state 字段为”idle”)且长时间没有更…

AI问答-Vue实例属性/实例方法:$refs、$emit、$attrs、$props、$data...

一、本文简介 在Vue.js中,$ 符号通常用于表示Vue实例或组件上的内置属性和方法,这些被称为“实例属性”或“实例方法”。以下是一些常见的以$开头的Vue实例属性和方法 1.1、实例属性 序号实例属性解释1$dataVue实例的数据对象,用于存储组件…

Linux - 探秘/proc/sys/net/ipv4/ip_local_port_range

文章目录 Pre概述默认值及其意义评估需求如何调整临时修改永久修改测试和验证 修改的潜在影响 Pre Linux - 探秘 Linux 的 /proc/sys/vm 常见核心配置 计划: 简要解释 /proc/sys/net/ipv4/ip_local_port_range 文件的功能和作用。介绍该文件的默认值及其影响。说明…

ChatGPT: A Simulator Who Passed the Turing Test?

文章目录 引言Introduction:Applications:Discussion:Future Outlook:汉语翻译 引言 本文是一篇英语课前pre,简单介绍了ChatGPT的功能,内容一般,希望能帮到你。🙂 Introduction: Standing at the intersection of natural lan…

Failed building wheel for opencv-python-headless

Failed building wheel for opencv-python-headless 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,211科班出身,就职于医疗科技公司,热衷分享知识,武汉城市开发者社区主理人…

UiBot教程:实现复杂流程图的高效方法

在自动化测试和RPA(机器人流程自动化)领域,使用UiBot绘制复杂流程图是日常工作中常见的挑战之一。如何在繁杂的逻辑中保持高效?如何实现复杂流程的自动化设计而不迷失于其中?这是许多测试工程师和自动化开发者所面临的…

存储课程学习笔记1_访问scsi磁盘读写测试(struct sg_io_hdr,ioctl,mmap)

创建虚拟机时,可以选择SCSI,STAT,NVME不同类型的磁盘。 0:总结 》了解内核提供的访问scsi的结构和方法 (主要是sg_io_hdr_t 结构体和ioctl函数)。 》需要读scsi协议文档,了解相关指令,只演示了16字节固定…

智启新机,云驱增长 | 华宇亮相2024腾讯全球数字生态大会

9月5日-6日,以“智启新机,云驱增长”为主题的2024腾讯全球数字生态大会在深圳国际会展中心举办。本次大会聚集了多位企业领军人物及行业专家,共同聚焦数字化下的产业新增长,以前沿探索为基石,以行业最佳实践为标杆&…