内容

1概述

AnnotationHubData软件包提供工具,以获取,注释,转换和存储数据的使用在Bioconductor的annotationhub.。Encode项目的BED文件、ensemble bl的gtf文件或UCSC的注释轨都是可以下载、用元数据描述、转换为标准的数据的例子Bioconductor数据类型,并存储使它们可以通过AnnotationHub客户端按需随时随地为用户提供服务。虽然数据通常被操纵成更友好的形式,但数据本身将保留其原始内容,并且不会像那些一样过滤或策划实验室。每个资源都有关联的元数据,可以通过annotationhub.客户端界面。

2设置一个使用AnnotationHub的包

2.1新的注释空套装

完成多个相关资源的添加annotationhub.通过创建类似于现有注释包的软件包。包本身不包含数据,而是用作围绕脚本的轻量级包装器,为添加到添加的资源的元数据annotationhub.

包至少应该包含一个描述资源的手册页。小插曲和额外的R用于操纵对象的代码是可选的。

创建包包括以下步骤:

  1. 通知Bioconductor团队成员。
    在软件包中的手册页和Vignette示例将无法工作,直到数据提供annotationhub.。将数据添加到AWS S3和生产数据库的元数据涉及来自a的帮助Bioconductor团队成员。必须在数据正式添加到集线器之前创建元数据.CSV文件(请参阅下面的Inst / ExtData部分)。请阅读“数据文件存储”部分。

  2. 构建软件包:以下是包组织的轮廓。除非另有说明,否则需要列出的文件。

  • inst / extdata /

    • csv:该文件包含元数据,其格式为每一行要添加到annotationhub.数据库。该文件应该从inst/scripts/make-metadata中的代码生成。Rwhere the final data are written out with write.csv(…, row.names=FALSE). The required column names and data types are specified inAnnotationHubData :: makeannotationhubmetadata.。看到了吗?AnnotationHubData :: makeannotationhubmetadata.获取详细信息。确保上面的函数在没有ERROR错误的情况下运行。

    如果有必要,元数据可以被分解成多个csv文件,而不是将所有记录放在一个“metadata.csv”中。

  • inst / scripts /

    • 使数据。R: A script describing the steps involved in making the data object(s). This includes where the original data were downloaded from, pre-processing, and how the final R object was made. Include a description of any steps performed outside ofR使用第三方软件。脚本的输出应该是磁盘上准备推送到S3的文件。如果数据将托管在个人网站上而不是S3上,那么该文件应该解释在托管在网站上之前对数据的任何操作。对于托管在公共网站上没有事先操作的数据,不需要这个文件。

    • make-metadata。R: A script to make the metadata.csv file located in inst/extdata of the package. See ?AnnotationHubData :: makeannotationhubmetadata.有关Metadata.csv文件的描述,预期的字段和数据类型。的AnnotationHubData :: makeannotationhubmetadata()函数可用于在提交包之前验证metadata.csv文件。

  • 鸽子/

    描述分析工作流的可选小插图。

  • R /

    可选的函数来增强数据探索。

  • 人/

    • 包手册页:可选。包装页面用作着陆点,应该简要描述与包相关联的所有资源。应在包手册页或单个男人页面上有一个条目。

    • 资源手册页:可选。手册页应该描述资源(原始数据源、处理、QC步骤),并演示如何通过annotationhub.界面。例如,替换下面的“SearchTerm *”,其中包含一个或多个唯一标识包中资源的搜索术语。

    myfiles[[1]] ##加载列表中的第一个资源
  • 描述/命名空间用于生成元数据的脚本可能会根据需要使用来自注释空调或注释的函数,这应该以依赖/导入列出。BIOCVIEWS应包含术语annotationdata.并应该包含这个术语annotationhub.

  1. 数据对象:数据不是软件包的正式部分,而是单独存储在一个可公开访问的托管站点中,或者由Bioconductor存储在AWS S3桶中。作者应该阅读下面关于“数据文件的存储”的章节。

  2. 确认有效元数据:通过在您的包上运行AnnotationHubData:::makeAnnotationHubMetadata()来确认inst/exdata/metadata.csv中的数据是有效的。请说明地址和警告或错误。

  3. 包评审:将包提交给追踪器进行审核。包检查的主要目的是验证csv文件中的元数据。因为数据和元数据还没有到位,所以如果包的CMD构建和检查失败是可以的。一旦批准了元数据.csv,记录就会添加到生产数据库中。这时,包手册页和小插图就可以定稿了,包应该通过R CMD构建和检查。

2.2现有AnnotationHub包的附加资源

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

  • 新版本的标题应该是唯一的,不匹配当前注释中的任何资源的标题。良好做法是包括标题中的版本和/或基因组。如果标题不是唯一的,那么annotationhub.对象将列出具有相同标题的多个文件。用户需要使用“rdatadateadded”来确定哪个是最新的。

  • 可用数据:可在可公开访问的站点上或查看“上传数据到S3的部分”

  • 更新make-metadata。Rwith the new metadata information

  • 生成一个新的metadata.csv文件。包应该包含AnnotationHub中所有版本数据的元数据,因此旧文件应该保留。当添加一个新版本时,根据版本命名一个新的csv文件可能会有帮助,例如metadata_v84.csv, metadata_85.csv等。

  • Bump包版本并提交到git

  • 通知hubs@biocondion.org.更新已经就绪,团队成员将向生产数据库添加新的元数据;在将元数据添加到数据库之前,新的资源在AnnotationHub中是不可见的。

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

2.3转换非注释空录音包

包的概念和目录结构将保持不变。所涉及的主要步骤是

  1. 重构inst / extdata和脚本以包含Metadata.csv和make-data.r,如上文所描述的用于创建新包。通过运行来确保格式正确地格式化元数据.CSV文件AnnotationHubData :: makeannotationhubmetadata()在你的包裹上。

  2. 将BioCViews术语“AnnotationHub”添加到描述

  3. 将数据上传到S3或放置在公共可访问的站点上,并从包中删除数据。参见下面的“数据文件的存储”一节。

  4. 正式添加到集线器中的数据后,更新任何代码以利用AnnotationHub以检索数据。

3.错误修复

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

3.1更新的资源

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

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

3.2更新元数据

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

  • 通知hubs@biocondion.org.你想要改变元数据

  • 更新make-metadata.r并重新生成元数据.csv文件

  • 碰到包版本并提交git

4删除资源

从。中移除资源时annotationhub.发生了两件事:“rdataDateremoved”字段用日期填充,“状态”字段被填充,具有资源不再可用的原因。一旦进行了这些变化,就会annotationhub()构造函数不会列出可用ID之间的资源。尝试用“[[[[[[[['和AH ID来提取资源将与状态消息一起返回错误。功能getInfoOnIds将显示任何资源的元数据信息,包括仍在数据库中但不再可用的资源。

通常,只有在不再可用的时间(例如,从Web位置移动,不再提供等)时,才会删除资源。

从。中移除资源annotationhub.联系hubs@biocondion.org.或者维护器@biocadiond.org.

5版本控制

版本化资源由维护者处理。如果您计划向同一生物/基因组构建的文件提供增量更新,我们建议在资源标题中包括一个版本,因此很容易区分哪个是最新的。我们还将推荐将数据上载到S3或可公开访问的站点时,以具有用于版本控制的目录结构。

如果您不包含一个版本,或以某种方式使标题唯一,那么具有相同标题的多个文件将在annotationhub.目的。用户可以使用“rdatadateadded”元数据字段来确定哪个文件是最新的。

6能见度

几个元数据字段控制用户调用AnnotationHub()时可见哪些资源。根据这些标准过滤记录:

一旦将一条记录添加到AnnotationHub,它从该点开始就是可见的,直到打上“rdatadateremoved”标记为止。例如,2017年5月1日添加的带有“biocVersion”3.6的记录将在所有快照>= 2017年5月1日和所有Bioconductor版本>= 3.6中可见。

使用了一个特殊的OrgDb过滤器。每个release/devel周期只有一个OrgDb可用。因此,添加到devel循环中的OrgDb将被屏蔽,直到下一个版本发布。有一些选项可以调试这些被屏蔽的资源。看到?诱惑andhuboption.

7数据档案的储存

数据不应包含在包中。这使包装重量轻,快速安装用户。这允许用户在不下载大数据文件的情况下调查函数和文档,并且仅在必要时进行下载。有两个选项用于存储数据:Biocumon AWS S3桶或在可公开可访问的站点上托管其他地方的数据。请参阅下面的信息,然后选择最适合您情况的选项。

7.1在公共可访问的站点上托管数据

数据可以通过集线器从任何可公开访问的站点访问。创建的metadata.csv文件[s]将需要该列location_prefix.指示托管站点。参见下面对元数据列/字段的描述,但如果数据文件的链接是ftp://mylocalserver/singlecellExperiments/dataSet1.Rds的详细说明location_prefix.RdataPath.对于metadata.csv文件中的这个条目,将是ftp://mylocalserver/为了location_prefix.singlecellExperiments / dataSet1。Rds为了RdataPath.

7.2上传数据到S3

与通过dropbox、ftp等方式提供数据文件不同,我们将授予对S3桶的临时访问权限,在那里你可以上传你的数据。请电子邮件hubs@biocondion.org.访问。

您将获得访问“Annotation Contributor”用户。确保这一点AWS CLI已安装在您的机器上。参见安装说明AWS CLI这里。一旦您请求访问,您将通过电子邮件发送一组密钥。有两个选项可为注释复印机设置配置文件

  1. 更新你的.aws / config.文件以包括以下更新键相应:
[profile AnnotationContributor] output = text region = us-east-1 aws_access_key_id = **** aws_secret_access_key = ****
  1. 如果你找不到.aws / config.文件,运行以下命令从上面输入适当的信息
AWS配置--Profile AnnotationContributor

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

——profile AnnotationContributor s3 cp test_file.txt——acl public-read .txt //注释贡献者/test_file.txt

请使用相应的目录结构上传数据,包括必要子目录(即顶部目录必须是软件包名称,如果适用,则为版本的子目录,......)。另外不要忘记使用国旗- 公开阅读;这允许对数据文件进行读访问。

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

8示例元数据.CSV文件和更多信息

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

csv文件中的任何附加列都将被忽略,但可以包含其中作为内部引用。

更多关于Location_Prefix和RDataPath的信息。这两个字段构成了下载数据文件的完整文件路径url。如果使用Bioconductor AWS S3桶,Location_Prefix不应该包含在元数据文件中[s],因为该字段将自动填充。RDataPath将是您上传到S3的目录结构。如果你上传了一个目录MyAnnotation /,该目录有一个子目录v1 /包含两个文件counts.rds.coldata.rds,您的元数据文件将包含两行,rdatapaths将是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

这是一个不好的例子,因为这些注释已经在集线器中,但它应该让您了解格式。假设我有一个包myannotations,我上传了两个注释文件,用于狗和牛,从Enembl到S3中提取的信息。您希望下面保存为CSV(逗号分隔输出),但更容易查看我们在表中显示:

标题 描述 BiocVersion 基因组 SourceType sourceurl. SourceVersion 物种 罗论坛 坐标_1_based. dataprovider. 维护人员 RDataClass 调整 RdataPath.
狗注释 犬狼疮的基因注释 3.9 犬属红斑狼疮 GTF ftp://ftp.ensembl.org/pub/release-95/gtf/canis_lupus_dingo/Canis_lupus_dingo.ASM325472v1.95.gtf.gz 发布-95. 犬属红斑狼疮 9612 真的 Ensembl. Bioconducts维护者维护器@biocadiond.org. 字符 文件路径 MyAnnotations / canis_lupus_dingo.asm325472v1.95.gtf.gz.
牛注释 牛的基因注释 3.9 GTF ftp://ftp.ensembl.org/pub/release-74/gtf/bos_taurus/Bos_taurus.UMD3.1.74.gtf.gz 发布-74. 9913 真的 Ensembl. Bioconducts维护者维护器@biocadiond.org. 字符 文件路径 myannotations / bos_taurus.umd3.1.74.gtf.gz.