use clap::{self, Parser};
use num_cpus;
use std::path::PathBuf;
#[derive(Parser, Debug)]
#[clap(
name = "chromsize",
version = env!("CARGO_PKG_VERSION"),
author = "Alejandro Gonzales-Irribarren <alejandrxgzi@gmail.com>",
about = "just get your chrom sizes"
)]
pub struct Args {
#[clap(
short = 's',
long = "sequence",
help = "Path to sequence file (FASTA/2bit, use '-' or omit to read stdin)",
value_name = "SEQUENCE",
default_value = "-"
)]
pub sequence: PathBuf,
#[clap(
short = 'o',
long = "outdir",
help = "Path to output chrom sizes directory",
value_name = "OUTPUT",
default_value = "."
)]
pub outdir: PathBuf,
#[clap(
short = 'p',
long = "prefix",
help = "File prefix for output chrom sizes",
value_name = "PREFIX",
default_value = "chrom.sizes"
)]
pub prefix: String,
#[clap(
short = 't',
long,
help = "Number of threads",
value_name = "THREADS",
default_value_t = num_cpus::get()
)]
pub threads: usize,
#[clap(
short = 'a',
long = "accession-only",
help = "only keep the accession id part of the header (stop after blank)",
default_value_t = false
)]
pub accession_only: bool,
}