Skip to content

Releases: Arcadia-Science/ProteinCartography

v0.5.0

10 May 16:22
b6dfc76
Compare
Choose a tag to compare

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 main Snakefile 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

18 Jan 00:59
9afd286
Compare
Choose a tag to compare

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 and evalue) 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 and snakefmt for formatting and linting
  • Reorganize the conda envs (add a development env and condense the snakemake conda envs)
  • Use SeqIO for parsing FASTA files in esmfold_apiquery.py
  • Refactor plot_interactive.py to improve organization and readability

ProteinCartography pub release v0.4.0-alpha

28 Sep 21:54
9ab3c96
Compare
Choose a tag to compare

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.