Skip to main content

fibertools_rs/cli/
mock_fire_opts.rs

1use crate::cli::GlobalOpts;
2use clap::Args;
3use std::fmt::Debug;
4
5#[derive(Args, Debug)]
6pub struct MockFireOptions {
7    /// Input BED file where intervals become FIRE elements.
8    /// Intervals are grouped into a mock read by chromosome and the 4th column
9    /// (name), so a name reused across chromosomes yields one read per chromosome.
10    #[clap()]
11    pub bed: String,
12    /// Output BAM file
13    #[clap(short, long, default_value = "-")]
14    pub out: String,
15    /// Length of mock reads (default: auto-calculated from BED intervals)
16    #[clap(short, long)]
17    pub read_length: Option<i64>,
18    /// FIRE quality score to assign (0-255, higher = more confident FIRE call)
19    #[clap(short, long, default_value_t = 255)]
20    pub quality: u8,
21    /// Uncompressed BAM output (default: compressed)
22    #[clap(short, long)]
23    pub uncompressed: bool,
24    #[clap(flatten)]
25    pub global: GlobalOpts,
26}