fibertools_rs/cli/
strip_basemods_opts.rs

1use crate::utils::input_bam::InputBam;
2use clap::Args;
3use std::fmt::Debug;
4
5#[derive(Args, Debug)]
6pub struct StripBasemodsOptions {
7    #[clap(flatten)]
8    pub input: InputBam,
9    /// Output bam file
10    #[clap(default_value = "-")]
11    pub out: String,
12    #[clap(short, long, value_parser(["m6A","6mA", "5mC","CpG"]))]
13    /// base modification to strip out of the bam file
14    pub basemod: Option<String>,
15    /// filter out m6A modifications with less than this ML value
16    #[clap(long, default_value = "0")]
17    pub ml_m6a: u8,
18    /// filter out 5mC modifications with less than this ML value
19    #[clap(long, default_value = "0")]
20    pub ml_5mc: u8,
21    /// Drop forward strand of base modifications
22    #[clap(long)]
23    pub drop_forward: bool,
24    /// Drop reverse strand of base modifications
25    #[clap(long)]
26    pub drop_reverse: bool,
27}