OrthoFinder
Phylogenetic orthology inference for comparative genomics
Install / Use
/learn @davidemms/OrthoFinderREADME
What's new
OrthoFinder has a new home: https://github.com/OrthoFinder/OrthoFinder
All future development and support will take place there. The future of OrthoFinder is being led by an awesome team:
- Steve Kelly - PI
- Laurie Belcher
- Jonathan Holmes
- Yi Liu
and David Emms will continue in a supporting role.
OrthoFinder version 3.0 has been released. This makes possible considerably faster and larger analyses. To use it, run OrthoFinder on a small core set of species and then use the --assign option to add a large number of new species directly to the previous orthogroups.
Interested in a single gene? Try SHOOT.bio, the phylogenetic search engine: https://SHOOT.bio
SHOOT.bio searches your query sequence against a database of gene families and instantly provides you with a phylogenetic tree with your query sequence grafted into it.
Or, if you want to run an orthology analysis for all genes in multiple species then keep reading about OrthoFinder.
In addition to this README there is a set of OrthoFinder tutorials here: https://davidemms.github.io/
- Downloading and running OrthoFinder
- Running an example OrthoFinder analysis
- Exploring OrthoFinder's results
- OrthoFinder best practices
OrthoFinder: phylogenetic orthology inference for comparative genomics
Figure 1: Automatic OrthoFinder analysis
What does OrthoFinder do?
OrthoFinder is a fast, accurate and comprehensive platform for comparative genomics. It finds orthogroups and orthologs, infers rooted gene trees for all orthogroups and identifies all of the gene duplication events in those gene trees. It also infers a rooted species tree for the species being analysed and maps the gene duplication events from the gene trees to branches in the species tree. OrthoFinder also provides comprehensive statistics for comparative genomic analyses. OrthoFinder is simple to use and all you need to run it is a set of protein sequence files (one per species) in FASTA format.
For more details see the OrthoFinder papers below.
You can see an overview talk for OrthoFinder from the 2020 Virtual symposium on Phylogenomics and Comparative Genomics here:
Thanks to Rosa Fernández & Jesus Lozano-Fernandez for organising this excellent conference.
Table of Contents
<!-- START doctoc generated TOC please keep comment here to allow auto update --> <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->generated with DocToc
- Getting started with OrthoFinder
- Running OrthoFinder
- OrthoFinder Results Files
- Phylogenetic Hierarchical Orthogroups Directory
- Orthologues Directory
- Orthogroups Directory (deprecated)
- Gene Trees Directory
- Resolved Gene Trees Directory
- Species Tree Directory
- Comparative Genomics Statistics Directory
- Gene Duplication Events Directory
- Orthogroup Sequences
- Single Copy Orthologue Sequences
- WorkingDirectory
- Understanding Orthology
- Scalable analyses with
--core/--assign - Trees from MSA:
"-M msa" - Advanced usage
- Python Source Code Version
- Manually Installing Dependencies
- config.json : Adding addtional programs for tree inference, local alignment or MSA
- Adding Extra Species
- Removing Species
- Adding and Removing Species Simultaneously
- Inferring Multiple Sequence Alignment (MSA) Gene Trees
- Parallelising OrthoFinder Algorithm
- Running BLAST Searches Separately (-op option)
- Using Pre-Computed BLAST Results
- Regression Tests
- Methods
- Command line options
Getting started with OrthoFinder
You can find a step-by-step tutorial here: Downloading and running OrthoFinder including instructions for Mac, for which Bioconda is recommended and Windows, for which the Windows Subsystem for Linux is recommended. There are also tutorials on that site which guide you through running your first analysis and exploring the results files.
Installing OrthoFinder on Linux
The recommended way to install OrthoFinder is using conda:
conda install orthofinder -c bioconda
This will install OrthoFinder and all the required dependencies to run it.
Alternatively, to download it directly:
-
Download the latest release from github: https://github.com/davidemms/OrthoFinder/releases
- If you have python installed and the numpy and scipy libraries then download OrthoFinder_source.tar.gz.
- If not then download the larger bundled package, OrthoFinder.tar.gz.
-
In a terminal, 'cd' to where you downloaded the package
-
Extract the files:
tar xzf OrthoFinder_source.tar.gzortar xzf OrthoFinder.tar.gz -
Test you can run OrthoFinder:
python OrthoFinder_source/orthofinder.py -hor./OrthoFinder/orthofinder -h. OrthoFinder should print its 'help' text. -
(To run large analyses with
--core/--assign, you will need to install ASTRAL-Pro3 separately since it contains computer-architecture specific code. Or use conda, which will do this for you.) -
That's it! You can now run OrthoFinder on a directory of protein sequence fasta files: e.g.
./OrthoFinder/orthofinder -f /OrthoFinder/ExampleData/
If you want to move the orthofinder executable to another location then you must also place the accompanying config.json file and bin/ directory in the same directory as the orthofinder executable.
OrthoFinder is written in python, but the bundled version does not require python to be installed on your computer. Both versions contain the programs OrthoFinder needs in order to run (in bin/), it will use these copies in preference to any of the same programs in your system path. You can delete the individual executables if you would prefer it not to do this.
Installing OrthoFinder on Mac & Windows
The easiest way to install OrthoFinder on Mac is using Bioconda:
via bioconda: conda install orthofinder
The easiest way to run OrthoFinder on Windows is using the Windows Subsystem for Linux or Docker: davidemms/orthofinder:
docker pull davidemms/orthofinder
docker run -it --rm davidemms/orthofinder orthofinder -h
docker run --ulimit nofile=1000000:1000000 -it --rm -v /full/path/to/fastas:/input:Z davidemms/orthofinder orthofinder -f /input
A more complete guide can be found here: https://davidemms.github.io/orthofinder_tutorials/alternative-ways-of-getting-OrthoFinder.html. Note that running OrthoFinder on Windows in a docker contain

