Class UpdateExternalRelationsCli

All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.InitializingBean, org.springframework.context.ApplicationContextAware, org.springframework.context.EnvironmentAware, CLI

public class UpdateExternalRelationsCli extends AbstractAuthenticatedCLI
Rebuilds the EXTERNAL rows of ANNOTATION_RELATION from the third-party resources that state relations Gemma cannot derive itself.

MGI: which mutant alleles its curators say model which diseases, and which they say do not. Cellosaurus: which disease a cell line's donor had and which part of the body it came from — the relations CLO barely asserts, for 141,670 lines including the ones that exist nowhere else.

A command of its own for the reason updateOntologyRelations is one: the prerequisites differ. That one needs CLO and CHEBI warmed; this one reads two files off MGI's download server and needs only MONDO, which is what the reports' DOID: identifiers are translated out of.

🛑 A failed download leaves the existing rows alone rather than emptying them. A fetch that did not work is not MGI retracting every statement it has ever made.

  • Constructor Details

    • UpdateExternalRelationsCli

      public UpdateExternalRelationsCli()
  • Method Details

    • getCommandName

      @Nullable 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.
    • getShortDesc

      @Nullable 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 AbstractCLI
    • processOptions

      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 AbstractCLI
      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.
    • doAuthenticatedWork

      protected void doAuthenticatedWork() throws Exception
      Specified by:
      doAuthenticatedWork in class AbstractAuthenticatedCLI
      Throws:
      Exception