Package bref
Class SeqCoder3
- java.lang.Object
-
- bref.SeqCoder3
-
public class SeqCoder3 extends java.lang.Object
Class
SeqCoder3
compresses a sequence of allele-codedRefGTRec
objects. 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
SeqCoder3
is not thread-safe.
-
-
Field Summary
Fields Modifier and Type Field Description static float
COMPRESS_FREQ_THRESHOLD
The major allele frequency threshold for allele coding.static int
MAX_NALLELES
The 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 boolean
add(RefGTRec rec)
Attempts to add the specifiedRefGTRec
object to the list of compressedRefGTRec
objects, and returnstrue
if theRefGTRec
object was added.static int
defaultMaxNSeq(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 compressedRefGTRec
objects.int
maxNSeq()
Returns the maximum number of distinct allele sequences.int
nRecs()
Returns the number of compressedRefGTRec
objects.Samples
samples()
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 newSeqCoder3
for 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 newSeqCoder3
for 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 == null
java.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 compressedRefGTRec
objects.- Returns:
- the number of compressed
RefGTRec
objects
-
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 specifiedRefGTRec
object to the list of compressedRefGTRec
objects, and returnstrue
if theRefGTRec
object was added.- Parameters:
rec
- reference genotypes for a marker- Returns:
true
if the specifiedRefGTRec
object was added to the list of compressed markers- Throws:
java.lang.IllegalArgumentException
- ifem.samples().equals(this.samples()) == false
java.lang.IllegalArgumentException
- ifrec.isAlleleCoded() == false
java.lang.NullPointerException
- ifrec == null
-
getCompressedList
public java.util.List<RefGTRec> getCompressedList()
Returns and clears the stored list of compressedRefGTRec
objects.- Returns:
- the list of compressed
RefGTRec
objects
-
-