4 个版本
0.2.2 | 2024年4月30日 |
---|---|
0.2.1 | 2024年4月12日 |
0.2.0 | 2024年4月12日 |
0.1.1 | 2024年2月11日 |
0.1.0 |
|
#100 在 生物学
42 每月下载
82KB
660 行
RustSASA
RustSASA 是一个 Rust 库,使用 Shrake-Rupley 算法计算给定蛋白质结构中每个原子的绝对溶剂可及表面积(ASA/SASA)[1]。它可以在 Rust 和 Python 中使用!
功能
- 🦀 使用纯 Rust 编写
- ⚡️ 比 Biopython 快 3 倍,比 Freesasa 快 ~120%
- 🧪 完整测试覆盖率
在 Python 中使用 🐍
现在您可以在 Python 中使用 RustSasa 来加速您的脚本!请查看 rust-sasa-python!
安装
pip install rust-sasa-python
示例
from rust_sasa_python import calculate_sasa_at_residue_level
residue_sasa_values = calculate_sasa_at_residue_level("path_to_pdb_file.pdb") # Also supports mmCIF files!
查看完整文档 这里
在 Rust 中使用 🦀
use pdbtbx::StrictnessLevel;
use rust_sasa::{Atom, calculate_sasa, calculate_sasa_internal, SASALevel};
let (mut pdb, _errors) = pdbtbx::open(
"./example.cif",
StrictnessLevel::Medium
).unwrap();
let result = calculate_sasa(&pdb,None,None,SASALevel::Residue);
完整文档可以在 这里 找到
基准测试
基准测试是在配备 8GB 内存和 8 个核心的 M2 苹果 Mac 上使用蛋白质 AF-A0A2K5XT84-F1(AlphaFold)进行的。
-
Biopython: ~150ms
-
Freesasa: ~90ms
-
RustSASA: ~40ms
引用
1: Shrake A, Rupley JA. 蛋白质原子的溶剂环境和暴露。溶菌酶和胰岛素。J Mol Biol. 1973 Sep 15;79(2):351-71. doi: 10.1016/0022-2836(73)90011-9. PMID: 4760134.
依赖项
~8MB
~163K SLoC