Ejemplo n.º 1
0
        public void TestReactionCustomization()
        {
            var writer   = new StringWriter();
            var reaction = builder.NewReaction();

            reaction.Id = "reaction1";
            IAtomContainer reactant = reaction.Builder.NewAtomContainer();

            reactant.Id = "react";
            IAtomContainer product = reaction.Builder.NewAtomContainer();

            product.Id = "product";
            IAtomContainer agent = reaction.Builder.NewAtomContainer();

            agent.Id = "agent";

            reaction.Reactants.Add(reactant);
            reaction.Products.Add(product);
            reaction.Agents.Add(agent);

            var cmlWriter = new CMLWriter(writer);

            cmlWriter.Write(reaction);
            cmlWriter.Close();
            string cmlContent = writer.ToString();

            Debug.WriteLine("****************************** TestReactionCustomization()");
            Debug.WriteLine(cmlContent);
            Debug.WriteLine("******************************");
            Assert.IsTrue(cmlContent.IndexOf("<reaction id=\"reaction1") != -1);
            Assert.IsTrue(cmlContent.IndexOf("<molecule id=\"react") != -1);
            Assert.IsTrue(cmlContent.IndexOf("<molecule id=\"product") != -1);
            Assert.IsTrue(cmlContent.IndexOf("<molecule id=\"agent") != -1);
        }
Ejemplo n.º 2
0
        public void TestStabilityAfterRoundtrip()
        {
            var filename = "NCDK.Data.MDL.bug1014344-1.mol";
            var ins      = ResourceLoader.GetAsStream(filename);
            var reader   = new MDLReader(ins, ChemObjectReaderMode.Strict);
            var mol1     = reader.Read(builder.NewAtomContainer());

            AddImplicitHydrogens(mol1);
            var output    = new StringWriter();
            var cmlWriter = new CMLWriter(output);

            cmlWriter.Write(mol1);
            var cmlreader = new CMLReader(new MemoryStream(Encoding.UTF8.GetBytes(output.ToString())));
            var mol2      = ((IChemFile)cmlreader.Read(builder.NewChemFile()))[0][0].MoleculeSet[0];

            AddImplicitHydrogens(mol2);

            labeler.CanonLabel(mol1);
            labeler.CanonLabel(mol2);
            var atoms1 = mol1.Atoms.GetEnumerator();
            var atoms2 = mol2.Atoms.GetEnumerator();

            while (atoms1.MoveNext())
            {
                atoms2.MoveNext();
                var atom1 = atoms1.Current;
                var atom2 = atoms2.Current;
                Assert.AreEqual(atom1.GetProperty <long>(InvPair.CanonicalLabelPropertyKey), atom2.GetProperty <long>(InvPair.CanonicalLabelPropertyKey));
            }
        }
Ejemplo n.º 3
0
        public void TestReactionSchemeWithFormula()
        {
            var writer  = new StringWriter();
            var scheme1 = builder.NewReactionScheme();

            scheme1.Id = "rs0";

            var reaction = builder.NewReaction();

            reaction.Id = "r1";
            var moleculeA = reaction.Builder.NewAtomContainer();

            moleculeA.Id = "A";
            var formula = new MolecularFormula();

            formula.Add(reaction.Builder.NewIsotope("C"), 10);
            formula.Add(reaction.Builder.NewIsotope("H"), 15);
            formula.Add(reaction.Builder.NewIsotope("N"), 2);
            formula.Add(reaction.Builder.NewIsotope("O"), 1);
            moleculeA.SetProperty(CDKPropertyName.Formula, formula);
            var moleculeB = reaction.Builder.NewAtomContainer();

            moleculeB.Id = "B";
            reaction.Reactants.Add(moleculeA);
            reaction.Products.Add(moleculeB);

            scheme1.Add(reaction);

            var reaction2 = reaction.Builder.NewReaction();

            reaction2.Id = "r2";
            var moleculeC = reaction.Builder.NewAtomContainer();

            moleculeC.Id = "C";
            reaction2.Reactants.Add(moleculeB);
            reaction2.Products.Add(moleculeC);

            scheme1.Add(reaction2);

            using (var cmlWriter = new CMLWriter(writer))
            {
                cmlWriter.Write(scheme1);
            }
            var cmlContent = writer.ToString();

            Debug.WriteLine("****************************** TestReactionCustomization()");
            Debug.WriteLine(cmlContent);
            Debug.WriteLine("******************************");
            Assert.IsTrue(cmlContent.IndexOf("<reactionScheme id=\"rs0") != -1);
            Assert.IsTrue(cmlContent.IndexOf("<reaction id=\"r1") != -1);
            Assert.IsTrue(cmlContent.IndexOf("<reaction id=\"r2") != -1);
            Assert.IsTrue(cmlContent.IndexOf("<molecule id=\"A") != -1);
            Assert.IsTrue(cmlContent.IndexOf("<formula concise=") != -1);
            Assert.IsTrue(cmlContent.IndexOf("<molecule id=\"B") != -1);
            Assert.IsTrue(cmlContent.IndexOf("<molecule id=\"C") != -1);
        }
Ejemplo n.º 4
0
        public void TestReactionScheme1()
        {
            var writer  = new StringWriter();
            var scheme1 = builder.NewReactionScheme();

            scheme1.Id = "rs0";
            var scheme2 = scheme1.Builder.NewReactionScheme();

            scheme2.Id = "rs1";
            scheme1.Add(scheme2);

            var reaction = scheme1.Builder.NewReaction();

            reaction.Id = "r1";
            var moleculeA = reaction.Builder.NewAtomContainer();

            moleculeA.Id = "A";
            var moleculeB = reaction.Builder.NewAtomContainer();

            moleculeB.Id = "B";
            reaction.Reactants.Add(moleculeA);
            reaction.Products.Add(moleculeB);

            scheme2.Add(reaction);

            var reaction2 = reaction.Builder.NewReaction();

            reaction2.Id = "r2";
            var moleculeC = reaction.Builder.NewAtomContainer();

            moleculeC.Id = "C";
            reaction2.Reactants.Add(moleculeB);
            reaction2.Products.Add(moleculeC);

            scheme1.Add(reaction2);

            using (var cmlWriter = new CMLWriter(writer))
            {
                cmlWriter.Write(scheme1);
            }
            var cmlContent = writer.ToString();

            Debug.WriteLine("****************************** TestReactionCustomization()");
            Debug.WriteLine(cmlContent);
            Debug.WriteLine("******************************");
            Assert.IsTrue(cmlContent.IndexOf("<reactionScheme id=\"rs0") != -1);
            Assert.IsTrue(cmlContent.IndexOf("<reactionScheme id=\"rs1") != -1);
            Assert.IsTrue(cmlContent.IndexOf("<reaction id=\"r1") != -1);
            Assert.IsTrue(cmlContent.IndexOf("<reaction id=\"r2") != -1);
            Assert.IsTrue(cmlContent.IndexOf("<molecule id=\"A") != -1);
            Assert.IsTrue(cmlContent.IndexOf("<molecule id=\"B") != -1);
            Assert.IsTrue(cmlContent.IndexOf("<molecule id=\"C") != -1);
        }
Ejemplo n.º 5
0
        public void TestSFBug1085912_1()
        {
            string filename_pdb = "NCDK.Data.PDB.1CKV.pdb";
            var    ins1         = ResourceLoader.GetAsStream(this.GetType(), filename_pdb);

            ISimpleChemObjectReader reader = new PDBReader(ins1);
            IChemFile chemFile1            = (IChemFile)reader.Read(builder.NewChemFile());

            reader.Close();
            IChemSequence  seq1           = chemFile1[0];
            IChemModel     model1         = seq1[0];
            IAtomContainer container      = model1.MoleculeSet[0];
            IBioPolymer    polymer1       = (IBioPolymer)container;
            int            countchemFile1 = chemFile1.Count;
            int            countmodel1    = model1.MoleculeSet.Count;
            int            countpolymer1  = polymer1.Atoms.Count;

            StringWriter writer    = new StringWriter();
            CMLWriter    cmlWriter = new CMLWriter(writer);

            cmlWriter.RegisterCustomizer(new PDBAtomCustomizer());
            cmlWriter.Write(polymer1);
            cmlWriter.Close();
            string cmlContent1 = writer.ToString();

            CMLReader reader2  = new CMLReader(new MemoryStream(Encoding.UTF8.GetBytes(cmlContent1)));
            var       chemFil2 = reader2.Read(builder.NewChemFile());

            reader2.Close();
            IChemSequence seq2     = chemFil2[0];
            IChemModel    model2   = seq2[0];
            var           polymer2 = (IPDBPolymer)model2.MoleculeSet[0];

            int countchemFile2 = chemFil2.Count;
            int countmodel2    = model2.MoleculeSet.Count;
            int countpolymer2  = polymer2.Atoms.Count;

            Assert.AreEqual(countchemFile1, countchemFile2);
            Assert.AreEqual(countmodel1, countmodel2);
            Assert.AreEqual(countpolymer1, countpolymer2);

            writer    = new StringWriter();
            cmlWriter = new CMLWriter(writer);
            cmlWriter.RegisterCustomizer(new PDBAtomCustomizer());
            cmlWriter.Write(polymer2);
            cmlWriter.Close();
            string cmlContent2 = writer.ToString();

            string conte1 = cmlContent1.Substring(0, 1000);
            string conte2 = cmlContent2.Substring(0, 1000);

            Assert.AreEqual(conte1, conte2);
        }
Ejemplo n.º 6
0
        public void TestReactionSchemeWithFormula2()
        {
            var writer  = new StringWriter();
            var scheme1 = builder.NewReactionScheme();

            scheme1.Id = "rs0";

            var reaction = builder.NewReaction();

            reaction.Id = "r1";
            var moleculeA = reaction.Builder.NewAtomContainer();

            moleculeA.Id = "A";
            moleculeA.SetProperty(CDKPropertyName.Formula, "C 10 H 15 N 2 O 1");
            var moleculeB = reaction.Builder.NewAtomContainer();

            moleculeB.Id = "B";
            reaction.Reactants.Add(moleculeA);
            reaction.Products.Add(moleculeB);

            scheme1.Add(reaction);

            var reaction2 = reaction.Builder.NewReaction();

            reaction2.Id = "r2";
            var moleculeC = reaction.Builder.NewAtomContainer();

            moleculeC.Id = "C";
            reaction2.Reactants.Add(moleculeB);
            reaction2.Products.Add(moleculeC);

            scheme1.Add(reaction2);

            using (var cmlWriter = new CMLWriter(writer))
            {
                cmlWriter.Write(scheme1);
            }
            var cmlContent = writer.ToString();

            Debug.WriteLine("****************************** TestReactionCustomization()");
            Debug.WriteLine(cmlContent);
            Debug.WriteLine("******************************");
            Assert.IsTrue(cmlContent.IndexOf("<reactionScheme id=\"rs0") != -1);
            Assert.IsTrue(cmlContent.IndexOf("<reaction id=\"r1") != -1);
            Assert.IsTrue(cmlContent.IndexOf("<reaction id=\"r2") != -1);
            Assert.IsTrue(cmlContent.IndexOf("<molecule id=\"A") != -1);
            Assert.IsTrue(cmlContent.IndexOf("<scalar dictRef=\"cdk:molecularProperty") != -1);
            Assert.IsTrue(cmlContent.IndexOf("<molecule id=\"B") != -1);
            Assert.IsTrue(cmlContent.IndexOf("<molecule id=\"C") != -1);
        }
Ejemplo n.º 7
0
        public void TestNullFormalCharge()
        {
            var            writer   = new StringWriter();
            IAtomContainer molecule = builder.NewAtomContainer(); // methane

            molecule.Atoms.Add(molecule.Builder.NewAtom(ChemicalElement.C));
            molecule.Atoms[0].FormalCharge = null;
            var cmlWriter = new CMLWriter(writer);

            cmlWriter.Write(molecule);
            cmlWriter.Close();
            Debug.WriteLine("****************************** TestNullFormalCharge()");
            Debug.WriteLine(writer.ToString());
            Debug.WriteLine("******************************");
            Assert.IsFalse(writer.ToString().Contains("formalCharge"));
        }
Ejemplo n.º 8
0
        public void TestHydrogenCount()
        {
            var            writer   = new StringWriter();
            IAtomContainer molecule = builder.NewAtomContainer(); // methane

            molecule.Atoms.Add(molecule.Builder.NewAtom(ChemicalElement.C));
            molecule.Atoms[0].ImplicitHydrogenCount = 4;
            var cmlWriter = new CMLWriter(writer);

            cmlWriter.Write(molecule);
            cmlWriter.Close();
            Debug.WriteLine("****************************** TestHydrogenCount()");
            Debug.WriteLine(writer.ToString());
            Debug.WriteLine("******************************");
            Assert.IsTrue(writer.ToString().IndexOf("hydrogenCount=\"4\"") != -1);
        }
Ejemplo n.º 9
0
        public void TestCMLWriterBenzene()
        {
            var            writer   = new StringWriter();
            IAtomContainer molecule = TestMoleculeFactory.MakeBenzene();

            AtomContainerManipulator.PercieveAtomTypesAndConfigureAtoms(molecule);
            Aromaticity.CDKLegacy.Apply(molecule);
            var cmlWriter = new CMLWriter(writer);

            cmlWriter.Write(molecule);
            cmlWriter.Close();
            Debug.WriteLine("****************************** TestCMLWriterBenzene()");
            Debug.WriteLine(writer.ToString());
            Debug.WriteLine("******************************");
            Assert.IsTrue(writer.ToString().IndexOf("</molecule>") != -1);
        }
Ejemplo n.º 10
0
        public void TestMassNumber()
        {
            var writer = new StringWriter();
            var mol    = builder.NewAtomContainer();
            var atom   = builder.NewAtom("C");

            atom.MassNumber = 12;
            mol.Atoms.Add(atom);
            var cmlWriter = new CMLWriter(writer);

            cmlWriter.Write(mol);
            cmlWriter.Close();
            Debug.WriteLine("****************************** TestMAssNumber()");
            Debug.WriteLine(writer.ToString());
            Debug.WriteLine("******************************");
            Assert.IsTrue(writer.ToString().IndexOf("isotopeNumber=\"12\"") != -1);
        }
Ejemplo n.º 11
0
        public void TestReactionProperty()
        {
            var writer   = new StringWriter();
            var reaction = builder.NewReaction();

            reaction.Id = "r1";
            reaction.SetProperty("blabla", "blabla2");
            var cmlWriter = new CMLWriter(writer);

            cmlWriter.Write(reaction);
            cmlWriter.Close();
            string cmlContent = writer.ToString();

            Debug.WriteLine("****************************** TestReactionCustomization()");
            Debug.WriteLine(cmlContent);
            Debug.WriteLine("******************************");
            Assert.IsTrue(cmlContent.IndexOf("<scalar dictRef=\"cdk:reactionProperty") != -1);
        }
Ejemplo n.º 12
0
        public void TestMoleculeSetID()
        {
            var writer      = new StringWriter();
            var moleculeSet = builder.NewChemObjectSet <IAtomContainer>();

            moleculeSet.Id = "ms0";

            var cmlWriter = new CMLWriter(writer);

            cmlWriter.Write(moleculeSet);
            cmlWriter.Close();
            string cmlContent = writer.ToString();

            Debug.WriteLine("****************************** TestReactionCustomization()");
            Debug.WriteLine(cmlContent);
            Debug.WriteLine("******************************");
            Assert.IsTrue(cmlContent.IndexOf("<moleculeList convention=\"cdk:moleculeSet\" id=\"ms0") != -1);
        }
Ejemplo n.º 13
0
        public void TestChemModeID()
        {
            var writer    = new StringWriter();
            var chemModel = builder.NewChemModel();

            chemModel.Id = "cm0";

            var cmlWriter = new CMLWriter(writer);

            cmlWriter.Write(chemModel);
            cmlWriter.Close();
            string cmlContent = writer.ToString();

            Debug.WriteLine("****************************** TestReactionCustomization()");
            Debug.WriteLine(cmlContent);
            Debug.WriteLine("******************************");
            Assert.IsTrue(cmlContent.IndexOf("<list convention=\"cdk:model\" id=\"cm0") != -1);
        }
Ejemplo n.º 14
0
        public void TestHydrogenCount_2()
        {
            var writer   = new StringWriter();
            var molecule = builder.NewAtomContainer(); // methane

            molecule.Atoms.Add(molecule.Builder.NewAtom(ChemicalElement.C));
            molecule.Atoms.Add(molecule.Builder.NewAtom(ChemicalElement.H));
            molecule.Atoms[0].ImplicitHydrogenCount = 3;
            molecule.AddBond(molecule.Atoms[0], molecule.Atoms[1], BondOrder.Single);
            using (var cmlWriter = new CMLWriter(writer))
            {
                cmlWriter.Write(molecule);
            }
            Debug.WriteLine("****************************** TestHydrogenCount_2()");
            Debug.WriteLine(writer.ToString());
            Debug.WriteLine("******************************");
            Assert.IsTrue(writer.ToString().IndexOf("hydrogenCount=\"4\"") != -1);
        }
Ejemplo n.º 15
0
        public void TestMDMoleculeCustomization()
        {
            StringWriter writer = new StringWriter();

            CMLWriter cmlWriter = new CMLWriter(writer);

            cmlWriter.RegisterCustomizer(new MDMoleculeCustomizer());
            try
            {
                IAtomContainer molecule = MakeMDBenzene();
                cmlWriter.Write(molecule);
                cmlWriter.Close();
            }
            catch (Exception exception)
            {
                if (!(exception is CDKException || exception is IOException))
                {
                    throw;
                }
                {
                    Trace.TraceError($"Error while creating an CML2 file: {exception.Message}");
                    Debug.WriteLine(exception);
                    Assert.Fail(exception.Message);
                }
            }
            string cmlContent = writer.ToString();

            Debug.WriteLine("****************************** TestMDMoleculeCustomization()");
            Debug.WriteLine(cmlContent);
            Debug.WriteLine("******************************");
            //        Console.Out.WriteLine("****************************** TestMDMoleculeCustomization()");
            //        Console.Out.WriteLine(cmlContent);
            //        Console.Out.WriteLine("******************************");
            Assert.IsTrue(cmlContent.IndexOf("xmlns:md") != -1);
            Assert.IsTrue(cmlContent.IndexOf("md:residue\"") != -1);
            Assert.IsTrue(cmlContent.IndexOf("md:resNumber\"") != -1);
            Assert.IsTrue(cmlContent.IndexOf("md:chargeGroup\"") != -1);
            Assert.IsTrue(cmlContent.IndexOf("md:cgNumber\"") != -1);
            Assert.IsTrue(cmlContent.IndexOf("md:switchingAtom\"") != -1);
        }
Ejemplo n.º 16
0
        public void TestPDBAtomCustomization()
        {
            StringWriter writer   = new StringWriter();
            var          molecule = builder.NewAtomContainer();
            IPDBAtom     atom     = builder.NewPDBAtom("C");

            atom.Name    = "CA";
            atom.ResName = "PHE";
            molecule.Atoms.Add(atom);

            CMLWriter cmlWriter = new CMLWriter(writer);

            cmlWriter.RegisterCustomizer(new PDBAtomCustomizer());
            cmlWriter.Write(molecule);
            cmlWriter.Close();
            string cmlContent = writer.ToString();

            Debug.WriteLine("****************************** TestPDBAtomCustomization()");
            Debug.WriteLine(cmlContent);
            Debug.WriteLine("******************************");
            Assert.IsTrue(cmlContent.IndexOf("<scalar dictRef=\"pdb:resName") != -1);
        }
Ejemplo n.º 17
0
        public void TestCMLCrystal()
        {
            var writer  = new StringWriter();
            var crystal = builder.NewCrystal();
            var silicon = builder.NewAtom("Si");

            silicon.FractionalPoint3D = new Vector3(0, 0, 0);
            crystal.Atoms.Add(silicon);
            crystal.A = (new Vector3(1.5, 0.0, 0.0));
            crystal.B = (new Vector3(0.0, 2.0, 0.0));
            crystal.C = (new Vector3(0.0, 0.0, 1.5));
            using (var cmlWriter = new CMLWriter(writer))
            {
                cmlWriter.Write(crystal);
            }
            var cmlContent = writer.ToString();

            Debug.WriteLine("****************************** TestCMLCrystal()");
            Debug.WriteLine(cmlContent);
            Debug.WriteLine("******************************");
            Assert.IsTrue(cmlContent.IndexOf("</crystal>") != -1); // the cystal info has to be present
            Assert.IsTrue(cmlContent.IndexOf("<atom") != -1);      // an Atom has to be present
        }
Ejemplo n.º 18
0
        static void Main(string[] args)
        {
            var container = Builder.NewAtomContainer();

            container.Add(Builder.NewAtom("C"));
            container.Add(Builder.NewAtom("C"));
            container.Add(Builder.NewBond(container.Atoms[0], container.Atoms[1], BondOrder.Unset));

            using (var file = new FileStream("./cml.cml", FileMode.Create, FileAccess.Write))
            {
                using (var writer = new CMLWriter(file))
                {
                    writer.Write(container);
                }
            }

            using (var cmlFile = new FileStream("./cml.cml", FileMode.Open, FileAccess.Read))
            {
                var reader   = new CMLReader(cmlFile);
                var chemFile = reader.Read(Builder.NewChemFile());
                Console.WriteLine(chemFile[0][0].MoleculeSet[0].Bonds[0].Order);
            }
        }
Ejemplo n.º 19
0
        public void TestMDMoleculeCustomizationRoundtripping()
        {
            StringWriter writer = new StringWriter();

            CMLWriter cmlWriter = new CMLWriter(writer);

            cmlWriter.RegisterCustomizer(new MDMoleculeCustomizer());
            MDMolecule molecule = MakeMDBenzene();

            cmlWriter.Write(molecule);
            cmlWriter.Close();

            string serializedMol = writer.ToString();

            Debug.WriteLine("****************************** TestMDMoleculeCustomizationRoundtripping()");
            Debug.WriteLine(serializedMol);
            Debug.WriteLine("******************************");
            Debug.WriteLine("****************************** testMDMoleculeCustomization Write first");
            Debug.WriteLine(serializedMol);
            Debug.WriteLine("******************************");

            CMLReader reader = new CMLReader(new MemoryStream(Encoding.UTF8.GetBytes(serializedMol)));

            reader.RegisterConvention("md:mdMolecule", new MDMoleculeConvention(builder.NewChemFile()));
            IChemFile file = (IChemFile)reader.Read(builder.NewChemFile());

            reader.Close();
            var containers = ChemFileManipulator.GetAllAtomContainers(file).ToReadOnlyList();

            Assert.AreEqual(1, containers.Count);

            var molecule2 = containers[0];

            Assert.IsTrue(molecule2 is MDMolecule);
            MDMolecule mdMol = (MDMolecule)molecule2;

            Assert.AreEqual(6, mdMol.Atoms.Count);
            Assert.AreEqual(6, mdMol.Bonds.Count);

            var residues = mdMol.GetResidues();

            Assert.AreEqual(2, residues.Count);
            Assert.AreEqual(3, ((Residue)residues[0]).Atoms.Count);
            Assert.AreEqual(3, ((Residue)residues[1]).Atoms.Count);
            Assert.AreEqual("myResidue1", ((Residue)residues[0]).Name);
            Assert.AreEqual("myResidue2", ((Residue)residues[1]).Name);
            Assert.AreEqual(0, ((Residue)residues[0]).GetNumber());
            Assert.AreEqual(1, ((Residue)residues[1]).GetNumber());

            var chargeGroup = mdMol.GetChargeGroups();

            Assert.AreEqual(2, chargeGroup.Count);
            Assert.AreEqual(2, ((ChargeGroup)chargeGroup[0]).Atoms.Count);
            Assert.AreEqual(4, ((ChargeGroup)chargeGroup[1]).Atoms.Count);
            Assert.IsNotNull(((ChargeGroup)chargeGroup[0]).GetSwitchingAtom());
            Assert.AreEqual("a2", ((ChargeGroup)chargeGroup[0]).GetSwitchingAtom().Id);
            Assert.IsNotNull(((ChargeGroup)chargeGroup[1]).GetSwitchingAtom());
            Assert.AreEqual("a5", ((ChargeGroup)chargeGroup[1]).GetSwitchingAtom().Id);

            Assert.AreEqual(2, ((ChargeGroup)chargeGroup[0]).GetNumber());
            Assert.AreEqual(3, ((ChargeGroup)chargeGroup[1]).GetNumber());

            writer = new StringWriter();

            cmlWriter = new CMLWriter(writer);
            cmlWriter.RegisterCustomizer(new MDMoleculeCustomizer());
            cmlWriter.Write(mdMol);
            cmlWriter.Close();

            string serializedMDMol = writer.ToString();

            Debug.WriteLine("****************************** TestMDMoleculeCustomizationRoundtripping()");
            Debug.WriteLine(serializedMol);
            Debug.WriteLine("******************************");
            Debug.WriteLine("****************************** testMDMoleculeCustomization Write second");
            Debug.WriteLine(serializedMDMol);
            Debug.WriteLine("******************************");

            Assert.AreEqual(serializedMol, serializedMDMol);
        }