Exemplo n.º 1
0
        public override void TestClone()
        {
            IBioPolymer polymer = (IBioPolymer)NewChemObject();
            object      clone   = polymer.Clone();

            Assert.IsTrue(clone is IBioPolymer);
        }
Exemplo n.º 2
0
        /// <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));
        }