【问题标题】:R and sra toolkit - odd system() behaviorR 和 sra 工具包 - 奇怪的 system() 行为
【发布时间】:2021-11-21 07:29:39
【问题描述】:

为了从 NCBI 的序列读取存档中提取一些 fastq 数据,我下载并安装了适用于 Windows 的 sra toolkit。为了测试它是否设置正确,我打开了 cmd,导航到目录并输入命令fasterq-dump --split-files SRR7647019。它按预期下载文件 SRR7647019.sra 并将其拆分为 fastq 文件。

然后我在 RStudio 中尝试了相同的命令,将 system() 命令包裹在它周围:system(fasterq-dump --split-files SRR7647019)。但是,R 总是返回

发生错误:无法识别的工具 FASTER~2.EXE 如果这种情况继续发生,请联系 SRA 工具包https://trace.ncbi.nlm.nih.gov/Traces/sra/

以及数字 75(可能是错误代码)。

知道为什么我不能从 R 中运行 fasterq-dump.exe 吗?怎么解决?

非常感谢您提前提出的建议!

【问题讨论】:

  • 您使用的是 R 终端还是 RStudio? RStudio 使用一组不同的环境变量,因此它可能找不到 fasterq-dump 可执行文件。
  • @danlooo 抱歉,我使用的是 RStudio,而不是 R 终端。但是,我只是检查了这是否会有所作为。不,它不会返回相同的错误。
  • R 命令Sys.getenv("PATH") 的结果是什么? fasterq-dump 是否在这些文件夹之一中?
  • @danlooo 不。它在另一个文件夹中。

标签: r cmd system command-line-tool


【解决方案1】:

有时显式调用终端 shell 以绕过可能被 RStudio 覆盖的环境变量会有所帮助:

system("cmd.exe /k fasterq-dump --split-files SRR7647019")

【讨论】:

  • 感谢您的好建议。不过,我不得不让你失望。输出保持不变:(
  • 您可以访问 Docker 桌面或 Linux 的 Windows 子系统吗?这将使生物信息学领域的事情变得更加容易。
  • 不。嗯,我知道。不过很有趣,因为 system() 在其他应用程序上对我来说总是很好。但是到目前为止,感谢您的帮助!
【解决方案2】:

再次尝试了整个过程,但这次是fasterq-dump-origsystem(fasterq-dump --split-files SRR7647019)。猜猜看……它奏效了!不过,很高兴知道为什么我能够从 R 中执行 fasterq-dump-orig,但不能执行 fasterq-dum ...

【讨论】:

  • 这行得通吗? system("cmd.exe /k fasterq-dump --split-files SRR7647019") 这里我明确告诉 R 使用默认的 windows 终端
  • 此外,我还没有找到一个名为 FASTER~2.EXE 的文件...也许使用 fasterq-dump-orig 不需要这个文件
  • @danlooo: system("cmd.exe /k fasterq-dump --split-files SRR7647019") 终于成功了!如果你想写另一个答案,我会接受的!谢谢!是的,FASTER~2.EXE 似乎根本不存在。似乎 R/RStudio 试图缩短文件名?!
  • 我修改了答案
猜你喜欢
  • 1970-01-01
  • 2012-10-22
  • 1970-01-01
  • 1970-01-01
  • 2016-01-31
  • 1970-01-01
  • 2016-09-28
  • 1970-01-01
  • 2016-11-14
相关资源
最近更新 更多