matlab 2013 ubuntu,如何让COBRA工具箱在Linux下的MATLAB(如Ubuntu 14.04)中使用适当的SBML支持?...

考虑这4个软件:

1)COBRA 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二进制包不能很好地集成开箱即用:首先,可供下载的libSBML(开源)的预编译Linux二进制文件不具备MATLAB支持.如果尝试使用预编译的libSBML,COBRA将无法找到“MATLAB绑定”,因此无法在m脚本中从磁盘读取和写入SBML XML文件.

这个问题

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

解决方法:

这就是我如何使它工作以及我可以从有关我的Linux盒子如何工作的所有麻烦中学到的东西.我希望我不会忘记/遗失/误解任何事情.

1. MATLAB

1.1.安装MATLAB

将它安装在默认位置(你需要root访问权限),不要像我试图的那样固执.为什么:

1.1.1.积分

您很可能希望在某些时候安装一些使用MATLAB框架的其他软件,而在现实世界中,即使您知道如何告诉它在哪里寻找,软件并不总能找到其他软件.

1.1.2.让您的生活更轻松

尽管在一个有大量可用空间的地方安装一个大软件并且可以在多台机器中使用(特别是在Linux中,没有那种可憎的名为Registry,并且具有符号链接)似乎是一个好主意),这可能只是一个好主意 – 除了项目1.1.1 – 如果那个地方是一个Linux文件系统的分区,因为在某些时候,某些可执行文件/脚本需要执行权限,并在执行时挂载整个分区对其所有文件的许可是相当不安全的.因此,不要将MATLAB放在外部HD的NTFS分区中;也许在外部HD中创建一个Linux分区只是针对特定于Linux的东西可以解决这个问题,但这有多麻烦?

1.2.设置MATLAB,以便人们和其他软件可以启动它

尽管我已经看到MATLAB安装程序最终会在系统路径中显示创建符号链接的选项,但是在我的情况下却没有.但这没关系,因为我必须用以下shell脚本(相同的路径,相同的文件名)替换符号链接/usr/local/bin / matlab:

#!/bin/sh

export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH

exec /usr/local/MATLAB/R2013a/bin/matlab $*

OBS:MATLAB需要LD_LIBRARY_PATH以便稍后查找SBML绑定并能够使用它们.此外,如果您安装某些第三方解算器(如TOMLAB),则很可能需要在此小启动器脚本中添加更多路径.

OBS 2:在我的情况下,安装脚本没有自动创建任何启动器或快捷方式,但我找到了一个无图标和无扩展的Matlab 8.01文件和一个matlab图标作为png文件,并且第一个文件是模板.桌面文件,我可以编辑以满足我的需要,并放入/usr/share / applications,以便Unity Dash找到它.这个Matlab.desktop文件的内容是:

[Desktop Entry]

Type=Application

Icon=/usr/local/MATLAB/R2013a/Matlab.png

Name=Matlab 8.01

Comment="Start Matlab 8.01"

Exec=/usr/local/MATLAB/R2013a/bin/matlab -desktop

Categories=Development;

Name=Matlab 8.01

GenericName=Matlab 8.01

Comment="Start Matlab 8.01"

2. libSBML

2.1.安装libSBML

libSBML由专用于Ubuntu(和CentOS)的deb软件包提供,还有几种版本的Windows和MacOSX版本(其主页:http://sbml.org/Software/libSBML).猜猜哪个二进制文件没有用MATLAB支持编译的唯一平台?当然是Linux.这意味着你需要从源代码编译(因此deb软件包对你没用).编译:

2.1.1.安装依赖项

依赖libxml2-dev(来自软件管理器或来自终端):

sudo apt-get install libxml2-dev

2.1.2.将来节省一些时间

通常,人们会进行配置,制作然后进行安装.但是这不推荐用于安装任何不在一个小包装中的任何东西:你将失去对哪些文件去哪里的控制权,并且需要保持源代码能够运行make uninstall if你需要稍后卸载它.因此,安装checkinstall并使用它来替换步骤make install,因为checkinstall会为您的系统创建一个包,以后可以像任何常规打包软件一样卸载或重新安装(来自软件管理器或终端):

sudo apt-get install checkinstall

2.1.3.配置编译过程

获取LibSBML源代码并将其解压缩到某个文件夹.从终端导航到该文件夹​​并配置编译:

./configure --with-matlab

OBS:使用with-matlab标志,配置脚本将失败,它无法找到文件名为matlab的可执行文件.如果失败,则输出无法找到matlab文件,但它执行的测试实际上是文件的存在以及是否可执行.因此,如果文件位于NTFS分区中,即使找到该文件,configure也会失败,但会告诉您无法找到该文件.您可以强制执行它以通过传递在/ path / to / matlab / root中查找可执行文件(它将查找该路径中的bin文件夹以及该bin文件夹中的可执行文件):

./configure --with-matlab=/path/to/matlab/root

OBS:这将在默认位置安装libSBML:/usr/local/lib.同样,最好让它安装在默认位置,但是如果你需要更改它,你可以传递带有标志的路径: – prefix = / your / installation / path

OBS 2:你可能会问为什么libSBML需要找到并执行matlab来编译支持它:它需要以后启动MATLAB来构建MEX文件(编译的MATLAB代码),所以我推测你不能毕竟如果你的MATLAB没有生成MEX文件的编译器就安装libSBML.

2.1.4.构建并安装libSBML

make

checkinstall

非常重要的OBS:

I)checkinstall要求确认它将要创建的包的元数据.在我的例子中,版本字段的字符串默认为“Source”(没有引号),这导致checkinstall失败,因为dpkg(实际构建deb文件的系统工具)失败,抱怨版本号必须以,好吧,一个数字.所以,节省一些时间并确保版本字段中的字符串以数字开头(即“5.10”,显然没有引号)

II)checkinstall询问您是否要从将来的包文件中排除make install命令将放在您的主文件夹中,并说它是排除它们的好主意. LibSBML有一个test.xml文件,它需要稍后在$HOME文件夹中,否则它将不允许你与MATLAB集成.即使它告诉你缺少test.xml,它也不会告诉你该文件应该在哪里,或者该文件是否随库一起提供.我只是注意到它,因为checkinstall之前找到了$HOME / test.xml引用(当然我从包中排除了)并且我发现它很奇怪.因此,节省一些时间并从checkinstall生成的包中排除$HOME / test.xml,然后在source-code文件夹中搜索test.xml,并在checkinstall安装libSBML后立即将其复制到$HOME.

2.2.将libSBML集成到MATLAB中

启动MATLAB,导航到步骤2.1.5中安装SBML MATLAB绑定的位置(在我的情况下:/usr/local/lib)并运行应该存在的文件installSBML.m.

2.2.1.共享库问题

在我的情况下,由于一个旧的未解决的问题我有一个错误:libstdc .so.6没有引用GLIBCXX_3.4.15.原来,MATLAB试图使用的libstdc .so.6.0.13(的libstdc .so.6是指向该文件的符号链接),在/ usr /本地/ MATLAB / R2013a用它来/ SYS / OS / glnxa64确实没有那个参考(人们可以通过发布:

strings /usr/local/MATLAB/R2013a/sys/os/glnxa64/libstdc++.so.6.0.13 | grep GLIBC

).我的系统有一个位于/usr/lib / x86_64-linux-gnu中的libstdc .so.6.0.19,它有该引用,所以我通过正确设置LD_LIBRARY_PATH强制MATLAB使用6.0.19(参见步骤1.2)和也可以通过将MATLAB附带的libstdc .so.6重命名为其他东西,这样就找不到它,并且会一直看到它找到我的系统.我的一个朋友运行Linux Mint不需要重命名任何东西:对他来说,设置LD_LIBRARY_PATH就足够了.

2.2.2.其他问题

如果找不到步骤2.1.5中提到的$HOME / test.xml文件,installSBML.m将失败,无论库是否实际工作.它假定如果它无法使用假定在$HOME中的文件来测试自身,则用户无论如何都不应该选择安装它.

3. COBRA / SBML工具箱

3.1.设置COBRA

在MATLAB中,导航到< YOUR_COBRA_ROOT_FOLDER_HERE> /external/toolboxes/SBMLToolbox-4.1.0/toolbox并在那里运行install.m文件.您应该设置所有设置,以便找到您在步骤2.2中设置的MATLAB绑定.

3.2. MATLAB setpaths问题

我必须以root身份手动编辑文件/usr/local/MATLAB/R2013a/toolbox/local/pathdef.m以包含文件夹/usr/local/lib(其中libSBML及其MATLAB绑定)以使该设置持久化.每次重新启动MATLAB时,无论我是否在通过MATLAB GUI设置其setpath时以root身份启动MATLAB,其setpath都已恢复为默认值.

3.3.测试

现在你希望连接所有的点.试一试:在MATLAB中,导航到< YOUR_COBRA_ROOT_FOLDER_HERE>和问题:

initCobraToolbox

testAll

如果您没有安装和配置任何第三方解算器,它应该通过19个测试中的14个,包括SBML测试(testSBML).现在您可以将SBML文件加载到MATLAB中并使用它们.

标签:io,linux,matlab,bioinformatics

来源: https://codeday.me/bug/20190708/1404932.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1 2/3维图像分割工具箱 2 PSORT粒子群优化工具箱 3 matlab计量工具箱Lesage 4 MatCont7p1 5 matlab模糊逻辑工具箱函数 6 医学图像处理工具箱 7 人工蜂群工具箱 8 MPT3安装包 9 drEEM toolbox 10 DOMFluor Toolbox v1.7 11 Matlab数学建模工具箱 12 马尔可夫决策过程(MDP)工具箱MDPtoolbox 13 国立SVM工具箱 14 模式识别与机器学习工具箱 15 ttsbox1.1语音合成工具箱 16 分数阶傅里叶变换的程序FRFT 17 魔方模拟器与规划求解 18 隐马尔可夫模型工具箱 HMM 19 图理论工具箱GrTheory 20 自由曲线拟合工具箱ezyfit 21 分形维数计算工具箱FracLab 2.2 22 For-Each 23 PlotPub 24 Sheffield大学最新遗传算法工具箱 25 Camera Calibration 像机标定工具箱 26 Qhull(二维三维三角分解、泰森图)凸包工具箱 2019版 27 jplv7 28 MatlabFns 29 张量工具箱Tensor Toolbox 30 海洋要素计算工具箱seawater 31 地图工具箱m_map 32 othercolor配色工具包 33 Matlab数学建模工具箱 34 元胞自动机 35 量子波函数演示工具箱 36 图像局域特征匹配工具箱 37 图像分割graphcut工具箱 38 NSGA-II工具箱 39 chinamap国地图数据工具箱(大陆地区) 40 2D GaussFit高斯拟合工具箱 41 dijkstra最小成本路径算法 42 多维数据快速矩阵乘法 43 约束粒子群优化算法 44 脑MRI肿瘤的检测与分类 45 Matlab数值分析算法程序 46 matlab车牌识别完整程序 47 机器人工具箱robot-10.3.1 48 cvx凸优化处理工具箱 49 hctsa时间序列分析工具箱 50 神经科学工具箱Psychtoolbox-3-PTB 51 地震数据处理工具CREWES1990版 52 经济最优化工具箱CompEcon 53 基于约束的重构分析工具箱Cobratoolbox 54 Schwarz-Christoffel Toolbox 55 Gibbs-SeaWater (GSW)海洋学工具箱 56 光声仿真工具箱K-Wave-toolbox-1.2.1 57 语音处理工具箱Sap-Voicebox 58 贝叶斯网工具箱Bayes Net Toolbox(BNT) 59 计算机视觉工具箱VFfeat-0.9.21 60 全向相机校准工具箱OCamCalib_v3.0 61 心理物理学数据分析工具箱Palamedes1_10_3 62 生理学研究工具箱EEGLAB 63 磁共振成像处理工具箱CONN 18b 64 matlab 复杂网络工具箱 65 聚类分析工具箱FuzzyClusteringToolbox 66 遗传规划matlab工具箱 67 粒子群优化工具箱 68 数字图像处理工具箱DIPUM Toolbax V1.1.3 69 遗传算法工具箱 70 鱼群算法工具箱OptimizedAFSAr 71 蚁群算法工具箱 72 matlab优化工具箱 73 数据包络分析工具箱 74 图像分割质量评估工具包 75 相关向量机工具箱 76 音频处理工具箱 77 nurbs工具箱 78 Nurbs-surface工具箱 79 grabit数据提取工具箱 80 量子信息工具箱QLib 81 DYNAMO工具箱 82 NEDC循环的整车油耗量 83 PlotHub工具箱 84 MvCAT_Ver02.01 85 Regularization Tools Version 4.1 86 MatrixVB 4.5(含注册) 87 空间几何工具箱 matGeom-1.2.2 88 大数计算工具箱 VariablePrecisionIntegers 89 晶体织构分析工具包 mtex-5.7.0 90 Minimal Paths 2工具箱 91 Matlab数学建模工具箱
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值