tf-binding-rs 0.1.3

Fast transcription factor binding site prediction and FASTA manipulation in Rust
Documentation

tf-binding-rs (In Development)

A Rust library for predicting transcription factor (TF) binding site occupancy in DNA sequences. This toolkit provides efficient implementations for:

  • FASTA file manipulation and sequence processing
  • Position Weight Matrix (PWM) handling and Energy Weight Matrix (EWM) conversion
  • TF binding site occupancy prediction using biophysical models
  • Information content and binding site diversity calculations

Built with performance in mind, this library offers a fast and memory-efficient alternative to traditional Python implementations for genomic analysis.

Features

  • 🧬 Fast FASTA file reading and writing
  • 📊 PWM/EWM-based binding site scoring
  • 🔍 Efficient sequence scanning for binding sites
  • 📈 Occupancy landscape calculation
  • 🧮 Statistical and thermodynamic calculations

Installation

Add this to your Cargo.toml:

[dependencies]
tf-binding-rs = "0.1.1"

Or install using cargo:

cargo add tf-binding-rs

Examples

Reading FASTA Files

use tf_binding_rs::fasta;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Read sequences from a FASTA file
    let sequences = fasta::read_fasta("path/to/sequences.fasta")?;

    // Print sequence information
    println!("Number of sequences: {}", sequences.height());

    // Calculate GC content
    let gc_stats = fasta::gc_content(&sequences)?;
    println!("GC content analysis: {:?}", gc_stats);

    Ok(())
}

Working with PWM Files

use tf_binding_rs::occupancy;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Read PWM motifs from MEME format file
    let pwm_collection = occupancy::read_pwm_files("path/to/motifs.meme")?;

    // Process each motif
    for (motif_id, pwm) in pwm_collection {
        println!("Processing motif: {}", motif_id);
        println!("Matrix dimensions: {:?}", pwm.shape());
    }

    Ok(())
}

Use Cases

  • Genomic sequence analysis
  • TF binding site prediction
  • Regulatory sequence characterization
  • High-throughput DNA sequence processing

Documentation

For detailed API documentation, visit docs.rs/tf-binding-rs