Skip to content

ASTRAL

ASTRAL is a tool for estimating an unrooted species tree given a set of unrooted gene trees. ASTRAL is statistically consistent under the multi-species coalescent model (and thus is useful for handling incomplete lineage sorting, i.e., ILS).

New Version - ASTER

A new version of ASTRAL is available under ASTER, which was rebuilt in a different language and algorithm that may be more performant and accurate.

Some tools may only be available in this specific module, though the developers encourage you to check out ASTER as well.

See Our ASTER Guide

Availability

Cluster Module/Version
BOSE astral/5.7.1
BGSC None

Note: You can simply use module load astral to activate the most recently installed version of this software.

Commands

ASTRAL is java-based and uses an executable jar file to run its commands, which is stored at /data/software/default/astral/<VERSION>>/astral.<VERSION>>.jar. To avoid having to continuously reuse the full path, and handle switching versions, we also store the path in the enviornmental variable $ASTRAL_EXEC.

A sample of how to execute ASTRAL commands is as follows:

java -jar $ASTRAL_EXEC -i {Path/To/Tree/Input.gene.tre}

For large datasets you're able to increase the memory available to Java, which could also speed up processing. If you want to use this feature, please ensure that you are on a SLURM job.

As an example, if you wanted to provide 8GB of memory to ASTRAL, you can invoke ASTRAL using the following command to make all the 8GB available to Java:

java -Xmx8000M -jar $ASTRAL_EXEC -i {Path/To/Tree/Input.gene.tre}

Memory Allocation

Java by default may not allocate enough memory for your program. You can use add -Xmx#### to your command to specify how much memory ASTRAL can use. Make sure to go lower than what you specify in your Slurm script and can use ###M for Megabytes or ###G for Gigabytes.

Sample Slurm Script

submit.sh
#!/bin/bash
# -- SLURM SETTINGS -- #
# [..] other settings here [..]

# The following settings are for the overall request to Slurm
#SBATCH --ntasks-per-node=32     # How many CPU cores do you want to request
#SBATCH --nodes=1                # How many nodes do you want to request

# -- SCRIPT COMMANDS -- #

# Load the needed modules
module load astral/5.7.1    # Load ASTRAL
java -jar $ASTRAL_EXEC -i in.tree -o out.tree

Real Example

Has your research group used ASTRAL in a project? Contact the HPC Team and we'd be glad to feature your work.

Resources

Citation

Please include the following citation in your papers to support continued development of ASTRAL. Check out the README.md file in GitHub for full information on how to properly cite this software.

Zhang, C., Rabiee, M., Sayyari, E., & Mirarab, S. (2018). ASTRAL-III: polynomial time species tree reconstruction from partially resolved gene trees. BMC Bioinformatics, 19(S6), 153.