Skip to main content

fibertools_rs/cli/
extract_opts.rs

1use crate::utils::input_bam::InputBam;
2use clap::Args;
3use std::fmt::Debug;
4
5#[derive(Args, Debug)]
6pub struct ExtractOptions {
7    #[clap(flatten)]
8    pub input: InputBam,
9    /// Report positions in reference sequence coordinates
10    #[clap(short, long, default_value = "true",
11          default_value_ifs([
12              ("molecular", "true", "false"),
13              ("molecular", "false", "true"),
14          ]))
15      ]
16    pub reference: bool,
17    /// Report positions in the molecular sequence coordinates
18    #[clap(long, default_value = "false")]
19    pub molecular: bool,
20    /// Output path for m6a bed12
21    #[clap(long)]
22    pub m6a: Option<String>,
23    /// Output path for 5mC (CpG, primrose) bed12
24    #[clap(short, long)]
25    pub cpg: Option<String>,
26    /// Output path for methylation sensitive patch (msp) bed12
27    #[clap(long)]
28    pub msp: Option<String>,
29    /// Output path for nucleosome bed12
30    #[clap(short, long)]
31    pub nuc: Option<String>,
32    /// Output path for a tabular format including "all" fiberseq information in the bam
33    #[clap(short, long)]
34    pub all: Option<String>,
35    /// Include per base quality scores in "fiber_qual"
36    #[clap(short, long, help_heading = "All-Format-Options")]
37    pub quality: bool,
38    /// Simplify output by removing fiber sequence
39    #[clap(short, long, help_heading = "All-Format-Options")]
40    pub simplify: bool,
41}