Search in sources :

Example 21 with Task

use of net.sf.mzmine.taskcontrol.Task in project mzmine2 by mzmine.

the class MultiThreadPeakFinderMainTask method run.

@Override
public void run() {
    setStatus(TaskStatus.PROCESSING);
    logger.info("Running multithreaded gap filler on " + peakList);
    // Create new results feature list
    processedPeakList = createResultsPeakList();
    progress = 0.5;
    // split raw data files into groups for each thread (task)
    // Obtain the settings of max concurrent threads
    // as this task uses one thread
    int maxRunningThreads = getMaxThreads();
    // raw files
    int raw = peakList.getNumberOfRawDataFiles();
    // create consumer of resultpeaklist
    SubTaskFinishListener listener = new SubTaskFinishListener(project, parameters, peakList, removeOriginal, maxRunningThreads);
    // Submit the tasks to the task controller for processing
    Task[] tasks = createSubTasks(raw, maxRunningThreads, listener);
    // listener for status change: Cancel / error
    TaskStatusListener list = new TaskStatusListener() {

        @Override
        public void taskStatusChanged(Task task, TaskStatus newStatus, TaskStatus oldStatus) {
            if (newStatus.equals(TaskStatus.CANCELED) || newStatus.equals(TaskStatus.ERROR)) {
                // if one is cancelled, stop all
                synchronized (this) {
                    // cancel all
                    for (Task t : tasks) {
                        if (t instanceof AbstractTask)
                            ((AbstractTask) t).removeTaskStatusListener(this);
                        t.cancel();
                    }
                }
            }
        }
    };
    // add listener to all sub tasks
    for (Task t : tasks) {
        if (t instanceof AbstractTask)
            ((AbstractTask) t).addTaskStatusListener(list);
        // add to batchMode collection
        if (batchTasks != null)
            batchTasks.add(t);
    }
    // start
    MZmineCore.getTaskController().addTasks(tasks);
    // listener will take care of adding the final list
    progress = 1;
    // end
    logger.info("All sub tasks started for multithreaded gap-filling on " + peakList);
    setStatus(TaskStatus.FINISHED);
}
Also used : Task(net.sf.mzmine.taskcontrol.Task) AbstractTask(net.sf.mzmine.taskcontrol.AbstractTask) AbstractTask(net.sf.mzmine.taskcontrol.AbstractTask) TaskStatus(net.sf.mzmine.taskcontrol.TaskStatus) TaskStatusListener(net.sf.mzmine.taskcontrol.TaskStatusListener)

Example 22 with Task

use of net.sf.mzmine.taskcontrol.Task in project mzmine2 by mzmine.

the class CustomDBSearchModule method runModule.

@Override
@Nonnull
public ExitCode runModule(@Nonnull MZmineProject project, @Nonnull ParameterSet parameters, @Nonnull Collection<Task> tasks) {
    PeakList[] peakLists = parameters.getParameter(CustomDBSearchParameters.peakLists).getValue().getMatchingPeakLists();
    for (PeakList peakList : peakLists) {
        Task newTask = new CustomDBSearchTask(peakList, parameters);
        tasks.add(newTask);
    }
    return ExitCode.OK;
}
Also used : Task(net.sf.mzmine.taskcontrol.Task) PeakList(net.sf.mzmine.datamodel.PeakList) Nonnull(javax.annotation.Nonnull)

Example 23 with Task

use of net.sf.mzmine.taskcontrol.Task in project mzmine2 by mzmine.

the class PeaklistClearAnnotationsModule method runModule.

@Override
@Nonnull
public ExitCode runModule(@Nonnull MZmineProject project, @Nonnull ParameterSet parameters, @Nonnull Collection<Task> tasks) {
    final PeakList[] peakLists = parameters.getParameter(PeaklistClearAnnotationsParameters.PEAK_LISTS).getValue().getMatchingPeakLists();
    for (PeakList peakList : peakLists) {
        Task newTask = new PeaklistClearAnnotationsTask(project, peakList, parameters);
        tasks.add(newTask);
    }
    return ExitCode.OK;
}
Also used : Task(net.sf.mzmine.taskcontrol.Task) PeakList(net.sf.mzmine.datamodel.PeakList) Nonnull(javax.annotation.Nonnull)

Example 24 with Task

use of net.sf.mzmine.taskcontrol.Task in project mzmine2 by mzmine.

the class PeakFilterModule method runModule.

@Override
@Nonnull
public ExitCode runModule(@Nonnull MZmineProject project, @Nonnull ParameterSet parameters, @Nonnull Collection<Task> tasks) {
    final PeakList[] peakLists = parameters.getParameter(PeakFilterParameters.PEAK_LISTS).getValue().getMatchingPeakLists();
    for (PeakList peakList : peakLists) {
        Task newTask = new PeakFilterTask(project, peakList, parameters);
        tasks.add(newTask);
    }
    return ExitCode.OK;
}
Also used : Task(net.sf.mzmine.taskcontrol.Task) PeakList(net.sf.mzmine.datamodel.PeakList) Nonnull(javax.annotation.Nonnull)

Example 25 with Task

use of net.sf.mzmine.taskcontrol.Task in project mzmine2 by mzmine.

the class PeakListBlankSubtractionModule method runModule.

@Override
public ExitCode runModule(MZmineProject project, ParameterSet parameters, Collection<Task> tasks) {
    Task task = new PeakListBlankSubtractionMasterTask(project, (PeakListBlankSubtractionParameters) parameters);
    tasks.add(task);
    return ExitCode.OK;
}
Also used : Task(net.sf.mzmine.taskcontrol.Task)

Aggregations

Task (net.sf.mzmine.taskcontrol.Task)75 Nonnull (javax.annotation.Nonnull)57 PeakList (net.sf.mzmine.datamodel.PeakList)37 RawDataFile (net.sf.mzmine.datamodel.RawDataFile)20 ParameterSet (net.sf.mzmine.parameters.ParameterSet)8 ArrayList (java.util.ArrayList)7 AbstractTask (net.sf.mzmine.taskcontrol.AbstractTask)7 TaskStatus (net.sf.mzmine.taskcontrol.TaskStatus)7 File (java.io.File)6 RawDataFilesParameter (net.sf.mzmine.parameters.parametertypes.selectors.RawDataFilesParameter)6 ExitCode (net.sf.mzmine.util.ExitCode)4 MSDKRuntimeException (io.github.msdk.MSDKRuntimeException)3 MZmineProject (net.sf.mzmine.datamodel.MZmineProject)3 RawDataFileWriter (net.sf.mzmine.datamodel.RawDataFileWriter)2 MZmineProcessingModule (net.sf.mzmine.modules.MZmineProcessingModule)2 CSVExportTask (net.sf.mzmine.modules.peaklistmethods.io.csvexport.CSVExportTask)2 PeakListsParameter (net.sf.mzmine.parameters.parametertypes.selectors.PeakListsParameter)2 TaskStatusListener (net.sf.mzmine.taskcontrol.TaskStatusListener)2 IOException (java.io.IOException)1 Arrays (java.util.Arrays)1