Mars is a tool that reads a structural multiple RNA alignment (e.g. from LaRA) and derives fuzzy stem loop descriptors from it. These descriptors are then subject to a search in a genomic database and Mars returns the hits where the RNA structure is found, accompanied with a quality value for each hit.
Clone the repository and use the --recurse-submodules option for downloading SeqAn as submodule.
git clone --recurse-submodules https://github.com/seqan/mars.git
Alternatively, you can download a zip package of the repository via the green button at the top of the github page. If you do so, please unzip the file into a new subdirectory named mars and download the dependencies separately.
- platforms: Linux, MacOS
- compiler: gcc ≥ 7
- cmake ≥ 3.8
Mars is dependent on the following libraries:
- SeqAn 3.0.2
- IPknot (shipped in the lib directory) with the following dependencies:
Note: Users reported problems with installing ViennaRNA, so we provide some hints here.
- Install the GNU MPFR Library first.
- Exclude unnecessary components of ViennaRNA:
./configure --without-swig --without-kinfold --without-forester --without-rnalocmin --without-gsl
- If you have linker issues use
./configure --disable-lto
- If your system supports SSE4.1 instructions then we recommend
./configure --enable-sse
If you have further suggestions, we are happy to add them here.
Please create a new directory and build the program for your platform.
- create a build directory and visit it:
mkdir build && cd build
- run cmake:
cmake ../mars
- build the application:
make
- optional: build and run the tests:
make test
- optional: build the api documentation:
make doc
After building the application binary, running Mars is as simple as
bin/mars msa.aln -g genome.fasta
The resulting genome positions are printed to stdout. If you want to store the result in a file instead, please use the -o option or redirect the output.
bin/mars msa.aln -g genome.fasta -o result.txt
bin/mars msa.aln -g genome.fasta > result.txt
We recommend you to specify the number of threads with the -j option, in order to enable parallel execution. If you specify -j 0 the program tries to detect the maximal number of threads available on your machine.
bin/mars msa.aln -g genome.fasta -j 0
For a list of options, please see the help message:
bin/mars --help
MaRs is being developed by Jörg Winkler, but it incorporates a lot of work from other members of the SeqAn project.
You can ask questions and report bugs on the GitHub tracker. Please also subscribe and/or star us! You can also follow SeqAn on Twitter to receive updates on MaRs.