R Markdown:无法访问通过 Conda/Anaconda 安装的 Bash 命令

2023-11-26

我正在探索一些生物信息学数据,并且喜欢尽可能使用 R 笔记本(即 Rmarkdown)。现在,我需要使用命令行工具来分析 VCF 文件,并且我想通过 Rmarkdown 笔记本中的 Bash 代码块来完成此操作。

问题是我想使用的命令是用conda进入我的 conda 环境。该工具是bcftools。当我尝试访问此命令时,出现此错误(代码块被注释掉以显示 rmarkdown 代码块格式):

#```{bash}
bcftools view -H test.vcf.gz
#```
/var/folders/9l/phf62p1s0cxgnzp4hgl7hy8h0000gn/T/RtmplzEvEh/chunk-code-6869322acde0.txt: line 3: bcftools: command not found

而如果我从终端运行,我会得到输出(使用名为“binfo”的 conda 环境):

> bcftools view -H test.vcf.gz | head -n 3
chr10   78484538    .   A   C   .   PASS    DP=57;SOMATIC;SS=2;SSC=16;GPV=1;SPV=0.024109    GT:GQ:DP:RD:AD:FREQ:DP4 0/0:.:34:33:0:0%:0,33,0,0   0/1:.:23:19:4:17.39%:1,18,0,4
chr12   4333138 .   G   T   .   PASS    DP=119;SOMATIC;SS=2;SSC=14;GPV=1;SPV=0.034921   GT:GQ:DP:RD:AD:FREQ:DP4 0/0:.:72:71:1:1.39%:71,0,1,0    0/1:.:47:42:5:10.64%:42,0,5,0
chr15   75086860    .   C   T   .   PASS    DP=28;SOMATIC;SS=2;SSC=18;GPV=1;SPV=0.013095    GT:GQ:DP:RD:AD:FREQ:DP4 0/0:.:15:15:0:0%:4,11,0,0   0/1:.:13:8:5:38.46%:5,3,1,4
(binfo)

那么,如何从 R 笔记本/Rmarkdown bash 代码块访问 conda/在我的 conda 环境中安装的工具?找了好久也没找到人说跑步condaRmarkdown 中 shell 块中的命令。任何帮助将不胜感激,因为我喜欢 R 笔记本格式进行探索性分析。


将参数传递给引擎

如果你的康达是正确配置以在 bash 中工作,那么你可以使用engine.opts告诉 bash 以登录模式启动(即,获取您的.bash_profile(苹果机)或.bashrc(Linux)):

bash

```{bash engine.opts='-l'}
bcftools view -H test.vcf.gz
```

zsh

如果与zsh(例如,Mac OS 10.15 Catalina 用户),然后是交互式标志,--interactive|-i就是你想要的(来源:@Leo).

```{zsh engine.opts='-i'}
bcftools view -H test.vcf.gz
```

同样,这假设您之前运行过conda init zsh设置 Conda 与 shell 一起使用。

再现性注意事项

由于可重复性通常是科学工作中关注的一个问题,因此我要补充一点,您可能想要做一些事情来捕获 Conda 环境的状态。例如,如果您正在从事版本控制工作,则提交conda env export > environment.yaml。另一种选择是直接在 Rmd 末尾输出该信息,就像通常使用的那样sessionInfo()。那是,

```{bash engine.opts='-l', comment=NA}
conda env export
```

哪里的comment=NA以便可以从渲染版本中干净地复制输出。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R Markdown:无法访问通过 Conda/Anaconda 安装的 Bash 命令 的相关文章

  • 使用pivot_longer将R中的多列变成一列[重复]

    这个问题在这里已经有答案了 我有一个dfpopulation看起来像这样 未列出所有列和行 Region X1975 X1976 X1977 X2008 National Total 942420 93717 94974 132802 Be
  • R:如何根据规范更改数据框中的列名称

    我有一个数据框 它的开头如下 SM H1455 SM V1456 SM K1457 SM X1461 SM K1462 ENSG00000000419 8 290 270 314 364 240 ENSG00000000457 8 252
  • R-在多个图的外缘绘制居中图例

    我想在具有多个绘图的设备中的绘图区域之外绘制居中图例 SO 中提出了许多关于更改 R 图中图例位置的问题 略有不同 例如 1 R 组合图的通用标题和图例 https stackoverflow com questions 8736966 r
  • 栅格堆叠后如何写入?

    我想操作几个光栅文件 然后再次写入它们 rasterfiles lt list files C data envi full names TRUE d1 lt overlay stack rasterfiles fun function x
  • 配置:错误:找不到 CGAL 库

    我的最终目标就是获取python包graph tool在我的系统上工作 如果可能的话 也在 ipynb 上工作 我已经brew install graph tool 如此处所示 https git skewed de count0 grap
  • 从 R 到 C 处理列表并访问它

    我想使用从 R 获得的 C 列表 我意识到这个问题与此非常相似 使用 call 在 R 和 C 之间传递数据帧 https stackoverflow com questions 6658168 passing a data frame f
  • 以编程方式触发 R 传单中的标记鼠标单击事件以获得闪亮效果

    我的问题与此相同 在 R 传单中触发标记鼠标单击事件以获得闪亮效果 https stackoverflow com questions 56962857 trigger marker mouse click event in r leafl
  • 如何将 R 数据框中的多个字符列合并为单个列

    我正在处理人口普查数据 需要将四个字符列合并为一列 Example LOGRECNO STATE COUNTY TRACT BLOCK 60 01 001 021100 1053 61 01 001 021100 1054 62 01 00
  • 在 Fish Shell 中设置导出

    我安装了多个版本的 PHP 对于我的正常开发 我总是使用通过自制程序安装的 PHP 5 5 x 在鱼壳里 which php php version gt usr local bin php gt PHP 5 5 8 cli built J
  • 连接多个用户的 R 闪亮会话

    最小可重现示例 library shiny ui lt fluidPage actionButton button1 Run 1 actionButton button2 Run 2 server lt function session i
  • 从向量中删除元素在 R 中出现的时间量

    我想从一个向量中删除元素在另一个向量中出现的时间 就像我要减去它们一样 鉴于我想要删除的元素向量中的每个元素也存在于我想要从中删除的主向量中 a lt c A B B C C C b lt c A B C C a a in b return
  • jupyter 中的 r 图形 - 无法启动 png() 设备

    我在 Jupyter 中使用 R 但无法在笔记本本身中绘制图表 这是一个可重现的示例 set seed 123 mat as matrix x rnorm 100 y rnorm 100 plot mat 在朱皮特中 Error in pn
  • R:根据元素长度从向量中删除元素

    如何根据字符串的字符数或长度从字符串向量中删除元素 df lt c asdf fweafewwf af aewfawefwef awefWEfawefawef gt df 1 asdf fweafewwf af aewfawefwef aw
  • Django 中的 Rpy2 错误 - 未为“”类型的对象定义转换“py2rpy”

    我以前从未使用过 R 并且正在尝试使用 rpy2 从 python 调用 R 函数 它可以在独立的 python 终端上运行 但不能在 Django 中运行 但rpy2似乎无法将python字符串转换为r对象 我正在使用同事提供的自定义库
  • 如何在 sed 中转义方括号[重复]

    这个问题在这里已经有答案了 我正在使用 grep 和 sed 解析遗留的 C 代码 当尝试替换方括号时 发生了一些奇怪的事情 以下代码替换方括号效果很好 echo xyx xzx xyx sed s g 结果是 xyx xzx xyx 当我
  • stat_function 从函数生成平线

    我有以下代码 library ggplot2 f lt function x if x gt 2 1 x 0 3 else 0 graph lt ggplot data frame x c 0 10 aes x graph lt graph
  • 使用自定义渐变填充直方图箱

    我想在 R 和 ggplot2 中创建一个直方图 其中根据连续的 x 值填充箱 大多数教程仅通过离散值或密度 计数进行着色 下列的这个例子 https stackoverflow com questions 40284227 how to
  • conda clean 从哪里删除包?

    conda 文档指定 conda clean h y dry run json debug verbose q a i l t p s 删除未使用的包和缓存 Example conda clean tarballs conda 干净文档 h
  • powershell stdin 管道和重定向

    你好 我一直在制作一个小的跨平台脚 本 我可以将其卷曲并通过管道传输到bash和Powershell中 基本思想是服务器向解释器发送一个命令 然后它给出一个命令将所有输出重定向到标准输出 bash 中的一个例子是 some commands
  • R data.table 连接不等式条件

    我想使用 data table 包根据多个不等式条件对数据进行子集化 data table 手册中的示例展示了如何使用字符变量执行此操作 但不显示数字不等式 我还了解了如何使用子集函数来执行此操作 但我真的很想利用 data table 二

随机推荐

  • 为什么使用整数而不是长整型?

    我经常看到有关的问题Overflow错误与vba 我的问题是为什么使用integer变量声明而不是仅仅定义所有数值变量 不包括double等 作为long 除非您正在执行类似 for 循环的操作 您可以保证该值不会超过 32 767 限制
  • Windows 上的 Java:如何将文件删除到垃圾箱(使用 JNA)

    我根本没有 Windows API 的经验 所以请原谅我的无知 我想将文件删除到垃圾箱 如何使用JNA以及如何检测这是否不可能 例如 因为文件位于网络共享上 Use com sun jna platform FileUtils代替com s
  • 使用支持 WebGL 的浏览器查看 VRML 文件 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我有一个生成 VRML 1 0 文件的旧应用程序 我想构建一个基于 WebGL 的 Web 界面来显示这些 VRML 文件 有没有简单的方法可以做到
  • 具有 ngFor 元素的 ngModel 的动态 angular2 形式

    我正在尝试创建一个连接到 ngModel 的动态表单 它允许用户根据需要添加更多控件 如下图所示 表单的行为符合预期 但添加一组新控件时除外 因为它会删除先前输入的内容 尽管模型没有改变 我创建了这个plunkr为了展示我正在谈论的行为 这
  • Kerberos、委派以及如何正确执行此操作?

    我有两个独立的自制应用程序 需要在它们之间进行通信 一个是前端应用程序 实际上是 asp net 另一个是会计应用程序的后端接口 后端接口不是专门为此前端创建的 它是许多其他应用程序用来与我们的产品集成的通用接口 为了方便用户 我们希望在前
  • 离散余弦变换DCT实现C

    我试图在 C 中实现正向和反向离散余弦变换 DCT 代码是通过 dct 函数将单个输入像素块变换为变换矩阵 然后通过 idct 功能 请参阅随附的代码 我的 idct 输出是 244 116 244 116 等连续值 从 idct 值的外观
  • 使用 SDL 时未定义对 WinMain@16 的引用

    我在让一切正常工作方面遇到了很多麻烦 以便我可以开始在 Windows 上进行开发 而不是在 Linux 上进行开发 Linux 是我在编码时通常使用的系统 我在尝试编译 SDL 程序时遇到了一个相当奇怪的问题 一旦我包含 SDL 库 程序
  • php 如何查找用户来自的位置?

    简单的问题 how to find the location url where a user came from before accessing my page and how to find the location url wher
  • Android 中已弃用“java.lang.String”

    我写了这样的简单标签 private static final String TAG MainActivity 字符串已被弃用 有没有其他方法可以使用String 根据此评论java lang string 在 android studio
  • 如何使用leakcanary,如何将leakcanary添加为jar以使用.mk文件构建apk

    LeakCanary 是一个适用于 Android 和 Java 的内存泄漏检测库 金丝雀泄密 我的项目是基于android make文件系统 依赖于一些android内部接口和自定义方法 如何将 LeakCanary 作为库添加到我的应用
  • 在 Hive 中将字符串转换为时间戳

    我的 Hive 表中有以下时间戳字符串表示形式 20130502081559999 我需要将其转换为字符串 如下所示 2013 05 02 08 15 59 我尝试过以下操作 code gt gt gt result from unixti
  • 如何比较不区分大小写和不区分重音的字符串

    如何比较不区分大小写和不区分重音的字符串 好吧 这在 SQL Server 上很容易完成 不过我想在 C NET 4 5 1 上做同样的事情 我怎样才能以最正确的方式做到这一点 我的意思是这 3 个字符串在比较时应该返回相等 http ww
  • Hibernate 查询缓存 - 对于不在二级缓存中的对象 - 有风险吗?有用?不好的做法?

    与此相关question Premise 这些是我的假设 基于我的阅读 经验和理解 它们可能是错误的 如果是 请发表评论 我将编辑问题 查询缓存和二级缓存都很好 查询缓存缓存查询 参数的标识符结果 如果数据库发生更改 并且未反映到缓存中 则
  • 在预先分配的内存中创建对象

    我们可以使用placement new在预先分配的内存中创建一个对象 让我们考虑以下示例 char buf new char 1000 pre allocated buffer string p new buf MyObject place
  • 如何增加 Visual Studio 测试的超时?

    我正在为我正在编写的一些代码 在 Visual Studio 2012 中 进行相当大的测试套件 在大多数情况下 运行单元测试没什么大不了的 但我还包含了许多具有更多外部基础设施依赖性的集成测试 测试的数量 再加上重新设置测试之间的基础设施
  • MVC 4 下拉列表更改的回发

    我正在使用 MVC 4 并且布局中有一个菜单 我的菜单的一部分由一个下拉列表组成 用户可以在其中在可用的提供商之间进行选择 div class row div class col md 4 Html DropDownListFor x gt
  • 如何使用 Java 在 Spark SQL 中连接多个列以在 DataFrame 中进行过滤

    DataFrame a 包含列 x y z k DataFrame b 包含列 x y a a join b
  • 如何从 npm 脚本通过管道传输到 bash 别名?

    我的 bashrc 中有一个 Bunyan 的别名 alias bsh alias bsh bunyan o short 此行在 bash 中运行良好 coffee src index coffee bsh 但如果我把同样的东西放在 脚本
  • 使用 Cloudfront 预签名 S3 URL

    我想将我的预签名 URL 附加到 CloudFront URL 中以供使用 知道如何实现这一目标吗 Use an Amazon CloudFront 签名 URL而不是尝试将 Amazon S3 预签名 URL 与 CloudFront 结
  • R Markdown:无法访问通过 Conda/Anaconda 安装的 Bash 命令

    我正在探索一些生物信息学数据 并且喜欢尽可能使用 R 笔记本 即 Rmarkdown 现在 我需要使用命令行工具来分析 VCF 文件 并且我想通过 Rmarkdown 笔记本中的 Bash 代码块来完成此操作 问题是我想使用的命令是用con