Skip to content

Muscle

Muscle is widely-used software for making multiple alignments of biological sequences.

Installation

Muscle can be installed from the Bioconda Anaconda channel by loading the Miniforge module and then creating a Conda environment and installing Muscle into it (output below truncated):

$ module load miniforge
$ mamba create --quiet --yes --name muscle_env
$ mamba activate muscle_env
(muscle_env) $ mamba install bioconda::muscle

Looking for: ['bioconda::muscle']
...
  Updating specs:
   - bioconda::muscle
...
Confirm changes: [Y/n] Y
...
Downloading and Extracting Packages:
Preparing transaction: done
Verifying transaction: done
Executing transaction: done

Usage

Threading options

By default Muscle uses the OMP_NUM_THREADS variable to set number of threads. The -threads option in the command line will override this. Please be aware that if you use the -threads option, this must use the value of NSLOTS (number of cores requested by the job script), to avoid overloading the compute nodes.

To run Muscle, simply load the miniforge module and activate the Conda environment you previously created (see above for details):

$ module load miniforge
$ mamba activate muscle_env
(muscle_env) $ muscle --help
muscle X.Y.linux64 [-]  1Gb RAM, 1 core
Built Nov 11 2024 08:05:12
(C) Copyright 2004-2021 Robert C. Edgar.
https://drive5.com

Align FASTA input, write aligned FASTA (AFA) output:
    muscle -align input.fa -output aln.afa

For usage documentation, run muscle --help.

Example jobs

Serial job

Here is an example job to perform an alignment, running on 1 core and 1GB of memory:

#!/bin/bash
#$ -cwd
#$ -j y
#$ -pe smp 1
#$ -l h_rt=1:0:0
#$ -l h_vmem=1G

module load miniforge
mamba activate muscle_env

muscle -align sequences.fasta \
       -output alignment.fasta \
       -threads ${NSLOTS}

Here is an example job to perform an alignment, running on 4 cores and 4GB of total memory:

#!/bin/bash
#$ -cwd
#$ -j y
#$ -pe smp 4
#$ -l h_rt=1:0:0
#$ -l h_vmem=1G

module load miniforge
mamba activate muscle_env

muscle -align sequences.fasta \
       -output alignment.fasta \
       -threads ${NSLOTS}

Reference