First commit of the matchmaker APIs

This is a wip translation of the matchmaker APIs into avro.

Autogenerated docs are here: http://cassiedoll.github.io/matchmaker-staging.html
I agree with Richard that it is extremely important that the GA4GH have one
shared way to represent genetic variation for all projects, and that is in
our official release (currently v0.5), and then have tools to translate
that into equivalent project-specific representations when that is
necessary.  -D

On Sat, Sep 27, 2014 at 12:04 PM, Richard Durbin <notifications@github.com>
wrote:

> In src/main/resources/avro/wip/matchmaker.avdl:
>
> > +  union { null, long } end = null;
> > +
> > +  /**
> > +  The reference bases. (e.g. `-`, `A`, `ACG`, …, where `-` is used to indicate
> > +  an insertion)
> > +  */
> > +  union { null, string } ref = null;
> > +
> > +  /**
> > +  The alternate bases. (e.g. `-`, `A`, `ACG`, …, where `-` is used to indicate
> > +  a deletion)
> > +  */
> > +  union { null, string } alt = null;
> > +
> > +  /** 1 for heterozygous or hemizygous, 2 for homozygous; */
> > +  union { null, int } zygosity = null;
>
> I really think that GA4GH should have a consistent representation for
> genetic variation. Making a different representation in the MatchMaker
> interface and the Variants interface would send a bad message of not being
> joined up. I suggest that MatchMaker either use the Variant interface
> developed by the Data Working Group, or at least uses a representation
> consistent with it. Having '-' in the reference bases to represent an
> insertion is not consistent with the Variant interface, or with VCF, which
> Variant.avdl is based on and which has been a standard used for years. I
> expect that all the tools that Orion mentions can already parse VCF, so it
> would not create confusion to use the VCF conventions - rather the reverse.
> Richard
> … <#148b8807333b5356_>
> On 27 Sep 2014, at 00:39, Orion Buske <notifications@github.com> wrote:
> In src/main/resources/avro/wip/matchmaker.avdl: > + union { null, long }
> end = null; > + > + /** > + The reference bases. (e.g. `-`, `A`, `ACG`, …,
> where `-` is used to indicate > + an insertion) > + */ > + union { null,
> string } ref = null; > + > + /** > + The alternate bases. (e.g. `-`, `A`,
> `ACG`, …, where `-` is used to indicate > + a deletion) > + */ > + union {
> null, string } alt = null; > + > + /** 1 for heterozygous or hemizygous, 2
> for homozygous; */ > + union { null, int } zygosity = null; Though the
> allelic dosage is used in some contexts (and I'm actually the one who
> originally put this in the original API), I agree that using a VCF-style
> indexing into ref/alts might provide necessary flexibility down the line.
> Also, Richard, I would actually be very hesitant to require prefix bases.
> Yes it requires the receiving system to actually have a copy of the
> reference genome to know the exact bases, but these prefix bases can lead
> to inconsistencies in the representation of indels, and in practice have to
> just be removed by database-based annotation tools anyway (e.g. CADD,
> Exomiser, SilVA, ANNOVAR, etc.). — Reply to this email directly or view it
> on GitHub.
>  -- The Wellcome Trust Sanger Institute is operated by Genome Research
> Limited, a charity registered in England with number 1021457 and a company
> registered in England with number 2742969, whose registered office is 215
> Euston Road, London, NW1 2BE.
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/ga4gh/schemas/pull/137/files#r18125259>.
>