use of net.sf.mzmine.util.spectraldb.parser.LibraryEntryProcessor in project mzmine2 by mzmine.
the class SelectedRowsLocalSpectralDBSearchTask method parseFile.
/**
* Load all library entries from data base file
*
* @param dataBaseFile
* @return
*/
private List<RowsSpectralMatchTask> parseFile(File dataBaseFile) throws UnsupportedFormatException, IOException {
//
List<RowsSpectralMatchTask> tasks = new ArrayList<>();
AutoLibraryParser parser = new AutoLibraryParser(100, new LibraryEntryProcessor() {
@Override
public void processNextEntries(List<SpectralDBEntry> list, int alreadyProcessed) {
// start last task
RowsSpectralMatchTask task = new RowsSpectralMatchTask(peakListRows.length + " rows", peakListRows, parameters, alreadyProcessed + 1, list, (match) -> {
// one selected row -> show in dialog
if (resultWindow != null) {
resultWindow.addMatches(match);
resultWindow.revalidate();
resultWindow.repaint();
}
});
MZmineCore.getTaskController().addTask(task);
tasks.add(task);
}
});
// return tasks
parser.parse(this, dataBaseFile);
return tasks;
}
use of net.sf.mzmine.util.spectraldb.parser.LibraryEntryProcessor in project mzmine2 by mzmine.
the class SpectraIdentificationSpectralDatabaseTask method parseFile.
/**
* Load all library entries from data base file
*
* @param dataBaseFile
* @return
*/
private List<SpectralMatchTask> parseFile(File dataBaseFile) {
// one task for every 1000 entries
List<SpectralMatchTask> tasks = new ArrayList<>();
AutoLibraryParser parser = new AutoLibraryParser(1000, new LibraryEntryProcessor() {
@Override
public void processNextEntries(List<SpectralDBEntry> list, int alreadyProcessed) {
// start last task
SpectralMatchTask task = new SpectralMatchTask(parameters, alreadyProcessed + 1, list, spectraPlot, currentScan, resultWindow);
MZmineCore.getTaskController().addTask(task);
tasks.add(task);
}
});
// return tasks
try {
// parse and create spectral matching tasks for batches of entries
parser.parse(this, dataBaseFile);
return tasks;
} catch (UnsupportedFormatException | IOException e) {
logger.log(Level.WARNING, "Library parsing error for file " + dataBaseFile.getAbsolutePath(), e);
return new ArrayList<>();
}
}
use of net.sf.mzmine.util.spectraldb.parser.LibraryEntryProcessor in project mzmine2 by mzmine.
the class PrecursorDBSearchTask method parseFile.
/**
* Load all library entries from data base file
*
* @param dataBaseFile
* @return
*/
private List<AbstractTask> parseFile(File dataBaseFile) throws UnsupportedFormatException, IOException {
//
List<AbstractTask> tasks = new ArrayList<>();
AutoLibraryParser parser = new AutoLibraryParser(100, new LibraryEntryProcessor() {
@Override
public void processNextEntries(List<SpectralDBEntry> list, int alreadyProcessed) {
AbstractTask task = new AbstractTask() {
private int total = peakList.getNumberOfRows();
private int done = 0;
@Override
public void run() {
for (PeakListRow row : peakList.getRows()) {
if (this.isCanceled())
break;
for (SpectralDBEntry db : list) {
if (this.isCanceled())
break;
if (checkRT(row, (Double) db.getField(DBEntryField.RT).orElse(null)) && checkMZ(row, db.getPrecursorMZ())) {
// add identity
row.addPeakIdentity(new PrecursorDBPeakIdentity(db, PrecursorDBSearchModule.MODULE_NAME), false);
matches.getAndIncrement();
}
}
done++;
}
if (!this.isCanceled())
setStatus(TaskStatus.FINISHED);
}
@Override
public String getTaskDescription() {
return "Checking for precursors: " + alreadyProcessed + 1 + " - " + alreadyProcessed + list.size();
}
@Override
public double getFinishedPercentage() {
if (total == 0)
return 0;
return done / (double) total;
}
};
// start last task
MZmineCore.getTaskController().addTask(task);
tasks.add(task);
}
});
// return tasks
parser.parse(this, dataBaseFile);
return tasks;
}
use of net.sf.mzmine.util.spectraldb.parser.LibraryEntryProcessor in project mzmine2 by mzmine.
the class LocalSpectralDBSearchTask method parseFile.
/**
* Load all library entries from data base file
*
* @param dataBaseFile
* @return
*/
private List<RowsSpectralMatchTask> parseFile(File dataBaseFile) throws UnsupportedFormatException, IOException {
//
List<RowsSpectralMatchTask> tasks = new ArrayList<>();
AutoLibraryParser parser = new AutoLibraryParser(100, new LibraryEntryProcessor() {
@Override
public void processNextEntries(List<SpectralDBEntry> list, int alreadyProcessed) {
// start last task
RowsSpectralMatchTask task = new RowsSpectralMatchTask(peakList.getName(), rows, parameters, alreadyProcessed + 1, list);
MZmineCore.getTaskController().addTask(task);
tasks.add(task);
}
});
// return tasks
parser.parse(this, dataBaseFile);
return tasks;
}
Aggregations