mod dot;
mod fa;
mod gtf;
mod json;
mod vcf;
pub use dot::*;
pub use fa::*;
pub use gtf::*;
pub use json::*;
pub use vcf::*;
use clap::Subcommand;
use clap::ValueHint;
use std::path::PathBuf;
#[derive(Subcommand)]
pub enum Commands {
Parse {
#[arg(required = true, value_hint = ValueHint::FilePath)]
input: PathBuf,
},
Fa {
#[arg(required = true, value_hint = ValueHint::FilePath)]
input: PathBuf,
#[arg(short, long, value_hint = ValueHint::FilePath)]
reference_genome: PathBuf,
#[arg(short, long, value_hint = ValueHint::FilePath)]
output: Option<PathBuf>,
},
Gtf {
#[arg(required = true, value_hint = ValueHint::FilePath)]
input: PathBuf,
#[arg(short, long, value_hint = ValueHint::FilePath)]
output: Option<PathBuf>,
},
Vcf {
#[arg(required = true, value_hint = ValueHint::FilePath)]
input: PathBuf,
#[arg(short, long, value_hint = ValueHint::FilePath)]
output: Option<PathBuf>,
},
Dot {
#[arg(required = true, value_hint = ValueHint::FilePath)]
input: PathBuf,
#[arg(short, long, value_hint = ValueHint::FilePath)]
output: Option<PathBuf>,
},
Json {
#[arg(required = true, value_hint = ValueHint::FilePath)]
input: PathBuf,
#[arg(short, long, default_value = "false")]
pretty: bool,
#[arg(short, long, value_hint = ValueHint::FilePath)]
output: Option<PathBuf>,
},
Traverse {
#[arg(required = true, value_hint = ValueHint::FilePath)]
input: PathBuf,
#[arg(short, long, value_hint = ValueHint::FilePath)]
output: Option<PathBuf>,
},
}