Annotating “hypothetical” proteins with the PDB

See config/ for configuration information.

This workflow takes as input a set of protein sequences. It clusters them and then
functionally annotates the clusters’ representatives using Eggnog DB, and picks those without KO annotations
to
continue the process. These “hypothetical proteins” get aligned by hhblits against Uniclust30 and then against PDB70.

Testing

Decompress selected_seqs_by_size.tar.gz and use that path in the config file (already set).

To see the commands being executed (-p) without an actual execution of the workflow, use -n.
-r prints the “reason” for execution of each rule.

snakemake  --cores 16 -r -p -n

--cores N specify the max. number of cores used by the whole workflow, so if a rule has set more cores,
it will use no more than N.

Without the -n the workflow will be executed.

Results

All the results will be placed inside /results. The file all_genes_kos.tsv presents a list of all the genes which have
one or more KO terms assigned (the rule propagate_annotations propagates the annotations from the cluster representatives to
their members). That file then is used to build a new table, compatible with ko_mapper.py, which will produce 3 files:

  • {prefix}_module_completeness.tab
  • {prefix}_heatmap.pdf
  • {prefix}_barplot.pdf

Others

The rules.pdf represents the DAG of this workflow, but it doesn’t include the rules related to
hhblits, because those rules depend on a checkpoint rule. This isn’t a bug, but it’s related to how snakemake works.

GitHub

View Github