public void UnlabelledHydrogens() { IAtomContainer container = CDK.SmilesParser .ParseSmiles("[H]C([H])([H])[H]"); Assert.IsTrue(Compares.AreEqual(new long[] { 2, 1, 3, 4, 5 }, InChINumbersTools.GetUSmilesNumbers(container))); }
public void Bug1370() { IAtomContainer container = CDK.SmilesParser .ParseSmiles("O=[Bi]Cl"); Assert.IsTrue(Compares.AreEqual(new long[] { 3, 1, 2 }, InChINumbersTools.GetUSmilesNumbers(container))); }
public void ParseMultipleDisconnected() { // O.N1C=NC=C1.O.O=O Assert.IsTrue(Compares.AreEqual( new long[] { 8, 4, 3, 5, 2, 1, 9, 6, 7 }, InChINumbersTools.ParseUSmilesNumbers( "AuxInfo=1/1/N:5,6,3,4,2;8,9;1;7/E:(1,2)(4,5);(1,2);;/F:6,5,3,2,4;3m/E:;m;;/rA:9ONCNCCOOO/rB:;s2;d3;s4;s2d5;;;d8;/rC:;;;;;;;;;", Mock(9)))); }
public void ParseDisconnected() { // O.N1C=NC=C1 Assert.IsTrue(Compares.AreEqual( new long[] { 6, 4, 3, 5, 2, 1 }, InChINumbersTools.ParseUSmilesNumbers( "AuxInfo=1/1/N:5,6,3,4,2;1/E:(1,2)(4,5);/F:6,5,3,2,4;m/rA:6ONCNCC/rB:;s2;d3;s4;s2d5;/rC:;;;;;;", Mock(6)))); }
public void ParseRecMet() { // C(=O)O[Pt](N)(N)Cl Assert.IsTrue(Compares.AreEqual( new long[] { 7, 6, 1, 5, 3, 4, 2 }, InChINumbersTools.ParseUSmilesNumbers( "AuxInfo=1/1/N:3,2,4;7;5;6;1/E:(2,3);;;;/F:5m/E:m;;;;/CRV:;;2*1-1;/rA:7PtOCONNCl/rB:s1;s2;d3;s1;s1;s1;/rC:;;;;;;;/R:/0/N:3,7,5,6,4,2,1/E:(3,4)", Mock(7)))); }
public void ParseFixedH() { // N1C=NC=C1 Assert.IsTrue(Compares.AreEqual( new long[] { 4, 3, 5, 2, 1 }, InChINumbersTools.ParseUSmilesNumbers( "AuxInfo=1/1/N:4,5,2,3,1/E:(1,2)(4,5)/F:5,4,2,1,3/rA:5NCNCC/rB:s1;d2;s3;s1d4;/rC:;;;;;", Mock(5)))); }
public void FixedH() { var parser = CDK.SmilesParser; var atomContainer = parser.ParseSmiles("N1C=NC2=CC=CC=C12"); string auxInfo = InChINumbersTools.AuxInfo(atomContainer, InChIOption.FixedH); string expected = "AuxInfo=1/1/" + "N:6,7,5,8,2,4,9,3,1/" + "E:(1,2)(3,4)(6,7)(8,9)/" + "F:7,6,8,5,2,9,4,1,3/" + "rA:9NCNCCCCCC/" + "rB:s1;d2;s3;d4;s5;d6;s7;s1s4d8;/" + "rC:;;;;;;;;;"; Assert.AreEqual(expected, auxInfo); }
public void TestSimpleNumbering() { IAtomContainer container = new AtomContainer(); container.Atoms.Add(new Atom("O")); container.Atoms.Add(new Atom("C")); container.AddBond(container.Atoms[0], container.Atoms[1], BondOrder.Single); long[] numbers = InChINumbersTools.GetNumbers(container); Assert.AreEqual(2, numbers.Length); Assert.AreEqual(2, numbers[0]); Assert.AreEqual(1, numbers[1]); }
public void TestGlycine_uSmiles() { var parser = CDK.SmilesParser; var atomContainer = parser.ParseSmiles("C(C(=O)O)N"); long[] numbers = InChINumbersTools.GetNumbers(atomContainer); Assert.AreEqual(5, numbers.Length); Assert.AreEqual(1, numbers[0]); Assert.AreEqual(2, numbers[1]); Assert.AreEqual(4, numbers[2]); Assert.AreEqual(5, numbers[3]); Assert.AreEqual(3, numbers[4]); }
public void TestHydrogens() { IAtomContainer container = new AtomContainer(); container.Atoms.Add(new Atom("H")); container.Atoms.Add(new Atom("C")); container.AddBond(container.Atoms[0], container.Atoms[1], BondOrder.Single); container.Atoms.Add(new Atom("H")); container.AddBond(container.Atoms[1], container.Atoms[2], BondOrder.Single); container.Atoms.Add(new Atom("H")); container.AddBond(container.Atoms[1], container.Atoms[3], BondOrder.Single); container.Atoms.Add(new Atom("H")); container.AddBond(container.Atoms[1], container.Atoms[4], BondOrder.Single); long[] numbers = InChINumbersTools.GetNumbers(container); Assert.AreEqual(5, numbers.Length); Assert.AreEqual(0, numbers[0]); Assert.AreEqual(1, numbers[1]); Assert.AreEqual(0, numbers[2]); Assert.AreEqual(0, numbers[3]); Assert.AreEqual(0, numbers[4]); }
public void Protons() { IAtomContainer container = CDK.SmilesParser .ParseSmiles("[H+].[H+].F[Si-2](F)(F)(F)(F)F"); Assert.IsTrue(Compares.AreDeepEqual(new long[] { 8, 9, 1, 7, 2, 3, 4, 5, 6 }, InChINumbersTools.GetUSmilesNumbers(container))); }
public void FavorCarbonyl() { IAtomContainer container = CDK.SmilesParser.ParseSmiles("P([O-])=O"); Assert.IsTrue(Compares.AreEqual(new long[] { 3, 2, 1 }, InChINumbersTools.GetUSmilesNumbers(container))); }
public void ParseStandard() { Assert.IsTrue(Compares.AreEqual( new long[] { 3, 2, 1 }, InChINumbersTools.ParseUSmilesNumbers("AuxInfo=1/0/N:3,2,1/rA:3OCC/rB:s1;s2;/rC:;;;", Mock(3)))); }