1. Modified vcf_parse to update rlen only when an END INFO tag is seen -

Issue: https://github.com/broadinstitute/gamgee/issues/191
1. Modified vcf_parse to update rlen only when an END INFO tag is seen -the END tag is NOT encoded into v->shared.s
2. Modified vcf_write to add END INFO tag if required

Well, no.  Symbolic alleles (other than <NON-REF> and <X>) can have END
tags to signify a block (that's where we stole this idea from in the first
place).
What we meant was that if there is just 1 alt allele and it is <NON-REF> or
<X>, then an END signifies a block.  And if there is more than 1 alt allele
and 1 of them is symbolic (but not <NON-REF> or <X>), then an END signifies
a block.


On Tue, Sep 9, 2014 at 10:17 PM, jmthibault79 <notifications@github.com>
wrote:

> In vcf.c:
>
> > @@ -1993,6 +2002,12 @@ int vcf_format(const bcf_hdr_t *h, const bcf1_t *v, kstring_t *s)
> >  {
> >      int i;
> >      bcf_unpack((bcf1_t*)v, BCF_UN_ALL);
> > +    //2 alleles, first is REF and 2nd is NON_REF and rlen > 1, update END tag in INFO
> > +    if(v->n_allele == 2 &&  v->rlen > 1 && (strcmp(v->d.allele[1], "<NON_REF>") == 0))
>
> My understanding from that conversation is that the case with multiple alt
> alleles including <X> or <NON_REF> will never be a block with an END tag:
> it will only be an event at a single location. Is that correct?
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/broadinstitute/htslib/pull/5/files#r17339794>.
>