Class ExternalCompression


  • public class ExternalCompression
    extends Object
    Methods to provide CRAM external compression/decompression features.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static byte[] bzip2​(byte[] data)
      Compress a byte array into BZIP2 blob.
      static byte[] gunzip​(byte[] data)
      Uncompress a GZIP data blob into a new byte array.
      static byte[] gzip​(byte[] data)
      Compress a byte array into GZIP blob.
      static byte[] rans​(byte[] data, int order)
      Compress a byte array into rANS blob.
      static byte[] rans​(byte[] data, RANS.ORDER order)
      Compress a byte array into rANS blob.
      static byte[] unbzip2​(byte[] data)
      Uncompress a BZIP2 data blob into a new byte array.
      static byte[] unrans​(byte[] data)
      Uncompress a rANS data blob into a new byte array.
      static byte[] unxz​(byte[] data)
      Uncompress a XZ data blob into a new byte array.
      static byte[] xz​(byte[] data)
      Compress a byte array into XZ blob.
    • Constructor Detail

      • ExternalCompression

        public ExternalCompression()
    • Method Detail

      • gzip

        public static byte[] gzip​(byte[] data)
                           throws IOException
        Compress a byte array into GZIP blob. The method obeys GZIP_COMPRESSION_LEVEL compression level.
        Parameters:
        data - byte array to compress
        Returns:
        compressed blob
        Throws:
        IOException
      • gunzip

        public static byte[] gunzip​(byte[] data)
                             throws IOException
        Uncompress a GZIP data blob into a new byte array.
        Parameters:
        data - compressed data blob
        Returns:
        uncompressed data
        Throws:
        IOException - as per java IO contract
      • bzip2

        public static byte[] bzip2​(byte[] data)
                            throws IOException
        Compress a byte array into BZIP2 blob.
        Parameters:
        data - byte array to compress
        Returns:
        compressed blob
        Throws:
        IOException
      • unbzip2

        public static byte[] unbzip2​(byte[] data)
                              throws IOException
        Uncompress a BZIP2 data blob into a new byte array.
        Parameters:
        data - compressed data blob
        Returns:
        uncompressed data
        Throws:
        IOException - as per java IO contract
      • rans

        public static byte[] rans​(byte[] data,
                                  RANS.ORDER order)
        Compress a byte array into rANS blob.
        Parameters:
        data - byte array to compress
        order - rANS order
        Returns:
        compressed blob
      • rans

        public static byte[] rans​(byte[] data,
                                  int order)
        Compress a byte array into rANS blob.
        Parameters:
        data - byte array to compress
        order - rANS order
        Returns:
        compressed blob
      • unrans

        public static byte[] unrans​(byte[] data)
        Uncompress a rANS data blob into a new byte array.
        Parameters:
        data - compressed data blob
        Returns:
        uncompressed data
      • xz

        public static byte[] xz​(byte[] data)
                         throws IOException
        Compress a byte array into XZ blob.
        Parameters:
        data - byte array to compress
        Returns:
        compressed blob
        Throws:
        IOException
      • unxz

        public static byte[] unxz​(byte[] data)
                           throws IOException
        Uncompress a XZ data blob into a new byte array.
        Parameters:
        data - compressed data blob
        Returns:
        uncompressed data
        Throws:
        IOException - as per java IO contract