Class AbstractUserArgumentProcessor

java.lang.Object
org.biojava.nbio.structure.align.ce.AbstractUserArgumentProcessor
All Implemented Interfaces:
UserArgumentProcessor
Direct Known Subclasses:
CeUserArgumentProcessor, FatCatUserArgumentProcessor, SmithWatermanUserArgumentProcessor

public abstract class AbstractUserArgumentProcessor extends Object implements UserArgumentProcessor
Base class for a new structure alignment CLI.

To add a new StructureAlignment with a CLI similar to CE or FATCAT,

  1. Implement StructureAlignment with the main algorithm
  2. Implement ConfigStrucAligParams. This provides the parameters for the GUI.
  3. Subclass StartupParameters (can be an inner class) with the same parameters described in the ConfigStrucAligParams.
  4. Subclass AbstractUserArgumentProcessor, with the getStartupParams() method returning a fresh instance of the custom StartupParameters
  5. Implement the getParameters() method to copy values from the StartupParameters to the ConfigStrucAligParams.

Note that reflection is used in a number of places, so the CLI argument names must match the get/set functions in both parameter beans.

  • AlignmentGUI automatically takes parameter names and types from the ConfigStrucAligParams
  • AbstractUserArgumentProcessor also takes parameter names and help descriptions from ConfigStrucAligParams, but it saves arguments to the StartupParameter bean.
This means that both beans should be kept in sync.
Author:
Andreas, Spencer