broadinstitute/IGV — pull request #22 by jsilter (2012-10-09 18:58:20+00:00)
Title: Plugin2

Add command-line plugin API to IGV.

In the general case, assuming a developer had a command line tool, they would need to write:

* An xml specification. This is mandatory, at the very least to specify the path to the tool. See plugins/igv_plugin.dtd. If custom encoders or decoders are used, this specifies the classes

* A class which implements FeatureEncoder. This interface has 1 method: encodeAll(OutputStream, Iterator)
* A class which implements FeatureDecoder

LineFeatureEncoder/Decoder interfaces are provided. If the data is purely line-based (such as BED), these interfaces should be implemented instead, and the boilerplate code of dealing with raw streams is handled in AsciiEncoder/Decoder

See the provided SamAlignmentEncoder, BEDToolsDecoder, bedtools_plugin.xml, and awk_plugin.xml for examples.