public AminoAcidInternal FeatureFunction(Pair <NEC, Hla> necAndHla)
        {
            string            aminoAcidAsString  = GetAminoAcid(Pos, TreatHlaAsPrefix, necAndHla.Second);
            AminoAcidInternal aAminoAcidInternal = AminoAcidInternal.GetInstance(aminoAcidAsString);

            return(aAminoAcidInternal);
        }
        public AminoAcidInternal FeatureFunction(Pair <NEC, Hla> necAndHla)
        {
            char chAminoAcid = necAndHla.First.E[Pos - 1];
            AminoAcidInternal aAminoAcidInternal = AminoAcidInternal.GetInstance(chAminoAcid);

            return(aAminoAcidInternal);
        }
        internal static AminoAcidInternal GetInstance(string sAminoAcid)
        {
            AminoAcidInternal aAminoAcidInternal = new AminoAcidInternal();
            char aminoAcid = VirusCount.Biology.GetInstance().ThreeLetterAminoAcidAbbrevTo1Letter[sAminoAcid];

            aAminoAcidInternal.AminoAcidAsChar   = aminoAcid;
            aAminoAcidInternal.AminoAcidAsString = sAminoAcid;
            return(aAminoAcidInternal);
        }
        public override bool Equals(object obj)
        {
            AminoAcidInternal other = obj as AminoAcidInternal;

            if (other == null)
            {
                return(false);
            }
            else
            {
                return(AminoAcidAsString == other.AminoAcidAsString);
            }
        }
        public bool FeatureFunction(AminoAcidInternal aminoAcidInternal)
        {
            bool b = VirusCount.KmerProperties.GetInstance().DoesAminoAcidHaveProperty(aminoAcidInternal.AminoAcidAsString, Prop);

            return(b);
        }
        public bool FeatureFunction(AminoAcidInternal aminoAcidInternal)
        {
            bool b = aminoAcidInternal.AminoAcidAsString == AminoAcid;

            return(b);
        }