Meraculous-Sapelo2

From Research Computing Center Wiki
Revision as of 12:22, 14 December 2022 by Moses (talk | contribs)
Jump to navigation Jump to search

Category

Bioinformatics

Program On

Sapelo2

Version

2.2.6

Author / Distributor

Please see https://jgi.doe.gov/data-and-tools/software-tools/meraculous/: "Meraculous is a whole genome assembler for Next Generation Sequencing data geared for large genomes."

Description

From https://sourceforge.net/projects/meraculous20/, "Meraculous-2D is a whole genome assembler for NGS reads (Illumina) that is capable of assembling large, diploid genomes with modest computational requirements.

Features include:

- Efficient k-mer counting and deBruijn graph traversal

- Two modes of handling of diploid allelic variation

- Improved scaffolding that produces more complete assemblies without compromising scaffolding accuracy."

Running Program

Also refer to Running Jobs on Sapelo2

For more information on Environment Modules on Sapelo2 please see the Lmod page.

  • Version 2.2.6, installed as Conda virtual environment in /apps/eb/Meraculous/2.2.6

To use this version of magma, please first load the module with

module load Meraculous/2.2.6
  • To run Meraculous, in your current job working folder, you need to prepare a configuration file that contains the parameters guiding the entire assembly process. This configuration file must be passed to the program with the -c <configuration file> argument.
  • The assembly is driven by a perl pipeline which performs data fragmentation and load balancing, as well as submission and monitoring of multiple task arrays on a SLURM-type cluster (Sapelo2) or a standalone multi-core server.


Example of how to run Meraculous in a standalone multi-core server on batch

1. Create a Meraculous configuration file in your current working folder. In the example below this file is called meraculous.standalone.config and its content is

print 3+5;

2. Create a job submission script, called sub.sh in the example here, with the sample content

#!/bin/bash
#SBATCH --job-name=testmagma         
#SBATCH --partition=batch           
#SBATCH --ntasks=1                   
#SBATCH --nodes=1
#SBATCH --mem=5gb                     
#SBATCH --time=12:00:00              
#SBATCH --output=%x.%j.out    
#SBATCH --error=%x.%j.err    
#SBATCH --constraint=magma,EDR    #request the node features magma & EDR


cd $SLURM_SUBMIT_DIR

module load Magma-AU/2.27-1-AVX2

magma test.txt > output_${SLURM_JOB_ID}.log

where test.txt needs to be replaced by the name of your magma program. Other parameters of the job, such as the maximum wall clock time, maximum memory, and the job name need to be modified appropriately as well. In this example, the standard output of the magma command will be saved into a file called "output_${SLURM_JOB_ID}.log", where ${SLURM_JOB_ID} will automatically be replaced by the jobid number.


3. Submit the job to the queue with

sbatch sub.sh

Documentation

Tutorials and user guide are available at http://magma.maths.usyd.edu.au/magma/documentation/

Installation

System

64-bit Linux