Exemplo n.º 1
0
        private string GetAsString(IAtomContainer mol)
        {
            StringWriter stringWriter = new StringWriter();
            PDBWriter    writer       = new PDBWriter(stringWriter);

            writer.WriteMolecule(mol);
            writer.Close();
            return(stringWriter.ToString());
        }
Exemplo n.º 2
0
        public void WriteAsATOM()
        {
            IAtomContainer mol          = SingleAtomMolecule();
            StringWriter   stringWriter = new StringWriter();
            PDBWriter      writer       = new PDBWriter(stringWriter);

            writer.IOSettings["WriteAsHET"].Setting = "false";
            writer.WriteMolecule(mol);
            writer.Close();
            string asString = stringWriter.ToString();

            Assert.IsTrue(asString.IndexOf("ATOM") != -1);
        }
Exemplo n.º 3
0
        public void MolfactoryRoundtripTest()
        {
            IAtomContainer original = TestMoleculeFactory.MakePyrrole();

            SetCoordinatesToZero(original);
            StringWriter stringWriter = new StringWriter();
            PDBWriter    writer       = new PDBWriter(stringWriter);

            writer.WriteMolecule(original);
            writer.Close();
            string    output   = stringWriter.ToString();
            PDBReader reader   = new PDBReader(new StringReader(output));
            var       chemFile = reader.Read(builder.NewChemFile());

            reader.Close();
            IAtomContainer reconstructed = chemFile[0][0].MoleculeSet[0];

            Assert.AreEqual(original.Atoms.Count, reconstructed.Atoms.Count);
            Assert.AreEqual(original.Bonds.Count, reconstructed.Bonds.Count);
        }
Exemplo n.º 4
0
        public void TestRoundTrip_fractionalCoordinates()
        {
            StringWriter sWriter = new StringWriter();
            PDBWriter    writer  = new PDBWriter(sWriter);

            Crystal crystal = new Crystal();

            crystal.A = new Vector3(0, 1, 0);
            crystal.B = new Vector3(1, 0, 0);
            crystal.C = new Vector3(0, 0, 2);

            IAtom atom = new Atom("C");

            atom.FractionalPoint3D = new Vector3(0.1, 0.1, 0.3);
            crystal.Atoms.Add(atom);

            writer.Write(crystal);
            writer.Close();

            string output = sWriter.ToString();

            Assert.IsNotNull(output);
            Assert.IsTrue(output.Length > 0);

            PDBReader reader   = new PDBReader(new StringReader(""));
            var       chemFile = reader.Read(builder.NewChemFile());

            reader.Close();

            Assert.IsNotNull(chemFile);
            Assert.AreEqual(1, chemFile.Count);
            IChemSequence sequence = chemFile[0];

            Assert.AreEqual(1, sequence.Count);
            IChemModel chemModel = sequence[0];

            Assert.IsNotNull(chemModel);

            // can't do further testing as the PDBReader does not read
            // Crystal structures :(
        }