这个新星软件包提供了三种不同相似性度量的实现在以下基础上量化基因组关系的表达能力这个基因连接模型.
所有核心方法都在中实现蟒蛇而有些helper脚本是用编写的猛击; 一些核心方法将输出整数线性规划(ILP)采用适合IBM求解器的格式CPLEX公司.新星具有以下系统要求:
- Python 2.7版
- NetworkX≥1.10
- IBM ILOG CPLEX优化工作室
- GNU/Unix(可选)
- 生物蟒蛇≥1.6(可选)
在基因连接模型中,基因组的比较基于他们的两党基因连接图:给定两个基因组S公司和T型,一个基因连接图 G(S,T)属于S公司和T型是一个具有一个顶点的二部图每个基因S公司每个基因有一个顶点T型。两个顶点之间的边,一个来自S公司一个来自T型,表明这两个基因之间有某种联系由这些顶点表示。此中方法的输入软件包是可以构建的基因连接图从BLAST表格使用提供的脚本成对_相似.py.
所提供的方法有助于进行谱间比较两个基因组之间通过计数的基因顺序保守邻接,定义为如下:给定一个整数θ ≥ 1,一双索引位置(i,i’)具有i'≤i+ θ在字符串中是(θ-)邻接.此外,两个基因组之间的一对邻接S公司和T型是保守的如果
- 它们相应的基因在基因中是相连的连接图G(S,T)和
- 它们对应的基因的相对方向是完全相同的
提供的不同相似性度量新星用以下公式表示三个问题陈述:
问题1(总邻接型号)。给定两个基因组S公司和T型和一个基因连接图G(S,T),计算索引对的数量位置(i,i’)在里面S公司和(j,j’)在里面T型形成一个保守邻接。换句话说,计算形容词(S,T)=|{(i,i',j,j'))|1≤i<i'≤|S|,1≤j<j'≤|T|和(i,i'|j')}|.
问题2(基因匹配模型)。给定两个基因组S公司和T型,一个基因连接图G(S,T)和一个实值参数α∈ [0, 1],查找二部匹配M(M)在里面G(S,T)这样的话诱导序列S公司M(M)和T型M(M)最大化措施F类α(M)=α·adj(S M,T M)+(1−α)·边缘(M),哪里边缘(M)=|M(M)|是匹配的大小M(M).(诱导序列S公司M(M)和T型M(M)是子序列分别包含与M的边缘)
即使对于1-邻接,解决问题2也是NP-hard。因此,我们提供了第三个中间度量,即实际计算效率高,但仍能产生一对一的结果基因末端之间的对应。它被定义为大小的最大子集非冲突保守邻接在一对基因组中发现,其中两个表示保守邻接冲突如果他们的间隔两个基因组都是重叠的。
问题3(邻接匹配型号)。给定两个基因组S公司和T型和一个基因连接图G(S,T),让C类成为场景之间的保守邻接S公司和T型.计算尺寸|C类*|最大值的非冲突保守邻接的基数集C类*⊆C.
新星提供了以下内容核心脚本:
- enumerate_adjs.py-要求解的脚本问题1和问题3的第一部分(见论文);
- 写_ ffadj _ ilp.py-用于构造ILP的脚本以CPLEX格式解决问题2;
- 匹配_simple_adjs.py-脚本到解决问题3第二部分的1-邻接;
- 写入通用调整匹配ilp.py-用CPLEX格式构造ILP的脚本解决问题3θ>1的θ-邻接;
- 标识_主持人.py-脚本到预解简单子图作为构造ILP的预处理通过写_ ffadj _ ilp.py和写入通用调整匹配ilp.py;
- sol_to匹配.py-脚本从生成的“*.sol”文件中提取匹配的解决方案CPLEX公司。