Segmentation of PhAge Endolysin Domains
SPAED is a tool to identify domains in phage endolysins. It takes as input the PAE file(s) obtained from AlphaFold and outputs a csv file with delineations.
Additional scripts are provided to visualize predicted domains with PyMOL and to obtain their amino acid sequences.
Installation & usage
Check out www.spaed.ca to launch SPAED quickly!
First create a virtual environment, then:
From pypi:
pip install spaed ### note the spelling of spaed
ex. spaed pae_path --output_file spaed_predictions.csv
From source:
git clone https://github.com/Rousseau-Team/spaed.git
pip install numpy pandas scipy
ex. python spaed/src/spaed/spaed.py pae_path
Advanced usage
Optional dependency for structure visualisation: pymol (conda install -c conda-forge -c schrodinger pymol-bundle). Python>3.10 is required, 3.12.9 worked for me.
ex. (install from pip). pymol_vis pred_path pdb_path --output_folder pymol_output --output_type {pse|png|both}
ex. (install from source). python spaed/src/spaed/pymol_vis.py pred_path pdb_path --output_folder pymol_output --output_type {pse|png|both}
Positional arguments:
- pae_path - Folder of or singular PAE file in json format as outputted by Alphafold2/3 or Colabfold.
Optional arguments:
- output_file - File to save table of segmented domains in csv format. (default spaed_predictions.csv)
- fasta_path - Path to fasta file or folder containing fasta files. If specified, spaed will save the sequences corresponding to predicted domains,linkers and terminal disordered regions into new fasta files named "spaed_predicted_{seq_type}.faa" in the same output folder as output_file. Ensure fasta names or headers correspond to entries in pae files.
- RATIO_NUM_CLUSTERS - Maximum number of clusters initially generated by hierarchical clustering corresponds to len(protein) // RATIO_NUM_CLUSTERS. (Default 10). For a protein 400 residues long, 40 clusters will be generated.
- MIN_DOMAIN_SIZE - Minimum size a domain can have. (default 30).
- PAE_SCORE_CUTOFF - Cutoff on the PAE score used to make adjustments to predicted domains/linkers/terminal disordered regions. Residues with PAE score < PAE_SCORE_CUTOFF are considered close together. (default = 4).
- MIN_DISORDERED_SIZE - Minimum size a terminal disordered region can be to be considered a separate entity from the domain it is next to (default 20).
- FREQ_DISORDERED - For a given residue in the PAE matrix, frequency of residues that can align to it with a low PAE score and still be considered "not part of a domain". Values <MIN_DOMAIN_SIZE are logical, but as it increases, the more leniant the algorithm becomes to non-domain regions (more will be predicted). (default 6).
- PROP_DISORDERED - Proportion of residues in a given region that must meet FREQ_DISORDERED criteria to be considered a terminal disordered region. The greater the value, the stricter the criteria to predict the region as disordered. (default 80%).
- FREQ_LINKER - For a given residue in the PAE matrix, frequency of residues that can align to it with a low PAE score and still be considered as part of the linker. Values < MIN_DOMAIN_SIZE are logical as they are less than the expected size of the nearest domain. Increasing leads to a more leniant assignment of residues as part of the linker. (default 20).
- version - Display installed SPAED version number.
If you are interested in looking at the disordered regions in N- or C-terminal, consider increasing FREQ_DISORDERED ([4-30]), decreasing MIN_DISORDERED_SIZE ([10-30]) or decreasing PROP_DISORDERED ([50-95]). This will result in more (and longer) terminal disordered regions being detected, but also many false positives. I would not change them all at the same time as this will probably increase the sensitivity too much.
If you are interested in linkers or have a protein that is less well folded, consider modifying the FREQ_LINKER parameter ([4-30]). This value is used to adjust the boundaries of the linkers and as such, a higher value will result in longer linkers. However, linkers that were missed will still not be detected.
Outputs
A csv file containing the proteinID, protein length, number of predicted domains, domain delineations, linker delineations, terminal disordered region delineations. Delineations for each domain are separated by a ";".
Ex.
| length | # domains | domains | linkers | disordered | |
|---|---|---|---|---|---|
| prot 1 | 251 | 2 | 1-120;130-251 | 121-129 | |
| prot 2 | 386 | 2 | 86-203;217-386 | 204-216 | 1-85 |
Citation
Alexandre Boulay, Emma Cremelie, Clovis Galiez, Yves Briers, Elsa Rousseau, Roberto Vázquez, SPAED: harnessing AlphaFold output for accurate segmentation of phage endolysin domains, Bioinformatics, Volume 41, Issue 10, October 2025, btaf531, https://doi.org/10.1093/bioinformatics/btaf531.
Metadata
Release files for spaed 1.0.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| spaed-1.0.7.tar.gz | 1.8 MB | Without provenance | Details for spaed-1.0.7.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| spaed-1.0.7-py3-none-any.whl | Python 3 | none | any | Details for spaed-1.0.7-py3-none-any.whl |
Total release size: 1.8 MB
Release files / spaed-1.0.7.tar.gz
| Download URL | spaed-1.0.7.tar.gz |
|---|---|
| Size | 1.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8b0239d43e4c6f13df96b84bd97e47beae0f31ea1fe27e8d5f5fb34b6f66e771
|
|
BLAKE2b-256 checksum How to use checksums |
217761303186002667a05d70313f04273611fe31bf4f0cefa78a9bab86d74d19
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.9
|
Release files / spaed-1.0.7-py3-none-any.whl
| Download URL | spaed-1.0.7-py3-none-any.whl |
|---|---|
| Size | 26.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3a8e0b96a9bbef5ce5774b539304b7c373f55614ee4a8c5bb906e608694498db
|
|
BLAKE2b-256 checksum How to use checksums |
ac222ec604123067d2bda5250142387e76b30b2c055eb3589ddbdd7f3b491d4e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.9
|
Security for spaed 1.0.7
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.