105 releases (30 breaking)

0.32.2 Sep 4, 2024
0.31.0 Aug 17, 2024
0.29.1 Jul 16, 2024
0.15.0 Mar 27, 2024
0.2.6 Jul 31, 2023

#44 in Biology

Download history 645/week @ 2024-06-15 228/week @ 2024-06-22 30/week @ 2024-06-29 27/week @ 2024-07-06 488/week @ 2024-07-13 143/week @ 2024-07-20 294/week @ 2024-07-27 70/week @ 2024-08-03 47/week @ 2024-08-10 187/week @ 2024-08-17 37/week @ 2024-08-24 299/week @ 2024-08-31 28/week @ 2024-09-07 78/week @ 2024-09-14 154/week @ 2024-09-21 18/week @ 2024-09-28

294 downloads per month
Used in 3 crates

Apache-2.0

4MB
27K 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

~93MB
~1.5M SLoC