Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Recent ProDy updates to Cavi-Finder branch #9

Open
wants to merge 165 commits into
base: prody-cavifinder
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
165 commits
Select commit Hold shift + click to select a range
26b99a3
parallel insty
jamesmkrieger Aug 22, 2024
368a673
parallel inside class - somewhat working
jamesmkrieger Aug 22, 2024
bc5fcb6
better insty tests
jamesmkrieger Aug 22, 2024
f8cca17
remove insty test outputs
jamesmkrieger Aug 22, 2024
375179c
Merge branch 'main' of github.com:prody/ProDy into insty_tests
jamesmkrieger Aug 22, 2024
c34f8de
limit frames and procs
jamesmkrieger Aug 22, 2024
26a61dd
Merge branch 'main' of github.com:prody/ProDy into parallel_insty
jamesmkrieger Aug 22, 2024
cbe722f
Merge branch 'main' of github.com:prody/ProDy into insty_tests
jamesmkrieger Sep 1, 2024
9148b47
Merge branch 'main' of github.com:prody/ProDy into insty_tests
jamesmkrieger Sep 30, 2024
0c6e55e
update getDataPath to importlib
jamesmkrieger Sep 30, 2024
e0edf04
more stable test for non empty lists
jamesmkrieger Sep 30, 2024
c674ed4
keep python 2 getDataPath
jamesmkrieger Sep 30, 2024
f4ac208
add 3o21 disu test
jamesmkrieger Sep 30, 2024
66906b2
getDihedral from multi coordsets
jamesmkrieger Oct 23, 2024
d401316
extract single
jamesmkrieger Oct 23, 2024
9fa61d3
add clustenm to dynamics init docs
jamesmkrieger Oct 29, 2024
e8bef58
add anmd
jamesmkrieger Oct 29, 2024
43194f3
add anmd tests
jamesmkrieger Oct 29, 2024
7cdb202
abs import for script
jamesmkrieger Oct 29, 2024
9417e51
add file writing for script mode
jamesmkrieger Oct 29, 2024
636ff1e
fix anmd tests
jamesmkrieger Oct 29, 2024
0fffa17
run test for py3 only
jamesmkrieger Oct 29, 2024
32b1f3d
fix tests
jamesmkrieger Oct 30, 2024
fbde006
-
jamesmkrieger Oct 30, 2024
01cab67
remove unused force field and solvent
jamesmkrieger Oct 30, 2024
4459ac9
relax test atol
jamesmkrieger Oct 30, 2024
3dd2cbe
add skip modes
jamesmkrieger Oct 31, 2024
395abb4
output fixed min if skip all modes
jamesmkrieger Oct 31, 2024
91df3c2
add anm kwarg to use precalc modes
jamesmkrieger Oct 31, 2024
0054021
add missed check num_steps
jamesmkrieger Oct 31, 2024
b72cd81
wrapper4insty is added as calcSignatureInteractions()
karolamik13 Nov 9, 2024
4505312
fstrings removed
karolamik13 Nov 9, 2024
b8cdafc
replacing additional fstrings
karolamik13 Nov 9, 2024
6345be8
extractMultiModelPDB
karolamik13 Nov 9, 2024
f088e5a
fstrings replaced
karolamik13 Nov 10, 2024
92e6c88
Merge branch 'prody-signint' of github.com:karolamik13/ProDy into pro…
karolamik13 Nov 10, 2024
0b8da0f
fixer import
karolamik13 Nov 10, 2024
81f1e0c
Merge remote-tracking branch 'jamesmkrieger/pdb_ftp' into prody-signint
karolamik13 Nov 10, 2024
1260011
extractMultiModelPDB improvements
karolamik13 Nov 10, 2024
f2956d9
createFoldseekAlignment
karolamik13 Nov 10, 2024
ca71719
fix in kwargs, createFoldseekAlignment
karolamik13 Nov 10, 2024
f736b8a
LOGGER info added to SignInt functions
karolamik13 Nov 10, 2024
0112652
runFoldseek is added
karolamik13 Nov 10, 2024
f0565f2
LOGGER changes
karolamik13 Nov 11, 2024
ba342f9
cov-mode parameter to foldseek run
karolamik13 Nov 11, 2024
05b4621
runFoldseek improvements with kwargs, docs
karolamik13 Nov 11, 2024
d31d183
changes in imports
karolamik13 Nov 11, 2024
9b79bd7
kwargs for plot_barh
karolamik13 Nov 12, 2024
6e342c4
fixing typos
karolamik13 Nov 12, 2024
5450f8c
kwargs for calcSignatureInteractions, optional removal of tmp files
karolamik13 Nov 12, 2024
1ec47c5
if for 'fixed_files' removed
karolamik13 Nov 13, 2024
6d34878
3to1 letter code is not replaced by AAMAP
karolamik13 Nov 13, 2024
ee64b51
Checks for database_folder exists
karolamik13 Nov 13, 2024
8c19c0f
additional checks and docs improvements
karolamik13 Nov 13, 2024
4c4350d
update insty docs
jamesmkrieger Nov 15, 2024
cc49efd
replace PiStack RB with PS
jamesmkrieger Nov 15, 2024
07ef035
more info
jamesmkrieger Nov 15, 2024
22ff338
runDali added
karolamik13 Nov 16, 2024
3dab901
Merge branch 'prody:main' into prody-signint
karolamik13 Nov 16, 2024
8a0019d
TypeError replaced by LOGGER.warn in runDali
karolamik13 Nov 16, 2024
ec00e2d
fix angleDHA
jamesmkrieger Nov 18, 2024
2906633
add chain bar to showCumulativeInteractionTypes energy
jamesmkrieger Nov 18, 2024
1a02647
typo fix
jamesmkrieger Nov 18, 2024
f57418e
runBLAST form SignInter added
karolamik13 Nov 19, 2024
a198562
Merge pull request #1994 from jamesmkrieger/insty_showCum
jamesmkrieger Nov 19, 2024
e6faf3f
Merge pull request #1993 from jamesmkrieger/insty_docs
jamesmkrieger Nov 19, 2024
3a90616
Merge branch 'main' of github.com:prody/ProDy into anmd
jamesmkrieger Nov 19, 2024
ca6d22c
update blast writeSequences docs
jamesmkrieger Nov 19, 2024
2ef6b96
Merge pull request #1992 from jamesmkrieger/insty_pi_stack
jamesmkrieger Nov 19, 2024
67e31dc
add option to not add hydrogen
jamesmkrieger Nov 19, 2024
67021b1
expand matrix energy docs
jamesmkrieger Nov 19, 2024
dce1e37
Merge pull request #1997 from jamesmkrieger/insty_docs
jamesmkrieger Nov 20, 2024
692c82b
add energy once
jamesmkrieger Nov 20, 2024
62a753f
better indexing
jamesmkrieger Nov 20, 2024
43d427a
Merge branch 'main' of github.com:prody/ProDy into insty_docs
jamesmkrieger Nov 20, 2024
be9b1d7
fix indexing fix
jamesmkrieger Nov 20, 2024
8a9f523
Merge pull request #1996 from jamesmkrieger/fixer_no_H
jamesmkrieger Nov 20, 2024
d3730c3
Merge pull request #1998 from jamesmkrieger/insty_docs
jamesmkrieger Nov 20, 2024
6862fdc
Merge pull request #1995 from jamesmkrieger/blast_docs
jamesmkrieger Nov 21, 2024
d1bf53e
add anmd tolerance unit
jamesmkrieger Nov 21, 2024
66a9745
Merge branch 'main' of github.com:prody/ProDy into anmd
jamesmkrieger Nov 21, 2024
910e333
add more kwargs to anmd script
jamesmkrieger Nov 21, 2024
adc11bd
add abs option to showOverlap
jamesmkrieger Nov 21, 2024
4f3320a
add build and overwrite to showCumulativeInteractionTypes energy
jamesmkrieger Nov 21, 2024
375d5ff
warn wrong energy type
jamesmkrieger Nov 21, 2024
36222dd
Merge pull request #1999 from jamesmkrieger/insty_energy
jamesmkrieger Nov 22, 2024
d5cbe17
add back padding
jamesmkrieger Nov 22, 2024
18ade73
remove bad logger line
jamesmkrieger Nov 22, 2024
de64e4c
add units to docs
jamesmkrieger Nov 22, 2024
ec245df
update unit in graphs and logs
jamesmkrieger Nov 22, 2024
b811e3c
add vmin vmax docs to showMatrix
jamesmkrieger Nov 22, 2024
3724094
add selstr to cum ints
jamesmkrieger Nov 22, 2024
106e9c6
add showSelectionMatrix
jamesmkrieger Nov 22, 2024
50a37d6
calcSignatureInteractions includes now analysis with MSA file [furthe…
karolamik13 Nov 22, 2024
41be7ac
Merge pull request #1944 from jamesmkrieger/insty_tests
jamesmkrieger Nov 24, 2024
6751854
better 7 types check for writing tcl
jamesmkrieger Nov 25, 2024
bebaf7c
showCumulativeInteractionTypes pplot kwargs
jamesmkrieger Nov 25, 2024
b0ed071
rm py 3.8
jamesmkrieger Nov 25, 2024
fecc1a4
comment some pfam tests
jamesmkrieger Nov 25, 2024
b09d579
completely comment out pfam tests
jamesmkrieger Nov 25, 2024
5e55c20
no double commenting
jamesmkrieger Nov 25, 2024
af00703
Merge pull request #2004 from jamesmkrieger/less_tests
jamesmkrieger Nov 25, 2024
74eb272
Merge branch 'main' of github.com:prody/ProDy into insty_energy
jamesmkrieger Nov 25, 2024
b6632cf
Merge branch 'main' of github.com:prody/ProDy into insty_tcl
jamesmkrieger Nov 25, 2024
566d340
reoeganization of runFoldseek and calcSignatureInteractions
karolamik13 Nov 27, 2024
12841bb
docs fix [InSty]
karolamik13 Nov 28, 2024
3a1f6b1
doc selstr x and y more
jamesmkrieger Nov 28, 2024
d6f0a04
Merge pull request #1981 from jamesmkrieger/anmd
jamesmkrieger Nov 29, 2024
b957a27
docs typo fix
jamesmkrieger Nov 29, 2024
40ddb05
restore one label and markersize to showProjection
jamesmkrieger Nov 29, 2024
1323485
fix for longer label
jamesmkrieger Nov 29, 2024
6c58384
Merge pull request #2003 from jamesmkrieger/insty_tcl
jamesmkrieger Nov 30, 2024
ffedac4
Merge pull request #2006 from jamesmkrieger/anmd
jamesmkrieger Nov 30, 2024
7d4ab54
Merge pull request #2007 from jamesmkrieger/showProj
jamesmkrieger Nov 30, 2024
3e3d822
Merge pull request #2000 from jamesmkrieger/insty_energy
jamesmkrieger Dec 1, 2024
93c30ed
diversify if conditions for _parseMMCIFLines
jamesmkrieger Dec 1, 2024
c7d4a99
final rearrangement of calcSignatureInteractions with MSA file
karolamik13 Dec 1, 2024
2154509
Merge branch 'main' of github.com:prody/ProDy into getDihedral_many
jamesmkrieger Dec 1, 2024
c159a34
Changes in docs
karolamik13 Dec 1, 2024
4a3f244
Merge branch 'main' into prody-signint
karolamik13 Dec 1, 2024
f9d6716
Merge pull request #1989 from karolamik13/prody-signint
karolamik13 Dec 2, 2024
ec0eafa
add get measure funcs
jamesmkrieger Dec 3, 2024
3b533ed
num_steps default to 5
jamesmkrieger Dec 3, 2024
b742671
num_steps 2 in tests still
jamesmkrieger Dec 3, 2024
35b29bd
Merge pull request #2008 from jamesmkrieger/nonstd_cif_fixes
jamesmkrieger Dec 3, 2024
e4c0fa8
Merge pull request #2009 from jamesmkrieger/getDihedral_many
jamesmkrieger Dec 3, 2024
3d68579
merge update
jamesmkrieger Dec 3, 2024
0945824
Merge pull request #2012 from jamesmkrieger/anmd
jamesmkrieger Dec 3, 2024
53e916c
InSty (calcSignatureInteractions) changes in the plot title
karolamik13 Dec 6, 2024
913954b
add reverse to filterDaliMultimers
jamesmkrieger Dec 8, 2024
da5904d
Merge pull request #2013 from jamesmkrieger/dali_filter_reverse
jamesmkrieger Dec 10, 2024
1013f4e
fix filterInteractions single selection to include chain
jamesmkrieger Dec 10, 2024
7a3a11f
Merge branch 'prody:main' into interactions
karolamik13 Dec 12, 2024
d154132
Merge pull request #2015 from karolamik13/interactions
karolamik13 Dec 12, 2024
532dba1
complete general filterInteractions
jamesmkrieger Dec 13, 2024
eadb59c
Merge branch 'main' of github.com:prody/ProDy into filter_ints
jamesmkrieger Dec 13, 2024
3e9568b
simplify calcProteinInteractionsTrajectory
jamesmkrieger Dec 13, 2024
9d114d2
Merge branch 'main' of github.com:prody/ProDy into parallel_insty
jamesmkrieger Dec 13, 2024
7cf5d6c
replace insty 2k39_all2.npy hpb results
jamesmkrieger Dec 13, 2024
1a1db6d
replace 2k39_all.npy with new 2k39_all2.npy
jamesmkrieger Dec 13, 2024
259a5a5
Merge pull request #2014 from jamesmkrieger/filter_ints
jamesmkrieger Dec 13, 2024
e6e19e2
fix double backtick
jamesmkrieger Dec 16, 2024
fcb14c3
reorder parallel insty results
jamesmkrieger Dec 17, 2024
197fcf9
fix tests
jamesmkrieger Dec 17, 2024
be0883a
fix save load test
jamesmkrieger Dec 17, 2024
ab3d7f7
fix other tests
jamesmkrieger Dec 17, 2024
9c00da7
fix calcInteractionsMultipleFrames double appending
jamesmkrieger Dec 17, 2024
9f9b5d3
Merge branch 'main' of github.com:prody/ProDy into parallel_insty
jamesmkrieger Dec 17, 2024
5e58c20
revert stop_frame on testing types
jamesmkrieger Dec 17, 2024
87ba634
Merge pull request #2016 from jamesmkrieger/readme
jamesmkrieger Dec 17, 2024
9bfeb99
Merge pull request #1945 from jamesmkrieger/parallel_insty
jamesmkrieger Dec 17, 2024
a7f9b82
remove unneeded start_frame
jamesmkrieger Dec 18, 2024
b22f02f
fix calcInteractionsMultipleFrames missing frame
jamesmkrieger Dec 18, 2024
034084b
fix tests accordingly
jamesmkrieger Dec 18, 2024
ef6c996
use nfi properly
jamesmkrieger Dec 18, 2024
7bac08a
fix calcInteractionsMultipleFrames with traj
jamesmkrieger Dec 18, 2024
7441ca6
another fix
jamesmkrieger Dec 18, 2024
de16fd6
add dcd insty test
jamesmkrieger Dec 18, 2024
ac4023b
fix Trajectory test
jamesmkrieger Dec 18, 2024
d413ee3
handle no KRED better
jamesmkrieger Dec 19, 2024
496d989
add other dali filter arguments
jamesmkrieger Dec 19, 2024
8c49d02
anmd for pca input
jamesmkrieger Dec 27, 2024
e0df1f1
Merge pull request #2022 from jamesmkrieger/anmd
jamesmkrieger Dec 27, 2024
3019543
Merge pull request #2020 from jamesmkrieger/runDali_more_args
jamesmkrieger Dec 28, 2024
454c40c
Merge pull request #2017 from jamesmkrieger/parallel_insty
jamesmkrieger Dec 28, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["2.7", "3.8", "3.9", "3.10", "3.11", "3.12"]
python-version: ["2.7", "3.9", "3.10", "3.11", "3.12"]

steps:
- uses: actions/checkout@v2
Expand Down
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ ProDy has a modular structure with modules inside various subpackages.

The main ones are:

- :mod:`~prody.atomic`` handles all :class:`~prody.atomic.Atomic` objects including :class:`~prody.atomic.AtomGroup` and :class:`.Selection`
- :mod:`~prody.atomic` handles all :class:`~prody.atomic.Atomic` objects including :class:`~prody.atomic.AtomGroup` and :class:`.Selection`

- :mod:`~prody.database` interfaces with databases such as CATH, DALI, UniProt and Pfam

Expand Down
43 changes: 36 additions & 7 deletions prody/database/dali.py
Original file line number Diff line number Diff line change
Expand Up @@ -515,7 +515,7 @@ def getTitle(self):

return self._title

def daliFilterMultimer(atoms, dali_rec, n_chains=None):
def daliFilterMultimer(atoms, dali_rec, n_chains=None, reverse=False):
"""
Filters multimers to only include chains with Dali mappings.

Expand All @@ -524,6 +524,14 @@ def daliFilterMultimer(atoms, dali_rec, n_chains=None):

:arg dali_rec: the DaliRecord object with which to filter chains
:type dali_rec: :class:`.DaliRecord`

:arg n_chains: the number of chains in multimers to keep
Default is None, keeping all multimers
:arg n_chains: int

:arg reverse: whether to reverse filtering to exclude by n_chain
Default is False
:type reverse: bool
"""
if not isinstance(atoms, Atomic):
raise TypeError("atoms should be an Atomic object")
Expand All @@ -535,6 +543,12 @@ def daliFilterMultimer(atoms, dali_rec, n_chains=None):
except:
raise AttributeError("Dali Record does not have any data yet. Please run fetch.")

if not isinstance(n_chains, (int, type(None))):
raise TypeError('n_chains should be None or an integer')

if not isinstance(reverse, bool):
raise TypeError('reverse should be a Boolean')

numChains = 0
atommap = None
for i, chain in enumerate(atoms.iterChains()):
Expand All @@ -546,17 +560,32 @@ def daliFilterMultimer(atoms, dali_rec, n_chains=None):
else:
atommap += chain

if n_chains is None or numChains == n_chains:
return atommap
else:
return None
if n_chains is None or \
not reverse and numChains == n_chains or \
reverse and numChains != n_chains:
return atommap
return None

def daliFilterMultimers(structures, dali_rec, n_chains=None):
def daliFilterMultimers(structures, dali_rec, n_chains=None, reverse=False):
"""A wrapper for daliFilterMultimer to apply to multiple structures.

:arg structures: a list of :class:`.Atomic` objects to be filtered
:type structures: list

:arg dali_rec: the DaliRecord object with which to filter chains
:type dali_rec: :class:`.DaliRecord`

:arg n_chains: the number of chains in multimers to keep
Default is None, keeping all multimers
:arg n_chains: int

:arg reverse: whether to reverse filtering to exclude by n_chain
Default is False
:type reverse: bool
"""
dali_ags = []
for entry in structures:
result = daliFilterMultimer(entry, dali_rec, n_chains)
result = daliFilterMultimer(entry, dali_rec, n_chains, reverse)
if result is not None:
dali_ags.append(result)
return dali_ags
12 changes: 12 additions & 0 deletions prody/dynamics/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,14 @@

* :class:`.AdaptiveANM` - generate transitions between two conformers using best overlapping modes

ENM-MD hybrid methods
===================

The following classes and functions can be used to generate conformers using ENM-MD hybrid methods:

* :class:`.ClustENM` - generate conformers by exploring combinations of modes and clustering, using minimisation and optionally MD
* :function:`.ANMD` - generate conformers by traversing a number of individual modes, applying minimisation to each conformer

Essential Site Scanning Analysis (ESSA)
========================================

Expand Down Expand Up @@ -367,3 +375,7 @@
from . import logistic
from .logistic import *
__all__.extend(logistic.__all__)

from . import anmd
from .anmd import *
__all__.extend(anmd.__all__)
Loading