85 releases (19 breaking)

new 0.20.0 Apr 24, 2024
0.18.0 Apr 23, 2024
0.15.0 Mar 27, 2024
0.5.5 Dec 18, 2023
0.2.6 Jul 31, 2023

#18 in Biology

Download history 128/week @ 2024-01-06 1/week @ 2024-01-13 176/week @ 2024-01-20 182/week @ 2024-01-27 185/week @ 2024-02-03 4/week @ 2024-02-10 86/week @ 2024-02-17 674/week @ 2024-02-24 391/week @ 2024-03-02 749/week @ 2024-03-09 231/week @ 2024-03-16 216/week @ 2024-03-23 111/week @ 2024-03-30 131/week @ 2024-04-06 770/week @ 2024-04-13 943/week @ 2024-04-20

1,966 downloads per month
Used in 3 crates

Apache-2.0

3MB
25K SLoC

Exon

Exon is an execution engine designed to work with bioinformatics data. It features:

  • SQL based access to bioinformatics data -- general DML and some DDL support
  • Support for many file formats from bioinformatics, proteomics, and others
  • Local filesystem and object storage support
  • Arrow FFI primitives for multi-language support

Installation

Exon is available via crates.io. To install, run:

cargo add exon

Documentation

  • Rust documentation is available here.
  • General documentation is available here.

Benchmarks

Please see the benchmarks README for more information.


lib.rs:

Exon is a library to facilitate open-ended analysis of scientific data, ease the application of ML models, and provide a common data interface for science and engineering teams.

Overview

The main interface for users is through datafusion's SessionContext plus the ExonSessionExt extension trait. This has a number of convenience methods for loading data from various sources.

See the read_* methods on ExonSessionExt for more information. For example, read_fasta, or read_gff. There's also a read_inferred_exon_table method that will attempt to infer the data type and compression from the file extension for ease of use.

To facilitate those methods, Exon implements a number of traits for DataFusion that serve as a good base for scientific data work. See the datasources module for more information.

Dependencies

~79MB
~1.5M SLoC