Search code examples
rr-markdownqiime

calling Qiime with system call from R


Hej,

When I try to call QIIME with a system call from R, i.e

system2("macqiime")

R stops responding. It's no problem with other command line programs though.

can certain programs not be called from R via system2() ?

MacQIIME version: MacQIIME 1.8.0-20140103

Sourcing MacQIIME environment variables...

This is the same as a normal terminal shell, except your default python is DIFFERENT (/macqiime/bin/python) and there are other new QIIME-related things in your PATH.

(note that I am primarily interested to call QIIME from R Markdown with engine = "sh" which fails, too. But I strongly suspect the problems are related)


Solution

  • In my experience, when you call Qiime from unix command line, it usually creates a virtual shell of it`s own to run its commands which is different from regular system commands like ls or mv. I suspect you may not be able to run Qiime from within R unless you emulate that same shell or configuration Qiime requires. I tried to run it from a python script and was not successful.