ExperimentHubData
提供了一些工具来添加或修改资源BioconductorExperimentHub
。这种“中心”的房子从课程策划数据,出版物或者实验。资源通常不会文件的原始数据(如可以的情况AnnotationHub
),而是R
/Bioconductor
对象,如农庄、SummarizedExperiment data.frame等等。每个资源关联的元数据,也可以通过搜索ExperimentHub
客户端接口。
资源是导致ExperimentHub
一个包的形式。包包含资源元数据、手册页、装饰图案和任何支持R
作者希望提供功能。这是现有的类似的设计Bioconductor
实验数据的包除了数据存储在AWS S3 bucket或公开可亲地网站而不是包的数据/目录。
以下是所需的步骤添加新的资源。
Bioconductor
团队成员手册页和小插图示例数据的实验方案不会奏效,直到数据是可用的ExperimentHub
。将数据添加到AWS S3和元数据从生产数据库需要援助Bioconductor
团队成员。元数据。csv文件之前,必须创建数据可以正式被添加到中心(见本月/ extdata章节)。请阅读“数据文件的存储”的部分。
当一个资源下载ExperimentHub
在工作区中关联的数据加载实验方案的手册页,小插曲一应俱全。因为文档中扮演一个重要的角色在理解这些策划资源请花时间去发展明确的手册页和详细的装饰图案。这些文件为用户提供必要的背景和指导合理使用资源。
下面是计划的大纲组织。需要列出的文件,除非另有说明。
本月/ extdata /
metadata.csv
:此文件包含元数据在每一行的格式添加到资源ExperimentHub
数据库。文件应该在本月产生的代码/脚本/ make-metadata。最终的数据写入Rwrite.csv (…row.names = FALSE)
。所需的指定列的名称和数据类型ExperimentHubData: makeExperimentHubMetadata
看到了吗?ExperimentHubData: makeExperimentHubMetadata
获取详细信息。
一个示例数据实验包元数据。可以找到csv文件在这里
本月/脚本/
make-data.R
:一个脚本描述的数据对象所涉及的步骤。这包括原始数据在哪里下载,预处理,以及最后R对象。包括任何外执行的步骤的描述R
使用第三方软件。这是鼓励序列化数据对象save ()
.rda扩展文件名,但不是必需的。如果数据提供了另一种格式可能需要执行一个适当的加载方法。请通知当达到“S3上传数据”。
make-metadata.R
:一个脚本的元数据。本月csv文件位于/ extdata包。看到了吗?ExperimentHubData: makeExperimentHubMetadata
为预期的字段和数据类型的描述。ExperimentHubData: makeExperimentHubMetadata ()
可以用来验证元数据。csv文件之前提交方案。
小插曲/
R /
zzz.R
:可选的。你可以包括一个.onLoad ()
函数的打鼾声。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 < -函数(库名,pkgname) {fl < -系统。文件(“extdata”、“元数据。csv”,包= pkgname)标题< -阅读。csv (fl, stringsAsFactors = FALSE)标题createHubAccessors美元(pkgname标题)}
ExperimentHub: createHubAccessors ()
和ExperimentHub::: .hubAccessorFactory ()
提供内部细节。资源名称函数只有一个“元数据”的论点。= TRUE时元数据,元数据被加载(相当于括号ExperimentHub对象的方法),当假的全部资源加载(相当于双支架方法)。
R / * R
:可选的。函数来提高数据的探索。
人/
包手册页:包手册页作为一个降落点,应该简要描述与包相关的所有资源。应该有一个条目为每个资源标题包装上的说明手册页或单独的手册页。
资源手册页:资源可以记录在同一页,按常见类型分组或有自己的专用的手册页。
文档加载数据:数据可以通过标准ExperimentHub接口访问单和双支架的方法,例如,
库(ExperimentHub)呃< - ExperimentHub () myfile < -查询(呃,“PACKAGENAME”) myfile[[1]] # #负载列表中的第一个资源myfile [[“EH123”]] # #负载通过呃id
如果一个.onLoad ()
函数用于每个资源导出为一个函数文件,加载的方法,例如,
resourceA(元数据= FALSE) # #数据加载resourceA(元数据= TRUE) # #元数据显示
描述
/名称空间
包应该是依靠和充分导入ExperimentHub。如果使用建议.onLoad ()
功能,导入跑龙套包描述文件和有选择地importFrom(跑龙套,read.csv)名称空间。
计划鼓励作者使用ExperimentHub: listResources ()
和ExperimentHub: loadResource ()
函数的手册页和装饰图案。这些助手旨在促进特定包中的数据发现,在所有ExperimentHub vs。
biocViews应该包含的条款ExperimentData和也应该包含这个词ExperimentHub
。
数据没有正式软件包的一部分,分别存储在一个公开访问托管网站或通过Bioconductor AWS S3 bucket。作者应该阅读下一节“存储数据文件”。
当你在make-metadata满意你的资源的表示。R(生产metadata.csv)Bioconductor
团队成员将元数据添加到生产数据库。确认本月的数据/ exdata /元数据。通过运行ExperimentHubData csv是有效的:::makeExperimentHubMetadata()在你的包。请地址和警告或错误。
一旦数据在AWS S3或公共站点和元数据添加到生产数据库手册页和装饰图案可以定稿。当包通过R CMD构建和检查它可以提交包追踪进行审核。包应提交没有任何数据的远程位置;这使得包重量轻和minimual大小,而且现在还提供关键的大型数据文件存储远程如果数据文件被添加到github库,请参阅删除大量数据文件和清洁git树把大文件,减少包的大小。
很多时候这些数据创建包作为suppliment软件包。有一个流程提交mulitple包在同样的问题。
新版本的元数据的数据可以被添加到同一个包可用。
新版本的名称必须是唯一的,目前不匹配任何资源的标题ExperimentHub。好的做法是包括版本和/或基因组构建的标题。
使数据:在公开访问的站点或参阅“S3上传数据”部分
更新make-metadata。Rwith the new metadata information
生成一个新的元数据。csv文件。所有版本的包应该包含元数据中的数据ExperimentHub所以应该保持的旧文件。当添加一个新的版本也可能会有帮助编写一个新的csv文件的版本,例如,metadata_v84。csv, metadata_85。csv等等。
撞包版本并提交git
通知hubs@bioconductor.org更新好了,团队成员会将新的元数据添加到生产数据库;新资源将不可见ExperimentHub到元数据添加到数据库中。
一个bug修复可能涉及元数据的变化,数据资源或两者兼而有之。
替代资源必须具有相同的名称作为原始和在相同的位置(路径)
通知hubs@bioconductor.org你想替换的数据和提供的文件:参见“S3上传数据”。
新的元数据记录可以添加新的资源但不鼓励修改现有的记录。记录的修改只会在bug修复的情况下完成的。
通知hubs@bioconductor.org你想要改变的元数据
更新make-metadata。Rwith modified information and regenerate the metadata.csv file if necessary
撞包的版本和承诺git
删除资源应该谨慎处理。意图是ExperimentHub是一种可再生的资源,提供一个稳定的数据的快照。数据可用x.y Bioconductor版本。z应该用于所有版本大于x.y.z。不幸的是,这并不总是可能的。如果你觉得有必要从ExperimentHub请联系删除数据hubs@bioconductor.org或maintainer@bioconductor.org寻求帮助。
当一个资源从ExperimentHub中的“状态”字段修改元数据来解释为什么他们不再可用。一旦改变了这个状态ExperimentHub ()
构造函数不会可用ids之间的资源列表。试图提取资源的[[和嗯id将返回一个错误状态消息。这个函数getInfoOnIds
将显示任何资源的元数据信息包括数据库中的资源仍然但不再可用。
数据不应包含在包中。这使包重量轻、快速为用户安装。这允许用户调查功能和文档没有下载大型数据文件,只在必要时进行下载。有两种选择来存储数据:Bioconductor AWS S3 bucket或托管数据在一个公开访问的站点。见下面的信息,选择适合的选项最适合您的情况。
可以通过访问数据中心公开访问的站点。元数据。创建csv文件[s]需要的列Location_Prefix
表示托管网站。看到更多的描述元数据列/字段下面但作为一个简单的例子,如果数据文件的链接ftp://mylocalserver/singlecellExperiments/dataSet1.Rds
的一个例子Location_Prefix
和RDataPath
这个条目的元数据。csv文件是ftp://mylocalserver/
为Location_Prefix
和singlecellExperiments / dataSet1.Rds
为RDataPath
。
而不是通过dropbox提供数据文件,ftp等我们将授予临时访问S3 bucket,你可以上传你的数据。请电子邮件hubs@bioconductor.org为访问。
你会得到“AnnotationContributor”用户。确保AWS CLI
是安装在你的机器上。参见安装AWS CLI
在这里。一旦请求访问你将邮件一串钥匙。有两个选项为AnnotationContributor设置配置文件
.aws /配置
文件包括以下更新相应的钥匙:(概要AnnotationContributor)输出=文本区域= us-east-1 aws_access_key_id = * * * * aws_secret_access_key = * * * *
.aws /配置
文件,运行以下命令从上面输入适当的信息aws AnnotationContributor配置——概要文件
配置设置后您应该能够使用上传资源
#上传完整的目录使用递归:aws——概要AnnotationContributor s3 cp test_dir s3: / / annotation-contributor / test_dir——递归acl公有可读#上传单个文件aws AnnotationContributor s3 cp test_file——概要文件。txt s3: / / annotation-contributor / test_file。txt - acl公有可读
请上传数据与相应的目录结构,必要时包括子目录(即顶级目录必须软件包名称,如果适用,子目录的版本,…)。也请不要忘记使用国旗——acl公有可读
;这允许读取访问数据文件。
上传完成后,邮件hubs@bioconductor.org继续该过程。添加正式数据需要上传的数据和元数据。csv文件需要在github中创建存储库。
验证记录元数据的最好方法是阅读本月/ extdata /元数据。csv和ExperimentHubData: makeExperimentHubMetadata ()
。如果是成功的元数据是准备好了。
如上所述的元数据。csv文件(或多个元数据。csv文件)前将需要创建数据可以被添加到数据库。确保正确的格式应该运行AnnotationHubData: makeAnnotationHubMetadata
包装上的说明和任何/所有的元数据文件,并解决出现的任何错误。每个对象上传到S3在元数据文件中应该有一个条目。简单地说,元数据列的描述要求:
任何额外的列元数据。csv文件将被忽略但可以包括内部参考。
更多关于Location_Prefix RDataPath。这两个字段组成的完整文件路径的url下载数据文件。如果使用Bioconductor AWS S3 bucket Location_Prefix不应包括在元数据文件[s]这个字段将自动填充。RDataPath将你上传到S3的目录结构。如果你上传一个目录MyAnnotation /
,目录的子目录v1 /
包含两个文件counts.rds
和coldata.rds
,你的元数据文件将包含两行和RDataPaths会MyAnnotation / v1 / counts.rds
和MyAnnotation / v1 / coldata.rds
。如果你的主机数据公开访问的站点url作为必须包括一个基地Location_Prefix
。如果您的数据文件ftp://myinstiututeserver/biostats/project2/counts.rds
,你的元数据文件会有一行Location_Prefix
将ftp://myinstiututeserver/
和RDataPath
将生物抑制剂/ project2 / counts.rds
。
这是一个虚拟的例子但希望它会给你一个想法的格式。假设我有一个包myExperimentPackage我上传两个文件一个是SummarizedExperiments表达数据保存为.rda,另一个sqlite数据库被认为是模拟数据。你希望以下保存为csv(逗号分离输出)但我们简单视图显示在一个表:
标题 | 描述 | BiocVersion | 基因组 | SourceType | SourceUrl | SourceVersion | 物种 | TaxonomyId | Coordinate_1_based | DataProvider | 维护人员 | RDataClass | DispatchClass | RDataPath |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
模拟表达数据 | 模拟表达式值12样品和12000个困难 | 3.9 | NA | 模拟 | http://mylabshomepage | v1 | NA | NA | NA | //www.andersvercelli.com/packages/myExperimentPackage | Bioconductor维护者maintainer@bioconductor.org | SummarizedExperiment | Rda | myExperimentPackage / SEobject.rda |
模拟数据库 | 模拟数据库包含基因映射 | 3.9 | hg19 | 模拟 | //www.andersvercelli.com/packages/myExperimentPackage | v2 | 家智人 | 9606年 | NA | //www.andersvercelli.com/packages/myExperimentPackage | Bioconductor维护者maintainer@bioconductor.org | SQLiteConnection | SQLiteFile | myExperimentPackage / mydatabase.sqlite |