【bioinfo】融合检测软件FusionMap分析流程和报告结果

news2024/9/30 19:26:54

文章目录

      • 写在前面
      • FusionMap融合检测原理
      • FusionMap与其他软比较
      • FusionMap分析流程
      • FusionMap结果文件说明
      • FusionMap mono CUP设置

图片来自Wikipedia-FusionGene
图片来源: 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 readsRescued reads
在这里插入图片描述
融合方向:图来源
在这里插入图片描述

FusionMap与其他软比较

在这里插入图片描述
图片来源文献: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4797269/

上面表格红色标注是,相对FusionMap, 结果比FusionMap差的。从该文献给的上表中粗略看,FusionMap在三组和构造的数据集上表现还可以,而在乳腺癌和黑色素瘤的样本数据上表现较差,对它的综合评价属于中等程度,但它有个最大的好处,就是用C#编写,其运行速度较其他软件要快。

对于该软比较文献中,具体使用的是什么样的数据,各软件分析时使用的参数,比较的评分标准,可能对各个软件都会有影响。

FusionMap分析流程

软件分析流程pipline:图来源
在这里插入图片描述
融合检测流程:
FusionMap软件分析流程图
其中,序列比对是在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.UniqueCuttingPositionCountUniq 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]
FrameShiftClassframeshift的类型 [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->11->22->0(下图),表示两个基因融合后,没有发生移码【 InFrame
  • (3)若值为0->2/0->01->0/1->12->1/2->2,表示两个基因融合后,发生了移码 【FrameShift
  • (4)若值为->左端或右端有多种模式,例如02->2012->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_TIMEOUTSSL/TLS 会话缓存将保留其条目以避免客户端和服务器之间的新协商的时间(以秒为单位)。协商非常占用 CPU,因此特定于应用程序的自定义值可能证明对小型嵌入式系统有用。默认值为 180 秒。

其他参考:

  • github上mono相关问题MONO_THREADS_PER_CPU=100 参考
  • 在linux上使用mono跑c#的程序一定要特别注意,while(true)的问题(使用sleep)参考
  • 配置supervisor来管理mono程序 参考
  • https://www.mono-project.com/docs/
  • 融合发生机制及检测方法

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

连接微信群、Slack 和 GitHub:社区开放沟通的基础设施搭建

NebulaGraph 社区如何构建工具让 Slack、WeChat 中宝贵的群聊讨论同步到公共领域。 要开放&#xff0c;不要封闭 在开源社区中&#xff0c;开放的一个重要意义是社区内的沟通、讨论应该是透明、包容并且方便所有成员访问的。这意味着社区中的任何人都应该能够参与讨论和决策过…

编写程序:有92号和95号汽油可以选择,选择你需要的汽油,并输入需要加油的升数,点击按钮“`计算总价钱`“在div中可以得到你所需要支付的价格

需求&#xff1a; 有92号汽油和95号可以选择&#xff0c;选择你需要的汽油&#xff0c;并输入需要加油的升数&#xff0c;点击按钮"计算总价钱"在div中可以得到你所需要支付的价格。结构如下图所示&#xff1a; 详细代码如下&#xff1a; <!DOCTYPE html> &l…

图像识别技术OpenCV | C++版本

基础入门 图像与信号 图像 图像是人对视觉感知的物质再现。图像可以由光学设备获取&#xff0c;也可以人为创作。随着数字采集技术和信号处理理论的发展&#xff0c;越来越多的图像以数字形式存储。因而&#xff0c;有些情况下”图像“一词实际上是指数字图像。图像相关的话…

YOLOv8初体验:检测、跟踪、模型部署

安装 YOLOv8有两种安装方式&#xff0c;一种是直接用pip命令安装&#xff1a; pip install ultralytics另外一种是通过源码安装&#xff1a; git clone https://github.com/ultralytics/ultralytics cd ultralytics pip install -e .[dev]安装完成后就可以通过yolo命令在命令…

JavaScript的错误类型数据

在使用JavaScript开发过程中&#xff0c;当我们遇见浏览器控制台中出现的报错时&#xff0c;如何从这些错误类型快速定位到问题代码是一种必不可少的技能&#xff0c;下面我们来看看JavaScript的7种错误类型&#xff08;卷起来…&#xff09; 1、SyntaxError&#xff1a;语法错…

IP地址、网段处理模块IPy

【小白从小学Python、C、Java】【计算机等级考试500强双证书】【Python-数据分析】IP地址、网段处理模块IPy选择题以下关于python代码表述错误的一项是?from IPy import IPprint("【执行】IP(192.168.0.0/24).len()")print(IP(192.168.0.0/24).len())print("【…

realman——使用Moveit控制Gazebo中的机械臂

文章目录 概述新建工作区配置说明MoveIt端的配置机器人端的配置关节轨迹控制器关节状态控制器运行效果可能存在的问题概述 MoveIt!与 Gazebo 的联合仿真,其主要思路为搭建 ros_control 和 MoveIt!的桥梁。先在 MoveIt!端配置关节和传感器接口 yaml 文件,将其加载到 rviz 端;…

Java 某厂面试题真题合集

哈喽~大家好&#xff0c;这篇来看看Java 某厂面试题真题合集。 &#x1f947;个人主页&#xff1a;个人主页​​​​​ &#x1f948; 系列专栏&#xff1a;【日常学习上的分享】 &#x1f949;与这篇相关的文章&#xff1a; Spr…

leetcode-70 爬楼梯(java实现)

爬楼梯题目分析1 递归写法动态规划解法题目 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 分析1 递归写法 如果要爬上第n阶&#xff0c;要么是从第n-1上面再爬1阶上去的&#xff0c;要么是从…

Postman简介及接口测试流程(小菜鸟攻略)

目录 前言 一、常见接口 二、前端和后端 三、什么是接口测试 四、接口组成 1、接口说明 2、调用url 3、请求方法&#xff08;get\post&#xff09; 4、请求参数、参数类型、请求参数说明 5、返回参数说明 五、为什么要做接口测试 本章主要介绍如何使用postman做接口…

电脑蓝屏怎么办?这5个技巧你必须学会

案例&#xff1a;电脑蓝屏是什么原因&#xff1f;怎么样可以解决&#xff1f; “救命&#xff01;&#xff01;&#xff01;电脑是怎么了&#xff1f;开机直接蓝屏&#xff0c;是哪里坏了吗&#xff1f;前几天电脑还是好的&#xff0c;今早一打开就是蓝屏&#xff0c;可能是之…

继承、多继承

继承 文章目录继承继承的概念继承的定义继承方式和访问限定符继承基类成员访问方式的变化基类和派生类对象赋值转换继承中的作用域派生类的默认成员函数构造函数拷贝构造赋值重载析构函数继承和友元继承和静态成员多继承&#xff0c;菱形继承和菱形虚拟继承单继承&#xff1a;一…

【算法】六大排序 插入排序 希尔排序 选择排序 堆排序 冒泡排序 快速排序

本章的所有代码可以访问这里 排序 一 一、排序的概念及其运用1.1排序的概念1.2 常见的排序算法二、常见排序算法的实现1、直接插入排序2、希尔排序3、选择排序4、堆排序5、冒泡排序6、快速排序6.1霍尔法6.2挖坑法6.3前后指针法7、快速排序非递归一、排序的概念及其运用 1.1排序…

Mysql中的 IFNULL 函数的详解

目录 一、概念 二、语法 三、Demo 举例说明 创建表 加入数据 运行结果 3.1举例一 3.2举例二 3.3举例三 3.4举例四 注意事项 一、概念 在mysql中IFNULL() 函数用于判断第一个表达式是否为 NULL&#xff0c;如果第一个值不为NULL就执行第一个值。第一个值为 NULL 则返…

华为OD机试题,用 Java 解【求最大数字】问题

华为Od必看系列 华为OD机试 全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典使用说明 参加华为od机试,一定要注意不…

【模板进阶】

目录 1. 非类型模板参数 2. 模板的特化 2.1 概念 2.2 函数模板特化 2.3 类模板特化 2.3.1 全特化 3 模板分离编译 3.1 什么是分离编译 3.2 模板的分离编译 4. 模板总结 有需要的老哥可以先看看模板的介绍&#xff1a;http://t.csdn.cn/2TkUYhttp://t.csdn.cn/2TkUY 1. …

聊点不一样的|Be a Serendipper:Woman VS Man

很喜欢这样一句话&#xff1a;Be a serendipper&#xff0c;and find your own serendipity!可以理解为&#xff1a;做一个善于发现美好事物的人&#xff0c;找到属于你自己的那些美好。每个人的生活中都有 Serendipity&#xff0c;有时能被我们一眼看到&#xff0c;有时又会藏…

七段码 杨辉三角

题目&#xff1a; 小蓝要用七段码数码管来表示一种特殊的文字。 上图给出了七段码数码管的一个图示&#xff0c;数码管中一共有 77 段可以发光的二 极管&#xff0c;分别标记为 a,b,c,d,e,f,g。 小蓝要选择一部分二极管&#xff08;至少要有一个&#xff09;发光来表达字符。在…

AI已到,普通人的机会在哪里?

“普通人赚到钱很难 但是被骗到钱很容易”。每当火起来一个行业&#xff08;或者仅是一个概念&#xff09;&#xff0c;都会有人来问&#xff1a;现在去做点什么&#xff0c;能够踩上风口&#xff1f;普通人的赚钱机会在哪&#xff1f;怎么做能够暴富&#xff1f;让我们先来看看…

【卷积神经网络】中间层网络的参数归一化方法 | BN / LN / IN / GN

文章目录一、为什么神经网络需要归一化二、常用的归一化方法三、Batch Normalization四、Layer Normalization五、Instance Normalization六、Group Normalization本文主要介绍神经网络中常用的归一化方法&#xff0c;主要是在神经网络内部对中间层的输入进行归一化&#xff0c…