14 次发布

0.1.14 2024 年 8 月 20 日
0.1.13 2024 年 8 月 20 日
0.1.10 2024 年 7 月 25 日

#56 in 生物学

Download history 308/week @ 2024-07-16 590/week @ 2024-07-23 12/week @ 2024-07-30 224/week @ 2024-08-13

1,045 每月下载量

自定义许可

3MB
9K SLoC

Tests

grumpy

gumpy 的 Rust 实现,以提高速度

安装

Rust 包

cargo add grumpy

Python 包

pip install bio-grumpy

测试

运行 Rust 单元测试

cargo test

覆盖率

可以使用 tarpaulin 查找测试覆盖率。

# Install tarpaulin on first run
cargo install cargo-tarpaulin

# Generate an HTML coverage report
cargo tarpaulin --no-dead-code --engine llvm --out html

lib.rs:

Grumpy,Rust 中的遗传分析。

此库提供了一套用于遗传分析的工具,包括

  • 基因组表示
  • 基因表示
  • VCF 文件解析
  • 在基因组和基因水平上查找给定 VCF 文件的效果

示例

use grumpy::genome::{Genome, mutate};
use grumpy::vcf::VCFFile;
use grumpy::difference::{GenomeDifference, GeneDifference};
use grumpy::common::MinorType;

let mut reference = Genome::new("reference/MN908947.3.gb");
let vcf = VCFFile::new("test/dummy.vcf".to_string(), false, 3);
let mut sample = mutate(&reference, vcf);

let genome_diff = GenomeDifference::new(reference.clone(), sample.clone(), MinorType::COV);
for variant in genome_diff.variants.iter(){
   println!("{}", variant.variant);
}

for gene_name in sample.genes_with_mutations.clone().iter(){
  let gene_diff = GeneDifference::new(reference.get_gene(gene_name.clone()), sample.get_gene(gene_name.clone()), MinorType::COV);
  for mutation in gene_diff.mutations.iter(){
    println!("{}", mutation.mutation);
  }
}

还提供了使用 PyO3 作为 Python 模块访问此库的接口。pip install bio-grumpy

依赖项

~5–11MB
~128K SLoC