没有合适的资源?快使用搜索试试~ 我知道了~
软件X 21(2023)101276原始软件出版物Rcall:MATLAB的R接口Janine Egerta,b,,Clemens Kreutza,b,ca医学生物统计学和统计学研究所(IMBI),医学系和医学中心,弗莱堡大学,Stefan-Meier-Str. 26,79104 Freiburg im Breisgau,德国bCentre for Integrative Biological Signalling Studies(CIBSS),University of Freiburg,79104 Freiburg im Breisgau,GermanycCenter for Data Analysis and Modelling(FDM),University of Freiburg,79104 Freiburg im Breisgau,Germanyar t i cl e i nf o文章历史记录:接收25七月2022收到修订版2022年11保留字:RMATLAB程序设计语言接口a b st ra ctR和Matlab是两种高级科学编程语言,经常应用于物理,数学和计算生物学等自然科学新的方法和应用程序通常只在R或MATLAB中实现。在这里,我们介绍了Rcall接口,它为用户提供了使用R和MATLAB编程的各种方法。Rcall在MATLAB中运行,并提供对R中实现的方法和软件包的直接访问,例如可以从Bioconductor或CRAN访问。MATLAB和R方法的简单组合极大地扩展了MATLAB编程环境的功能,并使Rcall非常适合这两种编程语言的基准测试实现MATLAB源代码可在https://github.com/kreutz-lab/Rcall上获得。Rcall支持Linux、类Unix、MS Windows和Mac OS X系统。©2022作者(S)。由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)中找到。代码元数据当前代码版本v1.3用于此代码版本的存储库的永久链接https://github.com/kreutz-lab/Rcall可再生胶囊的永久链接https://github.com/ElsevierSoftwareX/SOFTX-D-22-00207法律代码许可证BSD-3条款许可证使用git的代码版本控制系统软件代码语言、工具和服务使用MATLAB、R、R包R.matlab安装要求依赖关系MATLAB/Octave,R,R包R.matlab链接到开发人员文档https://github.com/kreutz-lab/Rcall/wiki问题支持电子邮件egert@imbi.uni-freiburg.de,ckreutz@imbi.uni-freiburg.de1. 介绍:MATLAB随着数据分析领域的计算和方法的进步,在过去的几十年里,开发了越来越多的软件工具和功能然而,在大多数情况下,新的算法是在仅仅一种编程语言,这阻碍了新方法的广泛应用。因此,需要能够快速且容易地集成以另一种编程语言实现的最先进方法的接口,如MATLAB和R的情况,其*通讯作者:医学生物统计学和统计学研究所(IMBI),医学系和医学中心,弗莱堡大学,Stefan-Meier-Str. 26,79104 Freiburg im Breisgau,德国。电子邮件地址:egert@imbi.uni-freiburg.de(JanineEgert),ckreutz@imbi.uni-freiburg.de(Clemens Kreutz)。https://doi.org/10.1016/j.softx.2022.101276是两种广泛使用的编程语言,特别是在数据分析和统计计算领域。MATLAB的R接口为用户提供了从R社区获得的丰富MATLAB环境的现有R接口仅限于特定的操作系统。RMatlab接口[1]是为Linux构建的,也支持R和MATLAB的双向功能。Rserve [2] R服务器是为Linux和MacOS构建的,也允许从其他编程语言(如C/C++,PHP和Java)调用RMATLAB R-link [3]运行在Windows上,基于R(D)COM服务器[4],其非商业版本在CRAN存档中已被弃用。2352-7110/©2022作者。由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softxJanine Egert和Clemens Kreutz软件X 21(2023)1012762在这里,我们介绍了Rcall接口,它允许在MATLAB环境中直接应用R包。Rcall旨在通过为所有常见的操作系统提供一个经过良好测试且易于集成的接口来扩展与R通信的可用方法,特别是还支持Windows系统。2. 软件唯一的要求是运行MATLAB和R安装,包括应用的R包。一旦Rcall文件夹添加到MATLAB搜索路径,Rcall可以在任何MATLAB脚本中使用。Rcall的实现包括五个主要步骤:(1) - 是的R安装路径、R库和R库的路径可以由用户在Rinit函数中指定。如果未指定,则使用当前系统配置定义的路径和包存储在一个全局变量中。(2) 变量的转移每次调用Rpush命令时,指定的输入变量都会被添加到一个临时MATLAB工作区Rpush.mat中,以存储这些变量。(3) R命令R命令由Rrun函数指定为字符串参数。为了减少调用新的R实例所需的计算量,R命令被缓存,直到第一次调用Rpull函数,即,直到在MATLAB中请求结果。(4) R代码的评估和转移到MATLAB。缓存的R命令被传递到一个临时的R脚本,并在单个R会话中顺序执行。R代码在批处理模式下通过系统命令自动调用。为了减少计 算 时 间 , 只 计 算 两 个 RpullRpull 函 数 的 输 入 参 数 指 定 由R.Matlab包将哪些输出变量传递到结果MATLAB工作空间文件。R.Matlab软件包支持的所有数据类型,如标量,矢量,矩阵,数组,字符等都可以传输。为了扩展R.Matlab包的功能,Rcall将相应的数据类型(如R数据帧)分配给MATLAB表,在Rpull和Rpush命令中,R列出MATLAB结构,反之亦然。数据类型转换的概述如表1所示。通过R和MATLAB class命令检查变量类型在MATLAB中,数值变量包括整数、单精度和双精度数组。默认情况下,双精度浮点数在MATLAB中创建。因此,在R工作空间中,被传递的数值变量也是double类型的。此外,还支持复数、无穷大或NaN值的传输。对象类型在[5通过保存对象的各个组件来确保嵌套对象和列表的导出。在MATLAB中,各个组件然后组合成MATLAB结构。一般来说,特别是对于大型对象或不支持自动转换的对象,用户可以从R对象中提取结果,存储在新变量中,然后单独传递给MATLAB。(5) 删除文件。所有的R和MATLAB临时文件和临时文件只能通过Rclear函数删除。这允许重复使用Rcall创建的变量和对象。表1实现了从R到MATLAB的数据类型转换,反之亦然在Rcall中。作为类名,使用相应编程语言的class命令的输出。数据类型数据类型在MATLAB中在R中在MATLAB中(u)int8/16/32/64→integer→int32 single,double→numeric→double–complex→doublelogical→logical→logicalchar,string→character →char struct,cell→list→struct–tbl_df→结构表、时间表→数据帧→表分类→因子→分类Rcall支持从对象创建到代码评估和可视化的所有R功能。Rcall的主要限制是R中的用户输入尚未提供,并且图形渲染仅限于R在批处理模式下提供的功能。此外,复杂的数据对象只能在转换为列表是可能的情况下才能被传输,否则所请求的信息必须由用户单独提取和传输。为了便于错误处理,R控制台中出现的错误消息将转发到MATLAB命令窗口。为了避免输入参数的显式指定,Rcall中有额外的自动功能。首先,不带任何参数调用Rpush将当前MATLAB工作区转移到R会话,而无需显式命名MATLAB变量。其次,Rrunfile函数允许直接执行R文件,而不是通过Rrun函数定义R命令3. 说明性实例Rcall通过允许直接比较通过MATLAB获得的分析结果,R.下面展示了两个基准测试示例,线性模型拟合和通过均匀流形近似和投影(UMAP)的此外,使用Rcall,允许MATLAB用户在MATLAB环境中应用目前仅在R.这在实施例3中通过应用limma R包进行差异表达分析来证明。3.1. 示例1:线性模型线性模型拟合应用于MATLAB示例数据设置医院。线性回归模型通过MATLAB中的fitlm函数和来自stats R包的lm函数通过Rcall进行拟合。这导致两种编程语言的模型系数相同。清单1显示了重现结果的MATLAB代码。 线性模型拟合如图所示。1.一、清单1:通过Rcall在MATLAB和R中运行线性模型拟合的MATLAB代码。>>load(>> t b l = table(医院。血压(:,1),医院。年龄,。. .医院吸烟者,医院。Weight,“VariableNames”,. . .{>> f i t = f i t lm(tbl,>> cm = f i t.C o e f i c i e n t s。估算;R i n i t>> Rpush(>>Rrun(Janine Egert和Clemens Kreutz软件X 21(2023)1012763Fig. 1. Rcall的示例应用。Rcall接口支持基准测试,允许直接比较R和MATLAB中实现的分析工具(顶部和中部)。虽然线性模型拟合产生相同的模型系数(顶部),但R和MATLAB之间的UMAP聚类分配不同(中间)。此外,仅在R中可用的算法可以通过Rcall在MATLAB工作环境中应用。在此,使用limma R软件包进行了差异表达分析(底部)。>> Rrun(' c r − fi t $co e fi c i e n t s ')>> cr = Rpull(>> Rclear3.2. 示例2:Umap将umap R包[8]的UMAP实现和MATLAB文件交换[9]应用于Fisher虹膜数据集以进行比较,cp。清单2. 这两种实现都基于[10]的原始出版物,但导致不同的集群分配(图1)。这可以通过不同的初始猜测或执行中的差异来解释。清单2:通过Rcall在MATLAB和R中运行umap聚类分析以进行比较的MATLAB代码。所得到的聚类如图所示。1.一、>>load(>> umapM=run_umap(meas,>> R i n i t(>> Rpush(>>Rrun(>> umapR = Rpull(>> Rclear3.3. 实施例3:Limma在R中实现的limma算法经常用于差分表达式分析。在这里,它应用于原始计数在MATLAB中通过Rcall,cp. 上市3. 计数矩阵geneCountTable由11,609个基因组成,其中有和没有siRNA敲低果蝇中的pasilla,每个基因有两个生物学重复。预测向量grp表示样本索引。在线性模型拟合之前,RNAseq计数数据dat已被转换为每百万个对数2计数,并根据R函数voom的均值-方差关系进行加权lmFit R函数将线性模型拟合到转换后的基因表达数据,经验贝叶斯调整的统计量和p值通过eBayes R函数计算,并生成火山图以说明差异表达(图1)。①的人。清单3:使用limma R包运行差分表达式分析的MATLAB代码。>> R i n i t(>>load(' pasilla_count_noMM . math>> Rpush(>>Rrun(>>Rr un(<'fit−lmFit(dat,model. matrix(m1+grp))>>Rrun(>>Rrun(>>Rr un(<'p-fi t B a y $ p. value>> Rrun(>>[top,p]= Rpull(>> Rclear对数倍数变化、置信区间、t统计量和关于排名前十的基因的更多信息存储在R数据框顶部。当传输到MATLAB时,R数据帧顶部被转换为MATLAB结构。或者,Janine Egert和Clemens Kreutz软件X 21(2023)1012764对象元素可以单独传递给MATLAB,如p值所示。示例3的实现需要4.0秒的实时来在MATLAB中执行,并且需要0.6秒来在R中执行R命令,平均重复十次,并且在具有4个逻辑处理器的2.604. 影响通过Rcall接口,用户可以轻松地将R代码实现到MATLAB分析工作流中。这有助于快速集成以另一种高质量编程语言实现的现有工具。Rcall接口集成到MATLAB OmicsData [12]库中,用于分析高通量数据。在这里,可以通过Rcall轻松调用R功能,如差异表达例如,插补算法的数据驱动选择测试在R via Rcall [13] .据我们所知,Rcall已被用于以下 是一些 文章: [13 此外 ,Mathworks 的提 供了进 一步集成 到MATLAB软件的步骤的支持5. 结论通过允许从MATLAB工作环境中直接执行R命令,Rcall极大地扩展了MATLAB用户可以使用的数据分析工具。Rcall既可以用来比较R和MATLAB之间的分析和算法,也可以用来访问MATLAB中尚未实现或更新的功能。此外,Rcall支持基本数据类型的计算和传输,变量可以转换为R和MATLAB中的适当数据类型。最后,Rcall接口提供了一个易于集成的系统,因为它通过批处理模式调用R,因此可以在所有主要操作系统(Linux,Windows,macOS,Unix类)上工作,而无需复杂的CRediT作者贡献声明Janine Egert:软件,可视化,写作克莱门斯·克鲁兹:概念化,软件,监督,文字审查竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作。数据可用性文章中描述的研究未使用任何数据致谢这 项 工 作 得 到 了 德 国 联 邦 教 育 和 研 究 部 的 支 持 [EA : Sys ,FKZ031L0080至J.E.(C);以及德国联邦和州政府的卓越计划[CIBSS-EXC-2189-2100249960-390939984 to C.K.]。引用[1]Lang DT,Liu B. RMatlab。2004,Omegahat,版本0.2-5,URL:www.omegahat.net/RMatlab/网站。[2]乌尔班内克湾Rserve:Binary R服务器。2019,CRAN仓库,URL:https://CRAN.R-project.org/package=Rserve,R包版本1.8-9。[3]亨森河MATLAB R-link。2016,MATLAB中央文件交换,URL:www.mathworks.com/matlabcentral/fileexchange/5051-matlab-r-link,版本1.1.0.1。[4]Baier T,Neutroth E. R/Scilab(D)Com服务器。2008,CRAN存储库,URL:www.cran.r-project.org/contrib/extra/dcom/,版本3.0- 1B 5。[5]Becker RA,Chambers JM,Wilks AR.新S语言纽约:查普曼&霍尔; 1988年,http://dx.doi.org/10.1201/9781351074988。[6]RCore团队。R语言定义,R 4.2.1。 2000 -2022年,网址:https://cran。 r-project.org/doc/manuals/r-release/R-lang.html#Basic-types。[7]数学作品。MathWorks文档,R2022b。1994//de.mathworks.com/help/matlab/data-types.html网站。[8]科 诺普 卡 湖umap : 均匀 流 形近 似 和投 影 。2020, URL : https://CRAN.R-project.org/package=umap,R包版本0.2.7.0。[9][103] 杨 文 , 杨 文, 杨 文 .一 致 流 形 近似 与 投 影 ( UMAP ) . 2021 , URL :www.mathworks.com/matlabcentral/fileexchange/71902。[10] McInnesL , HealyJ.UMAP : UniformManifoldApproximationandProjection for Dimension Reduction(统一流形近似和投影降维)2018年,arXiv,arXiv:1802.03426。[11] Brooks AN,Yang L,Duff MO,Hansen KD,Park JW,Dudoit S,等.果蝇和哺乳动物之间RNA调控图谱的保守性Genome Res. 2011;21(2):193-202.http://dx.doi.org/10.1101/gr.108662.110网站。[12] EgertJ,KreutzC.OmicsData。2022年,网址:https://github.com/kreutz-lab/OmicsData。[13] [10]杨文,李文,李文.DIMA:数据驱动的插补算法选择。J Proteome Res2021;20(7):3489[14] Kreutz C,Can N,Bruening RS,Meyberg R,Merai Z,Fernando-PozoN , etal. A blind and independent benchmark study for detectingdifferentiallymethylated regions in plants. 生 物 信 息 学 2020;36 ( 11 ) :3314-21。[15] [10] DuerrJ , Leitz DHW , Szczygiel M , Dvornikov D , Fraumann SG ,Kreutz C,et al.肺上皮细胞中Nedd 4 -2的条件性缺失导致成年小鼠进行性肺纤维化。Nature Commun2020;11(2012).[16] Reimann L , Schwäble A , Schlouke A , Mühlhäuser W , Leber Y ,Lohanadan K,etal. 磷酸化蛋白质组学鉴定了调节FILIP 1介导的细丝蛋白-C降解的扩展嗜碱性基序中的双位点磷酸化Commun Biol2020;3(253).[17] Seitz-AlghrouzR,Hidalgo JV,Kayser C,Kreutz C,Technau-Hafsi K,Diaz C,et al. BRAF V600e mutations in nevi and melanocytic tumors ofuncertainmalignant potential. J Invest Dermatol2018;138(11):2489-91。[18] Becker F, Fuchs S,Refisch L, Drepper F,Bildl W,Schulte U ,et al.Conformationaldynamicsand target-dependentmyristoylswitchofcalcineurinBhomologousprotein3.2022,BioRxivhttps://doi.org/10.1101/2022.09.23。 509142
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功