Fixes to sorting in ReferencePosition
Merge pull request #8 from genomebridge/fixOptionSorting

Fixes to sorting in ReferencePosition
Modified reads2ref code to fix performance issue. Also, broke code up to add reads2pileups function.
Add vcf2adam command. Add ADAMVariant to schema.
Adding in implicit conversion functions for going between Java and Scala types. Makes pushing data between Scala/Java/Avro a bit cleaner.
Moved record field name enum over to the projections package.
Merge pull request #10 from bigdatagenomics/moving-record-enum

Moved record field name enum over to the projections package.
Missing brackets in VcfConverter.getType

There were missing brackets, I believe, in the method getType in the class VcfConverter,
which caused the VariantType.SV never to be returned correctly.

I've added a test to make sure that all the types are accessible to the getType method, and
I've moved the method itself to an object (since it depends on none of the fields of the
VcfConverter class itself).
Merge pull request #11 from genomebridge/vcfconverter-typo

Missing brackets in VcfConverter.getType
Fixed a bug in AdamContext.adamLoad

See the comment there -- basically, we weren't testing for a subclass
relationship between the type parameter T and ADAMRecord in the right way,
I think?

Added a test to make sure that we can load SAM files correctly.
Merge pull request #12 from genomebridge/subclass-error

Subclass testing bug in AdamContext.adamLoad
Adding support for sequence dictionary extraction and handling.

(1) Adding referenceLength and referenceUrl to the ADAMRecord schema.

ADAMRecord now contains a (flattened) version of the sequence dictionary element
corresponding to each read.

An entire sequence dictionary will be able to be read out of the records associated
with a single BAM or SAM file.

(2) Added SequenceDictionary class

Aggregates a consistent set of SequenceRecord objects into a single dictionary.

SequenceRecords are derived from the reference{Id, Name, Length, Url} fields of the
ADAMRecord.

Most of the work here goes in to providing methods for combining and mapping between
sequence dictionaries, which will be used for cross-BAM or cross-ADAM comparisons.

(3) Extended Bam2Adam to create a SequenceDictionary .dict parquet file

When bam2adam is run on a BAM, we extract the sequence dictionary from the BAM's header
and insert its values into each ADAMRecord.

Also updated the adamBamLoad method in ADAMContext to do something similar, even without
the explicit parquet file.

(4) Adding the ListDict command.

ListDict reads a SequenceDictionary out of a set of ADAMRecords and prints out all the
component SequenceRecord objects contained in it.

(5) Adding the CompareAdam command

CompareAdam is a command that takes two ADAM files as arguments.

It assumes that the same read names are present in *both* input ADAM files --
for example, if the two files were produced by different alignment tools run
on the same set of reads.

It calculates the number of reads that are unique to each ADAM file, as well as
the number of shared reads which have the same alignment position across the two
BAMS.

This position is computed irrespective of the ordering of the Sequences in the
sequence dictionaries of the two ADAM files, and therefore is a useful end-to-end
test of the SequenceDictionary code, as well as being the basis for more useful
pairwise comparisons of ADAM files in the future.

(6) Extending AdamContext with methods to automate the loading of SequenceDictionary
objects out of any conformant Avro schema.
Enable logging via log4j
Increase throughput of bam2adam by reducing lock contention
Fix scripts/jenkins-test to run under Ubuntu
Merge pull request #15 from jey/tweaks-1

Tweaks 1
Fixing an issue in pileup generation and in the MdTag util. Also, adding test coverage.
Merge pull request #16 from bigdatagenomics/pileup-mdtag-fix

Fixing an issue in pileup generation and in the MdTag util.