/** * Test to find a single carbon. */ @Test public void testSingleCarbon() throws Exception { IsotopeFactory ifac = Isotopes.getInstance(); IIsotope c = ifac.getMajorIsotope("C"); MolecularFormulaRange mfRange = new MolecularFormulaRange(); mfRange.addIsotope(c, 0, 100); double minMass = 5; double maxMass = 15; MolecularFormulaGenerator gen = new MolecularFormulaGenerator(builder, minMass, maxMass, mfRange); IMolecularFormulaSet mfSet = gen.getAllFormulas(); Assert.assertNotNull(mfSet); Assert.assertEquals(1, mfSet.size()); Assert.assertEquals("C", MolecularFormulaManipulator.getString(mfSet .getMolecularFormula(0))); }
/** * Test to find MF=C10000, MW=120000.0 using only carbons. */ @Test public void testCarbons() throws Exception { IsotopeFactory ifac = Isotopes.getInstance(); IIsotope c = ifac.getMajorIsotope("C"); MolecularFormulaRange mfRange = new MolecularFormulaRange(); mfRange.addIsotope(c, 0, 100000); double minMass = 120000.0 - 1; double maxMass = 120000.0 + 1; MolecularFormulaGenerator gen = new MolecularFormulaGenerator(builder, minMass, maxMass, mfRange); IMolecularFormulaSet mfSet = gen.getAllFormulas(); Assert.assertNotNull(mfSet); Assert.assertEquals(1, mfSet.size()); Assert.assertEquals("C10000", MolecularFormulaManipulator .getString(mfSet.getMolecularFormula(0))); }
IMolecularFormulaSet mfSet = gen.getAllFormulas();
IMolecularFormulaSet mfSet = gen.getAllFormulas();
/** * Test if zero results are returned in case the target mass range is too * high */ @Test public void testMassRangeTooHigh() throws Exception { IsotopeFactory ifac = Isotopes.getInstance(); IIsotope c = ifac.getMajorIsotope("C"); IIsotope h = ifac.getMajorIsotope("H"); IIsotope n = ifac.getMajorIsotope("N"); IIsotope o = ifac.getMajorIsotope("O"); MolecularFormulaRange mfRange = new MolecularFormulaRange(); mfRange.addIsotope(c, 0, 10); mfRange.addIsotope(h, 0, 10); mfRange.addIsotope(o, 0, 10); mfRange.addIsotope(n, 0, 10); double massMin = 1000d; double massMax = 2000d; MolecularFormulaGenerator gen = new MolecularFormulaGenerator(builder, massMin, massMax, mfRange); IMolecularFormulaSet mfSet = gen.getAllFormulas(); Assert.assertNotNull(mfSet); Assert.assertEquals(0, mfSet.size()); }
/** * Test if zero results are returned in case the target mass range is too * low */ @Test public void testMassRangeTooLow() throws Exception { IsotopeFactory ifac = Isotopes.getInstance(); IIsotope c = ifac.getMajorIsotope("C"); IIsotope h = ifac.getMajorIsotope("H"); IIsotope n = ifac.getMajorIsotope("N"); IIsotope o = ifac.getMajorIsotope("O"); MolecularFormulaRange mfRange = new MolecularFormulaRange(); mfRange.addIsotope(c, 100, 200); mfRange.addIsotope(h, 100, 200); mfRange.addIsotope(o, 100, 200); mfRange.addIsotope(n, 100, 200); double massMin = 50d; double massMax = 100d; MolecularFormulaGenerator gen = new MolecularFormulaGenerator(builder, massMin, massMax, mfRange); IMolecularFormulaSet mfSet = gen.getAllFormulas(); Assert.assertNotNull(mfSet); Assert.assertEquals(0, mfSet.size()); }
/** * Test the getAllFormulas() method */ @Test public void testGetAllFormulas() throws Exception { IsotopeFactory ifac = Isotopes.getInstance(); IIsotope c = ifac.getMajorIsotope("C"); IIsotope h = ifac.getMajorIsotope("H"); IIsotope n = ifac.getMajorIsotope("N"); IIsotope o = ifac.getMajorIsotope("O"); MolecularFormulaRange mfRange = new MolecularFormulaRange(); mfRange.addIsotope(c, 0, 10); mfRange.addIsotope(h, 0, 10); mfRange.addIsotope(o, 0, 10); mfRange.addIsotope(n, 0, 10); double minMass = 100.0; double maxMass = 100.05; MolecularFormulaGenerator gen = new MolecularFormulaGenerator(builder, minMass, maxMass, mfRange); IMolecularFormulaSet mfSet = gen.getAllFormulas(); Assert.assertNotNull(mfSet); Assert.assertNotEquals(0, mfSet.size()); }
IMolecularFormulaSet mfSet = gen.getAllFormulas();
/** * Test if the generator respects minimal element counts * */ @Test public void testMinCounts() throws Exception { IsotopeFactory ifac = Isotopes.getInstance(); IIsotope c = ifac.getMajorIsotope("C"); IIsotope h = ifac.getMajorIsotope("H"); IIsotope n = ifac.getMajorIsotope("N"); IIsotope o = ifac.getMajorIsotope("O"); MolecularFormulaRange mfRange = new MolecularFormulaRange(); mfRange.addIsotope(c, 5, 20); mfRange.addIsotope(h, 5, 20); mfRange.addIsotope(o, 5, 20); mfRange.addIsotope(n, 5, 20); // The minimal formula MF=C5H5O5N5 MW=215.0290682825 double minMass = 100; double maxMass = 250; MolecularFormulaGenerator gen = new MolecularFormulaGenerator(builder, minMass, maxMass, mfRange); IMolecularFormulaSet mfSet = gen.getAllFormulas(); // Check that all element counts in the formula are >= 5 for (IMolecularFormula f : mfSet.molecularFormulas()) { for (IIsotope i : f.isotopes()) { int count = f.getIsotopeCount(i); Assert.assertTrue(count >= 5); } } }
/** * Test if the generator respects maximal element counts * */ @Test public void testMaxCounts() throws Exception { IsotopeFactory ifac = Isotopes.getInstance(); IIsotope c = ifac.getMajorIsotope("C"); IIsotope h = ifac.getMajorIsotope("H"); IIsotope n = ifac.getMajorIsotope("N"); IIsotope o = ifac.getMajorIsotope("O"); MolecularFormulaRange mfRange = new MolecularFormulaRange(); mfRange.addIsotope(c, 3, 7); mfRange.addIsotope(h, 3, 7); mfRange.addIsotope(o, 3, 7); mfRange.addIsotope(n, 3, 7); // The maximal formula MF=C7H7O7N7 MW=301.0406955954 double minMass = 250; double maxMass = 400; MolecularFormulaGenerator gen = new MolecularFormulaGenerator(builder, minMass, maxMass, mfRange); IMolecularFormulaSet mfSet = gen.getAllFormulas(); // Check that all element counts in the formula are <= 7 for (IMolecularFormula f : mfSet.molecularFormulas()) { for (IIsotope i : f.isotopes()) { int count = f.getIsotopeCount(i); Assert.assertTrue(count <= 7); } } }
/** * Test if formula MF=C7H15N2O4 MW=191.10318 is found properly if we fix the * element counts */ @Test public void testFixedElementCounts() throws Exception { IsotopeFactory ifac = Isotopes.getInstance(); IIsotope c = ifac.getMajorIsotope("C"); IIsotope h = ifac.getMajorIsotope("H"); IIsotope n = ifac.getMajorIsotope("N"); IIsotope o = ifac.getMajorIsotope("O"); MolecularFormulaRange mfRange = new MolecularFormulaRange(); mfRange.addIsotope(c, 7, 7); mfRange.addIsotope(h, 15, 15); mfRange.addIsotope(o, 4, 4); mfRange.addIsotope(n, 2, 2); double massMin = 10d; double massMax = 1000d; MolecularFormulaGenerator gen = new MolecularFormulaGenerator(builder, massMin, massMax, mfRange); IMolecularFormulaSet mfSet = gen.getAllFormulas(); Assert.assertNotNull(mfSet); Assert.assertEquals(1, mfSet.size()); Assert.assertEquals("C7H15N2O4", MolecularFormulaManipulator .getString(mfSet.getMolecularFormula(0))); }
/** * Test to find MF=C5H11N2O, MW=115.08714 */ @Test public void testSmallMass() throws Exception { IsotopeFactory ifac = Isotopes.getInstance(); IIsotope c = ifac.getMajorIsotope("C"); IIsotope h = ifac.getMajorIsotope("H"); IIsotope n = ifac.getMajorIsotope("N"); IIsotope o = ifac.getMajorIsotope("O"); MolecularFormulaRange mfRange = new MolecularFormulaRange(); mfRange.addIsotope(c, 0, 20); mfRange.addIsotope(h, 0, 30); mfRange.addIsotope(o, 0, 15); mfRange.addIsotope(n, 0, 10); double minMass = 115.08714 - 0.0001; double maxMass = 115.08714 + 0.0001; MolecularFormulaGenerator gen = new MolecularFormulaGenerator(builder, minMass, maxMass, mfRange); IMolecularFormulaSet mfSet = gen.getAllFormulas(); Assert.assertNotNull(mfSet); Assert.assertEquals(1, mfSet.size()); Assert.assertEquals("C5H11N2O", MolecularFormulaManipulator .getString(mfSet.getMolecularFormula(0))); }
/** * Test to find pentacarboxyporphyrin, MF=C37H38N4O10 MW=698.25879 * */ @Test public void testMiddleMass() throws Exception { IsotopeFactory ifac = Isotopes.getInstance(); IIsotope c = ifac.getMajorIsotope("C"); IIsotope h = ifac.getMajorIsotope("H"); IIsotope n = ifac.getMajorIsotope("N"); IIsotope o = ifac.getMajorIsotope("O"); MolecularFormulaRange mfRange = new MolecularFormulaRange(); mfRange.addIsotope(c, 0, 50); mfRange.addIsotope(h, 0, 100); mfRange.addIsotope(o, 0, 30); mfRange.addIsotope(n, 0, 10); double minMass = 698.25879 - 0.0001; double maxMass = 698.25879 + 0.0001; MolecularFormulaGenerator gen = new MolecularFormulaGenerator(builder, minMass, maxMass, mfRange); IMolecularFormulaSet mfSet = gen.getAllFormulas(); Assert.assertNotNull(mfSet); Assert.assertEquals(1, mfSet.size()); Assert.assertEquals("C37H38N4O10", MolecularFormulaManipulator .getString(mfSet.getMolecularFormula(0))); }
/** * Test to find ubiquitin: MF=C374H623N103O116S MW=8445.573784 * */ @Test public void testHighMass() throws Exception { IsotopeFactory ifac = Isotopes.getInstance(); IIsotope c = ifac.getMajorIsotope("C"); IIsotope h = ifac.getMajorIsotope("H"); IIsotope n = ifac.getMajorIsotope("N"); IIsotope o = ifac.getMajorIsotope("O"); IIsotope s = ifac.getMajorIsotope("S"); MolecularFormulaRange mfRange = new MolecularFormulaRange(); mfRange.addIsotope(c, 350, 400); mfRange.addIsotope(h, 620, 650); mfRange.addIsotope(o, 100, 150); mfRange.addIsotope(n, 100, 150); mfRange.addIsotope(s, 0, 10); double minMass = 8445.573784 - 0.00001; double maxMass = 8445.573784 + 0.00001; MolecularFormulaGenerator gen = new MolecularFormulaGenerator(builder, minMass, maxMass, mfRange); IMolecularFormulaSet mfSet = gen.getAllFormulas(); Assert.assertNotNull(mfSet); Assert.assertEquals(1, mfSet.size()); Assert.assertEquals("C374H623N103O116S", MolecularFormulaManipulator .getString(mfSet.getMolecularFormula(0))); ////////////////// }
IMolecularFormulaSet mfSet = gen.getAllFormulas();
IMolecularFormulaSet mfSet = gen.getAllFormulas();