if (isoSort.getNumberOfIsotopes() == 0) return isoSort;
if (isoSort.getNumberOfIsotopes() == 0) return isoSort;
/** * Search and find the closest difference in an array in terms of mass and * intensity. Always return the position in this List. * * @param diffValue The difference to look for * @param normMass A List of normalized masses * @return The position in the List */ private int getClosestDataDiff(IsotopeContainer isoContainer, IsotopePattern pattern) { double diff = 100; int posi = -1; for (int i = 0; i < pattern.getNumberOfIsotopes(); i++) { double tempDiff = Math.abs((isoContainer.getMass()) - pattern.getIsotopes().get(i).getMass()); if (tempDiff <= (tolerance_ppm / isoContainer.getMass()) && tempDiff < diff) { diff = tempDiff; posi = i; } } return posi; } }
final int numOfIsotopes = pattern.getNumberOfIsotopes(); final double mzValues[] = new double[numOfIsotopes]; final float intensityValues[] = new float[numOfIsotopes];
final int numOfIsotopes = pattern.getNumberOfIsotopes(); final double mzValues[] = new double[numOfIsotopes]; final float intensityValues[] = new float[numOfIsotopes];
/** * Calculate isotopes for C10000 (failed in CDK 1.5.12). */ @Test public void testCalculateIsotopesC10000() { IMolecularFormula molFor = MolecularFormulaManipulator.getMajorIsotopeMolecularFormula("C10000", builder); IsotopePatternGenerator isotopeGe = new IsotopePatternGenerator(.1); IsotopePattern isos = isotopeGe.getIsotopes(molFor); Assert.assertEquals(44, isos.getNumberOfIsotopes()); for (int i = 0; i < isos.getNumberOfIsotopes(); i++) Assert.assertTrue(isos.getIsotope(i).getMass() > 120085); }
@Test public void testGeneratorSavesState() { IsotopePatternGenerator isogen = new IsotopePatternGenerator(.1); IMolecularFormula mf1 = MolecularFormulaManipulator.getMolecularFormula("C6H12O6", builder); IsotopePattern ip1 = isogen.getIsotopes(mf1); Assert.assertEquals(1, ip1.getNumberOfIsotopes()); IMolecularFormula mf2 = MolecularFormulaManipulator.getMolecularFormula("C6H12O6", builder); IsotopePattern ip2 = isogen.getIsotopes(mf2); Assert.assertEquals(1, ip2.getNumberOfIsotopes()); }
for (int i = 1; i < isopattern.getNumberOfIsotopes(); i++) { if (isopattern.getIsotopes().get(i).getIntensity() >= (minIntensity)) { IsotopeContainer container = new IsotopeContainer(isopattern.getIsotopes().get(i));
/** * Calculate isotopes for C20H30Fe2P2S4Cl4 (in CDK 1.5.12, this call * sometimes returns 34 and sometimes 35 isotopes, non-deterministically). */ @Ignore("Non-deterministic test value is bad! This likely depends on our current isotope data which is also bad.") public void testCalculateIsotopesC20H30Fe2P2S4Cl4() { IMolecularFormula molFor = MolecularFormulaManipulator.getMajorIsotopeMolecularFormula("C20H30Fe2P2S4Cl4", builder); IsotopePatternGenerator isotopeGe = new IsotopePatternGenerator(.01); IsotopePattern isos = isotopeGe.getIsotopes(molFor); Assert.assertEquals(35, isos.getNumberOfIsotopes()); }
/** * A unit test for JUnit: * * @return Description of the Return Value */ @Test public void testGetIsotopes_IMolecularFormula() { IMolecularFormula molFor = MolecularFormulaManipulator.getMajorIsotopeMolecularFormula("C41H79N8O3P1", builder); IsotopePatternGenerator isotopeGe = new IsotopePatternGenerator(.1); IsotopePattern isos = isotopeGe.getIsotopes(molFor); Assert.assertEquals(2, isos.getNumberOfIsotopes(), 0.001); }
/** * A unit test for JUnit: * * @return Description of the Return Value */ @Test public void testGetIsotopes_IMolecularFormula_withoutONE() { IMolecularFormula molFor = MolecularFormulaManipulator.getMajorIsotopeMolecularFormula("C41H79N8O3P", builder); IsotopePatternGenerator isotopeGe = new IsotopePatternGenerator(.01); IsotopePattern isos = isotopeGe.getIsotopes(molFor); Assert.assertEquals(6, isos.getNumberOfIsotopes(), 0.001); }
/** * @cdk.bug 3273205 */ @Test public void testCalculateIsotopesMn() { IMolecularFormula molFor = new MolecularFormula(); molFor.addIsotope(builder.newInstance(IIsotope.class, "Mn"), 1); IsotopePatternGenerator isotopeGe = new IsotopePatternGenerator(0.001); IsotopePattern isoPattern = isotopeGe.getIsotopes(molFor); Assert.assertEquals(1, isoPattern.getNumberOfIsotopes()); }
/** * A unit test suite for JUnit. * * @return The test suite */ @Test public void testGetNumberOfIsotopes() { IsotopePattern isoP = new IsotopePattern(); IsotopeContainer iso1 = new IsotopeContainer(); isoP.setMonoIsotope(iso1); IsotopeContainer iso2 = new IsotopeContainer(); isoP.addIsotope(iso2); Assert.assertEquals(2, isoP.getNumberOfIsotopes()); }
@Test public void testGetIsotopes_IMolecularFormula_deprotonate() { IsotopePatternGenerator isogen = new IsotopePatternGenerator(.1); IMolecularFormula mf1 = MolecularFormulaManipulator.getMolecularFormula("C6H12O6", builder); MolecularFormulaManipulator.adjustProtonation(mf1, -1); IsotopePattern ip1 = isogen.getIsotopes(mf1); Assert.assertEquals(1, ip1.getNumberOfIsotopes()); isogen = new IsotopePatternGenerator(.1); IMolecularFormula mf2 = MolecularFormulaManipulator.getMolecularFormula("C6H11O6", builder); IsotopePattern ip2 = isogen.getIsotopes(mf2); Assert.assertEquals(1, ip2.getNumberOfIsotopes()); Assert.assertEquals(ip1.getIsotope(0).getMass(), ip2.getIsotope(0).getMass(), 0.001); }
@Test public void testGetIsotopes_IMolecularFormula_Charged() { IsotopePatternGenerator isogen = new IsotopePatternGenerator(.1); IMolecularFormula mfPositive = MolecularFormulaManipulator.getMolecularFormula("C6H11O6Na", builder); mfPositive.setCharge(1); IsotopePattern ip1 = isogen.getIsotopes(mfPositive); Assert.assertEquals(1, ip1.getNumberOfIsotopes()); isogen = new IsotopePatternGenerator(.1); IMolecularFormula mfNeutral = MolecularFormulaManipulator.getMolecularFormula("C6H12O6Na", builder); mfNeutral.setCharge(0); IsotopePattern ip2 = isogen.getIsotopes(mfNeutral); Assert.assertEquals(1, ip2.getNumberOfIsotopes()); Assert.assertNotEquals(ip1.getIsotope(0).getMass(), ip2.getIsotope(0).getMass()); }
/** * A unit test for JUnit: Isotopes of the Bromine. * * @return Description of the Return Value */ @Test public void testGetIsotopes1() { IMolecularFormula molFor = new MolecularFormula(); molFor.addIsotope(builder.newInstance(IIsotope.class, "Br")); molFor.addIsotope(builder.newInstance(IIsotope.class, "Br")); IsotopePatternGenerator isotopeGe = new IsotopePatternGenerator(.1); IsotopePattern isoPattern = isotopeGe.getIsotopes(molFor); Assert.assertEquals(3, isoPattern.getNumberOfIsotopes()); }
/** * A unit test for JUnit: Isotopes of the Iodemethylidyne. * * @return Description of the Return Value */ @Test public void testCalculateIsotopesIodemethylidyne() { // RESULTS ACCORDING PAGE: http://www2.sisweb.com/mstools/isotope.htm double[] massResults = {138.904480, 139.907839}; double[] abundResults = {1.00, .011}; IMolecularFormula molFor = new MolecularFormula(); molFor.addIsotope(builder.newInstance(IIsotope.class, "C")); molFor.addIsotope(builder.newInstance(IIsotope.class, "I")); Assert.assertEquals(2, molFor.getIsotopeCount()); IsotopePatternGenerator isotopeGe = new IsotopePatternGenerator(.01); IsotopePattern isoPattern = isotopeGe.getIsotopes(molFor); Assert.assertEquals(2, isoPattern.getNumberOfIsotopes()); Assert.assertEquals(massResults[0], isoPattern.getIsotope(0).getMass(), 0.01); Assert.assertEquals(massResults[1], isoPattern.getIsotope(1).getMass(), 0.01); Assert.assertEquals(abundResults[0], isoPattern.getIsotope(0).getIntensity(), 0.01); Assert.assertEquals(abundResults[1], isoPattern.getIsotope(1).getIntensity(), 0.01); }
/** * A unit test for JUnit: Isotopes of the n-Carbone. * * @return Description of the Return Value */ @Test public void testCalculateIsotopesnCarbono() { // RESULTS ACCORDING PAGE: http://www2.sisweb.com/mstools/isotope.htm double[] massResults = {120.000000, 121.003360, 122.006709}; double[] abundResults = {1.00, .108, 0.005}; IMolecularFormula molFor = new MolecularFormula(); molFor.addIsotope(builder.newInstance(IIsotope.class, "C"), 10); IsotopePatternGenerator isotopeGe = new IsotopePatternGenerator(0.0010); IsotopePattern isoPattern = isotopeGe.getIsotopes(molFor); Assert.assertEquals(3, isoPattern.getNumberOfIsotopes()); Assert.assertEquals(massResults[0], isoPattern.getIsotope(0).getMass(), 0.01); Assert.assertEquals(massResults[1], isoPattern.getIsotope(1).getMass(), 0.01); Assert.assertEquals(massResults[2], isoPattern.getIsotope(2).getMass(), 0.01); Assert.assertEquals(abundResults[0], isoPattern.getIsotope(0).getIntensity(), 0.01); Assert.assertEquals(abundResults[1], isoPattern.getIsotope(1).getIntensity(), 0.01); Assert.assertEquals(abundResults[2], isoPattern.getIsotope(2).getIntensity(), 0.01); }
/** * A unit test for JUnit: Isotopes of the Bromine. * * @return Description of the Return Value */ @Test public void testCalculateIsotopesAllBromine() { // RESULTS ACCORDING PAGE: http://www2.sisweb.com/mstools/isotope.htm double[] massResults = {157.836669, 159.834630, 161.832580}; double[] abundResults = {.512, 1.00, .487}; IMolecularFormula molFor = new MolecularFormula(); molFor.addIsotope(builder.newInstance(IIsotope.class, "Br")); molFor.addIsotope(builder.newInstance(IIsotope.class, "Br")); IsotopePatternGenerator isotopeGe = new IsotopePatternGenerator(.1); IsotopePattern isoPattern = isotopeGe.getIsotopes(molFor); Assert.assertEquals(3, isoPattern.getNumberOfIsotopes()); Assert.assertEquals(massResults[0], isoPattern.getIsotope(0).getMass(), 0.01); Assert.assertEquals(massResults[1], isoPattern.getIsotope(1).getMass(), 0.01); Assert.assertEquals(massResults[2], isoPattern.getIsotope(2).getMass(), 0.01); Assert.assertEquals(abundResults[0], isoPattern.getIsotope(0).getIntensity(), 0.01); Assert.assertEquals(abundResults[1], isoPattern.getIsotope(1).getIntensity(), 0.01); Assert.assertEquals(abundResults[2], isoPattern.getIsotope(2).getIntensity(), 0.01); }
IsotopePattern isoPattern = isotopeGe.getIsotopes(molFor); Assert.assertEquals(6, isoPattern.getNumberOfIsotopes());