Skip to content

Commit

Permalink
Merge pull request #3299 from MDAnalysis/master_merge
Browse files Browse the repository at this point in the history
WIP: Master merge
  • Loading branch information
richardjgowers authored May 14, 2021
2 parents 122b884 + 1cc1939 commit 6b4eea0
Show file tree
Hide file tree
Showing 32 changed files with 1,101 additions and 869 deletions.
16 changes: 8 additions & 8 deletions maintainer/change_release.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@ die () {

findcommand() {
for name in $*; do
path=$(which $name)
if [ -n "$path" ]; then
echo $path
return 0
fi
path=$(which $name)
if [ -n "$path" ]; then
echo $path
return 0
fi
done
die "None of the commands $* found." 2
}
Expand Down Expand Up @@ -74,12 +74,12 @@ echo "Using sed = $SED"
echo "Setting RELEASE/__version__ in MDAnalysis to $RELEASE"

git grep -E -l 'RELEASE.*[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+)?(-dev[0-9]*|-rc[0-9]*)?' $FILES \
| xargs -I FILE $SED '/RELEASE/s/[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+)?(-dev[0-9]*|-rc[0-9]*)?/'${RELEASE}'/' -i.bak FILE
| xargs -I FILE $SED -e '/RELEASE/s/[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+)?(-dev[0-9]*|-rc[0-9]*)?/'${RELEASE}'/' -i .bak FILE

git grep -E -l '__version__ *=.*[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+)?(-dev[0-9]*|-rc[0-9]*)?' $FILES \
| xargs -I FILE $SED '/__version__/s/[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+)?(-dev[0-9]*|-rc[0-9]*)?/'${RELEASE}'/' -i.bak FILE
| xargs -I FILE $SED -e '/__version__/s/[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+)?(-dev[0-9]*|-rc[0-9]*)?/'${RELEASE}'/' -i .bak FILE

git grep -E -l 'version:.*[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+)?(-dev[0-9]*|-rc[0-9]*)?' $FILES \
| xargs -I FILE $SED '/version:/s/[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+)?(-dev[0-9]*|-rc[0-9]*)?/'${RELEASE}'/' -i.bak FILE
| xargs -I FILE $SED -e '/version:/s/[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+)?(-dev[0-9]*|-rc[0-9]*)?/'${RELEASE}'/' -i .bak FILE

git status
6 changes: 3 additions & 3 deletions maintainer/conda/MDAnalysis/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package:
name: mdanalysis
# This has to be changed after a release
version: "0.19.1dev"
version: "2.0.0-dev0"

source:
git_url: https://github.com/MDAnalysis/mdanalysis
git_branch: develop
# git_tag: release-0.15.0
# git_branch: develop
git_tag: release-0.19.1

# specify the subversion of the conda package. Defaults to 0. If you make
# changes to the conda package alone with out an increase in the source package
Expand Down
2 changes: 2 additions & 0 deletions package/AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,7 @@ Chronological list of authors
- Edis Jakupovic
- Nicholas Craven
- Mieczyslaw Torchala
- Ramon Crehuet
- Haochuan Chen
- Karthikeyan Singaravelan
2021
Expand All @@ -167,6 +168,7 @@ Chronological list of authors
- Sulay Shah
- Alexander Yang


External code
-------------

Expand Down
124 changes: 118 additions & 6 deletions package/CHANGELOG
Original file line number Diff line number Diff line change
Expand Up @@ -330,6 +330,115 @@ Deprecations
read it from the input TRZ trajectory.


05/01/21 IAlibay

* 1.1.1

Fixes
* Remove absolute paths from package upload to pypi.


04/28/21 richardjgowers, IAlibay, tylerjereddy, xiki-tempula, lilyminium,
zemanj, PicoCentauri

* 1.1.0

Fixes
* Removes use of absolute paths in setup.py to avoid Windows installation
failures (Issue #3129)
* Adds test for crashes caused by small box NSGrid searches (Issue #2670)
* Replaces decreated NumPy type aliases and fixes NEP 34 explicit ragged
array warnings (PR #3139, backports PRs #2845 and #2834)
* Fixed several issues with NSGrid and triclinic boxes not finding some pairs.
(Issues #2229 #2345 #2919, PR #2937).
* Removed deprecation warning from numpy in hbond_autocorrel
(Issue #2987 PR #3242)
* Fixed bug in exclusion matrix of hbond_autocorrel (PR #3242)

Changes
* Maximum pinned versions in setup.py removed for python 3.6+ (PR #3139)

Deprecations
* ParmEdConverter no longer accepts Timestep objects at all
(Issue #3031, PR #3172)
* NCDFWriter `scale_factor` writing will change in version 2.0 to
better match AMBER outputs (Issue #2327)
* Deprecated using the last letter of the segid as the
chainID when writing PDB files (Issue #3144)
* Deprecated tempfactors and bfactors being separate
TopologyAttrs, with a warning (PR #3161)
* hbonds.WaterBridgeAnalysis will be removed in 2.0.0 and
replaced with hydrogenbonds.WaterBridgeAnalysis (#3111)
* TPRParser indexing resids from 0 by default is deprecated.
From 2.0 TPRParser will index resids from 1 by default.


Enhancements
* Added `get_connections` method to get bonds, angles, dihedrals, etc.
with or without atoms outside the group (Issues #1264, #2821, PR #3160)
* Added `tpr_resid_from_one` keyword to select whether TPRParser
indexes resids from 0 or 1 (Issue #2364, PR #3153)


01/17/21 richardjgowers, IAlibay, orbeckst, tylerjereddy, jbarnoud,
yuxuanzhuang, lilyminium, VOD555, p-j-smith, bieniekmateusz,
calcraven, ianmkenney, rcrehuet, manuel.nuno.melo, hanatok

* 1.0.1

Fixes
* Due to issues with the reliability/accuracy of `nsgrid`, this method is
currently not recommended for use. It has also been removed as an option
from lib.capped_distance and lib.self_capped_distance. Please use PKDTree
instead (Issue #2930)
* Development status changed from beta to mature (Issue #2773)
* pip installation only requests Python 2.7-compatible packages (#2736)
* Testsuite does not use any more matplotlib.use('agg') (#2191)
* The methods provided by topology attributes now appear in the
documentation (Issue #1845)
* AtomGroup.center now works correctly for compounds + unwrapping
(Issue #2984)
* In ChainReader, read_frame does not trigger change of iterating position.
(Issue #2723, PR #2815)
* empty_atomgroup.select_atoms('name *') now returns an empty
AtomGroup instead of TypeError (Issue #2765)
* TRZReader now checks `n_atoms` on reading. (Issue #2817, PR #2820)
* TRZWriter now writes `n_atoms` to the file. (Issue #2817, PR #2820)
* rdf.InterRDF_s density keyword documented and now gives correct results for
density=True; the keyword was available since 0.19.0 but with incorrect
semantics and not documented and did not produce correct results (Issue
#2811, PR #2812)
* In hydrogenbonds.hbond_analysis.HydrogenbondAnalysis an AttributeError
was thrown when finding D-H pairs via the topology if `hydrogens` was an
empty AtomGroup (Issue #2848)
* Fixed reading in masses and charges from a hoomdxml file
(Issue #2888, PR #2889)
* Fixed performance regression on select_atoms for string selections (#2751)
* Fixed the DMSParser, allowing the creation of multiple segids sharing
residues with identical resids (Issue #1387, PR #2872)
* Fixed missing space between floats in helanal output files (PR #2733)
* ensure that unistd.h is included on macOS when compiling ENCORE's spe.c
(Issue #2934)

Enhancements
* Improved performance of the ParmEd converter (Issue #3028, PR #3029)
* Improved performances when parsing TPR files (PR #2804)

Changes (not affecting users)
* Continuous integration uses mamba rather than conda to install the
dependencies (PR #2983)

Deprecations
* waterdynamics.HydrogenBondLifetimes will be removed in 2.0.0 and
replaced with hydrogenbonds.HydrogenBondAnalysis.lifetime() (#2547)
* lib.util.echo() will be removed in 2.0.0
* core.universe.as_Universe() will be removed in 2.0.0
* analysis.leaflets.LeafletFinder() will not accept a filename any more,
only a Universe, in 2.0.0
* analysis.helanal will be removed in 2.0.0 and replaced by
analysis.helix_analysis (PR #2622)


06/09/20 richardjgowers, kain88-de, lilyminium, p-j-smith, bdice, joaomcteixeira,
PicoCentauri, davidercruz, jbarnoud, RMeli, IAlibay, mtiberti, CCook96,
Yuan-Yu, xiki-tempula, HTian1997, Iv-Hristov, hmacdope, AnshulAngaria,
Expand All @@ -356,7 +465,7 @@ Fixes
* n_components correctly selects PCA components (Issue #2623)
* Use internal residue indices instead of resids for similarity and connectivity
selections (Issues #2669 and #2672, PR #2673)
* Checks for cryo-em 1 A^3 default CRYST1 record,
* Checks for cryo-em 1 A^3 default CRYST1 record,
disabling setting of box dimensions if found (Issue #2599)
* mdamath.angles now returns np.pi instead of -np.pi in cases of
lower bound roundoff errors. (Issue #2632, PR #2634)
Expand All @@ -381,7 +490,7 @@ Fixes
* Clarifies density_from_Universe docs and adds user warning (Issue #2372)
* Fix upstream deprecation of `matplotlib.axis.Tick` attributes in
`MDAnalysis.analysis.psa`
* PDBWriter now uses first character of segid as ChainID (Issue #2224)
* PDBWriter now uses last character of segid as ChainID (Issue #2224)
* Adds a more detailed warning when attempting to read chamber-style parm7
files (Issue #2475)
* ClusterCollection.get_ids now returns correctly (Issue #2464)
Expand All @@ -395,6 +504,7 @@ Fixes
than one format (Issue #2353)
* PDBQTParser now gives icode TopologyAttrs (Issue #2361)
* GROReader and GROWriter now can handle boxes with box vectors >1000nm
(Issue #2371)
* Guess atom element with uppercase name
* TopologyGroup no longer reshapes the type, guessed, and order properties
(Issue #2392)
Expand All @@ -417,7 +527,7 @@ Fixes
Enhancements
* Added support for FHI-AIMS input files (PR #2705)
* vastly improved support for 32-bit Windows (PR #2696)
* Added methods to compute the root-mean-square-inner-product of subspaces
* Added methods to compute the root-mean-square-inner-product of subspaces
and the cumulative overlap of a vector in a subspace for PCA (PR #2613)
* Added .frames and .times arrays to AnalysisBase (Issue #2661)
* Added elements attribute to PDBParser (Issue #2553, #2647)
Expand Down Expand Up @@ -464,7 +574,7 @@ Enhancements

Changes
* Unused `MDAnalysis.lib.mdamath._angle` has been removed (Issue #2650)
* Refactored dihedral selections and Ramachandran.__init__ to speed up
* Refactored dihedral selections and Ramachandran.__init__ to speed up
dihedral selections for faster tests (Issue #2671, PR #2706)
* Removes the deprecated `t0`, `tf`, and `dtmax` from
:class:Waterdynamics.SurvivalProbability. Instead the `start`, `stop` and
Expand Down Expand Up @@ -527,7 +637,6 @@ Changes
function calls. (Issue #782)

Deprecations
* analysis.helanal is deprecated in 1.0 (remove in 2.0)
* analysis.hole is deprecated in 1.0 (remove in 2.0)
* analysis.hbonds.HydrogenBondAnalysis is deprecated in 1.0 (remove in 2.0)
* analysis.density.density_from_Universe() (remove in 2.0)
Expand All @@ -536,6 +645,7 @@ Deprecations
* Writer.write_next_timestep is deprecated, use write() instead (remove in 2.0)
* Writer.write(Timestep) is deprecated, use either a Universe or AtomGroup


09/05/19 IAlibay, richardjgowers

* 0.20.1
Expand Down Expand Up @@ -908,7 +1018,6 @@ Testsuite
* Unit tests for unwanted side effects when importing MDAnalysis
* MDAnalysis.visualization is now tested


01/24/18 richardjgowers, rathann, orbeckst, tylerjereddy, mtiberti, kain88-de,
jbarnoud, nestorwendt, mmattaNU, jmborr, sobuelow, sseyler, rcortini,
xiki-tempula, manuel.nuno.melo
Expand Down Expand Up @@ -1018,6 +1127,9 @@ Fixes
* Fixed dtype of numpy arrays to accomodate 32 bit architectures (Issue #1362)
* Groups are hashable on python 3 (Issue #1397)

Changes
* scipy and matplotlib are now required dependencies (Issue #1159)


Changes
* scipy and matplotlib are now required dependencies (Issue #1159)
Expand Down
2 changes: 1 addition & 1 deletion package/MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@ global-exclude *.pyc
global-exclude *.pyo
global-exclude *.pyd
global-exclude *~
global-exclude .git
global-exclude .git
13 changes: 7 additions & 6 deletions package/MDAnalysis/analysis/hydrogenbonds/hbond_analysis.py
Original file line number Diff line number Diff line change
Expand Up @@ -768,7 +768,8 @@ def count_by_time(self):
indices /= self.step

counts = np.zeros_like(self.frames)
counts[indices.astype(int)] = tmp_counts
counts[indices.astype(np.intp)] = tmp_counts

return counts

def count_by_type(self):
Expand All @@ -786,8 +787,8 @@ def count_by_type(self):
acceptor atoms in a hydrogen bond.
"""

d = self.u.atoms[self.results.hbonds[:, 1].astype(int)]
a = self.u.atoms[self.results.hbonds[:, 3].astype(int)]
d = self.u.atoms[self.hbonds[:, 1].astype(np.intp)]
a = self.u.atoms[self.hbonds[:, 3].astype(np.intp)]

tmp_hbonds = np.array([d.resnames, d.types, a.resnames, a.types],
dtype=str).T
Expand Down Expand Up @@ -815,9 +816,9 @@ def count_by_ids(self):
in a hydrogen bond.
"""

d = self.u.atoms[self.results.hbonds[:, 1].astype(int)]
h = self.u.atoms[self.results.hbonds[:, 2].astype(int)]
a = self.u.atoms[self.results.hbonds[:, 3].astype(int)]
d = self.u.atoms[self.hbonds[:, 1].astype(np.intp)]
h = self.u.atoms[self.hbonds[:, 2].astype(np.intp)]
a = self.u.atoms[self.hbonds[:, 3].astype(np.intp)]

tmp_hbonds = np.array([d.ids, h.ids, a.ids]).T
hbond_ids, ids_counts = np.unique(tmp_hbonds, axis=0,
Expand Down
4 changes: 2 additions & 2 deletions package/MDAnalysis/analysis/leaflet.py
Original file line number Diff line number Diff line change
Expand Up @@ -118,8 +118,8 @@ class LeafletFinder(object):
consecutively, starting at 0. To obtain the atoms in the input structure
use :meth:`LeafletFinder.groups`::
u_PDB = mda.Universe(PDB)
L = LeafletFinder(u_PDB, 'name P*')
u = mda.Universe(PDB)
L = LeafletFinder(u, 'name P*')
leaflet0 = L.groups(0)
leaflet1 = L.groups(1)
Expand Down
2 changes: 1 addition & 1 deletion package/MDAnalysis/analysis/waterdynamics.py
Original file line number Diff line number Diff line change
Expand Up @@ -942,7 +942,7 @@ class SurvivalProbability(object):
Using the MDAnalysis.lib.correlations.py to carry out the intermittency
and autocorrelation calculations.
Changed `selection` keyword to `select`.
Removed support for the deprecated `t0`, `tf`, and `dtmax` keywords.
Removed support for the deprecated `t0`, `tf`, and `dtmax` keywords.
These should instead be passed to :meth:`SurvivalProbability.run` as
the `start`, `stop`, and `tau_max` keywords respectively.
The `stop` keyword as passed to :meth:`SurvivalProbability.run` has now
Expand Down
3 changes: 3 additions & 0 deletions package/MDAnalysis/coordinates/PDB.py
Original file line number Diff line number Diff line change
Expand Up @@ -539,6 +539,9 @@ class PDBWriter(base.WriterBase):
.. versionchanged:: 2.0.0
Add the `redindex` argument. Setting this keyword to ``True``
(the default) preserves the behavior in earlier versions of MDAnalysis.
The PDB writer checks for a valid chainID entry instead of using the
last character of segid. Should a chainID not be present, or not
conform to the PDB standard, the default value of 'X' is used.
"""
fmt = {
Expand Down
19 changes: 19 additions & 0 deletions package/MDAnalysis/coordinates/TRJ.py
Original file line number Diff line number Diff line change
Expand Up @@ -823,6 +823,18 @@ class NCDFWriter(base.WriterBase):
.. _`Issue #506`:
https://github.com/MDAnalysis/mdanalysis/issues/506#issuecomment-225081416
Raises
------
FutureWarning
When writing. The :class:`NCDFWriter` currently does not write any
`scale_factor` values for the data variables. Whilst not in breach
of the AMBER NetCDF standard, this behaviour differs from that of
most AMBER writers, especially for velocities which usually have a
`scale_factor` of 20.455. In MDAnalysis 2.0, the :class:`NCDFWriter`
will enforce `scale_factor` writing to either match user inputs (either
manually defined or via the :class:`NCDFReader`) or those as written by
AmberTools's :program:`sander` under default operation.
See Also
--------
:class:`NCDFReader`
Expand Down Expand Up @@ -882,6 +894,13 @@ def __init__(self,
self.has_forces = kwargs.get('forces', False)
self.curr_frame = 0

# warn users of upcoming changes
wmsg = ("In MDAnalysis v2.0, `scale_factor` writing will change ("
"currently these are not written), to better match the way "
"they are written by AMBER programs. See NCDFWriter docstring "
"for more details.")
warnings.warn(wmsg, FutureWarning)

def _init_netcdf(self, periodic=True):
"""Initialize netcdf AMBER 1.0 trajectory.
Expand Down
2 changes: 1 addition & 1 deletion package/MDAnalysis/coordinates/TRZ.py
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ class TRZReader(base.ReaderBase):
Extra data (Temperature, Energies, Pressures, etc) now read
into ts.data dictionary.
Now passes a weakref of self to ts (ts._reader).
.. versionchanged:: 2.0.0
.. versionchanged:: 1.0.1
Now checks for the correct `n_atoms` on reading
and can raise :exc:`ValueError`.
"""
Expand Down
Loading

0 comments on commit 6b4eea0

Please sign in to comment.