-
Notifications
You must be signed in to change notification settings - Fork 181
Conversation
...on of np.sum(generator)
...iple unrelated atomgroups
...ressing Poolsuch as _ag_worker and _frame_worker
...culated for all relevant tetrahedra in the vector, rather than a for loop
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why is this added?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
make sure these changes don't conflict with #2240
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this error seems wrong. The getCoords function is being used instead of the objects method so numpy arrays should be supported too
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
make lines shorter so more readable. Break it across lines e.g. at for
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
break this line too
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
break line after ( and again before ) is a standard way that could help here
@jamesmkrieger
jamesmkrieger
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks generally reasonable to me but I don't know enough about what's supposed to happen to comment on details
karolamik13
commented
Jul 22, 2026
@MatthewLicht Can we close this pull request since @briza81 included (your; I guess) speed improvements in #2249? Or should we keep it and include several more things?
I modified the sphere_fit, delete_simplices3d ,delete_section, surface_layer, and dijkstra functions in the ChannelCalculator Class for faster processing. Additionally, calcChannelsMultipleFrames uses multiprocessing Pool for parallel processing.
to test the code
from prody import *
Tests:
(1) Single PDB:
from prody import *
p = parsePDB('1tqn').select('protein')
calcChannels(p, output_path='test1.pdb')
(2) Multi-PDB:
from prody import *
p = parsePDB('multi.pdb').select('protein') (e.g. '2L6X')
calcChannelsMultipleFrames(p, output_path='mm_test_1', max_proc=2)
(3) DCD file:
from prody import *
PDBfile = 'structure.pdb'
DCDfile = 'trajectory.dcd'
atoms = parsePDB(PDBfile)
dcd = Trajectory(DCDfile)
dcd.link(atoms)
dcd.setCoords(atoms)
calcChannelsMultipleFrames(atoms, dcd, output_path='mm_test_2',max_proc=2)
(4) Multiple AtomGroups:
from prody import *
pdbs = [list of pdb files]
ags = [parsePDB(pdb) for pdb in pdbs ]
calcChannelsMultipleAtomGroups(ags)