pub fn consprob_trained<T>(
    thread_pool: &mut Pool,
    fasta_records: &Vec<FastaRecord, Global>,
    min_bpp: f32,
    min_align_prob: f32,
    produces_struct_profs: bool,
    produces_align_probs: bool,
    train_type: TrainType
) -> (Vec<PctStaProbMats<T>, Global>, HashMap<(usize, usize), AlignProbMats<T>, RandomState, Global>)where
    T: Unsigned + PrimInt + Hash + FromPrimitive + Integer + Ord + Sync + Send + Display,