Phylo Island is an interactive GUI for associating multi-subunit proteins together on a genome to allow for curation of multi-subunit protein complexes to occur in tandem.
Genomes and subunits can be tagged and excluded from further analysis, and
- Clone the repo and install requirements.
Recommend to do this inside a conda environment or virtual environment
git clone github.com/gabe-foley-thesis/PhyloIsland
pip install -r pi/install/requirements.txt
- Install MongoDB
https://docs.mongodb.com/manual/installation/
You can set the name of the database you want to create in pi/configs/mongoconfig.py
and then when you run the application it will create this for you.
- Install HMMER
http://hmmer.org/documentation.html
- Install other requirements (optional)
Phylo Island can also create alignments using MAFFT and trees using FastTree. To do this locally you will need to have
these installed on your computer and runnable via the commands mafft
and fasttree
on the command line.
If you want to use other alignment or tree inference programs that is also possible, as Phylo Island will allow you to upload any tree or alignment file. If the identifiers match the Fasta files generated by Phylo Island then any of the later curation or annotation steps will be available to this data as well.
- Load example data The easiest way to load genomic data is via the command line interface, which can then be viewed in the GUI
Load the example genomes
python phyloisland_cmd.py --load_genomes example_data/morganella_morganii
Load and search with the example profile HMMs
python phyloisland_cmd.py -p "example_data/full_profiles" -u
- View the GUI
python phyloisland.py
You can now open a web browser and navigate to http://127.0.0.1:5000/ and you will see the Phylo Island GUI.
-
Register as a new user (there is no email validation needed in the current version)
-
Go to Genome Records to see the database view of the hits for each genome
-
Go to Genome Diagrams to see the interactive diagram view of the hits for each genome.
- Phylo Island uses session data to store certain data to help loading pages. If you run into a 404 Error try logging out and in again.