-
Notifications
You must be signed in to change notification settings - Fork 648
/
CHANGELOG
1933 lines (1703 loc) · 92 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
------------------------------------------------------------------------------
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)
* analysis.rms/align function keyword `mass_weighted` is replaced
by generic `weights='mass'`. This new keyword allows to pass it an
arbitrary weights array as well. (PR #1136)
* Renamed various base classes for clarity. Iobase -> IOBase,
Reader -> ReaderBase, SingleFrameReader -> SingleFrameReaderBase,
Writer -> WriterBase, TopologyReader -> TopologyReaderBase,
SelectionWriter -> SelectionWriterBase (Issue #921)
* Selection writers do not have a 'wa' mode anymore, but they have a 'close'
method (Issue #1244)
* Remove deprecated PrimitivePDB* classes
* Remove deprecated `delta` keyword for ChainReader
* Remove deprecated permissive_pdb_reader flag
* Removed superfluous and confusing keywords `start` and `end` for resid
selection in analysis.helanal.helanal_main() and
analysis.helanal.helanal_trajectory()
* weights="size" parameter in analysis.gnm.closeContactGNMAnalysis to
replace MassWeight=True
* bump minimum numpy version to 1.10.4
Deprecations (Issue #599)
* Use of rms_fit_trj deprecated in favor of AlignTraj class (Issue #845)
* Moved analysis.x3dna to the analysis.legacy module (Issue #906)
* The keyword argument *quiet* is deprecated in favor of *verbose*
throughout the library (Issue #903)
* MassWeight=True parameter in analysis.gnm.closeContactGNMAnalysis
deprecated in favor of weights="size".
Testsuite
* Make knownfailure work even without parentheses.
* Added a plugin to list the non-closed file handle (Issue #853, PR #874).
The plugin can be disabled with --no-open-files.
* The test_failure test can be made fail by setting the MDA_FAILURE_TEST
environment variable (PR #874)
* replaced XTC_HOLE test trajectory with more meaningful one MULTIPDB_HOLE
* install external packages on Travis (SETUP == full: HOLE, clustalw)
to test additional analysis code (Issue #898)
* removed usage of random numbers from tests (Issue #958)
* test_imports now always uses the correct source directory (Issue #939).
05/15/16 jandom, abhinavgupta94, orbeckst, kain88-de, hainm, jbarnoud,
dotsdl, richardjgowers, BartBruininks, jdetle, pedrishi,
fiona-naughton, jdetle
* 0.15.0
Metadata
* link download_url to GitHub releases so that Depsy recognizes
contributors (issue #749)
* a __version__ variable is now exposed; it is built by setup.py from the
AUTHORS file (Issue #784)
API Changes
* rmsd doesn't superimpose by default anymore. The superposition
is controlled by the 'superposition' keyword now. (see issue #562, #822)
Enhancements
* Add conda build scripts (Issue #608)
* Added read-only property giving Universe init kwargs (Issue #292)
* Added 'crdbox' as AMBER Trj format extension (Issue #846)
* Iteration and seeking in PDB files made faster (Issue #848)
Fixes
* Fixed TypeError in PSAnalysis heatmap-dendrogram plotting (Issue #1018)
* ENT file format added to PDB Readers/Writers/Parsers (Issue #834)
* rmsd now returns proper value when given array of weights (Issue #814)
* change_release now finds number and dev (Issue #776)
* units.py now correctly prints errors for unknown units.
* test_shear_from_matrix doesn't fail for MKL builds anymore (Issue #757)
* HEADER and TITLE now appear just once in the PDB. (Issue #741) (PR #761)
* MOL2 files without substructure section can now be read (Issue #816)
* MOL2 files can be written without substructure section (Issue #816)
* GRO files with an incomplete set of velocities can now be read (Issue #820)
* Fixed Atom.position/velocity/force returning a view onto Timestep array
(Issue #755)
* PDB files can now read a CRYST entry if it happens before model headers
(Issue #849)
* Fixed HistoryReader returning 1 based frame indices (Issue #851)
Changes
* Added zero_based indices for HBondsAnalysis. (Issue #807)
* Generalized contact analysis class `Contacts` added. (Issue #702)
* Removed Bio.PDBParser and sloppy structure builder and all of
MDAnalysis.coordinates.pdb (Issue #777)
* PDB parsers/readers/writers replaced by "permissive"/"primitive"
counterparts (formerly known as PrimitivePDBReader); the
'permissive' keyword for Universe is now ignored and only the
native MDAnalysis PDBReader is being used (Issue #777)
* PDBReader only opens a single file handle in its lifetime,
previously opened & closed handle each frame (Issue #850)
Deprecations (Issue #599)
* Use of PrimitivePDBReader/Writer/Parser deprecated in favor of PDBReader/
Writer/Parser (Issue #777)
* Deprecated all `get_*` and `set_*` methods of Groups.
* Deprecation warnings for accessing atom attributes from Residue,
ResidueGroup, Segment, SegmentGroup. Will not be present or will
give per-level results.
* Deprecation warnings for accessing plural residue attributes from
Residue or Segment (will disappear), or from SegmentGroup (will give
per-Segment results).
* Deprecation warnings for accessing plural segment attributes from Segment
(will disappear).
* Deprecated Atom number, pos, centroid, universe setter
* Deprecated AtomGroup serials, write_selection
* Deprecated Residue name, id
* Deprecated Segment id, name
* Deprecated as_Universe function; not needed
* Deprecated ContactAnalysis and ContactAnalysis1 classes
Testsuite
* metadata update: link download_url to GitHub releases so that
Depsy recognizes contributors (issue #749) and added
@richardjgowers as maintainer
* a __version__ variable is now exposed; it is built by setup.py from the
AUTHORS file (Issue #784)
* Removed all bare assert (Issue #724)
* added tempdir module
02/28/16 tyler.je.reddy, kain88-de, jbarnoud, richardjgowers, orbeckst
manuel.nuno.melo, Balasubra, Saxenauts, mattihappy
* 0.14.0
API Changes
* Offsets files for Gromacs trajectory formats have been changed to a numpy
style format '.npz'. Offsets files will be regenerated when you load a
xtc/trr trajectory again. (Issue #441)
* rotation_matrix now accepts array-likes as input
Enhancement
* XDR file seeking errors now report system errno. (PR #678)
* Offsets reading for xtc/trr files has been sped up. (Issue #441)
* select_atoms now implicitly ORs multiple values after a keyword for
many types of selections (Issue #345)
* Performance improvements for the PDBReader of about 10%
* LinearDensity analysis module added, which allows to compute linear mass
and charge density profiles along the three cartesian axes of the cell.
Works for orthorombic, fixed volume cells only. (Issue #670)
* Trajectories can now be sliced using a boolean array (Issue #725)
Changes
* xdrlib was rebranded libmdaxdr. (Issue #679)
* xdrlib has been ported to cython. (Issue #441)
* util.NamedStream no longer inherits from basestring (Issue #649)
* Short TRZ titles are striped from trailing spaces. A friendlier error
message is raised when the TRZ writer is asked to write a title longer
than 80 characters. (Issue #689)
* PDB doesn't save charge information anymore
* coordinates.core.get_writer_for uses the user defined format if provided
before trying to deduce the format from file extension. (Issue #712)
Fixes
* Syntax error corrected in psa.py (Issue #738)
* XDR file seeking and telling working again for large files (Issue #677).
* ContactAnalysis1 run method now starts at frame index 0 by default (Issue #624)
* Fixed PrimitivePDBWriter alignment of the atom name. (Issue #639 and #647)
* The 'atom' selection keyword returns an empty selection rather than an
error when no atoms are are found. (Issue #644)
* nucleic selection will now detect nucleic residue names suffixed with 3 or 5
(Issue #461)
* Fixed Reader returning all frames with stop in slice was 0 (Issue #672)
* Fixed NCDFReader not reading dt (Issue #676)
* Fixed PDB-Topology read bonds for atom ids larger then 10000 (Issue #693)
* Fixed Type Error in qcprot.pyx when no rotation can be fond (Issue #705)
* Fixed cyzone selection failing in orthogonal systems (Issue #710)
* Fixed Error in calculation of average grid density (Issue #716)
* Fixed indexing an AtomGroup using a list of bools now working (Issue #729)
Testsuite
* Added the cleanup plugin (--with-mda_cleanup) to delete offset files
after tests have run (Issue 669)
* Made memleak testing python 3 compliant (Issue 662). It may be a moot
point since python 3.4 now cleverly deals with leaks.
01/16/16 tyler.je.reddy, kain88-de, richardjgowers, manuel.nuno.melo,
orbeckst, Balasubra
* 0.13.0
API Changes
* ChainReader `delta` keyword deprecated in favor of `dt`. (Issue #522)
* XYZWriter can now be used as a container format for different protein models
as well as a normal trajectory. If `n_atoms` is None (default) MDAnalysis
assumes that it is used as a container and won't give a warning if the
number of atoms differs between frames.
* GROWriter.fmt strings updated to use format style (Issue #494)
* removed MDAnalysis.lib.parallel.distances; use the new backend="OpenMP"
keyword for the functions in MDAnalysis.lib.distances (Issue #530)
Enhancement
* ChainReader now reports times properly summed over sub-readers (Issue #522)
* GRO file reading approximately 50% faster for large files (Issue #212)
* GRO file writing now will write velocities where possible (Issue #494)
* Added bonded selection (Issue #362)
* Spherical layer and spherical zone selections now much faster (Issue #362)
* new keyword "backend" for accelerated functions in MDAnalysis.lib.distances
to select "serial" or "OpenMP"-enabled versions of the code; the default
is "serial" so old code will behave as before (see Issue #530)
* Lammps data file parsing improved greatly. Should now support all files,
and triclinic geometry. (Issue #139)
* Added analysis.polymer, currently with PersistenceLength tool (Issue #460)
* Added analysis.rdf, with InterRDF tool. (Issue #460)
* Made Reader.check_slice_indices a public method (Issue #604)
* analysis.helanal.helanal_main() now returns results as dict
* Added keyword to update selection every frame in density calculation (Issue #584)
* New keywords start, stop, step for density.density_from_Universe()
to slice a trajectory.
* MOL2Reader now reads molecule and substructure into ts.data
* All subclasses of ProtoReader, Writer and TopologyReader are automatically
added to the MDAnalysis directory of I/O (Issue #431)
Changes
* built html doc files are no longer version controlled (Issue #491)
* The lib._distances and lib_distances_openmp libraries now have a
OPENMP_ENABLED boolean flag which indicates if openmp was used in
compilation. (Issue #530)
* analysis.helanal.helanal_trajectory() and helanal_main() now use a
logger at level INFO to output all their computed values instead
of printing to stdout
* default offset for ProgressMeter was changed from 0 to 1 (to match
the change from 1- to 0-based ts.frame counting)
* removed superfluous analysis.density.density_from_trajectory();
use density_from_Universe(TOPOL, TRAJ) instead.
* MOL2Writer.write now only writes a single frame (Issue #521)
Fixes
* Fixed select_atoms requiring a trajectory be loaded (Issue #270)
* AtomGroup timesteps no longer cached (Issue #606)
* GROWriter now truncates atom numbers over 99999 (Issue #550)
* AMBER netcdf writer now correctly uses float32 precision (Issue #518)
* Fixed a numpy incompatibility in `analysis.leaflet.LeafletFinder`.
(Issue #533)
* Cleaned up `MDAnalysis.Writer` docs regarding `dt` usage. (Issue #522)
* Fixed setup-time dependency on numpy that broke pip installs. (Issue #479)
* Fixed unpickling errors due to lingering dead universes. (Issue #487)
* Fixed analysis.density modules requiring the defunct `skip` attribute
on trajectories. (Issue #489)
* ten2eleven camelcase fixer now deals with centerOfMass (Issue #470)
* ten2eleven will now convert numatoms to n_atoms argument
for writer() functions (Issue #470)
* Fixed non-compliant Amber NCDFWriter (Issue #488)
* Fixed many Timestep methods failing when positions weren't present
(Issue #512)
* Fixed PointSelection using KDTree (Issue #362)
* Fixed GROParser getting tripped up by some file (Issue #548)
* Fixed writing dx files from analysis.density.density_from_Universe()
(Issue #544 and #410)
* Fixed base.Reader._check_slice_indices not liking numpy ints
(Issue #604)
* Fixed broken analysis.helanal.helanal_trajectory() and
helanal_main()
* Fixed lib.util.greedy_splitext() (now returns full path)
* Fixed MOL2Reader not reading molecule and substructure on init
(Issue #521)
* Fixed MOL2Writer rereading frames when writing them (Issue #521)
* Fixed PDBWriter not writing occupancies from atoms (Issue #620)
Testsuite
* removed ez_setup.py
10/08/15
* 0.12.1 kain88-de, orbeckst, richardjgowers
API Changes
Enhancements
Changes
Fixes
* Fixed OpenMP detection on Linux/OSX #459
* Fixed reading of LAMMPS trajectory times: default unit ought
to be fs and not ps
* Fixed setting of dt for DCDReader (and LAMMPS DCDReader) with
keyword argument Universe(..., dt=<dt>)
* Fixed a bug in topology.core.guess_atom_element where a
single digit atom name would raise an IndexError (#476)
* Fixed numpy -> np in LeafletFinder
10/04/15 kain88-de, richardjgowers, dotsdl, sseyler, orbeckst, jbarnoud
* 0.12.0
API Changes
* PrimitivePDBReader now imports occupancies into the `TimeStep` object.
(Issue #396)
* Atoms without a Universe now return NoDataError instead of
AttributeError
* AtomGroups of zero length or containing Atoms with no Universe raise
a NoDataError when trying to access Universe
* Atoms now keep a strong reference to Universe, meaning they
do not become orphaned when the Universe goes out of scope (Issue #297)
Enhancements
* `Atom` and `AtomGroup` now expose occupancy value as `occupancy` and
`occupancies` properties (Issue #396)
* XYZReader now supports frame indexing (Issue #428)
* Reader objects can now be sliced using lists and arrays of indices
(Issue #437)
* `PSAnalysis` now includes Hausdorff pairs analysis and associated nearest
neighbor plotting method (Issue #438)
* New class `PSAPair` added to MDAnalysis.analysis.psa for handling
Hausdorff pairs analysis (Issue #438)
* `PSAnalysis` can now generate annotated heat maps (Issue #438)
* Added three new distance functions to MDAnalysis.analysis.psa (Issue #438)
* Additional getters added to `Path` and `PSAnalysis` (Issue #438)
* MSD matrix function now globally available in MDAnalysis.analysis.psa
(Issue #438)
* Function for obtaining coordinate axes from numpy trajectories now
globally available in MDAnalysis.analysis.psa (Issue #438)
* TPR parser updated for Gromacs 5.0.x and 5.1 (Issue #456)
* Setup.py now looks for some configuration values in a config file. Each
config option can also be changed via environment variables if they are
prefixed with 'MDA_'. Current options are 'use_cython', 'ues_openmp', 'debug_cflags'
Changes
* An AtomGroup with 0 atoms now yields an `IndexError` on call to
`AtomGroup.write` (Issue #434)
* `PSA` changed to `PSAnalysis` to reduce namespace clutter (Issue #438)
* To build with debug-symbols use 'MDA_DEBUG_CFLAGS' instead of 'MDA_DEBUG_CFLAGS'
Fixes
* Fixed minor issue in lib.mdamath.make_whole where if all bonds
were correctly sized, it wouldn't notice that multiple fragments
had been given. (Issue #445)
* Fixed issue with PDB Topology parsing where if serials went
over 100k, they wrapped to '***', breaking the parser (Issue #446)
* Fixed AtomGroup.sequence() (Issue #451)
* Fixed PrimitivePDBParser not detecting when resids had looped over
10,000. The original resid is stored as Atom.resnum (Issue #454)
* Fixed TPR topology parser to treat all bonded interactions available in
Gromacs 5.1 (Issue #222 and #352, pull request #463).
09/07/15 tyler.je.reddy, richardjgowers, alejob, orbeckst, dotsdl,
manuel.nuno.melo, cyanezstange, khuston, ivirshup, kain88-de,
gormanstock
* 0.11.0
This release brings large changes to many parts of the API and might
break many existing scripts. For a full guide on the API changes,
please see:
https://github.com/MDAnalysis/mdanalysis/wiki/MDAnalysis-0.11-unifying-release-user-guide
Migrating old scripts has been made easier with the introduction of
the ten2eleven tool which is part of the package.
Details on how to use this are available at:
https://github.com/MDAnalysis/mdanalysis/wiki/Migrating-MDAnalysis-code-with-ten2eleven.py
API Changes
* Changed AtomGroup counting methods to properties with different
names: numberOfAtoms() to n_atoms, numberOfResidues() to
n_residues, numberOfSegments() --> n_segments (Issue #376)
* Changed trajectory reader numframes to n_frames (Issue #376)
* Changed Timestep.numatoms to n_atoms (Issue #376)
* Deprecated the use of the 'fullgroup' selection keyword (Issue #268)
* Changed atom.number attribute to atom.index (Issue #372)
* Changed many AtomGroup methods to properties. These are: indices,
masses, charges, names, types, radii, resids, resnames, resnums,
segids (Issue #372)
* Timestep can now only init using an integer argument (which
represents the number of atoms) (Issue #250)
* Added from_timestep and from_coordinates construction methods
to base.Timestep (Issue #250)
* Removed KDTree and CoordinateNeighbor from MDAnalaysis. If you
want to search in cartesian coordinates directly for nighboring
points use the BioPython KDTree or scikit-learn Neighbors module.
The AtomNeighborSearch class has been ported to use the BioPython
KDTree and is now located in MDAnalaysis.lib.NeighborSearch.
MDAnalaysis.KDTree still exists in this version so load the
NeighborSearch module but is deprecated and will be removed in
1.0. (Issue #383)
* Moved MDAnalysis.core.transformations to
MDAnalysis.lib.transformations (Issue #287)
* Moved MDAnalysis.core.util to MDAnalysis.lib.util (Issue #287)
* Moved MDAnalysis.core.log to MDAnalysis.lib.log (Issue #287)
* Moved MDAnalysis.core.units to MDAnalysis.units (Issue #287)
* Moved MDAnalysis.core.distances to MDAnalysis.lib.distances
(Issue #287)
* Moved MDAnalysis.core.parallel to MDAnalysis.lib.parallel
(Issue #287)
* Moved norm, normal, angle, stp and dihedral from lib.util to
lib.mdamath (Issue #287)
* AtomGroup.bond .angle .dihedral and .improper now return the
corresponding TopologyObject rather than performing the calculation
(Issue #373)
* All TopologyObjects now have a "value" method to evaluate them
(Issue #373)
* TopologyGroup now has a "values" methods to evaluate all contained
bonds (Issue #373)
* MDAnalysis.lib.distances.calc_torsions renamed to calc_dihedrals
(Issue #373)
* TopologyGroup.selectBonds renamed to select_bonds (Issue #389)
* deprecated camelCase AtomGroup methods in favour of underscore_style
(Issue #389)
* deprecate lib.distances.applyPBC in favour of apply_PBC (Issue #389)
* AtomGroup.res[names,ids,nums] and AtomGroup.segids now give arrays
of equal size to AtomGroup (Issue #385)
* ResidueGroup.segids now gives arrays of equal size to ResidueGroup
(Issue #385)
* AtomGroup setters `set_<property>` now plural for consistency with
property names (Issue #385)
* DCDReader no longer supports the "skip" keyword. Use slicing
on reader iteration to achieve same affect. (Issue #350)
* All Readers have a default "dt" of 1.0 ps. This applies also to
single frame readers, these would previously raise an error on
accessing dt. (Issue #350)
* NCDF Reader no longer has a default skip_timestep of 1 (Issue #350)
Enhancements
* Added the 'global' selection keyword (Issue #268)
* Added Jmol selection writer (Issue #356)
* Added reading of Hoomd XML files (Issue #333)
These can only act as topology information for now
* Tests can now detect memleaks on a per-test basis (Issue #323)
* AtomGroups can now be pickled/unpickled (Issue #293)
* Universes can have a __del__ method (not actually added) without
leaking (Issue #297)
* Added reading of DL_Poly format CONFIG and HISTORY files, these can
both act as both Topology and Coordinate information (Issue #298)
* Timestep objects now have __eq__ method (Issue #294)
* coordinates.base.Timestep now can handle velocities and forces
(Issue #294)
* Waterdynamics analysis module added, including five analysis
classes: Hydrogen Bond Lifetimes, Water Orientational Relaxation,
Angular Distribution, Mean Square Displacement and Survival
Probability. Documentation and test are included. (Issue #300)
* RMSF class added to rms analysis module
* ProgressMeter now outputs every *interval* number of ``update``
calls (Issue #313)
* Created lib.mdamath for common mathematical functions. (Issue #287)