gatk-3.8/scala/qscript/oneoffs/kshakir/linearindexbintests
kshakir f3e94ef2be Walkers can now specify a class extending from Gatherer to merge custom output formats. Add @Gather(MyGatherer.class) to the walker @Output.
JavaCommandLineFunctions can now specify the classpath+mainclass as an alternative to specifying a path to an executable jar.
JCLF by default pass on the current classpath and only require the mainclass be specified by the developer extending the JCLF, relieving the QScript author from having to explicitly specify the jar.
Like the Picard MergeSamFiles, GATK engine by default is now run from the current classpath. The GATK can still be overridden via .jarFile or .javaClasspath.
Walkers from the GATK package are now also embedded into the Queue package.
Updated AnalyzeCovariates to make it easier to guess the main class, AnalyzeCovariates instead of AnalyzeCovariatesCLP.
Removed the GATK jar argument from the example QScripts.
Removed one of the most FAQ when getting started with Scala/Queue, the use of Option[_] in QScripts:
1) Fixed mistaken assumption with java enums. In java enums can be null so they don't need nullable wrappers.
2) Added syntactic sugar for Nullable primitives to the QScript trait. Any variable defined as Option[Int] can just be assigned an Int value or None, ex: myFunc.memoryLimit = 3
Removed other unused code.
Re-fixed dry run function ordering.
Re-ordered the QCommandline companion object so that IntelliJ doesn't complain about missing main methods.

git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@5504 348d0f76-0448-11de-a6fe-93d51630548a
2011-03-24 14:03:51 +00:00
..
LinearIndexBinTests.scala Walkers can now specify a class extending from Gatherer to merge custom output formats. Add @Gather(MyGatherer.class) to the walker @Output. 2011-03-24 14:03:51 +00:00
LinearIndexBinTests.sh Refactoring the qscript directory; oneoffs, playground, and core 2011-01-19 15:23:40 +00:00
README.txt Refactoring the qscript directory; oneoffs, playground, and core 2011-01-19 15:23:40 +00:00
grep_results.sh Refactoring the qscript directory; oneoffs, playground, and core 2011-01-19 15:23:40 +00:00
plot_results.R Refactoring the qscript directory; oneoffs, playground, and core 2011-01-19 15:23:40 +00:00
test_vcfs Refactoring the qscript directory; oneoffs, playground, and core 2011-01-19 15:23:40 +00:00

README.txt

DESCRIPTION
-----------

This folder contains a set of test scripts for evaluating the MAX_FEATURES_PER_BIN setting in tribble/src/org/broad/tribble/index/linear/LinearIndex.java

For the tests to work you must patch the tribble code to enable the MAX_FEATURES_PER_BIN to be set via a system property, for example:
  java -jar GenomeAnalysisTK.jar -DMAX_FEATURES_PER_BIN=1 ...


SCRIPTS
-------

*** LinearIndexBinTests.sh ***

Runs the scala script LinearIndexBinTests.scala.  Requires that you pass rods via "rod lists" (see below) and specify how much memory to run each set of tests with.

Example dry run:
  ./LinearIndexBinTests.sh -mem 2 -mem 4 -mem 6 -BL test_vcfs

Example run:
  ./LinearIndexBinTests.sh -mem 2 -mem 4 -mem 6 -BL test_vcfs -run

Example run on the hour queue:
  ./LinearIndexBinTests.sh -mem 2 -mem 4 -mem 6 -BL test_vcfs -jobQueue hour -run

Example run on the hour queue with each job run three times:
  ./LinearIndexBinTests.sh -mem 2 -mem 4 -mem 6 -BL test_vcfs -jobQueue hour -numRuns 3 -run

*** grep_results.sh ***

Greps the CPU and Max Memory statistics from the LSF output files into a file mfpb.txt.

Example:
  ./grep_results.sh
  [outputs: ./mfpb.txt]

*** plot_results.R ***

Creates a plot from a subset of the data in mfpb.txt.  Can be run multiple times to produces plots for the different memory limits passed to LinearIndexBinTests.sh

Example:
  ./plot_results.R mfpb.txt 2
  ./plot_results.R mfpb.txt 4
  ./plot_results.R mfpb.txt 6
  [outputs: ./max_features_per_bin_Xmx2g.pdf ./max_features_per_bin_Xmx4g.pdf ./max_features_per_bin_Xmx6g.pdf]


ROD LISTS
---------

A rod list is a file that contains the FASTA reference on the first line, and then 1..N ROD files in the rest of the file.  The RODs must all end with an extension that corresponds to the rod type, for example: .vcf, .bed, etc.

Example:
  [See test_vcfs]