实验室
提供在Bioconductor中添加或修改资源的工具ExperimentHub
。这个'Hub'的房子从课程,出版物或实验中愈合了策划数据。资源通常不是原始数据的文件(如可以的情况)annotationhub.
)而是R
/Bioconductor
对象,如GRanges, summarizeexperimental, data.frame等。每个资源都有关联的元数据,可以通过ExperimentHub
客户端接口。
资源由ExperimentHub
以包装的形式。该软件包包含资源元数据,人员页面,小插图和任何支持R
作者想要提供的功能。这与现有的设计相似Bioconductor
除了数据之外的实验数据包存储在AWS S3存储桶中或公开访问的站点而不是包的数据/目录。
下面是添加新资源所需的步骤。
Bioconductor
团队成员在数据可用之前,数据实验包中的手册页和插图示例不能工作ExperimentHub
。将数据添加到AWS S3,并将元数据添加到生产数据库,需要aBioconductor
团队成员。在将数据正式添加到集线器之前,必须创建metadata.csv文件(请参阅下面的inst/extdata部分)。请阅读“数据文件的存储”一节。
从。下载资源时ExperimentHub
相关数据实验包装在工作区中加载,使人员页面和Vignettes随时可用。因为文档在了解这些策划资源方面发挥着重要作用,请花时间制定清晰的人页和详细的小插图。这些文档为用户提供了基本背景,并指导适当使用资源。
下面是一揽子组织的概要。列出的文件是必需的,除非另有说明。
inst / extdata /
metadata.csv
:此文件包含每个资源的一行格式的元数据要添加到ExperimentHub
数据库。该文件应该是从inst / scripts / make-metadata.r中的代码生成的,其中最终数据写出write.csv(...,row.names = false)
。指定了所需的列名和数据类型ExperimentHubData: makeExperimentHubMetadata
看到了吗?ExperimentHubData: makeExperimentHubMetadata
有关详细信息。
可以找到一个示例数据实验包metadata.csv文件这里
本月/脚本/
使数据。R
:描述制作数据对象所涉及的步骤的脚本。这包括原始数据从何处下载、预处理以及最终的R对象是如何制作的。包括在…之外执行的任何步骤的描述R
使用第三方软件。鼓励使用。序列化数据对象保存()
文件名上的扩展名是.rda,但这并不是必须的。如果数据是以另一种格式提供的,则可能需要实现适当的加载方法。请在“上传数据到S3”时提出建议。
make-metadata。R
:一个脚本,用于在包的inst / extData中设置位于包中的元数据。看到了吗?ExperimentHubData: makeExperimentHubMetadata
有关预期字段和数据类型的描述。ExperimentHubData: makeExperimentHubMetadata ()
可以用来在提交包之前验证元数据.csv文件。
小插曲/
R /
打鼾声。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
: 可选的。函数来提升数据探索。
人/
包手册页:包手册页作为一个着陆点,应该简要描述与包关联的所有资源。每个资源标题在包手册页或单个手册页上都应该有一个条目。
资源手册页:可以在同一页面上记录资源,由通用类型分组或有自己的专用人员页面。
文档如何加载数据:可以通过标准实验室接口访问数据,例如单括号方法,例如,
图书馆(实验室)eh < - 实验室()myfiles < - 查询(eh,“packageName”)myfiles [[1]] ##加载列表myfiles中的第一个资源[[“eh123”] ##加载by eh id
如果一个.onLoad ()
函数用于将每个资源导出为函数,还记录了加载方法,例如,
Resourcea(元数据= false)##数据是加载的Resourcea(元数据= True)##元数据显示
描述
/名称空间
这个包应该依赖并完全导入ExperimentHub。如果使用建议的.onLoad ()
函数,在描述文件中导入Utils包,并在命名空间中选择性地导入(Utils,Read.csv)。
鼓励包作者使用ExperimentHub: listResources ()
和ExperimentHub: loadResource ()
函数在其手册页和小插图中。这些帮助程序的设计是为了方便在特定包中发现数据,而不是在所有的ExperimentHub中。
BIOCVIEWS应包含术语实验室也应该包含这个词ExperimentHub
。
数据不正式的软件包的一部分,并且在可公开可访问的托管站点或AWS S3存储桶中单独存储。作者应阅读以下部分“存储数据文件存储”。
当您对Make-Metadata.r中的资源表示满意时(产生元数据.CSV)Bioconductor
团队成员将把元数据添加到生产数据库。通过在你的包上运行ExperimentHubData:: makeExperimentHubMetadata()来确认inst/exdata/metadata.csv中的数据是有效的。请注明警告或错误。
一旦数据位于AWS S3或公共站点中,并且已将元数据添加到生产数据库中,可以最终确定使用人员页面和小插图。当包通过r cmd构建并检查它可以提交给包跟踪器审查。应在没有远程定位的任何数据的情况下提交包裹;这使得包重量和最小尺寸,同时仍然提供对键大数据文件的访问,如果数据文件添加到Github存储库,请查看删除大数据文件和清洁git树删除大文件并减小包大小。
很多时候,这些数据包是作为软件包的补充而创建的。有一个提交程序多个包在同一个问题下。
可以将新版本的元数据添加到与其可用时的相同包中。
新版本的标题必须是唯一的,并且与实验室中当前的任何资源的标题不符。良好做法是包括标题中的版本和/或基因组。
可用数据:可在可公开访问的站点上或查看“上传数据到S3的部分”
更新make-metadata。Rwith the new metadata information
生成一个新的metadata.csv文件。这个包应该包含所有版本的数据的元数据,所以旧的文件应该保留。在添加新版本时,可能需要编写一个按版本命名的csv文件,例如metadata_v84.csv、metadata_85.csv等。
升级包版本并提交到git
通知hubs@biocondion.org.更新已准备好,团队成员将为生产数据库添加新元数据;在实验室中不可见新资源,直到元数据添加到数据库中。
接触hubs@biocondion.org.或者维护器@biocadiond.org.有任何问题。
错误修复可能涉及对元数据、数据资源或两者的更改。
替换资源必须具有与原始名称相同的名称,位于同一位置(路径)
通知hubs@biocondion.org.需要替换数据并使文件可用:请参见“上传数据到S3”部分。
可以为新资源添加新的元数据记录,但不鼓励修改现有记录。只有在bug修复的情况下才会修改记录。
通知hubs@biocondion.org.您想要更改元数据
更新make-metadata。Rwith modified information and regenerate the metadata.csv file if necessary
碰到包版本并提交git
删除资源应谨慎完成。意图是,通过提供数据的稳定快照,实验室是“可重复的”资源。Biocumon Version x.y.z中提供的数据应适用于大于x.y.z的所有版本。不幸的是,这并不总是可能的。如果您发现有必要从实验室删除数据,请联系hubs@biocondion.org.或者维护器@biocadiond.org.寻求帮助。
当一个资源从ExperimentHub中被删除时,元数据中的“status”字段被修改,以解释为什么它们不再可用。一旦这个状态被改变ExperimentHub ()
构造函数不会列出可用ID之间的资源。尝试用“[[[[[[[[[[[[[[[[['和eh id来提取资源将与状态消息一起返回错误。功能getInfoOnIds
将显示任何资源的元数据信息,包括仍在数据库中但不再可用的资源。
这些数据不应该包括在包里。这使包重量轻,便于用户快速安装。这允许用户在不下载大型数据文件的情况下研究函数和文档,只在必要时进行下载。存储数据有两种选择:Bioconductor AWS S3桶或将数据托管在公共可访问站点的其他地方。请参阅下面的信息,并选择最适合您的情况的选项。
可以通过来自任何可公开访问的站点的集线器访问数据。metadata.csv文件[s]将需要列location_prefix.
表示托管站点。在下面的元数据列/字段的描述中查看更多,但如果数据文件的链接是一个快速示例ftp://mylocalserver/singlecellExperiments/dataSet1.Rds
一个示例细分location_prefix.
和RdataPath.
对于metadata.csv文件中的这一项将是ftp://mylocalserver/
为了location_prefix.
和singlecellExperiments / dataSet1。Rds
为了RdataPath.
。
通过Dropbox,FTP等提供数据文件,而不是提供数据文件,我们将临时访问您可以上传数据的S3存储桶。请电子邮件hubs@biocondion.org.为访问。
您将获得对‘AnnotationContributor’用户的访问权。确保AWS CLI.
已安装在您的机器上。参见安装说明AWS CLI.
这里。一旦您请求访问,您将通过电子邮件发送一组密钥。有两个选项可以为AnnotationContributor设置概要文件
.aws / config.
文件以包括以下更新键相应:[Profile Annotation Contributor]输出= Text Region = Us-East-1 AWS_ACCES_KEY_ID = **** AWS_SECRET_ACCESS_KEY = ****
.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文件。
验证记录元数据的最佳方法是使用ExperimentHubData: makeExperimentHubMetadata ()
。如果成功,元数据就可以运行了。
如上所述,在将数据添加到数据库之前,需要创建metadata.csv文件(或多个metadata.csv文件)。为了确保正确的格式,应该运行一个AnnotationHubData: makeAnnotationHubMetadata
在包含任何/所有元数据文件的包中,并处理发生的任何错误。每个上传到S3的对象都应该在元数据文件中有一个条目。简要地说,需要的元数据列的描述:
csv文件中的任何其他列都将被忽略,但可以包括在内以供内部引用。
更多关于位置_prefix和rdatapath。这两个字段构成了用于下载数据文件的完整文件路径URL。如果使用Biocumon AWS S3存储桶,则不会在元数据文件中包含Location_Prefix [S],因为此字段将自动填充。RDataPath将是您上传到S3的目录结构。如果您上传了一个目录MyAnnotation /
,该目录有一个子目录v1 /
包含两个文件counts.rds
和coldata.rds
,元数据文件将包含两行,rdatapath将为MyAnnotation / v1 / counts.rds
和MyAnnotation / 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. |