Package bref
Class SeqCoder3
- java.lang.Object
-
- bref.SeqCoder3
-
public class SeqCoder3 extends java.lang.ObjectClass
SeqCoder3compresses a sequence of allele-codedRefGTRecobjects. The class is designed for use with bref v3 format. Compression is performed by storing the list of distinct allele sequences and the allele sequence carried by each haplotype.Class
SeqCoder3is not thread-safe.
-
-
Field Summary
Fields Modifier and Type Field Description static floatCOMPRESS_FREQ_THRESHOLDThe major allele frequency threshold for allele coding.static intMAX_NALLELESThe maximum number of alleles are that permitted in order for theadd()method to returntrue
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanadd(RefGTRec rec)Attempts to add the specifiedRefGTRecobject to the list of compressedRefGTRecobjects, and returnstrueif theRefGTRecobject was added.static intdefaultMaxNSeq(int nSamples)Returns the default maximum number of sequences for the specified number of samples.java.util.List<RefGTRec>getCompressedList()Returns and clears the stored list of compressedRefGTRecobjects.intmaxNSeq()Returns the maximum number of distinct allele sequences.intnRecs()Returns the number of compressedRefGTRecobjects.Samplessamples()Returns the list of samples whose phased genotype data will be compressed.
-
-
-
Field Detail
-
MAX_NALLELES
public static final int MAX_NALLELES
The maximum number of alleles are that permitted in order for theadd()method to returntrue- See Also:
- Constant Field Values
-
COMPRESS_FREQ_THRESHOLD
public static final float COMPRESS_FREQ_THRESHOLD
The major allele frequency threshold for allele coding. Sequence coding should only be applied if the major allele frequency less than or equal to this threshold.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SeqCoder3
public SeqCoder3(Samples samples)
Constructs a newSeqCoder3for the specified samples.- Parameters:
samples- the list of samples whose data will be compressed- Throws:
java.lang.NullPointerException- ifsamples == null
-
SeqCoder3
public SeqCoder3(Samples samples, int maxNSeq)
Constructs a newSeqCoder3for the specified samples.- Parameters:
samples- the list of samples whose data will be compressedmaxNSeq- the maximum number of distinct allele sequences permitted if theadd()method returnstrue- Throws:
java.lang.NullPointerException- ifsamples == nulljava.lang.IllegalArgumentException-maxNSeq < 0 || maxNSeq >= Chracter.MAX_VALUE
-
-
Method Detail
-
defaultMaxNSeq
public static int defaultMaxNSeq(int nSamples)
Returns the default maximum number of sequences for the specified number of samples. The default value is equal to(int) Math.min((long) Math.pow(2, 2*Math.log10(size) + 1), Character.MAX_VALUE)- Parameters:
nSamples- the number of samples- Returns:
- the default maximum number of sequences for the specified number of samples
- Throws:
java.lang.IllegalArgumentException- ifsize < 1
-
samples
public Samples samples()
Returns the list of samples whose phased genotype data will be compressed.- Returns:
- the list of samples whose phased genotype data will be compressed
-
nRecs
public int nRecs()
Returns the number of compressedRefGTRecobjects.- Returns:
- the number of compressed
RefGTRecobjects
-
maxNSeq
public int maxNSeq()
Returns the maximum number of distinct allele sequences.- Returns:
- the maximum number of distinct allele sequences
-
add
public boolean add(RefGTRec rec)
Attempts to add the specifiedRefGTRecobject to the list of compressedRefGTRecobjects, and returnstrueif theRefGTRecobject was added.- Parameters:
rec- reference genotypes for a marker- Returns:
trueif the specifiedRefGTRecobject was added to the list of compressed markers- Throws:
java.lang.IllegalArgumentException- ifem.samples().equals(this.samples()) == falsejava.lang.IllegalArgumentException- ifrec.isAlleleCoded() == falsejava.lang.NullPointerException- ifrec == null
-
getCompressedList
public java.util.List<RefGTRec> getCompressedList()
Returns and clears the stored list of compressedRefGTRecobjects.- Returns:
- the list of compressed
RefGTRecobjects
-
-