uniprot.rs
Rust data structures and parser for the [UniprotKB database(s)].
The uniprot::uniprot::parse
function can be used to obtain an iterator over
the entries of a UniprotKB database in XML format (either SwissProt or TrEMBL).
```rust extern crate uniprot;
let f = std::fs::File::open("tests/uniprot.xml") .map(std::io::BufReader::new) .unwrap();
for r in uniprot::uniprot::parse(f) { let entry = r.unwrap(); // ... process the Uniprot entry ... } ```
XML files for UniRef and UniParc can also be parsed, with uniprot::uniref::parse
and uniprot::uniparc::parse
, respectively.
Any BufRead
implementor can be used as an input, so the database files can be streamed
directly from their online location with
the help of an HTTP library such as reqwest
, or
using the ftp
library.
See the online documentation at docs.rs
for more
examples, and some details about the different features available.
threading
(enabled by default):
compiles the multithreaded parser that offers a 90% speed increase when
processing XML files.uniprot.rs
is developed and maintained by:
- Martin Larralde
This project adheres to Semantic Versioning and provides a changelog in the Keep a Changelog format.
This library is provided under the open-source MIT license.