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/interfaces inherited from interface net.sf.basedb.core.plugin.Plugin
Plugin.MainType
-
Field Summary
Modifier and TypeFieldDescriptionprivate static final PluginParameter<Integer>
Used with 2-channel data onlyprivate RequestInformation
private static final PluginParameter<Float>
private static final PluginParameter<Float>
protected static final PluginParameter<String>
Section for normalization optionsprivate PluginParameter<Float>
private static final Set<Permissions>
private ThreadSignalHandler
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
-
Method Summary
Modifier and TypeMethodDescriptionvoid
configure
(GuiContext context, Request request, Response response) Configure the plugin.private RequestInformation
Request use access to Experiment:s and read access to Job:s.getRequestInformation
(GuiContext context, String command) This method will return theRequestInformation
for a given command, i.e.Get the signal handler that is handling signals on behalf of this object.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
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
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
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, isLogging, 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 Details
-
permissions
-
minIntensityParameter
-
highExcludeParameter
-
lowExcludeParameter
-
blockGroupParameter
Used with 2-channel data only -
medianRatioSection
Section for normalization options -
configureJob
-
signalHandler
-
-
Constructor Details
-
MedianRatioNormalization
public MedianRatioNormalization()
-
-
Method Details
-
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
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
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
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
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
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
-
median
private float median(float[] sortedArray, int first, int last) -
median
-