Commit Graph

246 Commits (dcad4b865c55546c1c3ba3dacab5b350b5194202)

Author SHA1 Message Date
Mark DePristo dcad4b865c build.xml now copies report files to ~/private_html for convenient viewing 2012-05-28 10:22:09 -04:00
Mark DePristo e9c22b9aad Final updates to integration tests for BCF2
-- Fully working version
-- Use -generateShadowBCF to write out foo.bcf as well as foo.vcf anywhere you use -o foo.vcf
-- Moved MedianUnitTest to its proper home in Utils
-- Added reportng to ivy and testng, so build/report/X/html/ is a nicely formatted output for Unit and Integration tests.  From this website it's easy to see md5 diffs, etc.  This is a vastly better way to manage unit and integration test output
2012-05-24 10:58:59 -04:00
Mark DePristo 6f469305ab Don't try to share BCF2 yet 2012-05-24 10:57:06 -04:00
Mark DePristo afd2f1a3f9 Individual VariantContextWriters are now package protected
-- Added VCFHeader() constructor that makes an empty header, and updated VariantRecalibrator to use it
-- Update build.xml to build vcf.jar with updated paths and bcf2 support.
2012-05-24 10:57:00 -04:00
David Roazen 9c6bccfd8b build system overhaul
* Added support for a protected directory whose contents are only made public in binary form

* Simplified and reorganized build.xml to improve readability and maintainability

* build.xml now autodetects most build properties:
    -Includes private/protected if they exist
    -No more STING_BUILD_TYPE or specialized targets for public-only, etc.

* Build targets have changed! There are now two main build options:

"ant"       build everything (GATK and Queue)
"ant gatk"  build just the GATK

It was too hard to build everything before -- now it is the default.

* To run tests with debugging, use -Dtest.debug=true -Dtest.debug.port=XXXX on the command line.
  Much better than the old comment/uncomment method!
2012-05-17 15:16:29 -04:00
Mark DePristo 58c470a6c5 Rev'ing Tribble from 53 to 94
-- Other tribble contributors did major refactoring / simplification of tribble, which required some changes to GATK code
-- Integrationtests pass without modification, though some very old index files (callable loci beds) were apparently corrupt and no longer tolerated by the newer tribble codebase
2012-05-03 07:31:47 -04:00
Mark DePristo 08fab49d30 Added function to get bases from the current base forward in the window in ReferenceContext 2012-04-06 16:07:46 -04:00
Guillermo del Angel ce617b2dfc Bug fix to previous UnifiedGenotyperEngine refactoring, removed debug code 2012-03-25 10:20:21 -04:00
Guillermo del Angel deb4586559 Next intermediate commit for new pool caller structure: a) Bug fixes in pool GL computation. Now, correct GL's are returned per each pool to the UG engine. Work still needs to be done in redoing interface with exact model. b) Added unit tests for new MathUtils dot product and logDotProduct functions. c) Refactorings of UnifiedGentotyperEngine since N (size of prior/posterior arrays) is no longer necessarily nSamples+1 but, in general, nSamplesPerPool*nPools+1 2012-03-24 21:49:43 -04:00
Guillermo del Angel 0a56a14d09 Build fixes to merge pool calculation models with latest interface changes. Reverted build.xml's private debug changes 2012-03-22 16:07:07 -04:00
Guillermo del Angel f198cec5e2 Temp commit: new structure for pool caller, now all work is in the same framework as in UG. There's a new genotype calculation model, PoolGenotypeCalculationModel, that does all the work and plugs into UnifiedGenotyperEngine. A new AF module for pools is upcoming. Old pool caller will be removed once all work is migrated 2012-03-22 15:46:39 -04:00
David Roazen 0702ee1587 Public-key authorization scheme to restrict use of NO_ET
-Running the GATK with the -et NO_ET or -et STDOUT options now
 requires a key issued by us. Our reasons for doing this, and the
 procedure for our users to request keys, are documented here:
 http://www.broadinstitute.org/gsa/wiki/index.php/Phone_home

-A GATK user key is an email address plus a cryptographic signature
 signed using our private key, all wrapped in a GZIP container.
 User keys are validated using the public key we now distribute with
 the GATK. Our private key is kept in a secure location.

-Keys are cryptographically secure in that valid keys definitely
 came from us and keys cannot be fabricated, however keys are not
 "copy-protected" in any way.

-Includes private, standalone utilities to create a new GATK user key
 (GenerateGATKUserKey) and to create a new master public/private key
 pair (GenerateKeyPair). Usage of these tools will be documented on
 the internal wiki shortly.

-Comprehensive unit/integration tests, including tests to ensure the
 continued integrity of the GATK master public/private key pair.

-Generation of new user keys and the new unit/integration tests both
 require access to the GATK private key, which can only be read by
 members of the group "gsagit".
2012-03-06 00:09:43 -05:00
David Roazen 47f4440aea Merged bug fix from Stable into Unstable 2012-01-24 15:19:29 -05:00
David Roazen b07fdb1089 Rename alltests* targets in build.xml
"ant alltests" is now "ant committests"
"ant alltests.public" is now "ant committests.public"
"ant alltests.gatk.packagejar" is now "ant releasetests.gatk.packagejar"
"ant alltests.queue.packagejar" is now "ant releasetests.queue.packagejar"

This is going into both Stable + Unstable so that all Bamboo
plans can be properly updated at the same time.
2012-01-24 14:58:30 -05:00
Aaron McKenna ced6775de3 Changes to allow for external tests
Changes to the build script that allow the external directory to have tests.
This means groups like CGA don't have to reinvent the wheel on testing, and
can instead use the GATKs unit and integration tests.

Signed-off-by: David Roazen <droazen@broadinstitute.org>
2012-01-19 13:04:24 -05:00
Khalid Shakir 5793625592 No more "Q-<pid>@<host>". Generated log file names now use the first output + ".out" (ex. my.vcf.out) or the name of the first QScript plus the order the function was added (ex. MyScript-1.out). The same function added twice with the same outputs will now have the same default logs, meaning the 2nd instance of the function won't be added to the graph twice.
QScript accessor to QSettings to specify a default runName and other default function settings.
Because log files are no longer pseudo-random their presense can be used to tell if a job without other file outputs is "done". For now still using the log's .done file in addition to original outputs.
Gathered log files concatenate all log files together into the stdout.
InProcessFunctions now have PrintStreams for stdout and stderr.
Updated ivy to use commons-io 2.1 for copying logs to the stdout PrintStream. Removed snakeyaml.
During graph tracking of outputs the Index files, and now BAM MD5s, are tracked with the gathering of the original file.
In Queue generated wrappers for the GATK the Index and MD5s used for tracking are switched to private scope.
Added more detailed output when running with -l DEBUG.
Simplified graphviz visualization for additional debugging.
Switched usage of the scala class 'List' to the trait 'Seq' (think java.util.ArrayList vs. using the interface java.util.List)
Minor cleanup to build including sending ant gsalib to R's default libloc.
2012-01-08 12:11:55 -05:00
David Roazen 055364d786 Always use full, three-part version numbers.
Previously, the initial release of a new GATK version had a version
number with only one part (eg., "1.4"). This could potentially mislead
people into thinking it's the most recent revision of a release, instead
of the least recent.

Now, initial releases will have full, three-part version numbers
(eg., "1.4-0-g472fc94") like everything else.
2012-01-03 10:25:19 -05:00
David Roazen 510c71158c Merged bug fix from Stable into Unstable 2011-12-22 10:49:52 -05:00
David Roazen 32cdef9682 Rename *PerformanceTest test classes to *LargeScaleTest
This is in preparation for the installation of the new performance test suite in Bamboo.

Note that "ant performancetest" is now "ant largescaletest"
2011-12-22 10:38:49 -05:00
Matt Hanna d50f9b98bb Make sure that the temporary ReadWalker performance improvement hack
works well in the binary release, jic GATK 1.4 arrives before I get
a Picard patch.
2011-12-20 21:42:30 -05:00
Mark DePristo f0ac588d32 Extensive unit test for GenotypeContextUnitTest
-- Currently only tests base class.  Adding subclass testing in a bit
2011-11-20 18:28:01 -05:00
Mark DePristo 9445326c6c Genotype is Comparable via sampleName 2011-11-20 18:26:27 -05:00
Khalid Shakir b80d407dc7 No more hunting down R "resources". As a tradeoff Rscript cannot be specified on the commandline and will be found in the environment path.
Other minor cleanup.
2011-10-27 14:17:07 -04:00
Khalid Shakir fac9932938 Embedding gsalib source and queueJobReport R scripts in the dist and package jars.
Moved gsalib and queueJobReport.R to embeddable namespaced locations.
Updated packager dependencies/dir to add an @includes which filters the embedded fileset.
RScriptExecutor can now JIT compiles the gsalib.
RScriptExecutor uses ProcessController and sends the Rscript output to java's stdout when run under -l DEBUG.
Refactored ProcessController and IOUtils from Queue to Sting Utils.
Added more unit tests to ProcessController along with a utility class to hard stop OutputStreams at a specified byte count.
Replaced uses of some IOUtils with Apache Commons IO.
ShellJobRunner refactored to use direct ProcessController and now kills jobs on shutdown.
Better QGraph responsiveness on shutdown by using Object.wait() instead of Thread.sleep().
2011-10-24 15:58:34 -04:00
David Roazen 2193da6bfb Merged bug fix from Stable into Unstable 2011-10-16 07:37:20 -04:00
David Roazen dcd4eee15f Revert "Intentionally breaking the binary release as a test."
The test was successful -- the packaging error was detected and
prevented from propagating out into the binary/source releases.

This reverts commit 8f2a1462d94ce50fb7c1b1d0c40142b109e9c38e.
2011-10-16 07:24:33 -04:00
David Roazen 88c9a35b2a Merged bug fix from Stable into Unstable 2011-10-15 20:28:48 -04:00
David Roazen 46badee76a Intentionally breaking the binary release as a test.
This is to test the ability of the new release system
to detect the kinds of packaging errors we couldn't
detect before (in this case, missing codecs). If all goes
as expected, "GSA-Stable: Release" will fail, preventing
the binary release and github from getting updated, while
"GSA-Stable: All Tests" and all of the other old test plans
will pass.

Will revert this in a bit -- if the system works as it should,
our users will never see it until after it's been reverted.
2011-10-15 20:20:41 -04:00
David Roazen 900eb19acb Merged bug fix from Stable into Unstable 2011-10-14 23:05:01 -04:00
David Roazen c756da1798 Remove unnecessary debugger port listening from GATKDoclet invocation.
This caused a race condition between concurrently-running bamboo plans.
2011-10-14 22:59:12 -04:00
David Roazen aad99563be Merged bug fix from Stable into Unstable 2011-10-14 03:26:35 -04:00
David Roazen 442d33ba18 Enable testing of the jars produced by the packaging system.
-Added targets to run unit and integration tests on the fully-packaged GATK jar,
and pipeline tests on the fully-packaged Queue jar. Once enabled in Bamboo,
these will provide greatly-enhanced protection against breakage in the binary
release.

-Unconditionally include all of the subset of org.broadinstitute.sting
included in the intermediate jars GenomeAnalysisTK.jar, StingUtils.jar,
etc. in the final, fully-packaged jar. This:
    * is necessary to get tests to run on the fully-packaged jar
    * decreases the chances of a class that is a runtime-only
      dependency getting left out of the binary release
    * only slightly increases the size of the binary release
      (before: 9352465 bytes, after: 10985482 bytes)
2011-10-14 03:08:28 -04:00
Matt Hanna e19dba86a6 Merged bug fix from Stable into Unstable 2011-10-08 22:37:12 -04:00
Matt Hanna 0016c707a3 Codecs other than VCF accidentally bled into vcf.jar. Unfortunately, vcf.jar
turned out to be the *only* home for these other codecs.  This change pushes
them back into StingUtils.jar.
2011-10-08 22:24:35 -04:00
Matt Hanna 3961733590 Merged bug fix from Stable into Unstable 2011-10-06 12:54:52 -04:00
Matt Hanna 4fa5045e84 Abandoning classfileset/rootfileset approach due to difficulting managing
classloading of bcel*.jar/ant-apache-bcel*.jar.  Switching instead to manually
specifying a minimal set of packages/classes to include in the vcf.jar via
build.xml, and adding a unit test which creates a limited classloader
only aware of vcf.jar and tribble.jar and tries to use it to load the core
classes in the vcf jar.

Hopefully third time's the charm.
2011-10-06 12:49:51 -04:00
Matt Hanna 2f12bfaad5 Merged bug fix from Stable into Unstable 2011-10-06 10:10:00 -04:00
Matt Hanna efca1fdfd8 Revert change until I figure out how to use classfileset/rootfileset
with a vanilla ant install.

This reverts commit 4c9022872beec8dc0700a1320a267e3603c8212d.
2011-10-06 10:08:48 -04:00
Mark DePristo b945e97de1 Shouldn't have committed the non-fetching version by default 2011-10-05 17:12:48 -07:00
Matt Hanna 982983355f Merged bug fix from Stable into Unstable 2011-10-05 18:27:29 -04:00
Matt Hanna dd780dba5f Rather than just picking a few classes to be the roots of the vcf jar and
including all dependencies, use the entire codecs.vcf and variantcontext
packages as roots.

Fix for my fix for Jim Robinson.
2011-10-05 18:25:26 -04:00
David Roazen b732f740d2 Revert "Change vcf jar to use a classfileset to pull all dependencies. Should save"
This reverts commit 441022c4c600624928da46419a6a289200700f3e.
2011-10-05 16:51:30 -04:00
Matt Hanna 88c2fad64f Change vcf jar to use a classfileset to pull all dependencies. Should save
Jim Robinson some detective work in the long run.
2011-10-04 13:14:39 -04:00
Mark DePristo b20689ff55 No longer supports extraProperties
-- the underlying data structure is still present, but until I decide what to do for the extensible system I've completely disabled the subsystem
-- Added code to merge Samples, so that a mostly full record can be merged with a consistent empty record.  If the two records are inconsistent, an error is thrown
-- addSample() in Sample.class now invokes mergeSample() when appropriate
-- Validation types are now only STRICT or SILENT
-- Validation code implemented in SampleDBBuilder
-- Extensive unit tests for SampleDBBuilder
2011-10-03 19:20:33 -07:00
Khalid Shakir 61b89e236a To work around potential problem with invalid javax.mail 1.4.1 in ivy cache, added explicit javax.mail 1.4.4 along with build.xml code to remove 1.4.1. 2011-09-20 00:14:35 -04:00
David Roazen 6bd8a53efd Fix nasty bug involving the build report generation when multiple test targets are specified on the same command line.
Ant immutable properties: sometimes your friend, often your enemy.
2011-09-09 12:13:10 -04:00
David Roazen 60a3618845 Added "alltests" build targets.
To run the same set of tests as the bamboo "All Tests" plan (unit tests,
integration tests, and pipeline tests):

ant alltests

To do the same as above on only the public portion of the codebase:

ant alltests.public
2011-09-09 12:13:10 -04:00
David Roazen 388c9a9c55 Enable public-only tests.
Public-only tests will allow us to check for runtime public -> private
dependencies when bamboo updates the github repository (currently, we
only check for *compile-time* public -> private dependencies).

To compile/run only public tests, append ".public" to the name of an existing
test target:

ant test.public
ant integrationtest.public
ant performancetest.public
ant pipelinetest.public
ant pipelinetestrun.public
2011-09-08 15:58:42 -04:00
David Roazen 50908fe285 Enable conditional inclusion of documentation for hidden features in GATKDocs.
To include documentation for hidden features in the generated GATKDocs,
run with -Dgatkdocs.include.hidden=true

I will enable this flag when bamboo generates GATKDocs for unstable.
2011-08-27 03:38:01 -04:00
David Roazen ccfed5d64d Enable Contracts for Java by default for test targets.
Contracts remain disabled for non-test build targets. To enable for
non-test targets, run with -Duse.contracts=true. To disable for test
targets, run with -Duse.contracts=false.
2011-08-27 02:45:47 -04:00