ProDy 1.11 Series¶
1.11 (Oct 1, 2020)¶
New Features:
Rework of the Structure Mapping Functions
Implemented
mapOntoChains()
that calculates mappings of chains between two structures in a pairwise fashion.Now newly added
mapChainOntoChain()
functions as the elementary operation ofmapOntoChains()
usemapChainOntoChain()
that maps aChain
instance onto another.Implemented
combineAtomMaps()
for optimally combining atommaps obtained frommapOntoChains
ormapOntoChain
, based on mapping coverages.Implemented
alignChains()
for aligning two structures usingmapOntoChains()
andcombineAtomMaps()
.Now
buildPDBEnsemble()
usesalignChains()
to perform the alignment. Therefore, instead of mapping_func, a match_func argument should be passed to the function for controlling how chains are (pre)matched. The match_func takes exactly two parameters, chain1 and chain2, and determines if these two chains should be tried to be mapped.Built-in options for match_func includes:
bestMatch()
which allows all pairwise mappings between chains, and it is calledbestMatch()
because the optimal mapping will be chosen later automatically.sameChid()
which only maps the ones with the same chain ID, and the later optimization of mappings would not matter since the same chain IDs usually indicate a unique mapping.userDefined()
. It takes three parameters, which are two chains and adict
instance indicating correspondence Since it has three parameters, a wrapper is needed. Its usage is demonstrated by the following example:>>> ref = parsePDB('3qel', subset='ca').select('chain A or chain B') ... mob = parsePDB('4pe5', subset='ca') ... ... chmap = {'3qel_ca': 'AB', '4pe5_ca': 'CD'} ... GluRChains = lambda chain1, chain2: userDefined(chain1, chain2, chmap) ... atommaps = alignChains(mob, ref, mapping='ce', match_func=GluRChains)
Bug Fixes and Improvements:
- Changed
showProtein()
so that it does not display dummy atoms.- Added warnings to
calcTransform()
when either mobile or target is anAtomMap
instance.- Fixed a bug related to how the ticks are located in
showMatrix()
.- Deprecated mapChainByChain and addPDBEnsemble whose rules are filled respectively by
mapOntoChains()
andbuildPDBEnsemble()
when ref is anPDBEnsemble
instance.