The four most important classes in this package are:
BeamDriver
because SCOPE
originally consisted of only the Beam algorithm. Many other drivers extend this class
to provide the functionality of hooking up SCOPE as they see fit. Each subclass specifies the order in which the SCOPE programs are executed,
and constructs the appropriate {@link edu.dartmouth.bglab.score.Scorer} based on the properties that it is given. If you are looking
at adding functionality, you will most likely want to extend BeamDriver
to encapsulate the functionality you want. Current
subclasses in this package include drivers that run SCOPE then score Phis against known hits ({@link edu.dartmouth.bglab.beam.BiologicalBeamDriver}),
generate corrupt data sets ({@link edu.dartmouth.bglab.beam.CorruptionDriver}), score Phis from a file against known hits
({@link edu.dartmouth.bglab.beam.PhiScoreDriver}), and generate FASTA sequences for the driver's regulon
({@link edu.dartmouth.bglab.beam.FASTAdriver}). BeamDriver
does all of its file output through
protected methods that can be overridden to stop these files from being written. This functionality is used in
the edu.dartmouth.bglab.beam.web
package to restrict file output in the web front end to SCOPE.
Scope
is set up to easily add and remove flags. Each flag is associated with a parameter
in the default params file. In general, there will be one driver per regulon.