public class LowessNormalization extends AbstractAnalysisPlugin implements InteractivePlugin, SignalTarget
Modifier and Type | Class and Description |
---|---|
(package private) static class |
LowessNormalization.CallableWorker |
private static class |
LowessNormalization.SpotData |
Plugin.MainType
Modifier and Type | Field and Description |
---|---|
private static PluginParameter<Integer> |
blockGroupParameter |
private RequestInformation |
configureJob |
private static PluginParameter<Float> |
deltaParameter |
private static PluginParameter<Float> |
fitFractionParameter |
private static PluginParameter<Integer> |
iterParameter |
protected static PluginParameter<String> |
lowessSection
Section for lowess options
|
private static Set<Permissions> |
permissions |
private EnhancedThreadSignalHandler |
signalHandler |
private static double |
ywRangeFactor |
CHILD_DESCRIPTION, CHILD_NAME, CONTEXT_BIOASSAYS, CONTEXT_BIOASSAYSET, CONTEXT_DERIVEDBIOASSAY, defaultGuiContexts, nameType, optionalNameType, SOURCE_BIOASSAYS, SOURCE_BIOASSAYSET, SOURCE_DERIVEDBIOASSAY, TRANSFORMATION_NAME
annotationSection, configuration, COPY_ANNOTATIONS, job, OVERWRITE_ANNOTATIONS, sc
Constructor and Description |
---|
LowessNormalization() |
Modifier and Type | Method and Description |
---|---|
private static List<Double> |
calculateWeights(List<LowessNormalization.SpotData> data,
double A1,
List<Double> wFit) |
void |
configure(GuiContext context,
Request request,
Response response)
Configure the plugin.
|
private RequestInformation |
getConfigureJobParameters() |
private PluginParameter<ReporterList> |
getExcludeReportersParameters(DbControl dc) |
Collection<Permissions> |
getPermissions()
Request use access to Experiment:s and read access to Job:s.
|
RequestInformation |
getRequestInformation(GuiContext context,
String command)
This method will return the
RequestInformation for a given command, i.e. |
SignalHandler |
getSignalHandler()
Get the signal handler that is handling signals on behalf of this
object.
|
String |
isInContext(GuiContext context,
Object item)
Check that the item is a bioassayset/derived bioassay and that the
logged in user has permission to use the current item.
|
private static List<Double> |
lowess(List<LowessNormalization.SpotData> data,
double f,
int iter,
double delta) |
private static double |
medianCorrection(List<LowessNormalization.SpotData> data,
Double[] smoothCurve) |
BioAssaySet |
normalize(DbControl dc,
BioAssaySet source,
Job job,
float fitFraction,
float delta,
int iterations,
int blockGroupSize,
ProgressReporter progress)
Normalise the source bioassay set using LOWESS normalization.
|
BioAssaySet |
normalize(DbControl dc,
BioAssaySet source,
Job job,
float fitFraction,
float delta,
int iterations,
int blockGroupSize,
ReporterList excludeReporters,
ProgressReporter progress)
Normalise the source bioassay set using LOWESS normalization.
|
private List<LowessNormalization.SpotData> |
readData(DbControl dc,
DynamicSpotQuery query,
BioAssay assay,
MACalculator mac) |
boolean |
requiresConfiguration()
Returns FALSE, since that is how the plugins used to work before this method
was introduced.
|
void |
run(Request request,
Response response,
ProgressReporter progress)
Run the plugin.
|
boolean |
supportsConfigurations()
Returns TRUE, since that is how the plugins used to work before this method
was introduced.
|
private static double[] |
weightedLeastSquaresRegression(List<LowessNormalization.SpotData> data,
List<Double> w) |
getChildDescriptionParameter, getChildNameParameter, getCurrentBioAssaySet, getCurrentDerivedBioAssay, getCurrentExperiment, getGuiContexts, getMainType, getSourceBioAssays, getSourceBioAssaySet, getSourceBioAssaySetParameter, getSourceBioAssaysParameter, getSourceDerivedBioAssay, getSourceDerivedBioAssayParameter, getTransformationName, getTransformationNameParameter, restrictSource
cloneParameterWithDefaultValue, closeLogFile, createLogFile, done, getCopyAnnotationsParmeter, getCurrentConfiguration, getCurrentJob, getJobOrConfigurationValue, getOverwriteAnnotationsParameters, init, log, log, storeValue, storeValue, storeValues, validateRequestParameters
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getGuiContexts
done, getMainType, init
private static final Set<Permissions> permissions
private static final PluginParameter<Float> fitFractionParameter
private static final PluginParameter<Float> deltaParameter
private static final PluginParameter<Integer> iterParameter
private static final PluginParameter<Integer> blockGroupParameter
protected static final PluginParameter<String> lowessSection
private static double ywRangeFactor
private RequestInformation configureJob
private EnhancedThreadSignalHandler signalHandler
public boolean supportsConfigurations()
AbstractPlugin
supportsConfigurations
in interface Plugin
supportsConfigurations
in class AbstractPlugin
public boolean requiresConfiguration()
AbstractPlugin
requiresConfiguration
in interface Plugin
requiresConfiguration
in class AbstractPlugin
public Collection<Permissions> getPermissions()
getPermissions
in interface Plugin
getPermissions
in class AbstractPlugin
public void run(Request request, Response response, ProgressReporter progress)
Plugin
run
in interface Plugin
request
- Request object with the command and parametersresponse
- Response object in for the plugin to response
throughprogress
- A ProgressReporter
where the plugin can report
its progess, can be nullpublic String isInContext(GuiContext context, Object item)
AbstractAnalysisPlugin
isInContext
in interface InteractivePlugin
isInContext
in class AbstractAnalysisPlugin
context
- Current guicontextitem
- The item to check.public RequestInformation getRequestInformation(GuiContext context, String command) throws BaseException
InteractivePlugin
RequestInformation
for a given command, i.e.
the list of parameters and some nice help text.getRequestInformation
in interface InteractivePlugin
context
- The current context of the client application,
it is one of the values found in set returned by InteractivePlugin.getGuiContexts()
command
- The commandRequestInformation
for the commandBaseException
- if there is an errorpublic void configure(GuiContext context, Request request, Response response)
InteractivePlugin
InteractivePlugin.getRequestInformation(GuiContext, String)
.configure
in interface InteractivePlugin
context
- The current context of the client application,
it is one of the values found in set returned by InteractivePlugin.getGuiContexts()
request
- Request object with the command and parametersresponse
- Response object in for the plugin to response
throughpublic SignalHandler getSignalHandler()
SignalTarget
getSignalHandler
in interface SignalTarget
public BioAssaySet normalize(DbControl dc, BioAssaySet source, Job job, float fitFraction, float delta, int iterations, int blockGroupSize, ProgressReporter progress)
public BioAssaySet normalize(DbControl dc, BioAssaySet source, Job job, float fitFraction, float delta, int iterations, int blockGroupSize, ReporterList excludeReporters, ProgressReporter progress)
dc
- The DbControl to use for database accesssource
- The source bioassay set that is going to be normalizedjob
- The job that is doing the normalization, or nullblockGroupSize
- The number of blocks to group and normalise at the same time,
if <=0, all blocks on a bioassay are grouped to a single datasetexcludeReporters
- A reporter list containing reporters that should not be
used in when normalizing, or null to use all spotsprogress
- Progress reporter used by the caller to keep track of the progress. Null is allowedprivate List<LowessNormalization.SpotData> readData(DbControl dc, DynamicSpotQuery query, BioAssay assay, MACalculator mac) throws SQLException
SQLException
private RequestInformation getConfigureJobParameters()
private PluginParameter<ReporterList> getExcludeReportersParameters(DbControl dc)
private static List<Double> lowess(List<LowessNormalization.SpotData> data, double f, int iter, double delta)
private static double medianCorrection(List<LowessNormalization.SpotData> data, Double[] smoothCurve)
private static double[] weightedLeastSquaresRegression(List<LowessNormalization.SpotData> data, List<Double> w)