【bioinfo】融合检测软件FusionMap分析流程和报告结果
文章目录
- 写在前面
- FusionMap融合检测原理
- FusionMap与其他软比较
- FusionMap分析流程
- FusionMap结果文件说明
- FusionMap mono CUP设置
图片来源: https://en.wikipedia.org/wiki/Fusion_gene
写在前面
下面主要内容是关于RNA-seq数据分析融合,用到软件是FusionMap 【FusionMap参考文献】。
融合分析使用哪个软件,哪个软件表现较好,在Biostarts发现一个问答列举了一些软件(看这里),里面有STAR-Fusion, STAR-Fusion, deFuse, FusionCatcher等30多个融合分析软件,其中约20多个软件的文献发表于2011-2013年,FusionMap软件的文献也发表与2011年。还有几篇软件比较的文献,各分析软件的优劣文献中也会提,晚一些发表的文献也会与之前发表的软件作比较。
另外,FusionMap软件应该很早不再更新了,是在Oshell工具包中进行维护。

FusionMap融合检测原理
融合Reads:Seed reads和Rescued reads

融合方向:图来源

FusionMap与其他软比较

图片来源文献: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4797269/
上面表格红色标注是,相对FusionMap, 结果比FusionMap差的。从该文献给的上表中粗略看,FusionMap在三组和构造的数据集上表现还可以,而在乳腺癌和黑色素瘤的样本数据上表现较差,对它的综合评价属于中等程度,但它有个最大的好处,就是用C#编写,其运行速度较其他软件要快。
对于该软比较文献中,具体使用的是什么样的数据,各软件分析时使用的参数,比较的评分标准,可能对各个软件都会有影响。
FusionMap分析流程
软件分析流程pipline:图来源

融合检测流程:

其中,序列比对是在GSNAP软件基础上进行了一些改进。介绍GSNAP
(1)分析流程配置oscript文件示例:
http://www.arrayserver.com/wiki/index.php?title=OmicScript_example_for_RNA-Seq_data_analysis_pipeline
(2)软件使用示例:
mono oshell.exe --runscript Base_Dir Script_path/buildIndex.oscript Temp_Dir Mono_Path
FusionMap结果文件说明
结果文件report:http://www.arrayserver.com/wiki/index.php?title=Fusion_SE_report
| 表头名称 | 含义 |
|---|---|
| FusionID | 融合ID信息,格式为: FUS_Start_END注[1]^{注[1]}注[1] |
| Bam.UniqueCuttingPositionCount | Uniq read数,相当于Seed Reads+Rescued reads的去重 |
| Bam.SeedCount | 如上图中,假设ααα就是一端softclip长度最小值,则SeedCount则为softclip长度>=α的Reads数。(如果值比较小,也可能根本比不上)目的是这些Reads可作为种子序列扩展成较长的融合序列,再将扩展的融合序列作为自构建ref,比较靠边缘的融合序列比对到自构建ref。如果是PE150bp,α=25α=25α=25,最多可扩展成125+125=250bp的融合序列 |
| Bam.RescuedCount | 相当于softclip长度<α的reads数,通过SeedReads自构建的ref进行比对上的reads |
| Strand | 链方向 |
| Chromosome1 | 断点1染色体 |
| Position1 | 断点1位置 |
| Chromosome2 | 断点2染色体 |
| Position2 | 断点2位置 |
| KnownGene1 | 断点1基因 |
| KnownTranscript1 | 断点1转录本 |
| KnownExonNumber1 | 断点1外显子号 |
| KnownTranscriptStrand1 | 断点1基因链方向 |
| KnownGene2 | 断点2基因 |
| KnownTranscript2 | 断点2转录本 |
| KnownExonNumber2 | 断点2外显子号 |
| KnownTranscriptStrand2 | 断点2基因链方向 |
| FusionJunctionSequence | 融合断点上下游(30bp)序列 |
| FusionGene | 融合两端基因 |
| SplicePattern | 融合剪接模式 [1] |
| SplicePatternClass | 融合剪接模式类型 [1] |
| FrameShift | 发生frameshift的格式 [2] |
| FrameShiftClass | frameshift的类型 [2] |
| Distance | 融合断点间距离(不是同一染色体时为-1) |
| OnExonBoundary | 是否在Exon边界,None:两个断点都不在;Both:两个断点都在;Single:有一个断点在。 |
| Filter | 可过滤信息,包括:InFamilyList(家族基因列表)/InBlackList(黑名单列表) |
其中:
[1] SplicePatternClass包括:
- CanonicalPatter[Major]: GT-AG
SplicePattern - CanonicalPatter[Minor]: GC-AG and AT-AC
SplicePattern - NonCanonicalPatter: all other detected di-nucleotides
[2] FrameShiftClass包括:
- FrameShift:融合处发生了移码。
- InFrame:融合处是整码(断点处基因的碱基是3的倍数)。
FrameShift对应值的格式为: [0{0,1}1{0,1}2{0,1}->0{0,1}1{0,1}2{0,1}(python正则表达式,0{0,1}是指0字符出现0-1次)
- (1)若值为
->或->0{0,1}1{0,1}2{0,1}或0{0,1}1{0,1}2{0,1}->(例如,->0/->01/->012),可能是融合比对的位置两个断点或一端断点不在编码区?【InFrame】 - (2)若值为
0->1或1->2或2->0(下图),表示两个基因融合后,没有发生移码【InFrame】 - (3)若值为
0->2/0->0、1->0/1->1或2->1/2->2,表示两个基因融合后,发生了移码 【FrameShift】 - (4)若值为
->左端或右端有多种模式,例如02->2,012->1。当多种模式都包含在情形(3)中,则为【FrameShift】,例如:0->02、01->0、02->2、1->01、12->1、2->12;当多种模式中至少有一种属于情形(2),则为【InFrame】,例如:0->012、0->01、01->01等。
图来源 也介绍了fusionMap检测融合:

推荐的过滤条件:图来源
SeedCount >= 3; SplicePatternClass =CanonicalPattern[Major] or CanonicalPattern[Minor] ; Filter=Empty
更严格的条件:FrameShiftClass=InFrame;OnExonBoundary=Both

单端/双端融合的基因表达结果:图来源(oscript配置中设定分析表达步骤)

FusionMap mono CUP设置
占用较高CPU问题,如何设置?【还不清楚】
-
FusionMap使用说明文档
-
关于FusionMap的一些安装说明中提到控制文档示例中,有提到mono的一些参数设置:(但不知道在哪里设置该文件?)

Mono的帮助文档中有相关参数:
| 参数 | 说明 |
|---|---|
| –aot | |
| 环境变量: | |
| MONO_CPU_ARCH | 覆盖自动 CPU 检测机制。目前仅用于arm, eg:MONO_CPU_ARCH="armv4 thumb" mono ... |
| MONO_THREADS_PER_CPU | 一般线程池中的最大线程数将为 20 + (MONO_THREADS_PER_CPU * CPU 数)。此变量的默认值为 10 |
| MONO_TLS_SESSION_CACHE_TIMEOUT | SSL/TLS 会话缓存将保留其条目以避免客户端和服务器之间的新协商的时间(以秒为单位)。协商非常占用 CPU,因此特定于应用程序的自定义值可能证明对小型嵌入式系统有用。默认值为 180 秒。 |
其他参考:
- github上mono相关问题
MONO_THREADS_PER_CPU=100参考 - 在linux上使用mono跑c#的程序一定要特别注意,while(true)的问题(使用sleep)参考
- 配置supervisor来管理mono程序 参考
- https://www.mono-project.com/docs/
- 融合发生机制及检测方法
相关文章:
【bioinfo】融合检测软件FusionMap分析流程和报告结果
文章目录写在前面FusionMap融合检测原理FusionMap与其他软比较FusionMap分析流程FusionMap结果文件说明FusionMap mono CUP设置图片来源: https://en.wikipedia.org/wiki/Fusion_gene写在前面 下面主要内容是关于RNA-seq数据分析融合,用到软件是FusionMap 【Fusion…...
C++基础了解-17-C++日期 时间
C日期 & 时间 一、C日期 & 时间 C 标准库没有提供所谓的日期类型。C 继承了 C 语言用于日期和时间操作的结构和函数。为了使用日期和时间相关的函数和结构,需要在 C 程序中引用 头文件。 有四个与时间相关的类型:clock_t、time_t、size_t 和 …...
MOV压敏电阻的几种电路元件功能及不同优势讲解
压敏电阻,通常是电路为防护浪涌冲击电压而使用的一种电子元器件,相比其他的浪涌保护器来说,也有那么几个不一样的优势,那么,具体有哪些?以及关于它的作用,你都知道吗?以下优恩小编为…...
uniapp+uniCloud实战项目报修小程序开发
前言 本项目基于 uniapp uniCloud 云开发,简单易用,逻辑主要是云数据库的增删查改,页面大部分自写,部分使用uniUI, uView 组件库。大家可用于学习或者二次开发,有什么不懂的地方可联系 wechat:MrYe443。用…...
演唱会的火车票没了?Python实现12306查票以及zidong购票....
嗨害大家好!我是小熊猫~ 不知道大家抢到演唱会的门票没有呢? 不管抢到没有,火车票也是很重要的哇 24小时抢票不间断的那种喔~ ~ ~ 不然可就要走路去了喔~ 准备工作 环境 Python 3.8Pycharm 插件 谷歌浏览器驱动 模块 需要安装的第三方模块&am…...
Linux发行版本与发行版的简单的介绍
Linux linux下有很多发行的版本,或者称之为魔改版本。以下介绍一些常见的版本,以避免名词的混淆。 linux是提供了一个内核,就像是谷歌的内核一样,QQ浏览器就是使用的谷歌的内核,也算是一个发行版本。 Ubuntu&#x…...
前后端分离项目学习-vue+springboot 博客
前后端分离项目 文章总体分为2大部分,Java后端接口和vue前端页面 项目演示:www.markerhub.com:8084/blogs Java后端接口开发 1、前言 从零开始搭建一个项目骨架,最好选择合适,熟悉的技术,并且在未来易拓展…...
关于指针运算的一道题
目录 刚看到这道题的时候我也和大多数小白一样感到无从下手,但是在我写这篇博客的前几分钟开始我对这道题有了一点点的理解。所以我就想着趁热打铁,写一篇博客来记录一下我的想法。 题目如下: 画图: 逐一解答: 题一…...
【论文简述】Learning Optical Flow with Kernel Patch Attention(CVPR 2022)
一、论文简述 1. 第一作者:Ao Luo 2. 发表年份:2022 3. 发表期刊:CVPR 4. 关键词:光流、局部注意力、空间关联、上下文关联 5. 探索动机:现有方法主要将光流估计视为特征匹配任务,即学习在特征空间中将…...
Java学习-MySQL-列的数据类型
Java学习-MySQL-列的数据类型 数值 tinyint - 1个字节smallint - 2个字节mediumint - 3个字节int - 4个字节bigint - 8个字节float - 4个字节double - 8个字节decimal - 字符串形式的浮点数 字符串 char - 0~255varchar - 可变字符串 0~65535tinytext - 微型文本 2^8-1text…...
终端配色-Docker容器终端
20230309 - 0. 引言 平时使用SSH,通常都是使用securecrt来用,毕竟也算是之前windows下一种使用的工具,在mac下使用还算方便;进入终端后,可以通过调整配色来调整编程环境。平时经常使用屎黄色的那种配色,毕…...
SQL基础培训04-插入数据
知识点: 假设有订单表 CREATE TABLE SEOrder ( FID int identity(...
Apache HTTP Server <2.4.56 mod_proxy 模块存在请求走私漏洞(CVE-2023-25690)
漏洞描述 Apache HTTP Server是一款Web服务器。 该项目受影响版本存在请求走私漏洞。由于intro.xml中存在RewriteRule配置不当,当Apache启用mod_proxy且配置如 RewriteRule “^/here/(.*)” " http://example.com:8080/elsewhere?$1"; http://example.…...
SpringBoot 集成 elasticsearch 7.x和对应版本不一致异常信息处理
开源框架springboot框架中集成es。使用org.springframework.data.elasticsearch下的依赖,实现对elasticsearch的CURD,非常方便,但是springboot和elasticsearch版本对应很严格,对应版本不统一启动会报错。 文章目录开源框架Elasticsearch 7.x安装Elastics…...
求职季必看系列:Java如何高效面试?
先看看这些java高频的面试重点吧 以下是初级程序员面试经常问到的问题: ■ Spring的三大特性是什么? ■ Spring IOC和AOP 你是如何理解并且使用的? ■ 说一下ElasticSearch为什么查询的快?是如何存储的?在项目中…...
点云分割预研
文章目录激光雷达点云分割1.点云分割主流方案(模型角度)1.1 (a) 基于RGB-D图像1.2 (d) 基于点云1.3 (b) 基于投影图像1.4 (b) 基于投影图像 - SqueezeSeg/RangeNet1.4. 球映射2 点云分割主流方案(部署角度)3 点云分割常用指标4 点…...
【数据结构】栈和队列 (栈 栈的概念结构 栈的实现 队列 队列的概念及结构 队列的实现 栈和队列面试题)
文章目录前言一、栈1.1 栈的概念结构1.2栈的实现二、队列2.1队列的概念及结构2.2队列的实现三、栈和队列面试题总结前言 一、栈 1.1 栈的概念结构 栈也是一种线性表,数据在逻辑上挨着存储。只允许在固定的一端进行插入和删除元素。进行插入和删除操作的一端叫栈顶…...
Moonbeam生态说|解读2023年Web3发展的前景和亮点
「Moonbeam生态说」是Moonbeam中文爱好者社区组织的社区AMA活动。该活动为媒体和已部署Moonriver或Moonbeam的项目方提供了在主流Moonbeam非官方中文社区内介绍自己的项目信息,包括:项目介绍、团队介绍、技术优势和行业发展等,帮助社区内的Mo…...
【刷题笔记】--二分-P2440 木材加工
题目: 思路: 先在所有树中找到最长的树,从 1 到 这个最长的树的长度 的所有数作为二分查找的值,让每棵树除这个值,表示可以切出几段出来,累加在一起得到s,s表示一共有几段。s与k比较…...
netstat 命令详解
文章目录简介命令格式常用选项常用命令查询进程所占用的端口号查看端口号的使用情况显示所有连接和监听端口并显示每个连接相关的进程ID显示UDP、TCP协议的连接的统计信息并显示每个连接相关的进程 ID显示所有已建立的连接显示每个进程的连接数显示每个IP地址的连接数显示每种类…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
【第二十一章 SDIO接口(SDIO)】
第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...
【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...
JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
