/* *****************************************************************************
* Copyright (c) 2009 Ola Spjuth <ola@bioclipse.net>
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contact: http://www.bioclipse.net/
******************************************************************************/
package net.bioclipse.vscreen.business;
import java.io.IOException;
import java.util.List;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import net.bioclipse.core.PublishedClass;
import net.bioclipse.core.PublishedMethod;
import net.bioclipse.core.Recorded;
import net.bioclipse.core.business.BioclipseException;
import net.bioclipse.managers.business.GuiAction;
import net.bioclipse.managers.business.IBioclipseManager;
import net.bioclipse.vscreen.filters.IScreeningFilter;
/**
*
* @author ola
*
*/
@PublishedClass(
value="A manager for Virtual Screening."
)
public interface IVScreenManager extends IBioclipseManager {
@Recorded
@PublishedMethod(params="String dbname, IFilter filter, " +
"String label",
methodSummary = "Filter a database for a Filter. "+
"Creates a new label in the database.")
public void filter(String dbname, IScreeningFilter filter, String label)
throws BioclipseException;
@Recorded
@PublishedMethod(params="String dbname, List<IFilter> filters, " +
"String label",
methodSummary = "Filter a database for a certian set of Filters. "+
"Creates a new label in the database.")
public void filter(String dbname, List<IScreeningFilter> filters, String label)
throws BioclipseException;
@Recorded
@PublishedMethod(params="String dbname, List<IFilter> filters, " +
"String newDBname, String label",
methodSummary = "Filter a database for a certian set of Filters. "+
"Creates a new database with a new label, holding the results.")
public void filter(String dbname, List<IScreeningFilter> filters,
String newDBname, String label)
throws BioclipseException;
/**
* Used for testing only.
*/
public void filter(String dbname, List<IScreeningFilter> filters,
String newDBname, String label,
IProgressMonitor monitor);
@Recorded
@PublishedMethod(params="String filtername, String params",
methodSummary = "Create a filter by name and parameters.")
public IScreeningFilter createFilter(String filtername, String params)
throws BioclipseException;
@Recorded
@PublishedMethod(params="String filtername, String operator, double value",
methodSummary = "Create a filter by name, operator, and threshold.")
public IScreeningFilter createFilter(String filtername, String operator,
double threshold)
throws BioclipseException;
@Recorded
@PublishedMethod(params="String filtername, double value",
methodSummary = "Create a filter by name, and value.")
public IScreeningFilter createFilter(String filtername, double value)
throws BioclipseException;
@Recorded
@PublishedMethod(
methodSummary = "Returns a list of available Filters.")
public List<String> listFilters() throws BioclipseException;
@Recorded
@PublishedMethod(
methodSummary = "Run the currently open screening file.")
public void run() throws BioclipseException, CoreException, IOException;
}