Skip to content
Snippets Groups Projects
Commit 95c51509 authored by Studer Gabriel's avatar Studer Gabriel
Browse files

reduce lDDT memory peaks

lDDT computes all vs all pairwise distances within individual chains,
as well as between pairs of chains.
A chain of 5000 residues is already considered long and leads to
around 40000 atom positions. scipy cdist strictly operates on doubles
(64bit floats). In case of 40000 positions, it needs around 12GB
to hold all pairwise distances. The new implementation uses a fallback
for every cdist call above 20000 positions. cdist is called blockwise
and stores the 64 bit results for each block in a 32bit result matrix,
halving the memory requirements.
parent dba3bb14
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment