You may need to add these magical export
commands to make your Python install work:
export MACOSX_DEPLOYMENT_TARGET=10.15 \
&& export PYTHON_CONFIGURE_OPTS="--enable-framework" \
&& export PYTHON_SYS_EXECUTABLE="$(which python)" \
&& export PYO3_PYTHON="$(which python)" \
&& export PYTHONPATH="/Users/olga/anaconda3/envs/kmerseek-dev/lib/python3.13/site-packages:$PYTHONPATH" \
&& export DYLD_FALLBACK_LIBRARY_PATH="/Users/olga/anaconda3/envs/kmerseek-dev/lib:$DYLD_FALLBACK_LIBRARY_PATH" \
&& export RUSTFLAGS="-C link-arg=-undefined -C link-arg=dynamic_lookup"
It may look like this:
export MACOSX_DEPLOYMENT_TARGET=10.15 \
&& export PYTHON_CONFIGURE_OPTS="--enable-framework" \
&& export PYTHON_SYS_EXECUTABLE="/Users/olga/anaconda3/envs/kmerseek-dev/bin/python" \
&& export PYO3_PYTHON="/Users/olga/anaconda3/envs/kmerseek-dev/bin/python" \
&& export PYTHONPATH="/Users/olga/anaconda3/envs/kmerseek-dev/lib/python3.13/site-packages:$PYTHONPATH" \
&& export DYLD_FALLBACK_LIBRARY_PATH="/Users/olga/anaconda3/envs/kmerseek-dev/lib:$DYLD_FALLBACK_LIBRARY_PATH" \
&& export RUSTFLAGS="-C link-arg=-undefined -C link-arg=dynamic_lookup"
Run real-world examples like:
cargo run --example test_bcl2_processing
The ProteomeIndex
now supports a fluent Builder pattern:
use kmerseek::index::ProteomeIndex;
// Using the builder pattern
let index = ProteomeIndex::builder()
.path("/path/to/database.db")
.ksize(5)
.scaled(1)
.moltype("protein")
.build()?;
// With auto filename generation
let index = ProteomeIndex::builder()
.path("/path/to/base")
.ksize(5)
.scaled(1)
.moltype("protein")
.build_with_auto_filename()?;
// With raw sequence storage
let index = ProteomeIndex::builder()
.path("/path/to/database.db")
.ksize(5)
.scaled(1)
.moltype("protein")
.store_raw_sequences(true)
.build()?;
You can also use convenience methods:
// Create a new index
let index = ProteomeIndex::new_simple(
"/path/to/database.db",
5, // k-mer size
1, // scaled
"protein", // molecular type
false, // don't store raw sequences
)?;
// With auto filename generation
let index = ProteomeIndex::new_with_auto_filename_simple(
"/path/to/data.fasta",
5, // k-mer size
1, // scaled
"protein", // molecular type
false, // don't store raw sequences
)?;
Run the builder pattern demo:
cargo run --example builder_pattern_demo