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
+1 Richard's comment.

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
> … <#148b8806f4bda9c1_>
> 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>.
>