问题标签 [sbml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
821 浏览

c++ - Win XP x64 上的段错误,在 XP x32 上不会发生 - strncpy 问题?怎么修?

我对使用 C++ 非常缺乏经验,但我正在尝试在 64 位 XP 平台上为 matlab编译SBML 工具箱的 2.0.2 版。SBML 工具箱依赖于Xerces 2.8 和libsbml 2.3.5。

我已经能够在 32 位机器上构建和编译工具箱,并且在我测试它时它可以工作。但是,在 64 位机器上重建它(这是一个巨大的 PITA!)后,当我尝试用它读取长 .xml 文件时出现分段错误。

我怀疑这个问题是由指针地址问题引起的。

分段错误的堆栈跟踪开始于:

所以我正在查看 libsbml 代码中的 StringBuffer_append 函数:

确保容量看起来像这样:

和 StringBuffer_grow 看起来像这样:

有没有可能

在 StringBuffer_append 是我的段错误的来源?

如果是这样,有人可以建议修复吗?我真的不懂 C++,而且对指针和内存寻址特别困惑,所以我可能不知道你在说什么——我需要一些帮助。

此外,我将构建过程的详细信息放在此处,以防其他人正在尝试使用 Microsoft Visual C++ Express Edition 为 64 位系统编译 C++。

提前致谢!

-本

0 投票
2 回答
1069 浏览

jquery - 用 javascript 编写 xml 解析器的技术

已经有很多关于如何编写 xml 解析器的问题,主要用于网站或其他应用程序。

还有其他已证明有用的教程,包括:

http://www.switchonthecode.com/tutorials/xml-parsing-with-jquery

但是,我正在尝试为文件格式 sbml(系统生物学标记语言)编写解析器:

规格 - http://sbml.org/Documents/Specifications

我一直在尝试对解析器进行硬编码,虽然它适用于我的情况,但它不适用于每个部分。

由于规范相当大(8 页)并且容易更改,有没有更好的方法来为这种情况编写解析器?

是否有可能制作所有可能节点的数组并循环而不是硬编码所有内容。这会更有效率吗?

0 投票
3 回答
5454 浏览

python - 当前节点的Xpath选择属性?

我使用 python 和 lxml 来处理 xml。在我查询/过滤以到达我想要的节点后,但我遇到了一些问题。如何通过 xpath 获取其属性的值?这是我的输入示例。

我想要的值在 resource=... 中。目前我只是使用 lxml 来获取价值。我想知道是否可以在纯 xpath 中进行?谢谢

编辑:忘了说,这不是根节点,所以我不能在这里使用 //。我在 xml 文件中有 2000-3000 个其他人。我的第一次尝试是使用“.@attrib”和“self::*@”,但这些似乎不起作用。

EDIT2:我会尽力解释(嗯,这是我第一次使用 xpath 处理 xml 问题。英语不是我最喜欢的领域之一......)。这是我的输入片段http://pastebin.com/kZmVdbQQ(来自此处的完整片段http://www.comp-sys-bio.org/yeastnet/使用版本 4)。

在我的代码中,我尝试使用资源链接 chebi ( <rdf:li rdf:resource="urn:miriam:obo.chebi:...."/>).节点如果我从像speciesTypes这样的父节点开始,但我想知道如果我从rdf:li开始怎么办根据我的理解,xpath中的“//”将在任何地方寻找节点,而不仅仅是在当前节点中。

下面是我的代码

0 投票
1 回答
420 浏览

python - Python:将输出写入文本文件,但文本文件不包含整个字符串并随机截断?

我正在使用 Python 解析一个 xls 文件,然后将该信息转换为SBML(XML 的一个版本)。

这是一个相当长的文件(>3000 行),当我打开 .xml 时,字符串会随机截断大约 1400 或 3000 行。但是,当我键入:print d.toSBML() 并将此字符串打印到控制台时,该字符串不会被截断,我可以看到已解析字符串的结尾。

这里可能是什么问题?

编辑:为了进一步剖析问题,我用 outfile2.close() 关闭了代码,还尝试在我的脚本中打印和打印到控制台。这将返回截断sd字符串。但是,当我分别在解释器中输入确切的命令时,都可以正确打印。有谁知道这种差异是怎么回事?

0 投票
6 回答
8183 浏览

python - lxml:将命名空间添加到输入文件

我正在解析由外部程序生成的 xml 文件。然后我想使用我自己的命名空间向这个文件添加自定义注释。我的输入如下所示:

问题是 lxml 仅在使用命名空间时声明它们,这意味着声明重复多次,如下所示(简化):

是否可以强制 lxml 在父元素中仅写入一次此声明,例如sbmlor listOfSpecies?还是有充分的理由不这样做?我想要的结果是:

重要的问题是必须保留从文件中读取的现有数据,所以我不能只创建一个新的根元素(我认为?)。

编辑:附在下面的代码。

0 投票
1 回答
169 浏览

mathml - 在 mathml 中保留括号

我正在使用 SBML,它是一种用于捕获数值模拟的 XML 格式。这使用 MathML 来捕获与模拟中不同事物的数量相关的方程式。当我手工写下方程式时,我添加了一些不是严格需要的括号,但这样可以使方程式更易于阅读。例如,我可能有一个方程式,我会手写如下:

当它进入 MathML 时,这些括号被去掉了,一旦我漂亮地打印了 MathML,它就会出现:

这让我很难过。有没有办法在 MathML 表达式中捕获这些(冗余)括号?

0 投票
4 回答
12978 浏览

c++ - 如何使用 POCO 解析 xml 文件并将特定节点提取到 std::string?

我想使用 POCO 的库提取单个节点,但不知道该怎么做。我是 XML 新手。

XML 本身看起来像这样(缩写):

我想提取 listOfReactions 节点中的所有内容并将其存储在 std::string 中,以便以后进行 MD5 散列。

我试过这个:

0 投票
3 回答
1133 浏览

r - 如何使用 R 包 xml 解析 xml/sbml?

我正在尝试从下面的 sbml/xml 文件中解析信息

https://dl.dropboxusercontent.com/u/10712588/file.xml

从这段代码

http://search.bioconductor.jp/codes/11172

看来我可以通过以下方式正常导入文件

但我无法恢复节点属性

或者

文件的一个节点如下...

我想检索物种节点内的所有信息,有人知道该怎么做吗?

0 投票
3 回答
2186 浏览

linux - 如何让 COBRA 工具箱在 Linux 中的 MATLAB(例如 Ubuntu 14.04)下与适当的 SBML 支持一起工作?

考虑这 4 个软件:

  1. 眼镜蛇 2.05

  2. LibSBML 5.10

  3. MATLAB R2013a(也称为 8.1,64 位;MATLAB 不再支持 32 位 Linux)

  4. 64 位 Linux 操作系统(例如 Ubuntu 14.04 或最新的 Mint,但不限于它们)

介绍

COBRA 工具箱是在 MATLAB 之上运行的优化套件,旨在开发用于代谢网络建模的 MATLAB 代码。这样的“网络”是一个方程组,可以有非常多的方程和变量(例如数千个)。因此,根据某种格式规范读取和写入这些大型模型的例程是必须具备的,而 COBRA 使用标准 SBML 来实现这一点。

问题

与 Windows 版本不同,Linux 二进制包不能很好地开箱即用地集成:首先,可供下载的预编译 Linux 二进制 libSBML(开源)不附带 MATLAB 支持。如果尝试使用预编译的 libSBML,COBRA 将找不到“MATLAB 绑定”,因此无法在 m 脚本中从磁盘读取和写入 SBML XML 文件。

问题

需要做什么才能使 COBRA 2.05 在 Linux(Ubuntu 14.04 或最新的 Mint,但这不太可能特定于发行版)下运行在 MATLAB R2013a 之上,能够读取和写入 SBML XML 文件?换句话说,需要在系统范围内做什么才能让 COBRA 通过自己的testSBML测试?

0 投票
1 回答
831 浏览

visualization - 绘制代谢网络?

我需要画一张大肠杆菌核心代谢图。与地图中的每个反应相关联,我有一个数字表示通过该反应的通量。我希望地图通过地图中每个反应的颜色来反映这些通量。

我曾尝试使用 Mathematica 和 Cytoscape 等工具,但很难获得代谢网络的良好布局。我看过纸上看起来非常漂亮的大肠杆菌代谢图。我需要的是这样的地图,但我可以在其中定义反应的颜色。

有一些可用的工具,例如,metdraw.com。但是当我上传我的 E.coli SBML 模型时,情节布局是一场灾难。曾经有一个网络 IPython 笔记本,可以用于一些预建模型,您只需输入反应通量。但现在它不见了: http: //nbviewer.ipython.org/github/opencobra/cobrapy/blob/master/documentation_builder/visbio.ipynb

有关示例,请参见下图。忘记分隔隔间的黄色边界框。我可以省去那些。