#数据源 #名称 #文件 #种类 #匹配 #科学 #输出

bin+lib gnverify

接受一个科学名称或名称列表,并验证它们是否与多种生物多样性数据源匹配

6个版本

0.3.1 2020年4月23日
0.3.0 2020年4月22日
0.2.1 2020年4月21日
0.1.1 2020年4月17日

#17 in #种类

MIT许可证

440KB
726

gnverify

接受一个名称或名称列表,并验证它们是否与多种生物多样性数据源匹配

特点

  • 一个小巧快速的程序,用于验证科学名称是否与多个生物多样性数据库匹配。
  • 有4种不同的匹配级别
    • 精确匹配:与数据源中的规范形式或全名称字符串完全匹配。
    • 模糊匹配:如果未发生精确匹配,则尝试匹配名称字符串,假设存在拼写错误。
    • 部分匹配:从双名或多名字符串中删除中间或最后一个属名,并尝试匹配剩余的部分。
    • 部分模糊匹配:与部分匹配相同,但假设存在拼写错误。
  • 分类解析。如果数据库包含分类信息,则返回当前接受的名称字符串,如果它与匹配的名称不同。
  • 根据匹配得分返回最佳匹配。手动编目数据源具有优先权,优于自动编目和非编目数据集。例如 生命目录WoRMS 被认为是编目的,GBIF 自动编目,uBio 未编目。
  • 可以将任何名称字符串清单映射到任何已注册的数据源。
  • 如果数据源为名称提供分类,则将在输出中返回。
  • 适用于仅检查一个名称字符串,或检查文件中编写的多个名称字符串。
  • 支持通过操作系统的管道输入数据。此功能允许将程序与其他工具链式连接。

安装

MS Windows

github下载最新版本,解压。

一种可能的方法是创建一个默认文件夹用于可执行文件,并将 gnveriry 放在那里。

使用 Windows+R 键组合,并输入 "cmd"。在出现的终端窗口中输入

mkdir C:\Users\your_username\bin
copy path_to\gnverify.exe C:\Users\your_username\bin

将目录 C:\Users\your_username\bin 添加到您的环境变量 PATH

另一种更简单的方法是,在 cmd 终端窗口中使用 cd C:\Users\your_username\bin 命令。然后,当您从该目录运行其命令时,Windows操作系统会自动找到 gnverify 程序。

您还可以在 PDF文档 中阅读更多关于Windows用户的详细指南。

Linux和Mac

github 下载最新版本,解压并安装到您的路径中的某个位置。

tar xvf gnverify-linux-0.2.0.tar.xz
# or tar xvf gnverify-mac-0.2.0.tar.gz
sudo mv gnverify /usr/local/bin

从源代码编译

根据他们的安装说明 安装Rust。

cargo install gnverify

用法

gnverify 接受一个名称字符串或一个包含多个名称字符串的制表符分隔的文件作为参数,将这些数据发送到 远程 gnindex 服务器 以匹配名称字符串,并将其与许多不同的生物多样性数据库进行匹配,然后将结果以JSON或CSV格式返回到STDOUT。

一个名称字符串

gnverify "Monohamus galloprovincialis"

文件中的多个名称字符串

gnverify /path/to/names.tsv

该应用程序假设文件要么包含一个简单的每行一个名称的名称列表,要么是一个制表符分隔的列表,其中第一列是与名称字符串关联的 id,第二列是名称字符串本身。您可以在项目的 测试目录 中找到此类文件的示例。

也可以通过STDIN提供数据。

cat /path/to/names.txt | gnverify

选项和标志

根据POSIX标准,标志和选项可以放在名称字符串或文件名之前或之后。

帮助

gnverify -h
# or
gnverify --help
# or
gnverify

版本

gnverify -V
# or
gnverify --version

名称字段

如果名称字符串的ScientificName字段不是您数据中的第一个,那么 name-field 标志非常重要。将其设置为名称字符串字段的位置。

例如,如果您的文件具有以下字段

"ID", "Taxon_ID", "Name", "Reference", "Notes"

并且“Name”字段包含您想要验证的名称,请使用

gnverify -n 3
# or
gnverify --name-field=3

格式

允许选择输出格式。支持的格式有

  • 紧凑型:一行JSON。
  • 美观:美化后的JSON,带有换行符和制表符,便于阅读。
  • csv:(默认)返回CSV表示。
gnverify -f compact file.txt
# or
gnverify --format="pretty" file.csv

请注意,对于每个单独的记录都返回一个单独的JSON“文档”,而不是返回一个包含所有记录的大JSON文档。对于大型列表,这显著加快了用户端对JSON的解析速度。

来源

默认情况下,gnverify 仅返回匹配的一个“最佳”结果。如果用户对特定数据集特别感兴趣,他们可以设置此选项,并返回该数据源的所有匹配项。您需要为数据集提供一个数据源ID。ID可以在以下url中找到。其中一些可以在gnverify的帮助输出中找到。

此类数据将在JSON输出的首选结果部分返回,或者在以“PreferredMatch”字符串开始的CSV行中返回。

gnverify file.csv -s "1,11,172"
# or
gnverify file.tsv --sources="12"
# or
cat file.txt | gnverify -s '1,12'

仅首选

有时用户只想将一个名称列表映射到数据源。他们不关心名称是否在别处匹配。在这种情况下,您可以使用 preferred_only 标志。

gnverify -p -s '12' file.txt
# or
gnverify --preferred_only --sources='1,12' file.tsv

作者:Dmitry Mozzherin

版权所有 (c) 2020 Dmitry Mozzherin。有关详细信息,请参阅 LICENSE

依赖关系

~23–34MB
~572K SLoC