Package org.snpeff.binseq
Class DnaAndQualitySequence
- java.lang.Object
-
- org.snpeff.binseq.BinarySequence
-
- org.snpeff.binseq.DnaAndQualitySequence
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,java.lang.Comparable<BinarySequence>
- Direct Known Subclasses:
DnaAndQualitySequenceWithId
public class DnaAndQualitySequence extends BinarySequence
Binary packed DNA sequence and base calling quality Notes: - This is designed for short sequences (such as "short reads") - Every base is encoded in 8 bits: - Six bits for the base quality [0 , .. , 63] - Two bits for the base {a, c, g, t} <=> {0, 1, 2, 3} - All bits are stored in an array of 'bytes'- Author:
- pcingola
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description DnaAndQualitySequence(java.lang.String seqStr)
DnaAndQualitySequence(java.lang.String seqStr, java.lang.String qualityStr, org.biojava.nbio.sequencing.io.fastq.FastqVariant type)
DnaAndQualitySequence(org.biojava.nbio.sequencing.io.fastq.Fastq fastq)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
compareTo(BinarySequence o)
static DnaAndQualitySequence
empty()
char
getBase(int index)
Return the base at position 'index'int
getCode(int index)
Return the code at position 'index'Coder
getCoder()
Get sequence encoder & decoderbyte[]
getCodes()
java.lang.String
getQuality()
Get quality string (encoded FastQ-Sanger style)int
getQuality(int index)
java.lang.String
getSequence()
Get the sequence as a Stringint
hashCode()
int
indexOf(java.lang.String seq)
Find the position of 'seq' in this sequenceint
lastIndexOf(java.lang.String seq)
Returns the index within this string of the rightmost occurrence of the specified substringint
length()
Sequence lenthDnaAndQualitySequence
overlap(BinarySequence sequence, int start)
Creates a new sequence by overlapping 'this' and 'sequence' E.g.DnaAndQualitySequence
read(java.io.DataInputStream dataInStream)
Read data in binary formatprotected void
readDataStream(java.io.DataInputStream dataInStream)
Read data in binary formatDnaAndQualitySequence
reverseWc()
Reverse Watson-Cricks complementvoid
set(java.lang.String seqStr)
Set sequencevoid
set(java.lang.String seqStr, java.lang.String qualityStr, org.biojava.nbio.sequencing.io.fastq.FastqVariant type)
Set sequencejava.lang.String
toString()
void
write(java.io.DataOutputStream dataOutStream)
Write data in binary format-
Methods inherited from class org.snpeff.binseq.BinarySequence
clone, setQuality
-
-
-
-
Constructor Detail
-
DnaAndQualitySequence
public DnaAndQualitySequence(org.biojava.nbio.sequencing.io.fastq.Fastq fastq)
-
DnaAndQualitySequence
public DnaAndQualitySequence(java.lang.String seqStr)
-
DnaAndQualitySequence
public DnaAndQualitySequence(java.lang.String seqStr, java.lang.String qualityStr, org.biojava.nbio.sequencing.io.fastq.FastqVariant type)
-
-
Method Detail
-
empty
public static DnaAndQualitySequence empty()
-
compareTo
public int compareTo(BinarySequence o)
-
getBase
public char getBase(int index)
Description copied from class:BinarySequence
Return the base at position 'index'- Overrides:
getBase
in classBinarySequence
-
getCode
public int getCode(int index)
Description copied from class:BinarySequence
Return the code at position 'index'- Specified by:
getCode
in classBinarySequence
-
getCoder
public Coder getCoder()
Description copied from class:BinarySequence
Get sequence encoder & decoder- Specified by:
getCoder
in classBinarySequence
-
getCodes
public byte[] getCodes()
-
getQuality
public java.lang.String getQuality()
Get quality string (encoded FastQ-Sanger style)- Returns:
-
getQuality
public int getQuality(int index)
-
getSequence
public java.lang.String getSequence()
Description copied from class:BinarySequence
Get the sequence as a String- Specified by:
getSequence
in classBinarySequence
-
hashCode
public int hashCode()
- Specified by:
hashCode
in classBinarySequence
-
indexOf
public int indexOf(java.lang.String seq)
Find the position of 'seq' in this sequence- Parameters:
seq
- : String to be found- Returns:
- The position where 'seq' is found or '-1' if not found
-
lastIndexOf
public int lastIndexOf(java.lang.String seq)
Returns the index within this string of the rightmost occurrence of the specified substring
-
length
public int length()
Sequence lenth- Specified by:
length
in classBinarySequence
- Returns:
-
overlap
public DnaAndQualitySequence overlap(BinarySequence sequence, int start)
Creates a new sequence by overlapping 'this' and 'sequence' E.g. this.sequence : |xxxxxxxxxxxxxxxxxxxxOOOOOOOOOOOOOOOOOOOOOOOO | other.sequence : | OOOOOOOOOOOOOOOOOOOOOOOOyyyyyyyyyyyyyyyyy| | |start=20 | result : |xxxxxxxxxxxxxxxxxxxxOOOOOOOOOOOOOOOOOOOOOOOOyyyyyyyyyyyyyyyyy| this.sequence : | OOOOOOOOOOOOOOOOOOOOOOOOxxxxxxxxxxxxxxxxxxxx| other.sequence : |yyyyyyyyyyyyyyyyyyyyyyyyOOOOOOOOOOOOOOOOOOOOOOOO | |start=-20 | result : |yyyyyyyyyyyyyyyyyyyyyyyyOOOOOOOOOOOOOOOOOOOOOOOOxxxxxxxxxxxxxxxxxxxx| Another case is when a sequence is fully included in the other sequence. In this case the result is just a copy of the longest sequence (with the quality updated) E.g. this.sequence : |xxxxxxxxxxxxxxxxxxxxOOOOOOOOOOOOOOOOOOOOOOOO| other.sequence : | OOOOOOOOOOOOOOO | | |start=20 | result : |xxxxxxxxxxxxxxxxxxxxOOOOOOOOOOOOOOOOOOOOOOOO| this.sequence : | OOOOOOOOOOO | other.sequence : |yyyyyyyyyyyyyyyyyyyyyyyyOOOOOOOOOOOOOOOOOOOOOOOO| |start=-20 | result : |yyyyyyyyyyyyyyyyyyyyyyyyOOOOOOOOOOOOOOOOOOOOOOOO|- Overrides:
overlap
in classBinarySequence
- Parameters:
start
-- Returns:
- A new sequence
-
read
public DnaAndQualitySequence read(java.io.DataInputStream dataInStream) throws java.io.IOException
Read data in binary format- Specified by:
read
in classBinarySequence
- Parameters:
dataOutStream
-- Throws:
java.io.IOException
-
readDataStream
protected void readDataStream(java.io.DataInputStream dataInStream) throws java.io.IOException
Read data in binary format- Specified by:
readDataStream
in classBinarySequence
- Parameters:
dataOutStream
-- Throws:
java.io.IOException
-
reverseWc
public DnaAndQualitySequence reverseWc()
Description copied from class:BinarySequence
Reverse Watson-Cricks complement- Specified by:
reverseWc
in classBinarySequence
-
set
public void set(java.lang.String seqStr)
Set sequence- Specified by:
set
in classBinarySequence
- Parameters:
seqStr
-
-
set
public void set(java.lang.String seqStr, java.lang.String qualityStr, org.biojava.nbio.sequencing.io.fastq.FastqVariant type)
Set sequence- Parameters:
seqStr
-
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
write
public void write(java.io.DataOutputStream dataOutStream) throws java.io.IOException
Write data in binary format- Specified by:
write
in classBinarySequence
- Parameters:
dataOutStream
-- Throws:
java.io.IOException
-
-