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}