Package net.sf.basedb.plugins
Class MedianRatioNormalization
- java.lang.Object
-
- net.sf.basedb.core.plugin.AbstractPlugin
-
- net.sf.basedb.core.plugin.AbstractAnalysisPlugin
-
- net.sf.basedb.plugins.MedianRatioNormalization
-
- All Implemented Interfaces:
InteractivePlugin
,Plugin
,SignalTarget
public class MedianRatioNormalization extends AbstractAnalysisPlugin implements InteractivePlugin, SignalTarget
- Version:
- 2.0
- Author:
- enell, Nicklas
- Last modified
- $Date: 2015-05-12 11:27:08 +0200 (ti, 12 maj 2015) $
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
MedianRatioNormalization.SpotData
-
Nested classes/interfaces inherited from interface net.sf.basedb.core.plugin.Plugin
Plugin.MainType
-
-
Field Summary
Fields Modifier and Type Field Description private static PluginParameter<Integer>
blockGroupParameter
Used with 2-channel data onlyprivate RequestInformation
configureJob
private static PluginParameter<Float>
highExcludeParameter
private static PluginParameter<Float>
lowExcludeParameter
protected static PluginParameter<String>
medianRatioSection
Section for normalization optionsprivate PluginParameter<Float>
minIntensityParameter
private static Set<Permissions>
permissions
private ThreadSignalHandler
signalHandler
-
Fields inherited from class net.sf.basedb.core.plugin.AbstractAnalysisPlugin
CHILD_DESCRIPTION, CHILD_NAME, CONTEXT_BIOASSAYS, CONTEXT_BIOASSAYSET, CONTEXT_DERIVEDBIOASSAY, defaultGuiContexts, nameType, optionalNameType, SOURCE_BIOASSAYS, SOURCE_BIOASSAYSET, SOURCE_DERIVEDBIOASSAY, TRANSFORMATION_NAME
-
Fields inherited from class net.sf.basedb.core.plugin.AbstractPlugin
annotationSection, configuration, COPY_ANNOTATIONS, job, OVERWRITE_ANNOTATIONS, sc
-
-
Constructor Summary
Constructors Constructor Description MedianRatioNormalization()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
configure(GuiContext context, Request request, Response response)
Configure the plugin.private RequestInformation
getConfigureJobParameters()
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 theRequestInformation
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 float
median(float[] sortedArray, int first, int last)
private double
median(List<MedianRatioNormalization.SpotData> data)
BioAssaySet
normalize(DbControl dc, BioAssaySet source, Job job, float minIntensity, float lowExclude, float highExclude, int blockGroupSize, ProgressReporter progress)
Normalise the source bioassay set using MEDIAN-RATIO normalization.private BioAssaySet
normalize1ch(DbControl dc, BioAssaySet source, Job job, float minIntensity, float lowExclude, float highExclude, ProgressReporter progress)
Normalise the source bioassay set using MEDIAN-RATIO normalization.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.-
Methods inherited from class net.sf.basedb.core.plugin.AbstractAnalysisPlugin
getChildDescriptionParameter, getChildNameParameter, getCurrentBioAssaySet, getCurrentDerivedBioAssay, getCurrentExperiment, getGuiContexts, getMainType, getSourceBioAssays, getSourceBioAssaySet, getSourceBioAssaySetParameter, getSourceBioAssaysParameter, getSourceDerivedBioAssay, getSourceDerivedBioAssayParameter, getTransformationName, getTransformationNameParameter, restrictSource
-
Methods inherited from class net.sf.basedb.core.plugin.AbstractPlugin
cloneParameterWithDefaultValue, closeLogFile, createLogFile, done, getCopyAnnotationsParmeter, getCurrentConfiguration, getCurrentJob, getJobOrConfigurationValue, getOverwriteAnnotationsParameters, init, log, log, storeValue, storeValue, storeValues, validateRequestParameters
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.sf.basedb.core.plugin.InteractivePlugin
getGuiContexts
-
Methods inherited from interface net.sf.basedb.core.plugin.Plugin
done, getMainType, init
-
-
-
-
Field Detail
-
permissions
private static final Set<Permissions> permissions
-
minIntensityParameter
private PluginParameter<Float> minIntensityParameter
-
highExcludeParameter
private static final PluginParameter<Float> highExcludeParameter
-
lowExcludeParameter
private static final PluginParameter<Float> lowExcludeParameter
-
blockGroupParameter
private static final PluginParameter<Integer> blockGroupParameter
Used with 2-channel data only
-
medianRatioSection
protected static final PluginParameter<String> medianRatioSection
Section for normalization options
-
configureJob
private RequestInformation configureJob
-
signalHandler
private ThreadSignalHandler signalHandler
-
-
Method Detail
-
supportsConfigurations
public boolean supportsConfigurations()
Description copied from class:AbstractPlugin
Returns TRUE, since that is how the plugins used to work before this method was introduced.- Specified by:
supportsConfigurations
in interfacePlugin
- Overrides:
supportsConfigurations
in classAbstractPlugin
- Returns:
- TRUE or FALSE
-
requiresConfiguration
public boolean requiresConfiguration()
Description copied from class:AbstractPlugin
Returns FALSE, since that is how the plugins used to work before this method was introduced.- Specified by:
requiresConfiguration
in interfacePlugin
- Overrides:
requiresConfiguration
in classAbstractPlugin
- Returns:
- TRUE or FALSE
-
getPermissions
public Collection<Permissions> getPermissions()
Request use access to Experiment:s and read access to Job:s.- Specified by:
getPermissions
in interfacePlugin
- Overrides:
getPermissions
in classAbstractPlugin
- Returns:
- A collection of permissions or null to not use permissions
- Since:
- 2.0.2
-
run
public void run(Request request, Response response, ProgressReporter progress)
Description copied from interface:Plugin
Run the plugin. If a progress reporter object is passed it is recommended that the plugin makes use of it.- Specified by:
run
in interfacePlugin
- Parameters:
request
- Request object with the command and parametersresponse
- Response object in for the plugin to response throughprogress
- AProgressReporter
where the plugin can report its progess, can be null
-
isInContext
public String isInContext(GuiContext context, Object item)
Description copied from class:AbstractAnalysisPlugin
Check that the item is a bioassayset/derived bioassay and that the logged in user has permission to use the current item.- Specified by:
isInContext
in interfaceInteractivePlugin
- Overrides:
isInContext
in classAbstractAnalysisPlugin
- Parameters:
context
- Current guicontextitem
- The item to check.- Returns:
- null if the item is a valid item, an error message otherwise
-
getRequestInformation
public RequestInformation getRequestInformation(GuiContext context, String command) throws BaseException
Description copied from interface:InteractivePlugin
This method will return theRequestInformation
for a given command, i.e. the list of parameters and some nice help text.- Specified by:
getRequestInformation
in interfaceInteractivePlugin
- Parameters:
context
- The current context of the client application, it is one of the values found in set returned byInteractivePlugin.getGuiContexts()
command
- The command- Returns:
- The
RequestInformation
for the command - Throws:
BaseException
- if there is an error
-
configure
public void configure(GuiContext context, Request request, Response response)
Description copied from interface:InteractivePlugin
Configure the plugin. Hopefully the client is supplying values for the parameters specified byInteractivePlugin.getRequestInformation(GuiContext, String)
.- Specified by:
configure
in interfaceInteractivePlugin
- Parameters:
context
- The current context of the client application, it is one of the values found in set returned byInteractivePlugin.getGuiContexts()
request
- Request object with the command and parametersresponse
- Response object in for the plugin to response through
-
getSignalHandler
public SignalHandler getSignalHandler()
Description copied from interface:SignalTarget
Get the signal handler that is handling signals on behalf of this object. Multiple invokations of this method may receive the same or different objects. Null may be returned if, for some reason, the current object instance doesn't want to receive signals. Returning null is the same as not implementing this interface.- Specified by:
getSignalHandler
in interfaceSignalTarget
- Returns:
- A SignalHandler object, or null if the current instance doesn't support signals
-
normalize1ch
private BioAssaySet normalize1ch(DbControl dc, BioAssaySet source, Job job, float minIntensity, float lowExclude, float highExclude, ProgressReporter progress)
Normalise the source bioassay set using MEDIAN-RATIO normalization.- Parameters:
dc
- The DbControl to use for database accesssource
- The source bioassay set that is going to be normalizedjob
- The job in which the normalization is done.minIntensity
- All spots which have a lower intensity value in either channel will be filtered outlowExclude
- A percentage of the spots with lowest ratio that are excuded in the median calculationhighExclude
- A percentage of the spots with highest ratio that are excluded in the median calculationprogress
- Progress reporter for the caller to keep track of the plugin's progress. Null is allowed.- Returns:
- The normalized bioassayset
- Since:
- 2.7, 3.2.4 (removed scale parameter)
-
normalize
public BioAssaySet normalize(DbControl dc, BioAssaySet source, Job job, float minIntensity, float lowExclude, float highExclude, int blockGroupSize, ProgressReporter progress)
Normalise the source bioassay set using MEDIAN-RATIO normalization. NOTE! This normalization method only works with 2-channel data.- Parameters:
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 nullminIntensity
- All spots which have a lower intensity value in either channel will be filtered outlowExclude
- A percentage of the spots with lowest ratio that are excuded in the median calculationhighExclude
- A percentage of the spots with highest ratio that are excluded in the median calculationprogress
- Progress reporter for the caller to keep track of the plugin's progress. Null is allowed.- Returns:
- The normalized bioassayset
- Since:
- 2.5; This method was removed in 2.7.0 by accident, added in 2.7.2 again
-
getConfigureJobParameters
private RequestInformation getConfigureJobParameters()
-
median
private float median(float[] sortedArray, int first, int last)
-
median
private double median(List<MedianRatioNormalization.SpotData> data)
-
-