Package org.snpeff.binseq
Class BinarySequence
- java.lang.Object
-
- org.snpeff.binseq.BinarySequence
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,java.lang.Comparable<BinarySequence>
- Direct Known Subclasses:
DnaAndQualitySequence
,DnaSequence
,DnaSequencePe
public abstract class BinarySequence extends java.lang.Object implements java.lang.Comparable<BinarySequence>, java.io.Serializable, java.lang.Cloneable
Base class for a binary 'read'. I.e. a binary representation of a sequencer's read A read is a short DNA fragment (short now means anywhere from 36 bases to 10K).- Author:
- pcingola
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description BinarySequence()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description BinarySequence
clone()
char
getBase(int index)
Return the base at position 'index'abstract int
getCode(int index)
Return the code at position 'index'abstract Coder
getCoder()
Get sequence encoder & decoderabstract java.lang.String
getSequence()
Get the sequence as a Stringabstract int
hashCode()
abstract int
length()
Get sequence lengthBinarySequence
overlap(BinarySequence sequence, int start)
Creates a new sequence by overlapping 'this' and 'sequence' E.g.abstract BinarySequence
read(java.io.DataInputStream dataInStream)
Read a sequence from a data streamprotected abstract void
readDataStream(java.io.DataInputStream dataInStream)
abstract BinarySequence
reverseWc()
Reverse Watson-Cricks complementabstract void
set(java.lang.String seqStr)
Set sequence from a stringvoid
setQuality(int index, int quality)
Set the quality at position 'index'abstract void
write(java.io.DataOutputStream dataOutStream)
Write to a binary stream
-
-
-
Method Detail
-
getBase
public char getBase(int index)
Return the base at position 'index'
-
clone
public BinarySequence clone()
- Overrides:
clone
in classjava.lang.Object
-
getCode
public abstract int getCode(int index)
Return the code at position 'index'
-
getCoder
public abstract Coder getCoder()
Get sequence encoder & decoder
-
getSequence
public abstract java.lang.String getSequence()
Get the sequence as a String
-
hashCode
public abstract int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
length
public abstract int length()
Get sequence length
-
overlap
public BinarySequence 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|
-
read
public abstract BinarySequence read(java.io.DataInputStream dataInStream) throws java.io.IOException
Read a sequence from a data stream- Throws:
java.io.IOException
-
readDataStream
protected abstract void readDataStream(java.io.DataInputStream dataInStream) throws java.io.IOException
- Throws:
java.io.IOException
-
reverseWc
public abstract BinarySequence reverseWc()
Reverse Watson-Cricks complement
-
set
public abstract void set(java.lang.String seqStr)
Set sequence from a string- Parameters:
seqStr
-
-
setQuality
public void setQuality(int index, int quality)
Set the quality at position 'index'
-
write
public abstract void write(java.io.DataOutputStream dataOutStream) throws java.io.IOException
Write to a binary stream- Throws:
java.io.IOException
-
-