33个版本 (16个重大更新)

0.17.2 2024年8月6日
0.17.1 2024年7月26日
0.16.3 2024年7月16日
0.16.0 2024年3月5日
0.5.0 2023年3月31日

#168数据库接口

Download history 5/week @ 2024-04-23 5/week @ 2024-04-30 4/week @ 2024-05-07 5/week @ 2024-05-14 8/week @ 2024-05-21 28/week @ 2024-05-28 140/week @ 2024-06-04 133/week @ 2024-06-11 86/week @ 2024-06-18 29/week @ 2024-06-25 26/week @ 2024-07-02 32/week @ 2024-07-09 270/week @ 2024-07-16 309/week @ 2024-07-23 137/week @ 2024-07-30 188/week @ 2024-08-06

每月919次下载
2 crates 中使用

Apache-2.0

635KB
17K SLoC

Crates.io Crates.io Crates.io CI codecov DOI

hgvs-rs

这是将 biocommons/hgvs 移植到Rust编程语言的版本。代码 data::cdot::* 基于将 SACGF/cdot 移植到Rust的版本。

运行测试

测试需要UTA的一个实例来运行。您要么设置本地副本(在 tests/data/data/*.pgd.gz 中包含最小数据集),要么使用公共的UTA。您需要适当地设置环境变量 TEST_UTA_DATABASE_URLTEST_UTA_DATABASE_SCHEMA。要使用公共数据库

export TEST_UTA_DATABASE_URL=postgres://anonymous:[email protected]:/uta
export TEST_UTA_DATABASE_SCHEMA=uta_20210129

注意,seqrepo-rs 用于访问基因组连续序列。在SeqRepo格式中提供序列的子集是不方便的。相反,我们使用构建缓存/读取缓存方法,该方法也由 biocommons/hgvs 使用。

要构建缓存,您首先需要下载seqrepo 如biocommons/biocommons.seqrepo快速入门中所述。然后,按照以下方式配置运行 hgvs-rs 的测试

export TEST_SEQREPO_CACHE_MODE=write
export TEST_SEQREPO_PATH=path/to/seqrepo/instance
export TEST_SEQREPO_CACHE_PATH=tests/data/seqrepo_cache.fasta

在运行 cargo test 测试时,缓存文件将被(重新)写入。请注意,您必须使用 cargo test --release -- --test-threads 1 --include-ignored 来确保任何时候只有一个测试写入缓存。如果您不想重新生成缓存,则可以使用以下设置。在这些设置下,缓存只被读取。

export TEST_SEQREPO_CACHE_MODE=read
export TEST_SEQREPO_CACHE_PATH=tests/data/seqrepo_cache.fasta

完成以上步骤后,您就可以运行测试了。

cargo test

创建减少的 UTA 数据库

脚本 tests/data/data/bootstrap.sh 允许您根据基因列表轻松构建 UTA 数据库的缩减集。过程如下

  1. 您编辑 bootstrap.sh 以包括您要使用的转录本的 HGNC 基因符号。
  2. 您运行引导脚本。这将下载指定的 UTA 泄露文件并将其缩减到与这些转录本相关的信息。
$ bootstrap.sh http://dl.biocommons.org/uta uta_20210129

通过 git-lfs*.pgd.gz 文件添加到 Git 仓库中,在 CI 中,将使用这个最小数据库。

一些时间结果

(我还不想称之为“基准”。)

大 cdot JSON 文件的反序列化。

主机

  • CPU: Intel(R) Xeon(R) E-2174G CPU @ 3.80GHz
  • 磁盘: NVME (WDC CL SN720 SDAQNTW-1T00-2000)

单次运行时间结果(无重复/预热启动等。)

  • ENSEMBL: 37s
  • RefSeq: 67s

这包括记录的加载和反序列化。

依赖项

~24–36MB
~562K SLoC