a trivial wrapper interface for the objects capable of holding 'full' genotype, i.e. both point (as in ref/snp) and indel variants at the same reference position

git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@794 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
asivache 2009-05-22 17:12:01 +00:00
parent 7a979859a9
commit 8773b3a430
1 changed files with 46 additions and 0 deletions

View File

@ -0,0 +1,46 @@
package org.broadinstitute.sting.gatk.refdata;
import org.broadinstitute.sting.utils.GenomeLoc;
/** A simple wrapper interface that allows for keeping any of the "main" (point mutation) or "associated" (indel)
* genotypes, or both, at any given reference position. This is the abstraction of "complete" genotyping information:
* one might have or might have not genotyped independently a base at the given position (point) or an indel right after
* that position. The query and getter methods allow clients to figure out what pieces of the genotyping information
* are actually available and to retrieve them. Behavior of the getters when corresponding queries return false is
* not bound by a contract but it is suggested that they return null or a "trivial" (reference) genotype.
*
* @author asivache
*
*/
public interface GenotypeList {
/** Returns true if point mutation genotyping information is available at the
* current position.
* @return
*/
boolean hasPointGenotype();
/** Returns true if indel genotyping information is available at the
* current position.
* @return
*/
boolean hasIndelGenotype();
/** Returns point mutation genotyping information if available;
* behavior is not specified in the case when there is no such information.
* @return
*/
Genotype getPointGenotype();
/** Returns indel genotyping information if available;
* behavior is not specified in the case when there is no such information.
* @return
*/
Genotype getIndelGenotype();
/** Returns position on the reference the stored genotyping data are associated with.
*
* @return
*/
GenomeLoc getLocation();
}