#蛋白质 #化学信息学 #SMILES #公式 #氨基酸

proteinogenic

将蛋白质序列生成化学结构为SMILES字符串

2 个不稳定版本

0.2.0 2022年2月17日
0.1.0 2022年2月16日

#334 in 科学

MIT 许可证

195KB
580

proteinogenic Star me

将蛋白质序列生成化学结构为SMILES字符串。

Actions Codecov License Source Crate Documentation Changelog GitHub issues

🔌 使用方法

此crate基于purr,一个提供读取和写入SMILES原语crate。

使用AminoAcid枚举来编码序列残基,并使用proteinogenic::smiles构建SMILES字符串。例如使用divergicin 750

extern crate proteinogenic;

let residues = "KGILGKLGVVQAGVDFVSGVWAGIKQSAKDHPNA"
  .chars()
  .map(proteinogenic::AminoAcid::from_char)
  .map(Result::unwrap);
let s = proteinogenic::smiles(residues)
  .expect("failed to generate SMILES string");

可以通过使用Peptide结构体来配置肽的渲染来执行附加修改。目前支持二硫键、链内桥以及头尾环化。例如,我们可以生成环肽kalata B1的SMILES字符串

extern crate proteinogenic;

let residues = "GLPVCGETCVGGTCNTPGCTCSWPVCTRN"
  .chars()
  .map(proteinogenic::AminoAcid::from_char)
  .map(Result::unwrap);

let mut p = proteinogenic::Protein::new(residues);
p.cyclization(proteinogenic::Cyclization::HeadToTail);
p.cross_link(proteinogenic::CrossLink::Cystine(5, 19)).unwrap();
p.cross_link(proteinogenic::CrossLink::Cystine(9, 21)).unwrap();
p.cross_link(proteinogenic::CrossLink::Cystine(14, 26)).unwrap();

let s = p.smiles()
  .expect("failed to generate SMILES string");

此SMILES字符串可以与其他化学信息学工具包一起使用,例如OpenBabel,它可以生成PNG图

Skeletal formula of divergicin 750

请注意,proteinogenic不仅限于构建SMILES字符串;它实际上可以使用任何purr::walk::Follower实现者来生成蛋白质公式的内存表示。如果你的代码已经与purr兼容,那么你将能够轻松地使用蛋白质序列。

extern crate proteinogenic;
extern crate purr;

let sequence = "KGILGKLGVVQAGVDFVSGVWAGIKQSAKDHPNA";
let residues = sequence.chars()
  .map(proteinogenic::AminoAcid::from_char)
  .map(Result::unwrap);

let mut builder = purr::graph::Builder::new();
proteinogenic::visit(residues, &mut builder);

builder.build()
  .expect("failed to create a graph representation");

API尚不稳定,可能会随着purr引入的更改或为了提高界面的人体工程学而进行更改。

💭 反馈

⚠️ 问题跟踪器

发现了bug吗?有增强请求吗?如果您需要报告或询问问题,请访问GitHub问题跟踪器。如果您正在报告一个bug,请尽可能提供关于问题的详细信息,并尝试在简单、易于复现的环境中重现相同的bug。

📋 更新日志

本项目遵循语义版本控制,并按照保持更新日志格式提供更新日志

🔍 相关内容

如果您是生物信息学家同时也是Rust程序员,您可能会对以下其他库感兴趣

  • uniprot.rs:UniProtKB数据库的Rust数据结构。
  • obofoundry.rs:OBO Foundry的Rust数据结构。
  • fastobo:Open生物医学本体论的Rust解析器和抽象语法树。
  • pubchem.rs:PubChem API的Rust数据结构和API客户端。

📜 许可证

此库遵循开源的MIT许可证

该项目由Martin Larralde欧洲分子生物学实验室Zeller团队的博士课题中开发。

依赖项