public void TestSetChemFilters() { var sp = CDK.SmilesParser; var target = sp.ParseSmiles("C\\C=C/OCC=C"); var queryac = sp.ParseSmiles("CCCOCC(C)=C"); Isomorphism smsd1 = new Isomorphism(Algorithm.Default, false); smsd1.Init(queryac, target, true, true); smsd1.SetChemFilters(true, true, true); Assert.AreEqual(1, smsd1.GetAllAtomMapping().Count); }
public void TestIsSubgraph() { var sp = CDK.SmilesParser; var target = sp.ParseSmiles("C\\C=C/Nc1cccc(c1)N(O)\\C=C\\C\\C=C\\C=C/C"); var queryac = sp.ParseSmiles("Nc1ccccc1"); Isomorphism smsd1 = new Isomorphism(Algorithm.SubStructure, false); smsd1.Init(queryac, target, true, true); smsd1.SetChemFilters(true, true, true); Assert.AreEqual(true, smsd1.IsSubgraph()); }
public void BiDirectionLookup() { var x = new Isomorphism <string, int> { { "I", 1 }, { "V", 5 } }; x["V"].ShouldBe(5); x[5].ShouldBe("V"); x["I"].ShouldBe(1); x[1].ShouldBe("I"); }
public void TestInit_3args_2() { var sp = CDK.SmilesParser; var target = sp.ParseSmiles("C\\C=C/OCC=C"); var queryac = sp.ParseSmiles("CCCOCC(C)=C"); Isomorphism smsd1 = new Isomorphism(Algorithm.Default, false); smsd1.Init(queryac, target, true, true); smsd1.SetChemFilters(true, false, false); Assert.IsNotNull(smsd1.ReactantMolecule); Assert.IsNotNull(smsd1.ProductMolecule); }
public void TestGetProductMolecule() { var sp = CDK.SmilesParser; var target = sp.ParseSmiles("C\\C=C/Nc1cccc(c1)N(O)\\C=C\\C\\C=C\\C=C/C"); var queryac = sp.ParseSmiles("Nc1ccccc1"); Isomorphism smsd1 = new Isomorphism(Algorithm.Default, true); smsd1.Init(queryac, target, true, true); smsd1.SetChemFilters(true, true, true); Assert.AreEqual(20, smsd1.ProductMolecule.Atoms.Count); }
public void TestGetFirstAtomMapping() { var sp = CDK.SmilesParser; var target = sp.ParseSmiles("C\\C=C/Nc1cccc(c1)N(O)\\C=C\\C\\C=C\\C=C/C"); var queryac = sp.ParseSmiles("Nc1ccccc1"); Isomorphism smsd1 = new Isomorphism(Algorithm.Default, true); smsd1.Init(queryac, target, true, true); smsd1.SetChemFilters(true, true, true); Assert.AreEqual(7, smsd1.GetFirstAtomMapping().Count); }
public void Creation() { var x = new Isomorphism <int, int> { { 1, 2 }, { 2, 4 } }; var y = new Isomorphism <string, int> { { "I", 1 }, { "V", 5 } }; }
public void TestGetEnergyScore() { var sp = CDK.SmilesParser; var target = sp.ParseSmiles("C\\C=C/Nc1cccc(c1)N(O)\\C=C\\C\\C=C\\C=C/C"); var queryac = sp.ParseSmiles("Nc1ccccc1"); Isomorphism smsd1 = new Isomorphism(Algorithm.SubStructure, false); smsd1.Init(queryac, target, true, true); smsd1.SetChemFilters(false, false, true); var score = 610.0; Assert.AreEqual(score, smsd1.GetEnergyScore(0)); }
public void TestGetStereoScore() { var sp = CDK.SmilesParser; var target = sp.ParseSmiles("C\\C=C/OCC=C"); var queryac = sp.ParseSmiles("CCCOCC(C)=C"); Isomorphism smsd1 = new Isomorphism(Algorithm.Default, false); smsd1.Init(queryac, target, true, true); smsd1.SetChemFilters(true, false, false); int score = 1048; Assert.AreEqual(score, smsd1.GetStereoScore(0)); }
public void TestGetSortedFragment() { var sp = CDK.SmilesParser; var target = sp.ParseSmiles("C\\C=C/Nc1cccc(c1)N(O)\\C=C\\C\\C=C\\C=C/C"); var queryac = sp.ParseSmiles("Nc1ccccc1"); Isomorphism smsd1 = new Isomorphism(Algorithm.Default, true); smsd1.Init(queryac, target, true, true); smsd1.SetChemFilters(false, true, false); int score = 2; Assert.AreEqual(score, smsd1.GetFragmentSize(0)); }
public void TestGetTanimotoSimilarity() { var sp = CDK.SmilesParser; var target = sp.ParseSmiles("C\\C=C/Nc1cccc(c1)N(O)\\C=C\\C\\C=C\\C=C/C"); var queryac = sp.ParseSmiles("Nc1ccccc1"); Isomorphism smsd1 = new Isomorphism(Algorithm.Default, true); smsd1.Init(queryac, target, true, true); smsd1.SetChemFilters(true, true, true); double score = 0.35; Assert.AreEqual(score, smsd1.GetTanimotoSimilarity(), 0); }
public void TestGetAllAtomMapping() { var sp = new SmilesParser(ChemObjectBuilder.Instance, false); var target = sp.ParseSmiles("C\\C=C/Nc1cccc(c1)N(O)\\C=C\\C\\C=C\\C=C/C"); var queryac = sp.ParseSmiles("Nc1ccccc1"); AtomContainerManipulator.PercieveAtomTypesAndConfigureAtoms(target); AtomContainerManipulator.PercieveAtomTypesAndConfigureAtoms(queryac); Aromaticity.CDKLegacy.Apply(target); Aromaticity.CDKLegacy.Apply(queryac); Isomorphism smsd1 = new Isomorphism(Algorithm.Default, true); smsd1.Init(queryac, target, true, true); smsd1.SetChemFilters(true, true, true); Assert.AreEqual(2, smsd1.GetAllAtomMapping().Count); }
public void TestSortResultsByEnergies() { var sp = CDK.SmilesParser; var target = sp.ParseSmiles("C\\C=C/Nc1cccc(c1)N(O)\\C=C\\C\\C=C\\C=C/C"); var queryac = sp.ParseSmiles("Nc1ccccc1"); Isomorphism smsd = new Isomorphism(Algorithm.Default, true); smsd.Init(queryac, target, true, true); smsd.SetChemFilters(false, false, false); Assert.AreEqual(4, smsd.GetAllAtomMapping().Count); Isomorphism smsd1 = new Isomorphism(Algorithm.Default, true); smsd1.Init(queryac, target, true, true); smsd1.SetChemFilters(false, false, true); Assert.AreEqual(2, smsd1.GetAllAtomMapping().Count); }
public void TestGetEuclideanDistance() { var sp = CDK.SmilesParser; var target = sp.ParseSmiles("C\\C=C/Nc1cccc(c1)N(O)\\C=C\\C\\C=C\\C=C/C"); var queryac = sp.ParseSmiles("Nc1ccccc1"); Isomorphism smsd1 = new Isomorphism(Algorithm.SubStructure, true); smsd1.Init(queryac, target, true, true); smsd1.SetChemFilters(true, true, true); double score = 3.605; Assert.AreEqual(score, smsd1.GetEuclideanDistance(), 0.005); Isomorphism smsd2 = new Isomorphism(Algorithm.VFLibMCS, true); smsd2.Init(queryac, target, true, true); smsd2.SetChemFilters(true, true, true); Assert.AreEqual(score, smsd2.GetEuclideanDistance(), 0.005); }
public void TestSet_String_String() { string molfile = "NCDK.Data.MDL.decalin.mol"; string queryfile = "NCDK.Data.MDL.decalin.mol"; IAtomContainer query = new AtomContainer(); IAtomContainer target = new AtomContainer(); var ins = ResourceLoader.GetAsStream(molfile); var reader = new MDLV2000Reader(ins, ChemObjectReaderMode.Strict); reader.Read(query); ins = ResourceLoader.GetAsStream(queryfile); reader = new MDLV2000Reader(ins, ChemObjectReaderMode.Strict); reader.Read(target); Isomorphism smsd1 = new Isomorphism(Algorithm.Default, true); smsd1.Init(query, target, true, true); smsd1.SetChemFilters(true, true, true); double score = 1.0; Assert.AreEqual(score, smsd1.GetTanimotoSimilarity(), 0.0001); }
public RomanNumerableTests() { _simpleMappings = new Isomorphism <string, int> { { "I", 1 }, { "II", 2 }, { "III", 3 }, { "V", 5 }, { "VI", 6 }, { "X", 10 }, { "XI", 11 }, { "XVI", 16 }, { "XX", 20 }, { "XXI", 21 }, { "XXII", 22 }, { "XXV", 25 }, { "XXXVII", 37 }, { "L", 50 }, { "LI", 51 }, { "LV", 55 }, { "LX", 60 }, { "LXXXVII", 87 }, { "CI", 101 }, { "CV", 105 }, { "CX", 110 }, { "CL", 150 }, { "CLX", 160 }, { "CLXXVII", 177 }, { "CC", 200 }, { "CCCLXXVII", 377 }, { "D", 500 }, { "DI", 501 }, { "DV", 505 }, { "DX", 510 }, { "DL", 550 }, { "DC", 600 }, { "DCCCLXXXVI", 886 }, { "M", 1000 }, { "MI", 1001 }, { "MV", 1005 }, { "MX", 1010 }, { "ML", 1050 }, { "MD", 1500 }, { "MM", 2000 }, { "MMDCCLXVII", 2767 }, { "MDCVI", 1606 }, { "MMMMMMMDCCCLXI", 7861 } }; _subtraciveMappings = new Isomorphism <string, int> { { "IV", 4 }, { "IX", 9 }, { "XIV", 14 }, { "XIX", 19 }, { "XXIV", 24 }, { "XXIX", 29 }, { "XL", 40 }, { "XLIV", 44 }, { "XLIX", 49 }, { "XC", 90 }, { "XCIV", 94 }, { "XCIX", 99 }, { "CD", 400 }, { "CDXLIV", 444 }, { "CM", 900 }, { "CMXCIX", 999 }, { "MMMMCDXCI", 4491 } }; }