mod cleaning;
mod extraction;
pub mod selection;
pub const STANDARD_AMINO_ACIDS: &[&str] = &[
"ALA", "ARG", "ASN", "ASP", "CYS", "GLN", "GLU", "GLY", "HIS", "ILE", "LEU", "LYS", "MET",
"PHE", "PRO", "SER", "THR", "TRP", "TYR", "VAL",
];
pub const STANDARD_NUCLEOTIDES: &[&str] = &[
"A", "C", "G", "U", "DA", "DC", "DG", "DT", ];
#[inline]
pub fn is_standard_amino_acid(residue_name: &str) -> bool {
STANDARD_AMINO_ACIDS.contains(&residue_name.trim())
}
#[inline]
pub fn is_standard_nucleotide(residue_name: &str) -> bool {
STANDARD_NUCLEOTIDES.contains(&residue_name.trim())
}
#[inline]
pub fn is_standard_residue(residue_name: &str) -> bool {
is_standard_amino_acid(residue_name) || is_standard_nucleotide(residue_name)
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_is_standard_amino_acid() {
assert!(is_standard_amino_acid("ALA"));
assert!(is_standard_amino_acid("GLY"));
assert!(is_standard_amino_acid(" ALA "));
assert!(!is_standard_amino_acid("HOH"));
assert!(!is_standard_amino_acid("ATP"));
}
#[test]
fn test_is_standard_nucleotide() {
assert!(is_standard_nucleotide("A"));
assert!(is_standard_nucleotide("DA"));
assert!(!is_standard_nucleotide("ALA"));
}
#[test]
fn test_is_standard_residue() {
assert!(is_standard_residue("ALA"));
assert!(is_standard_residue("A"));
assert!(!is_standard_residue("HOH"));
}
}