Frequently Asked Questions
General FAQs
Q1: Where can I get help with issues?
If you come across any issues while using Phables, you can open an issue on GitHub and we will look into it. Phables is still under development and testing, so we expect that there will still be bugs and unhandled exceptions in the code.
Q2: Can I use the assembly graph from any assembler?
Phables supports any assembly graph in GFA (.gfa
) format. You can use any assembler that produces the assembly graph in GFA format to assemble your samples OR you can convert an assembly graph in FASTG format to GFA format using a tool such as fastg2gfa.
If you use metaSPAdes for assembly, you can use the assembly_graph_after_simplification.gfa
as input for Phables.
Q4: What can I do after running Phables?
Once you have run Phables, check out the EVALUATION section where you can read on how to check and compare the quality of the resolved genomes, interpret graph statistics and visualise the results.
Q5: How can I find out which contigs were included in the resolved phages?
The resolved_genome_info.txt
file contains the order of sequences in the assembly graph that were used to construct the genomes (refer to the example below).
Path | Case | Coverage | Length | GC content | Node order |
---|---|---|---|---|---|
phage_comp_0_cycle_1 | case3 | 644 | 45659 | 34.86059703453864 | ['49-', '5524+', '24979-', '5556+', '55+', '5540-', '67+', '4490+', '5554-'] |
phage_comp_0_cycle_2 | case3 | 625 | 43427 | 35.03810993160937 | ['49-', '5522+', '24979-', '5558+', '55+', '65+', '67+', '4490+', '5498-'] |
... |
The Node order
column denotes the segment IDs from the assembly graph.
The mapping between the contigs and assembly graph segments depends on the assembler you use.
- If you use MEGAHIT, the segments in the assembly graph are the contigs themselves. You can directly relate the
Node order
information as the contigs that make the paths. - If you use an assembler such as SPAdes or Flye, the sequences represented in the assembly graph are unitigs, which make up contigs. The information on which unitigs make up the contigs can be found in, for example,
contigs.paths
file in SPAdes andassembly_info.txt
file in Flye.
Q6: Can I run Phables on mixed-microbial communities?
Phables was originally designed to run on viromic data, but it can also be used to study mixed-microbial communities. However, the current implementation of Phables filters any component with at least a single unitig encoding any bacterial single-copy marker gene and hence, prophages might be omitted in the final result. Also, some plasmids or phage-plasmids, can be identified by Phables as phages. Hence, users should perform further downstream analysis to ensure that the predicted genomes are actual phages. One option is to use a tool such as PPR-Meta to classify the genomes resolved from Phables into phages and plasmids.
Q7: Can Phables identify prophages?
If a prophage is active, excises from the genome, and is replicating, Phables would identify it. However, if it is a cryptic prophage, Phables would not identify it as it will be integrated into the host genome and can be part of a larger bacterial component in the assembly graph. As Phables discards components having bacterial single-copy marker genes, such prophages will not be identified.
Users can use specific tools to either identify prophages in bacterial genomes such as Phispy or hafeZ or validate recovered prophage sequences from host-genomes in metagenomic sequences such as CheckV.
Gurobi FAQs
Q1: Gurobi installation conflicts and grbgetkey
fails to run
If you come across conflicts when installing Gurobi in the phables
environment and could not run the grbgetkey
command properly, please follow the steps given below.
# Deactivate the phables environment
conda deactivate
# Remove phables environemnt
conda remove -n phables --all
# Create conda environment with phables and gurobi
conda create -n phables -c conda-forge -c anaconda -c bioconda -c gurobi phables gurobi
Q2: Model too large for size-limited license
If you get the following error when running Phables, this means that you don't have a proper license to handle large models.
Error code 10010: Model too large for size-limited license; visit https://www.gurobi.com/free-trial for a full license
You should get an academic license which is provided free of charge to your institutional email address. You can refer to further instructions at https://www.gurobi.com/academia/academic-program-and-licenses/.
Q3: HostID mismatch
If you get the following error when running Phables as a job on a cluster, you cannot use your academic license which is a file-based host-locked license, meaning that you can only run Gurobi on the machine that the license was obtained for.
Failed to set up a license
Error 10009: HostID mismatch (licensed to <host_1>, hostid is <host_2>)
You will have to contact your system admin and setup a floating network license. You can find more details at https://support.gurobi.com/hc/en-us/articles/360013195412-How-do-I-obtain-a-free-academic-license-for-a-cluster-or-a-shared-computer-lab-.
Q4: License not valid for Gurobi version x
If you get the following error when running Phables, this means that the version in your license does not match the installed version. You can install the correct version of Gurobi to match your license or you can get a new license for the latest version installed.
ERROR - Error code 10009: Request denied: license not valid for Gurobi version 11
Q5: How can I get a Gurobi license for a cluster?
If you want to run Phables on a cluster, your cluster should have a floating network license for Gurobi for the run
subcommand to execute properly.
Gurobi license for a cluster: You will have to contact your system admin and setup a floating network license for the cluster. You can find more details at https://support.gurobi.com/hc/en-us/articles/360013195412-How-do-I-obtain-a-free-academic-license-for-a-cluster-or-a-shared-computer-lab-.
If your cluster has Gurobi already installed with the license setup, you can load the module as follows, prior to running Phables.
module load gurobi