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 BinarySequenceclone()chargetBase(int index)Return the base at position 'index'abstract intgetCode(int index)Return the code at position 'index'abstract CodergetCoder()Get sequence encoder & decoderabstract java.lang.StringgetSequence()Get the sequence as a Stringabstract inthashCode()abstract intlength()Get sequence lengthBinarySequenceoverlap(BinarySequence sequence, int start)Creates a new sequence by overlapping 'this' and 'sequence' E.g.abstract BinarySequenceread(java.io.DataInputStream dataInStream)Read a sequence from a data streamprotected abstract voidreadDataStream(java.io.DataInputStream dataInStream)abstract BinarySequencereverseWc()Reverse Watson-Cricks complementabstract voidset(java.lang.String seqStr)Set sequence from a stringvoidsetQuality(int index, int quality)Set the quality at position 'index'abstract voidwrite(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:
clonein 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:
hashCodein 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.IOExceptionWrite to a binary stream- Throws:
java.io.IOException
-
-