最小可行标识符

minid的Python项目详细描述


minid(minimal available identifier,最小可行标识符)是一种非常简单的标识符,它可以使创建和使用变得非常简单,同时仍然具有足够的实质,可以使数据易于查找、访问、互操作和重用(fair)。

minid服务器代码可在https://github.com/fair-research/minid-server

安装

minid客户端和CLI在PyPI上可用可以使用以下命令安装它:

$ pip install minid

或者,您可以下载源代码并使用安装工具进行安装:

$ git clone git@github.com:ini-bdds/minid.git

$ python setup.py install

配置

在使用api之前,您首先需要验证您的电子邮件地址。输入以下命令:

$ minid --register_user --email <email> --name <name> [--orcid <orcid>]

唯一的代码将发送到您的电子邮件地址。您必须将此代码与 访问API时的电子邮件地址。为了方便起见,您可以在 minid配置文件(~/.minid/minid config.cfg

[general]minid_server: http://minid.bd2k.org/miniduser: <Name>email: <Email>orcid: <optional Orcid>code: <Code>

用法

cli支持以下简单操作(注意:–test标志在定期删除的测试命名空间中创建名称;删除该标志以创建生产minid):

  • 创建一个新的标识符(如果提供了–location选项,则必须位于末尾):

    $ minid --test --register [--title <title>] <file_name> [--locations <loc1>..<locN>]
    
  • 检索有关文件的元数据:

    $ minid --test <file_name>
    
  • 检索有关标识符的元数据:

    $ minid --test <identifier>
    
  • 更新有关标识符的元数据:

    $ minid --test --update [--title <title>] [--status <status>] [--obsoleted_by <minid>] [--locations <loc1> <loc2>] <identifier>
    
  • 查看所有minid选项:

    $ minid -h
    

登录页可通过minid网站访问:minid.bd2k.org/minid/landingpage/<;identifier>;。

文件清单格式

minid只能分配给单个文件。为了给文件集合分配minid,我们建议使用BDBag或minid文件清单格式。

minid文件清单格式是一种基于json的格式,它将文件列表枚举为具有以下属性的json对象:

  • 长度:文件的长度(字节)。
  • 文件名:相对于清单文件的文件名(或路径)。
  • 以下算法中的一个或多个(每个仅一个):校验和键值对:
    • md5:<;md5十六进制值>
    • SHA256:<;SHA256十六进制值>;
    • sha512:<;sha512十六进制值>
  • url:文件的url。

清单可用于为文件集合创建minid,或者作为minid批处理寄存器命令的输入。

下面是一个示例文件清单配置文件:

[
    {
        "length":321,
        "filename":"file1.txt",
        "md5":"5bbf5a52328e7439ae6e719dfe712200",
        "sha256":"2c8b08da5ce60398e1f19af0e5dccc744df274b826abe585eaba68c525434806",
        "url" : "globus://ddb59aef-6d04-11e5-ba46-22000b92c6ec/share/godata/file1.txt"
    },
    {
        "length": 632860,
        "filename": "minid_v0.1_Nov_2015.pdf",
        "sha256": "cacc1abf711425d3c554277a5989df269cefaa906d27f1aaa72205d30224ed5f",
        "url" : "http://bd2k.ini.usc.edu/assets/all-hands-meeting/minid_v0.1_Nov_2015.pdf"
    }
]

更多信息

I’ll take that to go: Big data bags and minimal identifiers for exchange of large, complex datasets”解释了Minids和相关BDBag构造的动机,提供了设计和实现的详细信息,并给出了使用示例

Reproducible big data science: A case study in continuous FAIRness”给出了一个使用bdbags和minids捕获转录因子结合位点分析的用例。

有关该项目的更多信息,请访问:http://minid.bd2k.org/

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用ContentExchange设置请求属性   java Spark/Hdfs/Hdfsclient兼容性   java springcloudstreamkafka配置:instanceCount和instanceIndex   Java中web服务序列化日期   java用动态数据替换占位符   java git gc似乎覆盖了一个packfile,留下了一个打开的文件描述符,其中包含对“oldxxx.pack”的引用   为什么Apache项目对Java版本敏感?   java Anylogic帮助如何在导入的3dobject通过输送机上的多个“站”时更改其颜色?   JavaEclipseNeonM2E可以导入一个大型项目,但似乎不能自动解决依赖关系   java@FindBy搜索具有满足条件的子元素的元素   java如何将ActionEvent e与键绑定一起使用?   java转换以集中方式从外部库抛出的异常   java中用户文件/数据文件与系统/程序文件的区别   java使用变量字符串或字符作为对象名   字体使用Java图形操纵字符串中每个字符的形状   JavaFX图表移动数据   java RandomAccessFile:将所有项设置为相同的字节数?   java Google Play inapp Billing onPurchasesUpdated()错误响应代码1   java在不知道属性名和属性数的情况下处理json对象   java是否可以一次从HazelcastInstance(映射和列表)中删除所有数据?