我是编程新手,主要是我能够在R中执行一些脚本,但对于我的工作,我需要调用外部程序。为了让这个程序在ubuntu的终端上运行,我必须先使用setenv然后执行程序。谷歌搜索我已经找到了系统()和Sys.setenv()函数,但不幸的是我可以使它的功能。从系统中使用多个命令从R调用外部程序
这是做在Ubuntu终端工作代码:
$ export PATH=/home/meme/bin:$PATH
$ mast "/home/meme/meme.txt" "/home/meme/seqs.txt" -o "/home/meme/output" -comp
其中前两个参数是输入文件,-o参数是输出目录和-comp是程序的另一个参数跑步。
尽管它已经在终端工作,但我需要在R中完成这个工作的原因是因为我需要用1000个不同的文件运行1000次程序,所以我想要做一个for循环,其中输入名称每改变一次循环,然后分析每R.输出
我已经尝试使用:
Sys.setenv(PATH="/home/meme/bin"); system(mast "/home/meme/meme.txt" "/home/meme/seqs.txt" -o "/home/meme/output" -comp)
和
system(Sys.setenv(PATH="/home/meme/bin") && mast "/home/meme/meme.txt" "/home/meme/seqs.txt" -o "/home/meme/output" -comp)
但总是收到:
3210或
Error: unexpected symbol in "system(Sys.setenv(PATH="/home/meme/bin") && mast "/home/meme/meme.txt""
在这一点上我已经江郎才尽,使这项工作。如果这个问题已经得到解答,那么我的谷歌搜索功能就很差,我希望能够与它的回应联系起来。
非常感谢您的时间。
卡洛斯
的附加细节:
我使用Ubuntu 12.04 64位版本,RStudio版本0.97.551,R 3.0.2版(2013年9月25日) - “飞盘风帆” 平台:x86_64-pc-linux-gnu(64位)。 我使用的程序(MAST)在字母列表中查找序列模式,并且是在http://meme.nbcr.net/meme/doc/meme-install.html中找到并通过命令行运行的MEME SUIT版本4.9.1的一部分。桅杆命令行的用法是:
mast <motif file> <sequence file> [options]