Adding a directory for implementing an updated version of RLZ.



git-svn-id: svn+ssh://nucleus-genomics.csse.unimelb.edu.au/home/genome/kuruppu/svn/src/rlz@763 3dd21c76-7d0f-4b49-bb94-8725f8c09f04
Adding the source files to the new RLZ compression implementation.



git-svn-id: svn+ssh://nucleus-genomics.csse.unimelb.edu.au/home/genome/kuruppu/svn/src/rlz@764 3dd21c76-7d0f-4b49-bb94-8725f8c09f04
rlz/main.cpp:
Changed the implementation to pass a list of filenames to RLZ
constructor.

rlz/RLZ.cpp, rlz/RLZ.h:
The constructor now accepts a list of filenames to compress.
Initialised some constants containing the nucl alphabet, alphabet size,
etc.



git-svn-id: svn+ssh://nucleus-genomics.csse.unimelb.edu.au/home/genome/kuruppu/svn/src/rlz@766 3dd21c76-7d0f-4b49-bb94-8725f8c09f04
rlz/RLZ.cpp RLZ.h:
Changed reading the reference sequence code to read it first into a
string then to store it using BITSPERBASE per item. This is because the
suffix array construction code requires the array to be in memory.



git-svn-id: svn+ssh://nucleus-genomics.csse.unimelb.edu.au/home/genome/kuruppu/svn/src/rlz@767 3dd21c76-7d0f-4b49-bb94-8725f8c09f04
rlz/RLZ.cpp:
Added code to construct or read in a suffix tree.



git-svn-id: svn+ssh://nucleus-genomics.csse.unimelb.edu.au/home/genome/kuruppu/svn/src/rlz@768 3dd21c76-7d0f-4b49-bb94-8725f8c09f04
rlz/main.cpp:
Modified the RLZ constructor call to include the number of files in the
dataset.

rlz/RLZ.cpp RLZ.h:
Modified the RLZ constructor to do different things when the suffix tree
already exists compared to when it doesn't. When the suffix tree doesn't
exist, the entire reference sequence needs to be read into memory. If
suffix tree exists, then the reference sequence is strait away read into
refseq variable.
Added an overloaded function for store_sequence that reads from an input
file rather than a string.



git-svn-id: svn+ssh://nucleus-genomics.csse.unimelb.edu.au/home/genome/kuruppu/svn/src/rlz@769 3dd21c76-7d0f-4b49-bb94-8725f8c09f04
rlz/main.cpp:
Called the compress method.

rlz/RLZ.cpp RLZ.h:
Started implementing the compress() and relative_LZ_factorise() methods.
Untested so far.



git-svn-id: svn+ssh://nucleus-genomics.csse.unimelb.edu.au/home/genome/kuruppu/svn/src/rlz@770 3dd21c76-7d0f-4b49-bb94-8725f8c09f04
rlz/RLZ.cpp:
Checking in this version to be checked in a 32bit machine because the
suffixt tree is not working in the 64bit version.



git-svn-id: svn+ssh://nucleus-genomics.csse.unimelb.edu.au/home/genome/kuruppu/svn/src/rlz@771 3dd21c76-7d0f-4b49-bb94-8725f8c09f04
rlz/main.cpp, RLZ.cpp, RLZ.h, Makefile:
Since the suffix tree impelementation being used was buggy changing to
using a suffix array. The suffix array being used is in libdivsufsort64.
Didn't delete the code using the suffix tree. So overloaded the
constructor and the relative_LZ_factorise method.



git-svn-id: svn+ssh://nucleus-genomics.csse.unimelb.edu.au/home/genome/kuruppu/svn/src/rlz@772 3dd21c76-7d0f-4b49-bb94-8725f8c09f04
rlz/main.cpp:
Put back the call to the compress method.

rlz/RLZ.cpp, RLZ.h:
Implemented the suffix array binary search function and standard RLZ
factorisation. Tested and works.

rlz/Makefile:
Added the -g option and changed the LFLAGS and INCLUDES to point to
../lib rather than specifying the full path.



git-svn-id: svn+ssh://nucleus-genomics.csse.unimelb.edu.au/home/genome/kuruppu/svn/src/rlz@773 3dd21c76-7d0f-4b49-bb94-8725f8c09f04
rlz/RLZ.cpp:
Fixed a bug where the suffix array was not initialised correctly.



git-svn-id: svn+ssh://nucleus-genomics.csse.unimelb.edu.au/home/genome/kuruppu/svn/src/rlz@774 3dd21c76-7d0f-4b49-bb94-8725f8c09f04
rlz/Bits.cpp, Bits.h:
Made the encoding and decoding functions accept and return 64bit
numbers.



git-svn-id: svn+ssh://nucleus-genomics.csse.unimelb.edu.au/home/genome/kuruppu/svn/src/rlz@775 3dd21c76-7d0f-4b49-bb94-8725f8c09f04
rlz/Bits.cpp:
Fixed a bug where the Golomb encoder function wasn't getting the correct
remainder because the calculation wasn't correct for the 64 bit version.

rlz/RLZ.cpp, RLZ.h:
Implemented a function to output factors.



git-svn-id: svn+ssh://nucleus-genomics.csse.unimelb.edu.au/home/genome/kuruppu/svn/src/rlz@776 3dd21c76-7d0f-4b49-bb94-8725f8c09f04
rlz/Bits.cpp:
Made the golomb encoder not rely on the BITSPERWORD macro to calculate
the remainder.



git-svn-id: svn+ssh://nucleus-genomics.csse.unimelb.edu.au/home/genome/kuruppu/svn/src/rlz@777 3dd21c76-7d0f-4b49-bb94-8725f8c09f04
rlz/main.cpp:
Implemented  option handling to get encoding type to be used.

rlz/RLZ.cpp, RLZ.h:
Implemented factor writing to output file. Wrote FactorWriter classes
that write the output based on what type of encoding is to be used.



git-svn-id: svn+ssh://nucleus-genomics.csse.unimelb.edu.au/home/genome/kuruppu/svn/src/rlz@778 3dd21c76-7d0f-4b49-bb94-8725f8c09f04
rlz/RLZ.cpp RLZ.h:
Created a base RLZ class and then renamed the original RLZ class to
RLZCompress, which inherits from the new RLZ class.



git-svn-id: svn+ssh://nucleus-genomics.csse.unimelb.edu.au/home/genome/kuruppu/svn/src/rlz@779 3dd21c76-7d0f-4b49-bb94-8725f8c09f04
rlz/RLZ.h:
Added a decompression class.



git-svn-id: svn+ssh://nucleus-genomics.csse.unimelb.edu.au/home/genome/kuruppu/svn/src/rlz@780 3dd21c76-7d0f-4b49-bb94-8725f8c09f04
rlz/main.cpp:
Added an option so that user can ask for compression or decompression.

rlz/RLZ.cpp:
Implemented constructor and destructor for RLZDecompress.

rlz/RLZ.h:
Made RLZDecompress inherit from RLZ.



git-svn-id: svn+ssh://nucleus-genomics.csse.unimelb.edu.au/home/genome/kuruppu/svn/src/rlz@781 3dd21c76-7d0f-4b49-bb94-8725f8c09f04
rlz/RLZ.cpp RLZ.h:
Changed the method name output_factor() to write_factor().



git-svn-id: svn+ssh://nucleus-genomics.csse.unimelb.edu.au/home/genome/kuruppu/svn/src/rlz@782 3dd21c76-7d0f-4b49-bb94-8725f8c09f04
rlz/RLZ.cpp, RLZ.h:
Implemented all the classes and methods necessary to decompress factors.



git-svn-id: svn+ssh://nucleus-genomics.csse.unimelb.edu.au/home/genome/kuruppu/svn/src/rlz@783 3dd21c76-7d0f-4b49-bb94-8725f8c09f04