-
Notifications
You must be signed in to change notification settings - Fork 664
/
Copy pathCHANGELOG
2386 lines (2118 loc) · 116 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8 -*-
======================
MDAnalysis CHANGELOG
======================
The rules for this file:
* entries are sorted newest-first.
* summarize sets of changes - don't reproduce every git log comment here.
* don't ever delete anything.
* keep the format consistent (79 char width, M/D/Y date format) and do not
use tabs but use spaces for formatting
* accompany each entry with github issue/PR number (Issue #xyz)
* release numbers follow "Semantic Versioning" http://semver.org
------------------------------------------------------------------------------
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,
ss62171, Luthaf, yuxuanzhuang, abhishandy, mlnance, shfrz, orbeckst,
wvandertoorn, cbouy, AmeyaHarmalkar, Oscuro-Phoenix, andrrizzi, WG150,
tylerjereddy, Marcello-Sega
* 1.0.0
Fixes
* MOL2Writer now accepts both Universes and AtomgGroups (Issue #2717)
* Use user-provided `remark` in `XYZWriter` (Issue #2692)
* Added more informative error messages about topology attributes
(Issue #2565)
* Made NoDataError a subclass of ValueError *and* AttributeError
(Issue #2635)
* Fixed select_atoms("around 0.0 ...") selections and capped_distance
causing a segfault (Issue #2656 PR #2665)
* `PDBWriter` writes unitary `CRYST1` record (cubic box with sides of 1 Å)
when `u.dimensions` is `None` or `np.zeros(6)` (Issue #2679, PR #2685)
* Ensures principal_axes() returns axes with the right hand convention (Issue #2637)
* Fixed retrieval of auxiliary information after getting the last timestep
of the trajectory (Issue #2674, PR #2683).
* 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,
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)
* Proper error message for AlignTraj on trajectory without mass (Issue #2469)
* Updated tests to have explicit fixtures (Issue #2618)
* XDR offsets now read from trajectory if offsets file read-in fails on
IOError (Issue #1893, PR #2611)
* Fixed the deprecation warning from `collections` library in `flatten_dict`
(Issue #2605)
* Fixed test for the `save_paths` and `load` methods of :class:`PSAnalysis`
(Issue #2593)
* Fixes outdated :class:`TRJReader` documentation on random frame access
(Issue #2398)
* Fixed mda.Merge for Universes without coordinates (Issue #2470)(PR #2580)
* PCA(align=True) now correctly aligns the trajectory and computes the
correct means and covariance matrix (Issue #2561)
* Correct args order of base.AnalysisFromFunction (Issue #2503)
* encore.dres() returns dimensionality reduction details instead of a
reference to itself (Issue #2471)
* Handle exception when PDBWriter is trying to remove an invalid StringIO
(Issue #2512)
* 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)
* Adds a more detailed warning when attempting to read chamber-style parm7
files (Issue #2475)
* ClusterCollection.get_ids now returns correctly (Issue #2464)
* Removes files for stubs mainly introduced in 0.11.0 (Issue #2443)
* Removes support for reading AMBER NetCDF files with `cell_angle` units set
to `degrees` instead of the convention agreed `degree` (Issue #2327).
* Removes the MassWeight option from gnm (PR #2479).
* AtomGroup.guess_bonds now uses periodic boundary information when available
(Issue #2350)
* Chainreader and continuous option work correctly when readers work for more
than one format (Issue #2353)
* PDBQTParser now gives icode TopologyAttrs (Issue #2361)
* GROReader and GROWriter now can handle boxes with box vectors >1000nm
* Guess atom element with uppercase name
* TopologyGroup no longer reshapes the type, guessed, and order properties
(Issue #2392)
* Added test to check for unexpected attributes in TopologyParsers (Issue #2387)
* PDB files no longer lose chainIDs when reading files without segIDs (Issue #2389)
* The expected frames are made available when a trajectory slice is sliced itself
with an incomplete slice and/or with a negative step (Issue #2413)
* TXYZ parser uses strings for the atom types like other parsers (Issue #2435)
* ITPParser now parses ITP *and* TOP files from GROMACS, reads #include files, and
substitutes #define variables both from the file and when passed in as a keyword
argument. The directives parsed into bonds, angles, impropers, and dihedrals now
match TPRParser. (PR #2408)
* Added parmed to setup.py
* Fixed example docs for polymer persistence length (#2582)
* Fixed HydrogenBondAnalysis to return atom indices rather than atom ids (PR #2572).
Fixed the check for bond information in the _get_dh_pairs method (Issue #2396).
* Added missing selection module to leaflet.py (Issue #2612)
* Contact Analysis class respects PBC (Issue #2368)
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
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)
* Added new density.DensityAnalysis (Issue #2502)
* Added ability to use Chemfiles as a trajectory reader backend (PR #1862)
* New analysis.hole2 module for HOLE interfacing. Contains a function (hole)
for running HOLE on singular PDB files and class (HoleAnalysis) for
trajectories (PR #2523)
* Changed selection wildcards to support multiple wildcards (#2436)
* Added coordinate reader and writer for NAMD binary coordinate format (PR #2485)
* Improved ClusterCollection and Cluster string representations (Issue #2464)
* XYZ parser store elements attribute (#2420) and XYZ write uses the elements
attribute, if present (#2421).
* Enhanges exception message when trajectory output file has no extension assigned.
* Uniforms exception handling between Python 2.7 and Python 3: raised exceptions
do not contain previous exceptions traceback. Uses six package to handle
py27 and py3 compatibility (PR #2357)
* Expanded selection wildcards to the start and middle of strings (Issue #2370)
* Added type checking and conversion to Connection TopologyAttrs (Issue #2373)
* New analysis.hydrogenbonds.HydrogenBondAnalysis class for the analysis of
hydrogen bonds. Simpler interface, more extensible and better performance
than analysis.hbonds.HydrogenBondAnalysis (PR #2237)
* GSD reader is now supported on Windows (Issue #1923, PR #2384)
* Empty Universe with 0 atoms is possible (Issue #2383)
* Added ITPParser to parse GROMACS itp topology files (PR #2381)
* Added match_atoms keyword to analysis.align (Issue #2285, PR #2380)
* Added wrap/unwrap transformations (PR #2038)
* Read TPR files from Gromacs 2020 (Issue #2412 and #2428)
* Added analysis.align.AverageStructure to get the average structure of an
out-of-memory trajectory (Issue #2039)
* Added _add_TopologyObjects, _delete_TopologyObjects, and public convenience
methods to Universe. Added type and order checking to _Connection
topologyattrs. (PR #2382)
* Added radius_cut_q as a method to contacts.Contacts (PR #2458)
* Added ParmEdParser, ParmEdReader and ParmEdConverter to
convert between a parmed.Structure and MDAnalysis Universe (PR #2404)
* Improve the distance search in water bridge analysis with capped_distance (PR #2480)
* Added weights_groupselections option in RMSD for mapping custom weights
to groupselections (PR #2610, Issue #2429)
* PersistenceLength.plot() now create new axes if current axes not provided (Issue #2590)
* Added a correlations module to provide functionality for analysis modules to
calculate the discrete autocorrelation function in a standardised way. Added
the capability to allow intermittent behaviour (PR #2256)
Changes
* Unused `MDAnalysis.lib.mdamath._angle` has been removed (Issue #2650)
* 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
`tau_max` keywords should be passed to
:meth:`Waterdynamics.SurvivalProbability.run`. Furthermore, the `stop`
keyword is now exclusive instead of inclusive (Issue #2524).
* :meth:`align.fasta2select` now writes `alnfilename` and `treefilename` to
the current working directory (Issue #2701)
* Removes duplicate `NUMBER_TO_ELEMENTS` table from topology._elements,
`Z2SYMB` from topology.tables should now be used instead (Issue #2699)
* Deprecated :class:`ProgressMeter` and replaced it with :class:`ProgressBar` using
the tqdm package (Issue #928, PR #2617). Also fixes issue #2504.
* Removed `details` from `ClusteringMethod`s (Issue #2575, PR #2620)
* Removed deprecated :meth:`PersistenceLength.perform_fit` (Issue #2596)
* Changed :meth:`PSAnalysis.generate_paths` keywords `store` and `filename`
defaults to `False` and `None` (Issue #2593)
* Removed `format` keyword from :meth:`MemoryReader.timeseries` (Issue #1453,
#2443)
* Deprecated :class:`LAMMPSDataConverter` has now been removed (Issue #2564)
* Removed AtomGroup stubs (PR #1070, Issue #2443).
* encore.hes() doesn't accept the details keyword anymore, it always returns
the relevant details instead, consistently with ces() and dres(), in the
form of a dictionary (Issue #2465)
* Removed instant selectors on Universe and Group objects (e.g. AtomGroup.C,
Segment.r1, Universe.s4AKE). Use select_atoms instead (Issue #1377)
* Calling Universe() now raises a TypeError advising you to use Universe.empty.
Universe.empty() now no longer has n_atoms=0 as default. (Issue #2527)
* deprecated `start`, `stop`, and `step` keywords have been removed from `__init__`
in :class:`AnalysisBase`. These should now be called in :meth:`AnalysisBase.run`
(Issue #1463)
* Standardize `select` keyword by removing `selection`, `atomselection`
and `ref_select` (Issue #2461, Issue #2530)
* Removes support for setting `start`/`stop`/`step` trajecotry slicing
keywords on :class:`HOLEtraj` construction. Also removes undocumented
support for passing :class:`HOLE` parameters to :meth:`HOLEtraj.run`
(Issue #2513).
* Removes the `nproc` keyword from
:class:`Waterdynamics.HydrogenBondLifetimes` as the multiprocessing functionality
did not work in some cases(Issues #2511).
* Added `min_mass` parameter to `guess_hydrogens` function in `HydrogenBondAnalysis`
set to 0.9 by default (Issue #2472)
* Removes `save()` function from contacts, diffusionmap, hole, LinearDensity,
and rms (Issue #1745).
* Removes; `save_table()` from :class:`HydrogenBondAnalysis`,
`save_results()` from :class:`HydrogenBondAutoCorrel`, and
`save_results()`/`filename`/`store` from :class:`PSAnalysis`. Also sets
the deprecation of `hbonds/hbond_analysis.py` to v1.0 (Issues #1745,
#2486, #2487, #2491, #2492).
* Removes the `format` and `skip` keywords from :meth:`DCDReader.timeseries`
(Issue #2443)
* `fullgroup` selection has now been removed (#268)
* AlignTraj `save()` method has been removed and the `filename` variable now
defaults to the current working directory (Issues #2099, #1745, #2443)
* Removed `MDAnalysis.migration` (Issue #2490, PR #2496)
* The fasta2select now always assumes that the gap character in a sequence
is "-" (Issue #2448, PR #2457)
* Removed core.flags. Default behaviour (eg pbc, units) now defaults to
the default setting of the flag before removal. If you were using flags
you will now have to supply the flag setting as keyword arguments to
function calls. (Issue #782)
Deprecations
* 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)
* analysis.density.notwithin_coordinates_factory() (remove in 2.0)
* analysis.density.density_from_PDB and BfactorDensityCreator (remove in 2.0)
* 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
Fixes
* The NetCDF writer now writes `cell_angle` units as `degree` instead of
`degrees` in accordance with the AMBER NetCDF convention (Issue #2327).
* Fixed installation without Cython (Issue #2337)
08/28/19 micaela-matta, xiki-tempula, zemanj, mattwthompson, orbeckst, aliehlen,
dpadula85, jbarnoud, manuel.nuno.melo, richardjgowers, mattwthompson,
ayushsuhane, picocentauri, NinadBhat, bieniekmateusz, p-j-smith, Lp0lp,
IAlibay, tyler.je.reddy, aakognole, RMeli, lilyminium
* 0.20.0
Enhancements
* improved metal atom guess (Issue #2323)
* improved atom element guessing in topology.guessers to check for elements
after the first element (#2313)
* added the zero-based index selection keyword (Issue #1959)
* added position averaging transformation that makes use of the
transformations API (PR #2208)
* added find_hydrogen_donors to analysis.bonds.hbond_autocorrel to
automatically determine donors where possible (#2181)
* added analysis.polymer.sort_backbone to rearrange backbone atoms into
sequential order (bondwise) (PR #2141)
* added record_type to select_atoms language (PR #2179)
* center, centroid, center_of_geometry, center_of_mass can now be computed per
molecule or per fragment (PR #2182)
* Atoms (AtomGroups) have a new fragindex (fragindices) property corresponding
to the respective fragment (fragments) (PR #2182)
* Atom-, Residue-, and SegmentGroups have a new unwrap() method allowing to
make compounds (group/residues/segments/fragments/molecules) that are broken
across periodic boundaries whole (Issues #1004 and #1185, PR #2189)
* lib.mdamath.make_whole() now returns the resulting coordinates and is able
to operate out-of-place, i.e., without modifying atom coordinates (PR #2189)
* lib.mdamath.triclinic_vectors() got an optional argument allowing to specify
the dtype of the returned box matrix. (Issue #2200, PR #2201)
* added return_distances kwarg to self_capped_distance (Issue #2101, PR #2202)
* *Group.wrap() now returns wrapped positions and can optionally work
out-of-place (Issue #2203, PR #2204)
* Improved performance of AtomGroup creation from ResidueGroups and
SegmentGroups via ResidueGroup.atoms or SegmentGroup.atoms, respectively.
This speeds up all methods using these mechanisms. (Issue #2203, PR #2204)
* added more Van-der-Waals radii to improve guess_bonds (#2138, PR #2142)
* added *Group.accumulate() (PR #2192)
* added compound kwarg to total_mass and total_charge (PR #2192)
* updated HydrogenBondAutoCorrel to use capped_distance in place of
distance_array. (Issue #2103, PR #2209)
* updated analysis.distances.contact_matrix to use capped_distance. (Issue #2102,
PR #2215)
* added functionality to write files in compressed form(gz,bz2). (Issue #2216,
PR #2221)
* survival probability additions: residues, intermittency, step with performance,
(PR #2226)
* added unwrap keyword to center (PR #2275)
* added unwrap keyword to center_of_geometry (PR #2279)
* added unwrap keyword to center_of_mass (PR #2286)
* added unwrap keyword to moment_of_inertia (PR #2287)
* added unwrap keyword to asphericity (PR #2290)
* add high order water bridge support to water bridge analysis. (PR #2087)
Changes
* added support for scale_factor in NCDFReader (Issue #2323)
* added official support for Python 3.7 (PR #1963)
* stopped official support of Python 3.4 (#2066, PR #2174)
* In lib.mdamath, calculations within triclinic_box(), triclinic_vectors(),
and box_volume() are performed in double precision. If a supplied box is
invalid, an all-zero array or zero is returned, respectively. (Issue #2200,
PR #2201)
* changed fudge_factor in guess_bonds to deal with new vdw radii (#2138, PR #2142)
* bump minimum numpy version to 1.13.3
* changed the water bridge analysis output format (PR #2087)
Fixes
* fixed ChainReader setting format with format keyword (Issue #2334)
* fixed lack of check for scaling of NCDFReader velocities (Issue #2323)
* fixed PDBReader and PDBWriter newlines for PDB header (Issue #2324)
* fixes ProgressMeter issues with older Jupyter Lab versions (Issue #2078)
* fixes ProgressMeter behaviour for non-AnalysisBase methods (Issue #2084)
* fixed mol2 parser for status bit strings (Issue #2318)
* fixed reading AMBER topologies with negative ATOMIC_NUMBERS (Issue #2306)
* fixed reading bz2 compressed psf files (Issue #2232)
* fixed mol2 comment header handling (Issue #2261)
* fixed reading PDB files with partial CRYST lines (Issue #2252)
* fixed transformation tests not being run (Issue #2241)
* fixed the segmentation fault in capped_distances (Issue #2164, PR #2169)
* fixed gcc support in MacOS (Issue #2162, PR #2163)
* fixed error when reading bonds/angles/dihedrals from gsd file (Issue #2152,
PR #2154)
* fixed error when reading bonds/angles/dihedrals from hoomdxml file
(Issue #2151, PR #2153)
* fixed MacOS (XCode) library compatibility
(Issue #2144)
* fixed lib.nsgrid segfault for coordinates very close to the box boundary
(Issue #2132, PR #2136)
* fixed Lint error
(Issue #2148, PR #2149)
* Fixed Empty select_atoms string, now raises warning and returns empty
AtomGroup (Issue #2112)
* Read TPR files from Gromacs 2019 (PR #2161)
* Fixed copying Universes created from PDB files (record_type attribute
was problematic) (Issue #2178 #1926, PR #2179)
* Fixed writing CONECT records when writing PDB files that are a
subsection of original Universe (Issue #2194)
* PDBReader now correctly reads HEADER information (Issue #2195)
* Fixed reading MMTF files with some optional fields missing
(Issue #2193)
* Wrapped coordinates, i.e., coordinates resulting from *Group.wrap(),
*Group.pack_into_box(), or lib.distances.apply_PBC() are now guaranteed
to lie within the central periodic image (including its lower but
*exluding* its upper boundaries) (Issue #2200, PR #2201)
* *Group.wrap() is now guaranteed to only work on atoms actually belonging to
the calling group. (Issue #2203, PR #2204)
* Fixed documentation of MDAnalysis.analysis.contacts
* Enforced consistent dtype (numpy.float32) of Universe.dimensions and
Timestep.dimensions for all Universes and Readers (Issue #2190, PR #2213)
* Fixed analysis.nucleic.hydroxyl() function: correctly recognize the
2'-hydroxyl hydrogen H2'; gave wrong results (Issue #2218)
* A clear message that the .pdb universe cannot contain a different number of
atoms from frame to frame (Issue #1998, PR #2219)
* Fixed reading multiframe GRO files, currently only the first frame will be
read. (Issue #2276 PR #2277)
* fixed calculation of Chi torsion in nucleic acid analysis (Issue #2248)
* Fixed parallelization failure in get_distance_matrix() (Issue #2060, PR #2301)
Deprecations
* analysis.polymer.PersistenceLength no longer requires the perform_fit()
method to be used, this is done automatically in run()
Testsuite
* Raised minimum pytest version to 3.3.0, warns now uses the `match`
argument instead of `match_expr` (Issue #2329)
* Add tests for the new water bridge analysis (PR #2087)
11/06/18 richardjgowers
* 0.19.2
Changes
* Added Windows support
11/05/18 orbeckst, PicoCentauri, richardjgowers, zemanj
* 0.19.1
Fixes
* limit output of Chainreader __repr__ (#2109)
* added missing docs for lib.pkdtree (#2104)
* Added sphinx markup for FrameIterator (#2106)
* fixed error for residues and segments containing 0 atoms (#1999)
* fixed numpy deprecation warnings (#2122, #2123)
* Fixed reading PDB files with DOS line ending (#2128)
Deprecations
* Default ``filename`` directory of align.AlignTraj is deprecated and
will change in 1.0 to the current directory.
10/09/18 tylerjereddy, richardjgowers, palnabarun, orbeckst, kain88-de, zemanj,
VOD555, davidercruz, jbarnoud, ayushsuhane, hfmull, micaela-matta,
sebastien.buchoux, arm61, p-j-smith, IAlibay
* 0.19.0
Enhancements
* Added bond/angle/dihedral reading in PARM7 TOPParser (PR #2052)
* Replaced multiple apply (_apply_distmat, _apply_kdtree)
methods in distance based selections with
lib.distances.capped_distance for automatic selection of
distance evaluation method. (PR #2035)
* Modified analysis.rdf.InterRDF to use lib.distances.capped_distance
to handle rdf calculations for large systems. (PR #2013)
* Added return_distances argument in lib.distances.capped_distances
to evaluate and return distances only when required. Modified
the optimization rules in lib.distances._determine_method for
faster computations. (PR #2041)
* Added method search_tree in lib.pkdtree to find all the pairs between
two kdtrees. (PR #2041)
* Added a wrapper of lib.nsgrid in lib.distances.self_capped_distance
and lib.distances.capped_distanceto automatically chose the fastest
method for distance based calculations. (PR #2008)
* Added Grid search functionality in lib.nsgrid for faster distance based
calculations. (PR #2008)
* Modified around selections to work with KDTree and periodic boundary
conditions. Should reduce memory usage (#974 PR #2022)
* Modified topology.guessers.guess_bonds to automatically select the
fastest method for guessing bonds using
lib.distance.self_capped_distance (PR # 2006)
* Added lib.distances.self_capped_distance to internally select the
optimized method for distance evaluations of coordinates with itself. (PR # 2006)
* Added augment functionality to create relevant images of particles
in the vicinity of central cell to handle periodic boundary
conditions (PR #1977)
* Added lib.distances.capped_distance function to quickly calculate all distances
up to a given maximum distance (PR #1941)
* Added a rotation coordinate transformation (PR #1937)
* Added a box centering trajectory transformation (PR #1946)
* Added a on-the-fly trajectory transformations API and a coordinate translation
function (Issue #786)
* Added various duecredit stubs
* Import time reduced by a factor two (PR #1881)
* Added compound kwarg to center, centroid, center_of_geometry, center_of_mass (PR #1903)
* Added rdf.InterRDF_s to calculate site-specific pair distribution
functions (PR #1815)
* Increased performance of (repeated) calls to AtomGroup.pack_into_box()
(PR #1922)
* Added boolean property *Group.isunique (PR #1922)
* Added *Group.copy() methods returning an identical copy of the respective
group (PR #1922)
* Use a faster function to deduplicate indices (PR #1951)
* Calculations in *Group.center() are performed in double precision (#PR1936)
* Functions in lib.distances accept coordinate arrays of arbitrary dtype
(PR #1936)
* Added pbc kwarg to Bond/Angle/Dihedral/Improper object value method,
default True. (Issue #1938)
* ChainReader can correctly handle continuous trajectories split into multiple files,
generated with gromacs -noappend (PR #1728)
* MDAnalysis.lib.mdamath now supports triclinic boxes and rewrote in Cython (PR #1965)
* AtomGroup.write can write a trajectory of selected frames (Issue #1037)
* Added dihedrals.py with Dihedral, Ramachandran, and Janin classes to
analysis module (PR #1997, PR #2033)
* Added the analysis.data module for reference data used in analysis (PR #2033)
* Added analysis.dihedrals with Ramachandran class to analysis module (PR #1997)
* Added augment functionality to create relevant images of particles
* Most functions in `MDanalysis.lib.distances` previously only accepting
arrays of coordinates now also accept single coordinates as input (PR #2048,
Issues #1262 #1938)
* Performance improvements to make_whole (PR #1965)
* Performance improvements to fragment finding (PR #2028)
* Added user-defined boxes in density code (PR #2005)
* MemoryReader now can accept velocities and forces (PR #2080)
* Universe.transfer_to_memory now copies dimensions, velocities and forces
(where possible) (Issue #1041 PR #2080)
Fixes
* Rewind in the SingleFrameReader now reads the frame from the file (Issue #1929)
* Fixed order of indices in Angle/Dihedral/Improper repr
* coordinates.memory.MemoryReader now takes np.ndarray only (Issue #1685)
* Silenced warning when duecredit is not installed (Issue #1872)
* Fixed HBondAnalysis not considering PBC for distances (Issue #1878)
* Adding new TopologyAttrs with values defined always coerces this into
a numpy array (Issue #1876)
* Groups passed to select_atoms() are now type checked (Issue #1852)
* Fixed inconsistent handling of groups with/without duplicates in
pack_into_box() (Issue #1911)
* Fixed format of MODEL number in PDB file writing (Issue #1950)
* PDBWriter now properly sets start value
* Introduced compatibility for pbd files hybrid36 format encoding (Issue #1897)
* Zero length TopologyGroup now return proper shape array via to_indices
(Issue #1974)
* Added periodic boundary box support to the Tinker file reader (Issue #2001)
* Modifying coordinates by assignation is consistently persistent when using
the memory reader (Issue #2018)
* Allow import of WaterBridgeAnalysis from analysis.hbonds (#2064)
* Fixed SphericalLayer and SphericalZone selections with pbc=True. Previously
these shifted all atoms to inside the primary unit cell when calculating the
center of the reference group (Issue #1795)
* PCA analysis now uses start frame as reference frame rather than 0th frame
(PR #2055)
* Fixed trajectory iteration from a MDAnalysis.Universe.empty (#2076)
* Fixed copies MemoryReader not linking to the underlying coordinate array
on initial Timestep (Issue #2081 PR #2080)
Changes
* TopologyAttrs are now statically typed (Issue #1876)
* updated meta data for new PyPi (#1837)
* AtomGroup.atoms, ResidueGroup.residues, and SegmentGroup.segments now return
themselves instead of a new object to increase performance (PR #1922)
* *Group.unique now returns a new object only if the respective group contains
duplicates. Otherwise, the group itself is returned. Repeated access of
*Group.unique will always return the same object unless the group is
updated or modified. (PR #1922)
* SurvivalProbability does not dilute SP anymore when the reference frame (t0)
cannot find any molecules in the first place. (PR #1995)
* The TPR parser reads SETTLE constraints as bonds. (Issue #1949)
* Indexing a trajectory with a slice or an array now returns an iterable
(Issue #1894)
* Removed unused function MDAnalysis.lb.mdamath.one_to_many_pointers()
(issue #2010)
* Box input for functions in `MDAnalysis.lib.distances` is now consistently
enforced to be of the form ``[lx, ly, lz, alpha, beta, gamma]`` as required
by the docs (Issue #2046, PR #2048)
* Added periodic keyword to select_atoms (#759)
* PCA.transform now requires that PCA.run() has already been called
otherwise a ValueError is raised (PR #2055)
* The quiet keyword has been removed and replaced with verbose (Issue #1975
PR #2055)
* MDAnalysis.Universe.empty now creates a MemoryReader trajectory (#2076 #2077)
Deprecations
* start/stop/step are deprecated in the initialization of Analysis classes.
These parameters should instead be given to the run() method of the class.
(Issue #1463 #1979 PR #2055)
* Almost all "save()", "save_results()", "save_table()" methods in
analysis classes were deprecated and will be removed in 1.0 (Issue
#1972 and #1745)
* Deprecated use of core.flags. For use_pbc, the pbc keyword should
be used, use_KDTree_routines is obsolete as all distance calculations
select the fastest method, all other uses of flags are deprecated.
(#782)
Testsuite
* skip tests for duecredit when duecredit is not installed (#1906)
* updated meta data for PyPi and updated README and INSTALL
04/15/18 tylerjereddy, richardjgowers, palnabarun, bieniekmateusz, kain88-de,
orbeckst, xiki-tempula, navyakhare, zemanj, ayushsuhane, davidercruz,
jbarnoud
* 0.18.0
Enhancements
* Added flatten_dict function that flattens nested dicts into shallow
dicts with tuples as keys.
* Can now pass multiple attributes as a list to groupby function.
Eg ag.groupby(["masses","charges"])
(Issue #1839)
* Added reading of record types (ATOM/HETATM) for PDB, PDBQT and PQR formats
(Issue #1753)
* Added Universe.copy to allow creation of an independent copy of a Universe
(Issue #1029)
* Added copy method to various core classes including Reader, TransTable,
Topology, TopologyAttr (Issue #1029)
* Added `reindex` option to GROWriter to preserve original atom ids when set to
False (Issue #1777)
* Can now pass 'atom_style' keyword argument when parsing Lammps Data files
to specify what is on each line. Eg atom_style = 'id type charge x y z'
(Issue #1791)
* Added periodic boundary condition option to HydrogenBondAnalysis (Issue #1188)
* Added duecredit to prepare a summary of the citations, when a user
uses MDAnalysis (Issue #412)
* Added AtomGroup, ResidueGroup and SegmentGroup to the top module namespace
Fixes
* Fixed MPI fork() warning when importing MDAnalysis in an Infiniband-enabled
MPI environment (PR #1794)
* Fixed waterdynamics SurvivalProbability ignoring the t0 start time
(Issue #1759)
* AtomGroup.dimensions now strictly returns a copy (Issue #1582)
* lib.distances.transform_StoR now checks input type (Issue #1699)
* libdcd now writes correct length of remark section (Issue #1701)
* DCDReader now reports the correct time based on istart information (PR #1767)
* added requirement scipy >= 1.0.0 (absolutely needed: >= 0.19) (Issue #1775)
* Universe.empty now warns about empty Residues and Segmnets (Issue #1771)
* AMBER netcdf reader now defaults to mmap=None as described in the docs
(meaning mmap=True for files and NOT in memory), thus avoiding
memory problems on big trajectories (Issue #1807)
* analysis.align: fixed output and catch more cases with
SelectionError when selections are incompatible (Issue #1809)
* fix cython 0.28 compiler error
* DCD istart was wrongly interpreted as frames (only in 0.17.0) instead of
integrator timesteps, which lead to large time-offsets when reading and
writing DCD files; now istart is correctly interpreted when reading and
when writing, istart=None will set it to the CHARMM default nsavc but the
default is istart=0, which will make the DCD start at frame 0 (Issue #1819)
* Can now parse PDB files without resids (Issue #1854)
* Fixed periodic KDTree, now requires Biopython version 1.71 onwards (Issue #1857)
* fixed a bug in visualization.streamlines (Issue #1617)
* Updated TPR parser for GROMACS 2018 (Issue #1796)
* Fixed reading of PQR files generated by Gromacs (Issue #1804)
Changes
* scipy >= 1.0.0 is now required (issue #1775 because of PR #1758)
Deprecations
* undeprecated creating Groups from list of Components (Issue #1847)
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
* 0.17.0
Enhancements
* added support for GSD format topology/trajectory parser (PR #1693)
* spherical selections tokens can use the periodic KDTree (PR #1733)
* added Amber residue names to 'protein' atom selection (PR #1704)
* KDTree for neighbor search on periodic systems (PR #1660, #1692)
* Python versions 3.4 and upwards are now supported (Issue #260)
* added Universe.empty to allow Universes of custom size to be constructed
without any files (PR #1533)
* add minimal topology reader that is able to load coordinate/trajectory
files on their own without requiring a topology file (Issue #1371)
* added "parse_n_atoms" to Reader API and implemented this for DCD, INPCRD,
NCDF, TRR and XTC formats (PR #1533)
* added 'all_coordinates' keyword to Universe to also load the topology file
as a frame of the reader together with the trajectory files (PR #1533)
* add low level lib.formats.libdcd module for reading/writing DCD (PR #1372)
* replace old DCD reader with a Python 3 ready DCD reader (Issue #659)
* about 20% speed improvements for GNM analysis. (PR #1579)
* added support for Tinker TXYZ and ARC files
* libmdaxdr and libdcd classes can now be pickled (PR #1680)
* speed up atomgroup.rotate when point = (0, 0, 0) (Issue #1707)
* introduce the water bridge analysis module (PR #1722)
* Universe.add_TopologyAttr now accepts strings to add a given attribute
to the Universe (Issue #1092, PR #1186)
* The TPR parser populate the `moltypes` and `molnums` topology attributes;
the `moltype` and `molnum` selection keyword are added
(Issue #1555, PR #1578)
* use gridDataFormats >= 0.4.0 for new 'type' kwarg in
analysis.density.Density.export() to enable writing DX files
compatible with (buggy) PyMOL (#1725)
Deprecations
* HydrogenBondAnalysis detect_hydrogens=heuristic is marked for deprecation in 1.0
* timeseries keyword format is replaced by order. The format keyword is marked for deprecation in 1.0
Fixes
* Fixed analysis.psa.dist_mat_to_vec not returning int values (Issue #1507)
* Fixed triclinic PBC transform for a- and b- axes (Issue #1697)
* Fixed nuclinfo.tors() not converting delta (Issue #1572)
* Changed _calc_dihedral and Dihedral.value() to match IUPAC convention
(Issue #1565)
* Fixed _calc_dihedral returning negative angles as positive (Issue #1554)
* correctly read little-endian TRZ files on big-endian architectures (issue
#1424)
* Fixed type matching and inclusion compilation warnings for the
ENCORE analysis package (issue #1390)
* Fix extra deprecation warnings for instant segment and residue selectors
(Issue #1476)
* Accessing segments from a universe with an instant selector now issues a
deprecation warning as expected (Issue #1478)
* Fixed Angle.angle method return NaN values when angle was very close
to 180 degrees (Issue #1556)
* Fixed analysis.rms.RMSD failure with select != "all" (Issue #1487)
* Fixed analysis.rms.RMSD: group RMSD calculation does not
superimpose groupselections anymore (issue #720)
* XDR files now avoid offset recalculation on a rewind (PR #1667)
* Universe creation doesn't Matryoshka NamedStream anymore (PR #1669)
* Fixed triclinic unit cell distances for box edges (Issue #1475)
* Fixed analysis.rms.RMSD: selections are now applied to atomgroup, not to
atomgroup.universe
* Default filename argument for AlignTraj works again (Issue #1713)
* Fixed analysis.rms.RMSD failed when selection is unicode (PR #1710)
* Fixed analysis.align.AlignTraj failed when step > 1 (Issue #1714)
Changes
* generate pairwise distance matrix, analysis.psa.PSAnalysis.D, by default
when analysis.psa.PSAnalysis.run_pairs_analysis is run (Issue #1507)
* remove deprecated TimeSeriesCollection
* remove deprecated analysis.align.rms_fit_trj
* remove deprecated analysis.contacts.ContactAnalysis
* remove deprecated analysis.contacts.ContactAnalysis1
* remove deprecated analysis.hbonds.hbond_analysis 1-indexing
* remove deprecated analysis.rms `target` keyword from functions
* remove deprecated analysis.rms.RMSD `mass_weighted` keyword
* remove deprecated analysis.align `mass_weighted` keyword from classes
* remove deprecated analysis.psa `mass_weighted` keyword from classes
* use fast scipy.io.netcdf pure python implementation for reading of Amber
netcdf3 trajctories instead of netCDF4 but use netCDF4 for fast
writing (if available) or fall back to netcdf (see also Issue #506)
* libmdaxdr classes now accept more argument types for a write (PR #1442)
* libmdaxdr classes now raise EOFError when accessing another frame after
the end of the file. Used to raise IOError.
* Universe.load_new() now returns the universe itself instead of
tuple (filename_or_array, trajectory_type) (Issue #1613)
* docs: URLs to (www|docs).mdanalysis.org now link to SSL-encrypted site
(see issue MDAnalysis/MDAnalysis.github.io#61)
* attributes can not be assigned to AtomGroups (and similar objects) unless
they are part of the Universe topology (Issue #1092 PR #1186)
06/29/17 richardjgowers, rathann, jbarnoud, orbeckst, utkbansal
* 0.16.2
Deprecations
* deprecated core.Timeseries module for 0.17.0 (Issue #1383)
* deprecated instant selectors for 1.0 (Issue #1377)
* deprecated the core.flag registry for 1.0 (Issue #782)
Fixes
* fixed GROWriter truncating long resids from the wrong end (Issue #1395)
* 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)
Testsuite
* Port to pytest - removed nose as a dependency (Issue #884)
06/03/17 utkbansal, kain88-de, xiki-tempula, kaplajon, wouterboomsma,
richardjgowers, Shtkddud123, QuantumEntangledAndy, orbeckst,
kaceyreidy
* 0.16.1
Enhancements
* Universe now works with StringIO objects for topologies and trajectories.
* Residues with the same residue ids are not merged by default now
(apply to PDB, GRO) (Issue #1306)
* Improved print to screen format in waterdynamics module (using
ProgressMeter).
* PQRParser now treats insertion codes properly (Issue #1317)
* made online docs responsive with the Alabaster Sphinx theme (#378)
Fixes
* In Universe.transfer_to_memory(): dt is now adjusted with step (Issue #1310)
* Various documentation sphinx errors (PR #1312)
* Bugfix in confdistmatrix.get_distance_matrix; now works on all trajectory types.
(issue #1324)
* Fixed bug "no molecules in water selection" in waterdynamics analysis
module.
* Fix hbond_analysis cannot deal with Universe where no two atoms are with 3A.
(PR #1325)
* Fix PDBParser docs for conect (issue #1246)
* Fixed bug where amber topology files would fail to load if number of atoms was
exactly divisible by number of atoms per line (issue #1331)
* Fixed incorrect handling of residue names with trailing numbers in
HydrogenBondAnalysis (issue #801)
* Fixed AnalysisBase class provides numerical start,stop,step values (PR #1340)
* Fixed PSFParser not creating multiple residues for identical resids in
different segments. (Issue #1347, PR #1348)
* Add the OC1 and OC2 from amber99sb-ildn to hydrogen bond acceptors (issue #1342)
* Fix RMSF run return value (PR #1354)
* Fixed documentation in pca (Issue #1378 PR #1379)
Changes
* Enable various pylint warnings to increase python 3 compatibility
* Change Mathjax cdn (Issue #1313)
* Change mass_weight to weights for PSA analysis
* Move mass_weights deprecation to version 0.18
* Docs moved to http://docs.mdanalysis.org (Issue #1315)
and made responsive (Alabaster theme with readable-sphinx CSS)
(Issue #378)
* speed improvements parsing PDB / PDBQT / PQR / XYZ coordinate reader (Issue #1308)
04/10/17 kain88-de, fiona-naughton, richardjgowers, tyler.je.reddy, jdetle
euhruska, orbeckst, rbrtdlg, jbarnoud, wouterboomsma, shanmbic,
dotsdl, manuel.nuno.melo, utkbansal, vedantrathore, shobhitagarwal1612,
xiki-tempula, kash1102, vedantrathore
* 0.16.0
Enhancements
* Added 'filename' attribute to 'MemoryReader'
* GRO reader conforms to the reader API standard(#1196)
* Improved __str__ and __repr__ of 'GroupBase' class in
MDAnalysis.core.groups (addresses Issue #1223)
* Added dynamic selections (addresses Issues #175 and #1074).
* Added 'MemoryReader' class to allow manipulation of trajectory data
in-memory, which can provide substantial speed-ups to certain
calculations.
* Universe creation now takes an 'in_memory' option, which will
transfer the corresponding trajectory to memory. Likewise a new
'Universe.transfer_to_memory()' method makes it possible to make
this transfer after construction of the universe
* Added 'in_memory' option to 'rms_fit_trj', which makes it possible
to do in-place (in-memory) alignment of trajectories.
* All classes derived from 'AnalysisBase' now display a ProgressMeter
with 'quiet=False'
* The 'run' method from all 'AnalysisBase' derived classes return the
class itself.
* Added boolean flag at lib.distances.USED_OPENMP to reveal if
OpenMP was used in compilation (Issue #883)
* Added Principal Component Analysis module for linear dimensionality
reduction.
* Added Auxiliary module for reading additional timeseries data alongside
trajectories (Issue #785)
* Added AnalysisFromFunction & analysis_class, see (Issue #946 and PR #950)
* Established the MDAnalysis.analysis.legacy module for unmaintained
analysis code (Issue #743)
* Added ProgressMeter to 'transfer_to_memory' function, to show progress
of loading trajectory to memory (Issue #1028 and PR #1055).
* Selecting atoms by resid now respects icodes if they were present. Ie
select_atoms('resid 163A') works! (Issue #839 PR #1066)
* Added ability to read MMTF format files (#907 PR #1069)
* Added MDAnalysis.fetch_mmtf function to download from PDB and create
Universe (#810 PR #1082)
* Added coordinates.null.NullWriter, which behaves like a Writer but
ignores all input; useful for suppressing output.
* Added random access support to GMSReader and TRJReader (#1081)
* Added atomgroup.center(weights, pbc) method to calculate the center
of a group given weights
* Universe anchors (for unpickling) now use a uuid (rather than filename)
to distinguish themselves by default. Can still use anchor_name kwarg to
control the anchor name manually. (PR #1125)
* Added groupby method to Group objects. (PR #1112)
* Added `singleframe` attribute to Writer API to exclude from known Writers
for a single frame (Issue #1199 PR #1201)
* Correct the display error of HydrogenBondAnalysis when start is not 0 or
step is not one.
* Groups (atomgroup, residuegroup, and segmentgroup) have more operators,
included set operators (Issue #726)
* Universes built with Merge now use the MemoryReader (Issue #1251)
* speed improvement for analysis.gnm.closeContactGNMAnalysis(...,
weights="size") by about 5x (partially Issue #1191)
Fixes
* Trajectory slicing made completely Pythonic (Issue #918 PR #1195)
* Argument validation of dist_mat_to_vec is fixed (#597 PR #1183)
* Give correct error when the topology file format is not recognized (Issue #982)
* Give correct error when file doesn't exist/ has bad permissions (Issue #981)
* Improvement of analysis/waterdynamics module (Issue #935)
* Removed MDAnalysis.analysis.PDBToBinaryTraj (Issue #1035)
* MDAnalysis.analysis.distances.between() is no longer broken
* GROWriter resids now truncated properly (Issue #886)
* reading/writing lambda value in trr files (Issue #859)
* fix __iter__/next redundancy (Issue #869)
* SingleFrameReader now raises StopIteration instead of IOError on calling
next (Issue #869)
* Display of Deprecation warnings doesn't affect other modules anymore (Issue #754)
* Changed nframes to n_frames in analysis modules for consistency (Issue #890)
* fixed incompatibility with newer matplotlib in analysis.hole
* Fixed modules that improperly documented and/or used frame slicing
defaults (#914)
* Fixed same interRDF can be run twice (Issue #924)
* Support for TPR files produced by Gromacs-2016 (Issue #932)
* Fixed parsing PDB files with CONECT records to TER entries (Issue #936)
* Fixed parsing PDB files with single entry in CONECT record (Issue #937)
* Progress meters are now displayed as expected on jupyter notebooks
(Issue #927)
* Reset trajectory to 0 after sliced iteration (Issue #1031)
* Fixed rotaxis returning NaN if a=b (Issue #1045)
* Fixed align_principal_axis onto a principal axes (Issue #1045)
* Fixed NCDFWriter wrote velocities instead of forces if
convert_units=False was set: now correctly writes forces (PR #1113)
* Fixed warn about missing cython package in dev builds
* Fix align.rotation_matrix checks array shape equality (Issue #1152)
* Fixed strange error when writing a PDB with 0 atoms (Issue #1083 PR #1103)
* Fixed selections using operators backwards ('prop 10 > mass') and sensitivity
about whitespace around these (PR #1156 Issue #1011 #1009)
* Fixed PSA analysis is now using AlignTraj
* Fixed Principal Axes to order from highest to lowest eigenval (Issue #1162)
* Fixed analysis.density with soluteselection and notwithin_coordinates_factory
when using KDTree (Issue #1211)
* GRO files with greater than 99,999 residues now read correctly (Issue #728)
Changes
* Started unifying the API of analysis classes (named internally
"Bauhaus" style; see Issue #719)
* Added protected variable _frame_index to to keep track of frame iteration
number in AnalysisBase
* Added new AlignTraj class for alignment. (Issue #845)
* Added new diffusionmap module for dimension reduction (Issue #857)
* Added new PCA module for dimension reduction (PR #896)
* Qcprot now takes N x 3 arrays instead of 3 x N arrays. This gives about a
40% speed up. (PR #930)
* The ProgressMeter class now has a `dynamic` keyword argument. It is now
recommended to provide format strings using the new python format syntax,
the old %-based syntax is still available but will be deprecated.
(PR #944)
* Analysis.rms.RMSD now confirms to standard analysis API (Issue #893)
* Fragments in Universe.fragment are now sorted by the index of their first
atom. (Issue 1007)
* atoms.tranform/translate/rotate/rotateby return original atomgroup
(Issue #1010)
* atoms.translate/rotateby don't accept AtomGroup tuples as
parameters anymore (Issue #1025)
* atoms.rotate can be given center of rotation (Issue #1022)
* XTCFile and TRRFile only raise IOError now on error.
* Deprecate usage of MDAnalysis.core.AtomGroup
* get_writer_for() returns NullWriter when filename=None instead of
raising TypeError and filename is now a required arg instead of kwarg
* moved coordinates.base.ChainReader to coordinates.chain.ChainReader
* renamed private method ChainReader.get_flname() to ChainReader._get_filename()
* totaltime now considers the first frame to be at time 0 (Issue #1137)
* analysis.rms.RMSF now conforms to standard analysis API (PR #1136)