Class ArrayDesignProbeMapperCli

  • All Implemented Interfaces:
    org.springframework.beans.factory.Aware, org.springframework.beans.factory.InitializingBean, org.springframework.context.ApplicationContextAware, org.springframework.context.EnvironmentAware, 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:
    1. Create the array design, perhaps by loading a GPL or via a GSE.
    2. 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)
    3. ArrayDesignBlatCli - runs blat. You must start the appropriate server using the configuration in the properties files.
    4. ArrayDesignProbeMapperCli (this class); you must have the correct GoldenPath database installed and available as configured in your properties files.
    This can also allow directly associating probes with genes (via products) based on an input file, without any sequence analysis.

    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
    • Constructor Detail

      • ArrayDesignProbeMapperCli

        public ArrayDesignProbeMapperCli()
    • Method Detail

      • getShortDesc

        public String getShortDesc()
        Description copied from interface: CLI
        Obtain a short description for this command explaining what it does.
        Specified by:
        getShortDesc in interface CLI
        Overrides:
        getShortDesc in class AbstractCLI
      • 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 ArrayDesignSequenceManipulatingCli
      • 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 class ArrayDesignSequenceManipulatingCli
        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.
        See Also:
        AbstractCLI.processOptions(CommandLine)
      • needToRun

        protected boolean needToRun​(Date skipIfLastRunLaterThan,
                                    ubic.gemma.model.expression.arrayDesign.ArrayDesign arrayDesign,
                                    Class<? extends ubic.gemma.model.common.auditAndSecurity.eventType.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 class ArrayDesignSequenceManipulatingCli
        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.
        Specified by:
        getCommandName in interface CLI
        Overrides:
        getCommandName in class AbstractCLI
        Returns:
        name; if null or blank, this will not be available as a shortcut command.