【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应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...

Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...

【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...

微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...