Class 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 Detail

      • DnaAndQualitySequence

        public DnaAndQualitySequence​(org.biojava.nbio.genome.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.genome.io.fastq.FastqVariant type)
    • Method Detail

      • getCode

        public int getCode​(int index)
        Description copied from class: BinarySequence
        Return the code at position 'index'
        Specified by:
        getCode in class BinarySequence
      • getCodes

        public byte[] getCodes()
      • getQuality

        public java.lang.String getQuality()
        Get quality string (encoded FastQ-Sanger style)
        Returns:
      • getQuality

        public int getQuality​(int index)
      • 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 class BinarySequence
        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 class BinarySequence
        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 class BinarySequence
        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 class BinarySequence
        Parameters:
        dataOutStream -
        Throws:
        java.io.IOException
      • set

        public void set​(java.lang.String seqStr)
        Set sequence
        Specified by:
        set in class BinarySequence
        Parameters:
        seqStr -
      • set

        public void set​(java.lang.String seqStr,
                        java.lang.String qualityStr,
                        org.biojava.nbio.genome.io.fastq.FastqVariant type)
        Set sequence
        Parameters:
        seqStr -
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • write

        public void write​(java.io.DataOutputStream dataOutStream)
                   throws java.io.IOException
        Write data in binary format
        Specified by:
        write in class BinarySequence
        Parameters:
        dataOutStream -
        Throws:
        java.io.IOException