The picard/htsjdk API currently considers anything that is not a simple sequence of ACTGN bases to be a symbolic allele. This update does not change this approach, merely changes the set of allele considered to be symbolic from {symbolic, named contigs, breakpoints} to {symbolic, named contigs, breakpoints, breakends, name contig insertions}.

The existing Allele implementation already allows malformed breakpoints (eg "AAA[") and just offloads the treatment and parsing of the to downstream users of the API.

Proper handling of these alleles would require a redesign of -picard- htsjdk allele handling. For example, an abstract Allele base class with BaseSequenceAllele, SymbolicAllele, BreakendAllele, BreakpointAllele, MissingAllele subclass would make my work as a structural variation user of the API much easier (NB: this proposed design is incomplete as it does not cater for ID string alleles such as "A<\ctg1>\").

Whilst I would very much use and appreciate such changes, such I felt such as redesign was too far-reaching to be appropriate for an unsolicited push.