Package ubic.gemma.core.apps
Class ArrayDesignProbeMapperCli
- java.lang.Object
-
- ubic.gemma.core.util.AbstractCLI
-
- ubic.gemma.core.util.AbstractAuthenticatedCLI
-
- ubic.gemma.core.apps.ArrayDesignSequenceManipulatingCli
-
- ubic.gemma.core.apps.ArrayDesignProbeMapperCli
-
- All Implemented Interfaces:
CLI
public class ArrayDesignProbeMapperCli extends ArrayDesignSequenceManipulatingCli
Process the blat results for an array design to map them onto genes. Typical workflow would be to run:- Create the array design, perhaps by loading a GPL or via a GSE.
- ArrayDesignSequenceAssociationCli - attach sequences to array design, fetching from BLAST database if necessary. For affymetrix designs, get the probe sequences and pass them to the command line (also a web interface)
- ArrayDesignBlatCli - runs blat. You must start the appropriate server using the configuration in the properties files.
- ArrayDesignProbeMapperCli (this class); you must have the correct GoldenPath database installed and available as configured in your properties files.
In batch mode, platforms that are "children" (mergees or subsumees) of other platforms will be skipped. Platforms which are themselves merged or subsumers, when run, will result in the child platforms being updated implicitly (via an audit event and report update)
- Author:
- pavlidis
-
-
Field Summary
-
Fields inherited from class ubic.gemma.core.apps.ArrayDesignSequenceManipulatingCli
auditEventService, auditTrailService
-
Fields inherited from class ubic.gemma.core.util.AbstractCLI
ABORTED, FAILURE, FAILURE_FROM_ERROR_OBJECTS, log, SUCCESS
-
-
Constructor Summary
Constructors Constructor Description ArrayDesignProbeMapperCli()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
buildOptions(org.apache.commons.cli.Options options)
Build option implementation.protected void
doWork()
Command line implementation.String
getCommandName()
A short memorable name for the command that can be used to locate this class.String
getShortDesc()
Obtain a short description for this command explaining what it does.protected boolean
needToRun(Date skipIfLastRunLaterThan, ArrayDesign arrayDesign, Class<? extends ArrayDesignAnalysisEvent> eventClass)
Override to do additional checks to make sure the array design is in a state of readiness for probe mapping.protected void
processOptions(org.apache.commons.cli.CommandLine commandLine)
See 'configure' for how the other options are handled.protected boolean
requireLogin()
Indicate if the command requires authentication.-
Methods inherited from class ubic.gemma.core.apps.ArrayDesignSequenceManipulatingCli
getArrayDesignReportService, getArrayDesignService, getArrayDesignsToProcess, getCommandGroup, isSubsumedOrMerged, locateArrayDesign, shouldRun
-
Methods inherited from class ubic.gemma.core.util.AbstractAuthenticatedCLI
createBatchTaskExecutorService, getGemmaRestApiClient, processStandardOptions
-
Methods inherited from class ubic.gemma.core.util.AbstractCLI
addAutoOption, addAutoOption, addBatchOption, addDateOption, addErrorObject, addErrorObject, addErrorObject, addSuccessObject, addSuccessObject, addThreadsOption, allowPositionalArguments, buildStandardOptions, executeBatchTasks, executeCommand, getAutoSeekEventType, getBatchTaskExecutor, getBean, getBean, getLimitingDate, getNumThreads, getOptions, isAutoSeek, promptConfirmationOrAbort, setAllowPositionalArguments
-
-
-
-
Method Detail
-
buildOptions
protected void buildOptions(org.apache.commons.cli.Options options)
Description copied from class:AbstractCLI
Build option implementation.Implement this method to add options to your command line, using the OptionBuilder.
This is called right after
AbstractCLI.buildStandardOptions(Options)
so the options will be added after standard options.- Overrides:
buildOptions
in classArrayDesignSequenceManipulatingCli
-
requireLogin
protected boolean requireLogin()
Description copied from class:AbstractAuthenticatedCLI
Indicate if the command requires authentication.Override this to return true to make authentication required.
- Overrides:
requireLogin
in classAbstractAuthenticatedCLI
- Returns:
- true if login is required, otherwise false
-
processOptions
protected void processOptions(org.apache.commons.cli.CommandLine commandLine) throws org.apache.commons.cli.ParseException
See 'configure' for how the other options are handled. (non-Javadoc)- Overrides:
processOptions
in classArrayDesignSequenceManipulatingCli
- Throws:
org.apache.commons.cli.ParseException
- in case of unrecoverable failure (i.e. missing option or invalid value), an exception can be raised and will result in an exit code ofAbstractCLI.FAILURE
.- See Also:
AbstractCLI.processOptions(CommandLine)
-
needToRun
protected boolean needToRun(Date skipIfLastRunLaterThan, ArrayDesign arrayDesign, Class<? extends ArrayDesignAnalysisEvent> eventClass)
Override to do additional checks to make sure the array design is in a state of readiness for probe mapping.- Overrides:
needToRun
in classArrayDesignSequenceManipulatingCli
eventClass
- e.g., ArrayDesignSequenceAnalysisEvent.class- Returns:
- true if skipIfLastRunLaterThan is null, or there is no record of a previous analysis, or if the last analysis was run before skipIfLastRunLaterThan. false otherwise.
-
getCommandName
public String getCommandName()
Description copied from interface:CLI
A short memorable name for the command that can be used to locate this class.- Returns:
- name; if null or blank, this will not be available as a shortcut command.
-
doWork
protected void doWork() throws Exception
Description copied from class:AbstractCLI
Command line implementation.This is called after
AbstractCLI.buildOptions(Options)
andAbstractCLI.processOptions(CommandLine)
, so the implementation can assume that all its arguments have already been initialized.- Specified by:
doWork
in classAbstractCLI
- Throws:
Exception
- in case of unrecoverable failure, an exception is thrown and will result in aAbstractCLI.FAILURE
exit code, otherwise useAbstractCLI.addErrorObject(java.lang.Object, java.lang.String, java.lang.Throwable)
to indicate an error and resume processing
-
-