Standard plugins:
PACKAGE:charite.christo. PACKAGE:charite.christo.strap. PACKAGE: Warning: The Java classes in Strap may change in the future which might require adaptations to existing plugins. Therefore External Apps (File menu of Strap) should be used instead if possible!

Java based plugins are stored the directory ~/.StrapAlign/plugins as files with the ending .jar When the menu-item "BUTTON:StrapAlign#ACTION_openPlugin" is clicked in the plugin-menu all files ./classes.txt within jar-archives are concatenated to build up the list of plugins. These files contain the names of the main classes optionally followed by white space and a menu name. STRAP loads all classes listed in the classes.txt files with a customized class-loader.

Standard plugins versus hotswapped plugins:
The hotswap mechanism provides a very convenient way to develop a plugin whereas standard plugins can be deployed. The special feature of hotswap plugins is that any change in a Java-file takes effect immediately. Hotswap plugins are defined by one single Java source file stored in the ~/.StrapAlign/hotswap directory. Immagine you write a plugin of type ValueOfResidue which returns a numeric value for each amino acid of the protein. These values are displayed as a profile plot along the sequence. When you change the algorithm in the java source file (file ending .java) and save the file to disk the plot will be immediately redrawn using the new version of the plugin.
Once your plugin is finished you can turn it into a standard plugin and send it to your friends. It can the be deployed as a jar-archive. In order to use the standard plugin it must be present in the directory "~/.StrapAlign/plugins".

Interfaces define the type of plugins:
Plugins are Java classes that extend the functionallity of STRAP. They implement a certain interface depending on the purpose of the plugin: StrapExtension, ResidueSelection, CompareTwoProteins, SequenceAligner, ProteinViewer,, ProteinParser, ProteinWriter, AlignmentWriter, Superimpose3D, ValueOfAlignPosition, ValueOfResidue, ValueOfProtein, ProteinsSorter, TransmembraneHelix_Predictor, SecondaryStructure_Predictor, CoiledCoil_Predictor.

Packaging a standard plugins The class-name followed by white space and the name of the menu must be written into the file classes.txt. Optionally a png- or gif-file with the same base name as the class-file can contain the icon. Documentation may be saved as a file with the suffix "Help.html". All files are bundled in one jar-file. This jar file is the plugin file. As soon as it is copied to the file "~/.StrapAlign/plugins" the plugin is available in STRAP.

The class path The WIKI:Classpath_(Java) may contain additional jar-files downloaded to the directory "~/.StrapAlign/plugins". The URLs of these jar-files need to be specified in a file "download.txt" in the jar-file of the plugin.