private void addRows(@Nonnull FeatureTable featureTable, @Nonnull MZTabFile mzTabFile) { // Loop through small molecules data Collection<SmallMolecule> smallMolecules = mzTabFile.getSmallMolecules(); for (SmallMolecule smallMolecule : smallMolecules) { parsedRows++; SimpleFeatureTableRow currentRow = new SimpleFeatureTableRow(featureTable); currentRow.setCharge(smallMolecule.getCharge()); // Add data to sample specific columns SortedMap<Integer, Assay> assayMap = mzTabFile.getMetadata().getAssayMap(); for (Entry<Integer, Assay> entry : assayMap.entrySet()) { Assay sampleAssay = assayMap.get(entry.getKey()); Sample sample = sampleMap.get(sampleAssay.getMsRun()); MzTabFeature newFeature = new MzTabFeature(smallMolecule, sampleAssay); currentRow.setFeature(sample, newFeature); } // Add row to feature table newFeatureTable.addRow(currentRow); // Check if cancel is requested if (canceled) return; } }
/** {@inheritDoc} */ @Override public Feature getFeature(Integer index) { assert featureTable != null; synchronized (features) { List<Sample> samples = featureTable.getSamples(); return getFeature(samples.get(index)); } }
RowVsRowScore(FeatureTableRow featureTableRow, SimpleFeatureTableRow alignedRow, double mzMaxDiff, double mzWeight, double rtMaxDiff, double rtWeight) { this.featureTableRow = featureTableRow; this.alignedRow = alignedRow; // Get m/z and RT values Double mz1 = featureTableRow.getMz(); Double mz2 = alignedRow.getMz(); Float rt1 = featureTableRow.getRT(); Float rt2 = alignedRow.getRT(); // Calculate difference between m/z double mzDiff = 999; if (mz1 != null && mz2 != null) mzDiff = Math.abs(mz1 - mz2); // Calculate difference between RT values double rtDiff = 999; if (rt1 != null && rt2 != null) rtDiff = Math.abs(rt1 - rt2); score = ((1 - mzDiff / mzMaxDiff) * mzWeight) + ((1 - rtDiff / rtMaxDiff) * rtWeight); }
SimpleFeatureTableRow row = new SimpleFeatureTableRow(newFeatureTable); newFeatureTable.addRow(row); SimpleFeature feature = new SimpleFeature(); row.setFeature(fileSample, feature); SimpleIonAnnotation ionAnnotation = new SimpleIonAnnotation();; feature.setIonAnnotation(ionAnnotation);
targetRow = new SimpleFeatureTableRow(result); result.addRow(targetRow);
peak.getIntensityValues(), peak.getNumberOfDataPoints()); if (area > 1e-6) { SimpleFeatureTableRow newRow = new SimpleFeatureTableRow(newPeakList); newFeature.setHeight(height); newRow.setFeature(newSample, newFeature); newPeakList.addRow(newRow); if (debug > 0)
targetRow = new SimpleFeatureTableRow(result); result.addRow(targetRow);
targetRow = new SimpleFeatureTableRow(result); result.addRow(targetRow); targetRow.setCharge(sourceCharge); targetRow.setFeature(s, sourceRow.getFeature(s));
peak.getIntensityValues(), peak.getNumberOfDataPoints()); if (area > 1e-6) { SimpleFeatureTableRow newRow = new SimpleFeatureTableRow(newPeakList); newFeature.setHeight(height); newRow.setFeature(newSample, newFeature); newPeakList.addRow(newRow); if (debug > 0)
RowVsRowScore(FeatureTableRow featureTableRow, SimpleFeatureTableRow alignedRow, double mzMaxDiff, double mzWeight, double rtMaxDiff, double rtWeight) { this.featureTableRow = featureTableRow; this.alignedRow = alignedRow; // Get m/z and RT values Double mz1 = featureTableRow.getMz(); Double mz2 = alignedRow.getMz(); Float rt1 = featureTableRow.getRT(); Float rt2 = alignedRow.getRT(); // Calculate difference between m/z double mzDiff = 999; if (mz1 != null && mz2 != null) mzDiff = Math.abs(mz1 - mz2); // Calculate difference between RT values double rtDiff = 999; if (rt1 != null && rt2 != null) rtDiff = Math.abs(rt1 - rt2); score = ((1 - mzDiff / mzMaxDiff) * mzWeight) + ((1 - rtDiff / rtMaxDiff) * rtWeight); }
/** {@inheritDoc} */ @Override public Feature getFeature(Integer index) { assert featureTable != null; synchronized (features) { List<Sample> samples = featureTable.getSamples(); return getFeature(samples.get(index)); } }
targetRow = new SimpleFeatureTableRow(result); result.addRow(targetRow); targetRow.setCharge(sourceCharge); targetRow.setFeature(s, sourceRow.getFeature(s));