Skip to main content

fibertools_rs/cli/
validate_opts.rs

1use crate::utils::input_bam::InputBam;
2use clap::Args;
3
4#[derive(Args, Debug)]
5pub struct ValidateOptions {
6    #[clap(flatten)]
7    pub bam: InputBam,
8
9    /// Number of reads to validate
10    #[clap(short, long, default_value = "5000")]
11    pub reads: usize,
12
13    /// The fraction of reads that must have m6A calls to pass validation
14    #[clap(short, long, default_value = "0.5")]
15    pub m6a: f64,
16
17    /// The fraction of reads that must have nucleosome and MSP calls to pass validation
18    #[clap(short = 'n', long, default_value = "0.5")]
19    pub nuc: f64,
20
21    /// Check for FIRE calls in the reads, there must be at least one FIRE call to pass validation.
22    #[clap(short = 'f', long)]
23    pub fire: bool,
24
25    /// Check for the fraction of reads with alignment to a reference genome
26    #[clap(short, long, default_value = "0.0")]
27    pub aligned: f64,
28
29    /// Check for the fraction of reads with phasing information
30    #[clap(short, long, default_value = "0.0")]
31    pub phased: f64,
32
33    /// Check for the fraction of reads with kinetics information
34    #[clap(short, long, default_value = "0.0")]
35    pub kinetics: f64,
36}