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}