프로그래밍에 익숙하지 않고 주로 R 내에서 일부 스크립트를 수행 할 수 있지만 내 작업을 위해서는 외부 프로그램을 호출해야합니다. 이 프로그램은 우분투의 터미널에서 작동하려면 먼저 setenv를 사용하고 프로그램을 실행해야합니다. Google 시스템()과 Sys.setenv() 함수를 찾았지만 유감스럽게도 함수를 만들 수 있습니다. 시스템에서 여러 명령어로 R에서 외부 프로그램 호출하기
이
는 우분투 터미널에서 작업을 수행하는 코드입니다 : 처음 두 인수가 입력 파일은$ 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)
하지만 항상 접수를 :
Error: unexpected constant string in "system(mast "/home/meme/meme.txt""
또는이 일을하기 위해 내가 아이디어에서 실행 한이 시점에서
Error: unexpected symbol in "system(Sys.setenv(PATH="/home/meme/bin") && mast "/home/meme/meme.txt""
. 이것이 이미 대답 되었다면, 내 인터넷 검색은 가난 해졌고 나는 그 응답에 대한 링크를 고맙게 생각할 것이다.
감사합니다.
카를로스
추가 세부 정보 : 우분투 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]