use thiserror::Error;
#[derive(Error, Debug, Clone)]
pub enum Error {
#[error("{0} is not a valid genome interval")]
InvalidGenomeInterval(String),
#[error("{0} is not a valid tx interval")]
InvalidTxInterval(String),
#[error("{0} is not a valid CDS interval")]
InvalidCdsInterval(String),
#[error("{0} is not a valid HGVS expression interval")]
InvalidHgvsVariant(String),
#[error("conversion of interval with different offsets (CDS start/end) is ill-defined: {0}")]
IllDefinedConversion(String),
#[error("cannot convert interval with None position into range: {0}")]
CannotNonePositionIntoRange(String),
#[error("ref or alt must be non-empty in: {0}")]
RefOrAltMustBeNonEmpty(String),
#[error("number of deleted bases must be positive in: {0}")]
NumDelBasesNotPositive(String),
#[error("alternate bases must be non-empty in: {0}")]
NumAltBasesEmpty(String),
#[error("number of inverted bases must be positive in: {0}")]
NumInvBasesNotPositive(String),
}