AnVILPublish 1.7.2
这个包从R包中生成AnVIL工作区。一个例子使用了newGen3包作为基础Bioconductor-Package-Gen3工作区(需要访问此工作区的权限,但是授予权限没有限制)。
如果需要,安装AnVILPublish库
如果(!“AnVILPublish”%in% rownames(installed.packages()))
包中只有少量的函数;调用这些使用可能是最佳实践AnVILPublish::…()
而不是将包附加到搜索路径。
gcloud
SDK这是必要的gcloud SDK可将笔记本文件复制到工作区。测试可用性
铁砧:gcloud_exists ()
并验证帐户和项目是否适合与AnVIL一起使用(与AnVIL凭证一致)
铁砧:gcloud_account()砧:gcloud_project ()
请注意,它们用于设置和查询帐户和项目。
谨慎更新现有的工作区将以一种无法撤消的方式替换现有的内容——您将丢失内容!
工作区的创建或更新使用来自DESCRIPTION文件、inst/表中的CSV文件和小插图顶部的YAML元数据的信息。因此,确保这些信息是准确的是值得的。
在DESCRIPTION文件中,标题、版本、日期、Authors@R(首选)或使用Author / Maintainer字段、Description和License字段。
inst/ Tables中的表必须是CSV文件。CSV文件中的单个条目可能包含用于变量替换的“whisker”表达式,如下所示:
{{桶}}
返回的(可能是新创建的)工作区的桶位置avbucket ()
.首先处理表whisker.render ()
变量替换,然后readr: read_csv ()
而且avtable_import ()
.Q
在小插图中,使用title:和author: name:字段。该摘要是未来纳入的一个很好的候选者。
一站式路径是从包源(例如,github签出)目录使用创建一个工作区as_workspace ()
.
AnVILPublish::as_workspace("路径/到/包","bioconductor-rpci-anvil", #例如,账单帐户create = TRUE #使用更新= TRUE对于现有的工作空间)
使用创建= TRUE
来创建一个新的工作区。使用更新= TRUE
更新(并可能覆盖)现有的工作区。之一创建
而且更新
必须是真实的。上面说明的命令没有指定name =
参数,因此创建或更新工作区“Bioconductor-Package——< pkgname >
,在那里< pkgname >
是从DESCRIPTION文件中读取的包的名称;提供显式名称以创建或更新任意工作区。的选项use_readme = TRUE
附加一个README。md文件到DESCRIPTION文件的格式化内容。
AnVILPublish: as_workspace ()
调用as_notebook ()
因此,这一步不需要“手工”执行。
查看命令add_access ()
,以使工作区对更广泛的用户可用。
一些R资源,例如,bookdown网站并不在软件包中。这些可以通过微小的修改处理到工作空间中。
添加一个标准的DESCRIPTION文件(例如,use_this: use_description ()
)到包含.Rmd
文件。
使用包:
字段提供一个单字标识符(例如,包:Bioc2020_CNV
)为你的材料。增加键值对类型:车间
或类似的。的Pacakge:
而且类型:
字段将用于创建工作区名称,如在本例中所示,Bioconductor-Workshop-Bioc2020_CNV
.
在每个. rmd文件的顶部添加一个' yaml '块,如果还没有的话,包括标题和(可选的)名称信息,例如,
——标题:“01。工作坊简介"作者:-姓名:Iman作者-姓名:Imanother author -
以发布资源
AnVILPublish::as_workspace("路径/到/目录",#目录包含描述文件"bioconductor-rpci-anvil", create = TRUE)
自动执行这些步骤as_workspace ()
,但在开发新工作区或修改现有工作区时可能有用。
将小插图转换为笔记本可能需要多次迭代,并可作为一个单独的操作。使用更新= FALSE
创建用于预览的本地副本。
AnVILPublish:: as_notebook(“路径/ /文件。限制型心肌病", "bioconductor-rpci-anvil", # i.e., billing account "Bioconductor-Package-Foo", # Workspace name update = FALSE # make notebooks, but do not update workspace )
小插图转换过程有几个限制。只有.Rmd
支持小插曲。方法将小插图首先转换为标记文档rmarkdown
命令呈现(…,md_document())
.然后将标记文档翻译为python笔记本使用notedown
.
这很可能减少小插图渲染的一些限制。
.Rmd
文件需要转换到jupyter笔记本。这些“最佳实践”带来的结果更有可能令人满意,如这里所概述的。
对于包,确保DESCRIPTION文件是完整的。使用Authors@R
用于完全指定作者的符号。添加一个日期:
表示最后修改日期的字段。遵循Bioconductor的其他最佳实践,例如,使用和增加适当的版本号。
对于不在包中的小插图集合(例如,bookdown文件夹),在顶层添加一个DESCRIPTION文件。一个例子是
类型:研讨会标题:R / Bioconductor in AnVIL Cloud版本:1.0.0 Authors@R: c(person(给定= "Martin", family = "Morgan", role = c("aut", "cre"), email = "Martin.Morgan@RoswellPark.org", comment = c(ORCID = "0000-0002-5874-8148")), person("Nitesh", "Turaga", role = "ctb"), person("Lori", "Shepherd", role = "ctb"))说明:本书包含2020年生物信息学社区会议提供的两个半小时课程的材料。Bioconductor为高通量基因组数据的分析和理解提供了超过1900个R包。大多数用户在个人计算机上安装和运行Bioconductor,或者可能使用学术集群。基于云的解决方案越来越有吸引力,消除了本地安装的麻烦,同时提供访问(a)更好的、可扩展的计算资源;以及(b)大规模“联盟”和其他参考数据集。本节介绍AnVIL云计算环境。我们介绍了云作为桌面式计算的替代品的使用;将“上游”处理大型数据资源的工作流程与交互式的“下游”分析和理解相结合,以Human Cell Atlas单细胞数据集为例;查询基于云的联盟数据,以便与用户自己的数据集集成。许可:CC-BY日期:2020-07-17编码:UTF-8 LazyData: true Roxygen: list(markdown = true) roxygen注:7.1.1
的类型
而且包
字段用于构造工作区名称的第二个和第三个元素(在本例中,Bioconductor-Workshop-BCC2020
).标题
,版本
,Authors@R
,描述
,许可证
,日期
字段用于构造DASHBOARD页面。
以“yaml”开始每个小插图,其中包含关于文档的基本元数据——标题和作者。如果需要,包括其他信息,例如,抽象的,(静态的)最后修改日期。
使用一个文件命名系统和一个yaml标题
按文档内容显示的顺序(例如,使用文件名)对文件进行排序的字段01-Setup。限制型心肌病
,02 -…
和标题(在yaml中)标题:“01设置”
以这种方式命名文件和标题提供了一些机会,Rmd文件可以在Bioconductor包登录页面和Workspace / NOTEBOOK界面上显示,或者可以显示。
所有的代码块,不管注释如eval = FALSE
或回声= FALSE
被转换成可见的,在木星笔记本上评估的细胞。用HTML标记替换不希望用户计算的代码块< pre > < / >之前
.
尽管Rmarkdown和python笔记本都支持多种语言的代码块,但在转换过程中对此没有支持——所有的单元格都表示为R代码。
目前的最佳实践是使用四开用于将. rmd转换为ipynb。Quarto可以在Bioconductor docker映像上使用,也可以轻松安装在Linux、macOS或Windows上。
为使用Python的笔记本转换提供了遗留支持notedown,并附上以下注释:
从Rmarkdown到markdown的转换目前已经完成
knitr: opts_chunk设置(eval = FALSE) rmarkdown:美元:渲染(…md_document ())
创建标记文档.Rmd
源。
因为代码块没有被求值,所以不应该使用引用这些代码块中的对象的内联R代码。
这正确地处理了标记内容,包括yaml元数据,但呈现所有代码块是相同的。
使用其他的编织器选项可能允许,例如,有条件地包含代码块。
使用notedown要从markdown转换为jupyter笔记本,添加元数据以指示笔记本有R内核。
sessionInfo ()
## R版本4.2.1(22-06-23)##平台:x86_64-pc-linux-gnu(64位)##运行在:Ubuntu 20.04.5 LTS ## ##矩阵产品:default ## BLAS: /home/biocbuild/bbs-3.16-bio /R/lib/libRblas. ##因此## LAPACK: /home/biocbuild/bbs-3.16-bio /R/lib/libRlapack。因此## ## locale: ## [1] LC_CTYPE=en_US。UTF-8 LC_NUMERIC= c# [3] LC_TIME=en_GB LC_COLLATE= c# [5] LC_MONETARY=en_US。utf - 8 LC_MESSAGES = en_US。UTF-8 ## [7] LC_PAPER=en_US。UTF-8 LC_NAME= c# [9] LC_ADDRESS=C LC_TELEPHONE= c# [11] LC_MEASUREMENT=en_US。UTF-8 LC_IDENTIFICATION=C ## ##附加的基本包:## [1]stats graphics grDevices utils datasets methods base ## ##其他附加的包:## [1]biocstyle_1 .25.0 ## ##通过命名空间加载(并没有附加):# [1] bookdown_0.29 digest_0.6.30 R6_2.5.1 ## [4] jsonlite_1.8.3 magrittr_2.0.3 evaluate_0.17 ## [7] stringi_1.7.8 cachem_1.0.6 rlang_1.0.6 ## [10] cli_3.4.1 jquerylib_0.1.4 bslib_0.4.0 ## [13] rmarkdown_2.17 tools_4.2.1 stringgr_1 .4.1 ## [16] xfun_0.34 yaml_2.3.6 fastmap_1.1.0 ## [19] compiler_4.2.1 BiocManager_1.30.18 htmltools_0.5.3 ## [22] knitr_1.40 sass_0.4.2