Package vcf
Class Samples
- java.lang.Object
-
- vcf.Samples
-
public final class Samples extends java.lang.Object
Class
Instances of classSamples
stores a list of samples.Samples
are immutable.
-
-
Constructor Summary
Constructors Constructor Description Samples(int[] idIndices, boolean[] isDiploid)
Constructs a new instance ofSamples
corresponding to the specified list of diploid sample identifier indices.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static Samples
combine(Samples first, Samples second)
Returns a new samples instance by combining the two list of samples in the specified orderboolean
equals(java.lang.Object obj)
Returnstrue
if the specified object is aSamples
object which represents the same ordered list of samples asthis
, and returnsfalse
otherwise.static Samples
fromIds(java.lang.String[] ids, boolean[] isDiploid)
Constructs and returns aSamples
instance corresponding to the specified list of sample identifiers.int
hashCode()
Returns a hash code value for the object.java.lang.String
id(int index)
Returns the identifier for the sample with the specified index in this list of samples.int
idIndex(int index)
Returns the sample identifier index corresponding to the sample with the specified index in this list of samples.int[]
idIndexToIndex()
Returns an array mapping sample identifier indices to sample indices.java.lang.String[]
ids()
Returns this list of samples as an array of sample identifiers.boolean
isDiploid(int sample)
Returnstrue
if the specified sample has two alleles per genotype, and returnsfalse
if the sample has one allele per genotype.int
size()
Returns the number of samples in this list.java.lang.String
toString()
Returnsjava.util.Arrays.toString(this.ids())
.
-
-
-
Constructor Detail
-
Samples
public Samples(int[] idIndices, boolean[] isDiploid)
Constructs a new instance ofSamples
corresponding to the specified list of diploid sample identifier indices.- Parameters:
idIndices
- an array of sample identifier indicesisDiploid
- a boolean array whosek
-th value istrue
if thek
-th sample is diploid, and isfalse
if thek
-th sample is haploid- Throws:
java.lang.IllegalArgumentException
- ifidIndices.length != isDiploid.length
java.lang.IllegalArgumentException
- if the specifiedidIndices
array has two or more elements that are equaljava.lang.IndexOutOfBoundsException
- if any element of the specifiedidIndices
array is negative or greater than or equal tobeagleutil.SampleIds.instance().size()
java.lang.NullPointerException
- ifidIndices == null || isDiploid == null
-
-
Method Detail
-
combine
public static Samples combine(Samples first, Samples second)
Returns a new samples instance by combining the two list of samples in the specified order- Parameters:
first
- the first list of samplessecond
- the second list of samples- Returns:
- the combined samples
- Throws:
java.lang.IllegalArgumentException
- if the two lists of samples are not disjointjava.lang.NullPointerException
- iffirst == null || second == null
-
idIndexToIndex
public int[] idIndexToIndex()
Returns an array mapping sample identifier indices to sample indices. Indices for sample identifiers not present in this list of samples are mapped to-1
.- Returns:
- an array mapping sample identifier indices to sample indices
-
fromIds
public static Samples fromIds(java.lang.String[] ids, boolean[] isDiploid)
Constructs and returns aSamples
instance corresponding to the specified list of sample identifiers.- Parameters:
ids
- an array of sample identifiersisDiploid
- a boolean array whosek
-th value istrue
if thek
-th sample is diploid, and isfalse
if thek
-th sample is haploid- Returns:
- a
Samples
instance corresponding to the specified list of sample identifiers - Throws:
java.lang.IllegalArgumentException
- ifids.length != isDiploid.length
java.lang.IllegalArgumentException
- if the specified array has two or more elements that are equal as stringsjava.lang.NullPointerException
- ifids == null || isDiploid == null
-
hashCode
public int hashCode()
Returns a hash code value for the object.- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- a hash code value for the object.
-
equals
public boolean equals(java.lang.Object obj)
Returnstrue
if the specified object is aSamples
object which represents the same ordered list of samples asthis
, and returnsfalse
otherwise.- Overrides:
equals
in classjava.lang.Object
- Parameters:
obj
- the object to be tested for equality withthis
- Returns:
true
if the specified object is aSamples
object which represents the same ordered list of samples asthis
-
idIndex
public int idIndex(int index)
Returns the sample identifier index corresponding to the sample with the specified index in this list of samples.- Parameters:
index
- a sample index- Returns:
- the sample identifier index corresponding to the sample with the specified index in this list of samples
- Throws:
java.lang.IndexOutOfBoundsException
- ifindex < 0 || index >= this.size()
-
size
public int size()
Returns the number of samples in this list.- Returns:
- the number of samples in this list
-
id
public java.lang.String id(int index)
Returns the identifier for the sample with the specified index in this list of samples.- Parameters:
index
- a sample index- Returns:
- the identifier for the sample with the specified index in this list of samples
- Throws:
java.lang.IndexOutOfBoundsException
- ifindex < 0 || index >= this.size()
-
ids
public java.lang.String[] ids()
Returns this list of samples as an array of sample identifiers. The returned array has lengththis.size()
, and it satisfiesthis.ids()[j].equals(this.id(j))
for0 <= j && j < this.size()
- Returns:
- this list of samples as an array of sample identifiers
-
isDiploid
public boolean isDiploid(int sample)
Returnstrue
if the specified sample has two alleles per genotype, and returnsfalse
if the sample has one allele per genotype.- Parameters:
sample
- a sample index- Returns:
true
if the specified sample is diploid- Throws:
java.lang.IndexOutOfBoundsException
- ifsample < 0 || sample >= this.size()
-
toString
public java.lang.String toString()
Returnsjava.util.Arrays.toString(this.ids())
.- Overrides:
toString
in classjava.lang.Object
- Returns:
- a string representation of
this
-
-