use crate::pbs::txs::TxSeqDatabase;
pub mod check;
pub mod create;
pub mod dump;
pub mod merge;
pub mod subset;
pub trait TranscriptDatabase {
fn assembly(&self) -> String;
}
impl TranscriptDatabase for TxSeqDatabase {
fn assembly(&self) -> String {
let source_version = self
.source_version
.iter()
.next()
.expect("At least one source_version entry expected");
let assembly = if !source_version.assembly.trim().is_empty() {
source_version.assembly.as_str()
} else {
#[allow(deprecated)]
match source_version.assembly_enum() {
crate::pbs::txs::Assembly::Grch37 => "grch37",
crate::pbs::txs::Assembly::Grch38 => "grch38",
_ => "",
}
};
match assembly {
"grch37" | "grch37p10" => "grch37".into(),
"grch38" => "grch38".into(),
x => x.into(),
}
}
}