6 releases
0.1.4 | Dec 8, 2022 |
---|---|
0.1.3 | Dec 8, 2022 |
0.1.2 | Nov 29, 2020 |
0.1.1 | Nov 8, 2020 |
0.1.0 | Nov 8, 2020 |
#157 in Biology
38KB
929 lines
entrez-rs
A Rust wrapper for the Entrez API
master:
This library helps you access the Entrez API using idiomatic Rust. It also provides tools to parse the XML results from Entrez.
Installation
Add the following to your Cargo.toml:
[dependencies]
entrez-rs = "0.1.4"
Usage
use entrez_rs::eutils::{Eutils, ESearch, EFetch, DB};
use entrez_rs::parser::esearch::{ESearchResult};
use entrez_rs::parser::pubmed::{PubmedArticleSet};
use entrez_rs::errors::Error;
fn main() -> Result<(), Error> {
let xml = ESearch::new(
DB::Pubmed,
"eclampsia")
.run()?;
let parsed = ESearchResult::read(&xml);
println!("{:#?}", &parsed?
.id_list
.ids);
let pm_xml = EFetch::new(
DB::Pubmed,
vec!["33246200", "33243171"])
.run()?;
let pm_parsed = PubmedArticleSet::read(&pm_xml);
println!("{}", pm_parsed?.articles);
Ok(())
}
Will add a walkthrough and tutorial of the API as soon as it reaches beta level.
Inspired by Entrez Direct, Entrezpy and BioPython.
Dependencies
~4.5–8.5MB
~191K SLoC