【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地址的连接数显示每种类…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...
