public override void TestClone() { IBioPolymer polymer = (IBioPolymer)NewChemObject(); object clone = polymer.Clone(); Assert.IsTrue(clone is IBioPolymer); }
/// <summary> /// Calculates the 147 TAE descriptors for amino acids. /// </summary> /// <returns>The 147 TAE descriptors</returns> public Result Calculate(IBioPolymer container) { container = (IBioPolymer)container.Clone(); // don't mod original var peptide = container; // I assume that we get single letter names var desc = new double[ndesc]; for (int i = 0; i < ndesc; i++) { desc[i] = 0.0; } var monomers = GetMonomers(peptide); foreach (var monomer in monomers) { string o = monomer.MonomerName; if (o.Length == 0) { continue; } var olc = o.Substring(0, 1).ToUpperInvariant(); var tlc = AminoAcids.ConvertOneLetterCodeToThreeLetterCode(olc).ToLowerInvariant(); Debug.WriteLine($"Converted {olc} to {tlc}"); // get the params for this AA var parameters = taeParams[tlc]; for (int i = 0; i < ndesc; i++) { desc[i] += parameters[i]; } } return(new Result(desc)); }