Class ArrayDesignSequenceManipulatingCli

All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.InitializingBean, org.springframework.context.ApplicationContextAware, org.springframework.context.EnvironmentAware, CLI
Direct Known Subclasses:
AffyProbeCollapseCli, ArrayDesignAnnotationFileCli, ArrayDesignAuditTrailCleanupCli, ArrayDesignBioSequenceDetachCli, ArrayDesignBlatCli, ArrayDesignMapSummaryCli, ArrayDesignMergeCli, ArrayDesignProbeCleanupCLI, ArrayDesignProbeMapperCli, ArrayDesignProbeRenamerCli, ArrayDesignRepeatScanCli, ArrayDesignSequenceAssociationCli, ArrayDesignSubsumptionTesterCli, BioSequenceCleanupCli

public abstract class ArrayDesignSequenceManipulatingCli extends AbstractAutoSeekingCLI<ArrayDesign>
Aggregates functionality useful when writing CLIs that need to get an array design from the database and do something with it.
Author:
pavlidis
  • Field Details

  • Constructor Details

    • ArrayDesignSequenceManipulatingCli

      protected ArrayDesignSequenceManipulatingCli()
  • Method Details

    • getCommandGroup

      public CLI.CommandGroup getCommandGroup()
      Description copied from interface: CLI
      Obtain the command group for this CLI.
      Specified by:
      getCommandGroup in interface CLI
      Overrides:
      getCommandGroup in class AbstractCLI
    • getArrayDesignsToProcess

      protected Collection<ArrayDesign> getArrayDesignsToProcess()
    • 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 class AbstractCLI
    • processOptions

      @OverridingMethodsMustInvokeSuper protected void processOptions(org.apache.commons.cli.CommandLine commandLine) throws org.apache.commons.cli.ParseException
      Description copied from class: AbstractCLI
      Process command line options.

      Implement this to provide processing of options. It is called after AbstractCLI.buildOptions(Options) and right before AbstractCLI.doWork().

      Overrides:
      processOptions in class AbstractAutoSeekingCLI<ArrayDesign>
      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 of AbstractCLI.FAILURE.
    • getArrayDesignReportService

      protected ArrayDesignReportService getArrayDesignReportService()
    • getArrayDesignService

      protected ArrayDesignService getArrayDesignService()
    • toBatchObject

      protected Serializable toBatchObject(@Nullable ArrayDesign object)
      Description copied from class: AbstractAutoSeekingCLI
      Convert the given object to a serializable object for batch processing.
      Specified by:
      toBatchObject in class AbstractAutoSeekingCLI<ArrayDesign>
    • isSubsumedOrMerged

      protected boolean isSubsumedOrMerged(ArrayDesign arrayDesign)
      Parameters:
      arrayDesign - the array design to check
      Returns:
      true if the sequences on the given array design would be equivalently treated by analyzing another array design. In the case of subsumption, this only works if the array design has been either analyzed for subsuming status. (the analysis is not done as part of this call).
    • shouldRun

      protected boolean shouldRun(Date skipIfLastRunLaterThan, ArrayDesign design, Class<? extends ArrayDesignAnalysisEvent> cls)
    • needToRun

      protected boolean needToRun(Date skipIfLastRunLaterThan, ArrayDesign arrayDesign, Class<? extends ArrayDesignAnalysisEvent> eventClass)
      Parameters:
      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.