Releases: Arcadia-Science/ProteinCartography
v0.5.0
ProteinCartography v0.5.0
Overview
This release includes a number of minor improvements and also introduces a new organization for the output directories generated by the pipeline. Because snakemake is a file-based workflow engine, this change unfortunately means that this version of the pipeline is not compatible with previous versions. In other words, it will not be possible to re-run the new version of the pipeline with output directories that were initially generated by prior versions of the pipeline. Instead, it will be necessary to re-run the pipeline from scratch.
New features and improvements
- Reorganize the directory of output files to improve clarity and more clearly distinguish the final outputs of the pipeline from intermediate outputs. (This is a breaking change; see above.)
- Merge
Snakefile_ff
(the "cluster" mode of the pipeline) into the mainSnakefile
and add a config parameter to specify whether to run the pipeline in "search" or "cluster" mode. - Update and clarify some sections of the main README.
- Add developer docs.
Fixes
- Generate TM scores for each of the input proteins versus all of the query proteins (previously, some input-query protein pairs did not have a TM score due to Foldseek's filtering).
- Fix a bug that may have prevented the pipeline from running when only input FASTA files (rather than PDBs) are provided.
- Use unverified requests to query the ESMFold API as a work-around for ESMFold's expired SSL certs (from external contributor @naailkhan28).
- Add integration tests for the "cluster" mode of the pipeline.
v0.4.2
ProteinCartography v0.4.2
Overview
This release introduces minor changes that improve the performance of the pipeline. These changes are not breaking changes and do not modify the nature of the files generated by the pipeline. This means that, for example, it should be possible to re-run the pipeline on existing output directories to re-generate the final visualizations and plots.
A note about this release
Unfortunately, we had to make this release by force-pushing to main
in order to reconcile diverged commit histories between this public repo and our internal development repo. If you've forked this repo, this will prevent you from updating your fork using git pull upstream
. For users of the pipeline, we recommend re-cloning or re-forking the repo. For developers, it will be necessary to hard-reset your fork's main to upstream/main
and then rebase your development branches. We're very sorry for the inconvenience that this causes!
Changes
User-facing changes
- Add config parameters to support snakemake parallelization (external contribution from Noah Lebovic)
- Add plotting of within-cluster distributions of quantitative attributes (see
plot_cluster_distribution.py
) - Support asessing ESMFold proteins in
assess_pdbs.py
- Support
.faa
files as input files - Support using a custom foldseek server
Performance improvements
- Update default blast parameters (
word_size
andevalue
) to improve runtimes - Improve recovery from blast failures
- Add recovery from partial failures in
fetch_uniprot_metadata.py
- Improve recovery from foldseek API timeouts
- Enable handling of empty foldseek results
- Improve efficiency of downloading PDBs from AlphaFold
Engineering improvements
- Set up CI and create basic integration tests
- Add
ruff
andsnakefmt
for formatting and linting - Reorganize the conda envs (add a development env and condense the snakemake conda envs)
- Use
SeqIO
for parsing FASTA files inesmfold_apiquery.py
- Refactor
plot_interactive.py
to improve organization and readability
ProteinCartography pub release v0.4.0-alpha
This release is associated with the pub ProteinCartography: Comparing proteins with structure-based maps for interactive exploration.
Encounter any bugs? Have any feedback or suggestions?
We'd love to hear from you! Please create an Issue in this repo.