private string GetAsString(IAtomContainer mol) { StringWriter stringWriter = new StringWriter(); PDBWriter writer = new PDBWriter(stringWriter); writer.WriteMolecule(mol); writer.Close(); return(stringWriter.ToString()); }
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); }
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); }
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 :( }