内容

1概述

实验室提供在Bioconductor中添加或修改资源的工具ExperimentHub。这个'Hub'的房子从课程,出版物或实验中愈合了策划数据。资源通常不是原始数据的文件(如可以的情况)annotationhub.)而是R/Bioconductor对象,如GRanges, summarizeexperimental, data.frame等。每个资源都有关联的元数据,可以通过ExperimentHub客户端接口。

2新资源

资源由ExperimentHub以包装的形式。该软件包包含资源元数据,人员页面,小插图和任何支持R作者想要提供的功能。这与现有的设计相似Bioconductor除了数据之外的实验数据包存储在AWS S3存储桶中或公开访问的站点而不是包的数据/目录。

下面是添加新资源所需的步骤。

2.1通知Bioconductor团队成员

在数据可用之前,数据实验包中的手册页和插图示例不能工作ExperimentHub。将数据添加到AWS S3,并将元数据添加到生产数据库,需要aBioconductor团队成员。在将数据正式添加到集线器之前,必须创建metadata.csv文件(请参阅下面的inst/extdata部分)。请阅读“数据文件的存储”一节。

2.2构建数据实验包

从。下载资源时ExperimentHub相关数据实验包装在工作区中加载,使人员页面和Vignettes随时可用。因为文档在了解这些策划资源方面发挥着重要作用,请花时间制定清晰的人页和详细的小插图。这些文档为用户提供了基本背景,并指导适当使用资源。

下面是一揽子组织的概要。列出的文件是必需的,除非另有说明。

2.2.1inst / extdata /

  • metadata.csv:此文件包含每个资源的一行格式的元数据要添加到ExperimentHub数据库。该文件应该是从inst / scripts / make-metadata.r中的代码生成的,其中最终数据写出write.csv(...,row.names = false)。指定了所需的列名和数据类型ExperimentHubData: makeExperimentHubMetadata看到了吗?ExperimentHubData: makeExperimentHubMetadata有关详细信息。

    可以找到一个示例数据实验包metadata.csv文件这里

2.2.2本月/脚本/

  • 使数据。R:描述制作数据对象所涉及的步骤的脚本。这包括原始数据从何处下载、预处理以及最终的R对象是如何制作的。包括在…之外执行的任何步骤的描述R使用第三方软件。鼓励使用。序列化数据对象保存()文件名上的扩展名是.rda,但这并不是必须的。如果数据是以另一种格式提供的,则可能需要实现适当的加载方法。请在“上传数据到S3”时提出建议。

  • make-metadata。R:一个脚本,用于在包的inst / extData中设置位于包中的元数据。看到了吗?ExperimentHubData: makeExperimentHubMetadata有关预期字段和数据类型的描述。ExperimentHubData: makeExperimentHubMetadata ()可以用来在提交包之前验证元数据.csv文件。

2.2.3小插曲/

  • 描述分析工作流程的一个或多个插图。

2.2.4R /

  • 打鼾声。R: 可选的。你可以包括一个.onLoad ()功能在zzz。Rfile that exports each resource name (i.e., title) into a function. This allows the data to be loaded by name, e.g.,resouce123 ()

    . onload <- function(libname, pkgname) {fl <- system。<- read.csv(fl, stringsAsFactors=FALSE)$Title createHubAccessors(pkgname, titles)}

    ExperimentHub: createHubAccessors ()ExperimentHub::: .hubAccessorFactory ()提供内部细节。资源命名的函数具有单个“元数据”参数。当元数据= true时,元数据被加载(等于在实验室对象上的单括号方法),并且当FALSE加载完整资源时(相当于双括号方法)。

  • r / *。r: 可选的。函数来提升数据探索。

2.2.5人/

  • 包手册页:包手册页作为一个着陆点,应该简要描述与包关联的所有资源。每个资源标题在包手册页或单个手册页上都应该有一个条目。

  • 资源手册页:可以在同一页面上记录资源,由通用类型分组或有自己的专用人员页面。

  • 文档如何加载数据:可以通过标准实验室接口访问数据,例如单括号方法,例如,

    图书馆(实验室)eh < - 实验室()myfiles < - 查询(eh,“packageName”)myfiles [[1]] ##加载列表myfiles中的第一个资源[[“eh123”] ##加载by eh id
  • 如果一个.onLoad ()函数用于将每个资源导出为函数,还记录了加载方法,例如,

    Resourcea(元数据= false)##数据是加载的Resourcea(元数据= True)##元数据显示

2.2.6款描述/名称空间

  • 这个包应该依赖并完全导入ExperimentHub。如果使用建议的.onLoad ()函数,在描述文件中导入Utils包,并在命名空间中选择性地导入(Utils,Read.csv)。

  • 鼓励包作者使用ExperimentHub: listResources ()ExperimentHub: loadResource ()函数在其手册页和小插图中。这些帮助程序的设计是为了方便在特定包中发现数据,而不是在所有的ExperimentHub中。

  • BIOCVIEWS应包含术语实验室也应该包含这个词ExperimentHub

2.3数据对象

数据不正式的软件包的一部分,并且在可公开可访问的托管站点或AWS S3存储桶中单独存储。作者应阅读以下部分“存储数据文件存储”。

2.4元数据

当您对Make-Metadata.r中的资源表示满意时(产生元数据.CSV)Bioconductor团队成员将把元数据添加到生产数据库。通过在你的包上运行ExperimentHubData:: makeExperimentHubMetadata()来确认inst/exdata/metadata.csv中的数据是有效的。请注明警告或错误。

2.5方案评审

一旦数据位于AWS S3或公共站点中,并且已将元数据添加到生产数据库中,可以最终确定使用人员页面和小插图。当包通过r cmd构建并检查它可以提交给包跟踪器审查。应在没有远程定位的任何数据的情况下提交包裹;这使得包重量和最小尺寸,同时仍然提供对键大数据文件的访问,如果数据文件添加到Github存储库,请查看删除大数据文件和清洁git树删除大文件并减小包大小。

很多时候,这些数据包是作为软件包的补充而创建的。有一个提交程序多个包在同一个问题下

3.添加额外的资源

可以将新版本的元数据添加到与其可用时的相同包中。

接触hubs@biocondion.org.或者维护器@biocadiond.org.有任何问题。

4错误修复

错误修复可能涉及对元数据、数据资源或两者的更改。

4.1更新的资源

  • 替换资源必须具有与原始名称相同的名称,位于同一位置(路径)

  • 通知hubs@biocondion.org.需要替换数据并使文件可用:请参见“上传数据到S3”部分。

4.2更新元数据

可以为新资源添加新的元数据记录,但不鼓励修改现有记录。只有在bug修复的情况下才会修改记录。

  • 通知hubs@biocondion.org.您想要更改元数据

  • 更新make-metadata。Rwith modified information and regenerate the metadata.csv file if necessary

  • 碰到包版本并提交git

5删除资源

删除资源应谨慎完成。意图是,通过提供数据的稳定快照,实验室是“可重复的”资源。Biocumon Version x.y.z中提供的数据应适用于大于x.y.z的所有版本。不幸的是,这并不总是可能的。如果您发现有必要从实验室删除数据,请联系hubs@biocondion.org.或者维护器@biocadiond.org.寻求帮助。

当一个资源从ExperimentHub中被删除时,元数据中的“status”字段被修改,以解释为什么它们不再可用。一旦这个状态被改变ExperimentHub ()构造函数不会列出可用ID之间的资源。尝试用“[[[[[[[[[[[[[[[[['和eh id来提取资源将与状态消息一起返回错误。功能getInfoOnIds将显示任何资源的元数据信息,包括仍在数据库中但不再可用的资源。

6存储数据文件

这些数据不应该包括在包里。这使包重量轻,便于用户快速安装。这允许用户在不下载大型数据文件的情况下研究函数和文档,只在必要时进行下载。存储数据有两种选择:Bioconductor AWS S3桶或将数据托管在公共可访问站点的其他地方。请参阅下面的信息,并选择最适合您的情况的选项。

6.1在一个公众可访问的站点上托管数据

可以通过来自任何可公开访问的站点的集线器访问数据。metadata.csv文件[s]将需要列location_prefix.表示托管站点。在下面的元数据列/字段的描述中查看更多,但如果数据文件的链接是一个快速示例ftp://mylocalserver/singlecellExperiments/dataSet1.Rds一个示例细分location_prefix.RdataPath.对于metadata.csv文件中的这一项将是ftp://mylocalserver/为了location_prefix.singlecellExperiments / dataSet1。Rds为了RdataPath.

6.2上传数据到S3

通过Dropbox,FTP等提供数据文件,而不是提供数据文件,我们将临时访问您可以上传数据的S3存储桶。请电子邮件hubs@biocondion.org.为访问。

您将获得对‘AnnotationContributor’用户的访问权。确保AWS CLI.已安装在您的机器上。参见安装说明AWS CLI.这里。一旦您请求访问,您将通过电子邮件发送一组密钥。有两个选项可以为AnnotationContributor设置概要文件

  1. 更新您的.aws / config.文件以包括以下更新键相应:
[Profile Annotation Contributor]输出= Text Region = Us-East-1 AWS_ACCES_KEY_ID = **** AWS_SECRET_ACCESS_KEY = ****
  1. 如果你找不到.aws / config.文件后,运行以下命令,并从上面输入适当的信息
AWS配置--Profile AnnotationContributor

设置配置后,您应该能够使用使用的资源

aws——profile AnnotationContributor s3 cp test_dir s3://annotation-contributor/test_dir——recursive——acl public-read

请用合适的目录结构上传数据,包括必要的子目录(如顶部目录必须是软件包名称,如果适用,版本的子目录,…)也请不要忘记使用国旗——acl公有可读;这允许对数据文件进行读访问。

上传完成后,发送电子邮件hubs@biocondion.org.继续这个过程。要正式添加数据,需要上载数据,并且需要在GitHub存储库中创建元数据.CSV文件。

7验证

验证记录元数据的最佳方法是使用ExperimentHubData: makeExperimentHubMetadata ()。如果成功,元数据就可以运行了。

8示例metadata.csv文件和更多信息

如上所述,在将数据添加到数据库之前,需要创建metadata.csv文件(或多个metadata.csv文件)。为了确保正确的格式,应该运行一个AnnotationHubData: makeAnnotationHubMetadata在包含任何/所有元数据文件的包中,并处理发生的任何错误。每个上传到S3的对象都应该在元数据文件中有一个条目。简要地说,需要的元数据列的描述:

csv文件中的任何其他列都将被忽略,但可以包括在内以供内部引用。

更多关于位置_prefix和rdatapath。这两个字段构成了用于下载数据文件的完整文件路径URL。如果使用Biocumon AWS S3存储桶,则不会在元数据文件中包含Location_Prefix [S],因为此字段将自动填充。RDataPath将是您上传到S3的目录结构。如果您上传了一个目录MyAnnotation /,该目录有一个子目录v1 /包含两个文件counts.rdscoldata.rds,元数据文件将包含两行,rdatapath将为MyAnnotation / v1 / counts.rdsMyAnnotation / v1 / coldata.rds。如果将数据托管在一个可公开访问的站点上,则必须包含一个基url作为location_prefix.。如果您的数据文件是在ftp://myinstiututeserver/biostats/project2/counts.rds,您的元数据文件将有一行和location_prefix.ftp:// myinstiututeServer /RdataPath.Biostats / Project2 / Counts.rds

这是一个虚拟的例子,但希望它能给你一个格式的概念。假设我有一个包myExperimentPackage,我上传了两个文件,一个是保存为.rda的表达式数据的摘要实验,另一个是考虑模拟数据的sqlite数据库。你可能想要将以下文件保存为csv(逗号分隔的输出),但为了更容易查看,我们在表格中显示:

标题 描述 生物转换 基因组 SourceType sourceurl. SourceVersion 物种 罗论坛 坐标_1_based. dataprovider. 维护人员 RDataClass 调整 RdataPath.
模拟表达数据 12个样本的模拟表达值和12000个接受 3.9 NA 模拟 http://mylabshomepage v1 NA NA NA http://biocidodder.org/packages/myexperimentPackage. Bioconducts维护者维护器@biocadiond.org. 概括分析 Rda myExperimentPackage / SEobject.rda
模拟数据库 含有基因映射的模拟数据库 3.9 hg19 模拟 http://biocidodder.org/packages/myexperimentPackage. v2 家智人 9606. NA http://biocidodder.org/packages/myexperimentPackage. Bioconducts维护者维护器@biocadiond.org. SQLiteConnection SQLiteFile myexperimentpackage / mydatabase.sqlite.