Copyright 2011-2013 Connor Skennerton & Michael Imelfort. All rights reserved.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
crass would not have been possible without the code found freely available at the following locations:
Levensthein String Comparison Algorithm
klib - For kseq & ksw code
Crass requires a UNIX operating system and has been tested on both 64-bit Linux
and MacOSX personal computers with intel processors and servers with 64-bit Opteron processors.
It successfully compiles with gcc 4.2, gcc 4.4.5 and gcc 4.6.3 other versions of gcc have not been tested.
Crass uses libcrispr release 1:0:0 which requires
Xerces-c XML libraryversion 3.1.1 and Zlib
are installed for compilation. Optionally you can also install the Graphviz package
for rendering graphs.
With all this in mind to perform the installation:
download the source files from git. then on most Unix systems:
$ tar -xf crass.tar.gz
$ cd crass
$ ./autogen.sh
$ ./configure
$ make
$ make install
Crass can access the graphviz libraies and executables if desired. Use the
--enable-rendering
during configure to access this feature.
If libcrispr or Xerces are installed in non-standard loacations use the --with-libcrispr=[PREFIX]
and --with-xerces=[PREFIX]
configure option to change the location prefix. Configure will look for
$prefix/lib/
and $prefix/include
directories for the library objects and header files. Note that the
below options for changing LDFLAGS
and CPPFLAGS
will not work for Xerces as it is a C++ library and not a
C library and therefore different code is used to check for it.
LDFLAGS
- set this environmental variable during configure to add to the path where library object files can be found.
Don't forget to use -L
a the begining
CPPFLAGS
- set this environmental variable during configure to add to the path where header files are located.
example:
$ ./configure --enable-rendering LDFLAGS="-L/usr/home/user_name/local/lib/" CPPFLAGS="-I/usr/home/user_name/local/include/"
crass has two executables:
$ crass [-bcdhklnoswxyDSV] [--removeHomopolymers] [--logToScreen] <sequence_files>
which finds CRISPR containing reads
$ crass-assemble [--velvet | --cap3] -x <file.crispr> -s <segments> -g <group> -i <input directory> [-o]
which is a wrapper for genome assemblers to assemble particular branches in a spacer graph