--- /srv/reproducible-results/rbuild-debian/r-b-build.Aqcrdeu7/b1/mdtraj_1.9.5-1_arm64.changes +++ /srv/reproducible-results/rbuild-debian/r-b-build.Aqcrdeu7/b2/mdtraj_1.9.5-1_arm64.changes ├── Files │ @@ -1,4 +1,4 @@ │ │ - 4409a1f85572d82e8fb7aa86adf9772f 867024 doc optional python-mdtraj-doc_1.9.5-1_all.deb │ + 21b6c392c6a08b16f7c816e0fa2075c7 867024 doc optional python-mdtraj-doc_1.9.5-1_all.deb │ e9383a358d6c6f4eb340d2d3784d956e 5119256 debug optional python3-mdtraj-dbgsym_1.9.5-1_arm64.deb │ 7ef386b3906894ef89f3eea928e72c2b 950508 python optional python3-mdtraj_1.9.5-1_arm64.deb ├── python-mdtraj-doc_1.9.5-1_all.deb │ ├── control.tar.xz │ │ ├── control.tar │ │ │ ├── ./md5sums │ │ │ │ ├── ./md5sums │ │ │ │ │┄ Files differ │ ├── data.tar.xz │ │ ├── data.tar │ │ │ ├── file list │ │ │ │ @@ -343,15 +343,15 @@ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1397 2021-01-18 05:30:54.000000 ./usr/share/doc/python-mdtraj-doc/html/examples/ramachandran-plot/ramachandran-plot.py │ │ │ │ -rw-r--r-- 0 root (0) root (0) 2714 2021-01-18 05:30:54.000000 ./usr/share/doc/python-mdtraj-doc/html/examples/ramachandran-plot/ramachandran-plot_eval.ipynb │ │ │ │ -rw-r--r-- 0 root (0) root (0) 21072 2021-01-18 05:30:54.000000 ./usr/share/doc/python-mdtraj-doc/html/examples/ramachandran-plot.html │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2021-01-18 05:30:54.000000 ./usr/share/doc/python-mdtraj-doc/html/examples/rmsd-benchmark/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 3943 2021-01-18 05:30:54.000000 ./usr/share/doc/python-mdtraj-doc/html/examples/rmsd-benchmark/rmsd-benchmark.ipynb │ │ │ │ -rw-r--r-- 0 root (0) root (0) 2182 2021-01-18 05:30:54.000000 ./usr/share/doc/python-mdtraj-doc/html/examples/rmsd-benchmark/rmsd-benchmark.py │ │ │ │ -rw-r--r-- 0 root (0) root (0) 3943 2021-01-18 05:30:54.000000 ./usr/share/doc/python-mdtraj-doc/html/examples/rmsd-benchmark/rmsd-benchmark_eval.ipynb │ │ │ │ --rw-r--r-- 0 root (0) root (0) 20274 2021-01-18 05:30:54.000000 ./usr/share/doc/python-mdtraj-doc/html/examples/rmsd-benchmark.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 20270 2021-01-18 05:30:54.000000 ./usr/share/doc/python-mdtraj-doc/html/examples/rmsd-benchmark.html │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2021-01-18 05:30:54.000000 ./usr/share/doc/python-mdtraj-doc/html/examples/simulation-with-openmm/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 4008 2021-01-18 05:30:54.000000 ./usr/share/doc/python-mdtraj-doc/html/examples/simulation-with-openmm/simulation-with-openmm.ipynb │ │ │ │ -rw-r--r-- 0 root (0) root (0) 2181 2021-01-18 05:30:54.000000 ./usr/share/doc/python-mdtraj-doc/html/examples/simulation-with-openmm/simulation-with-openmm.py │ │ │ │ -rw-r--r-- 0 root (0) root (0) 4008 2021-01-18 05:30:54.000000 ./usr/share/doc/python-mdtraj-doc/html/examples/simulation-with-openmm/simulation-with-openmm_eval.ipynb │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2021-01-18 05:30:54.000000 ./usr/share/doc/python-mdtraj-doc/html/examples/solvent-accessible-surface-area/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 3547 2021-01-18 05:30:54.000000 ./usr/share/doc/python-mdtraj-doc/html/examples/solvent-accessible-surface-area/solvent-accessible-surface-area.ipynb │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1804 2021-01-18 05:30:54.000000 ./usr/share/doc/python-mdtraj-doc/html/examples/solvent-accessible-surface-area/solvent-accessible-surface-area.py │ │ │ │ @@ -368,15 +368,15 @@ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 13790 2021-01-18 05:30:54.000000 ./usr/share/doc/python-mdtraj-doc/html/index.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 10537 2021-01-18 05:30:54.000000 ./usr/share/doc/python-mdtraj-doc/html/installation.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 20690 2021-01-18 05:30:54.000000 ./usr/share/doc/python-mdtraj-doc/html/load_functions.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 11361 2021-01-18 05:30:54.000000 ./usr/share/doc/python-mdtraj-doc/html/mdconvert.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 14005 2021-01-18 05:30:54.000000 ./usr/share/doc/python-mdtraj-doc/html/new_to_python.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 3639 2021-01-18 05:30:54.000000 ./usr/share/doc/python-mdtraj-doc/html/objects.inv │ │ │ │ -rw-r--r-- 0 root (0) root (0) 6039 2021-01-18 05:30:54.000000 ./usr/share/doc/python-mdtraj-doc/html/search.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 79555 2021-01-18 05:30:54.000000 ./usr/share/doc/python-mdtraj-doc/html/searchindex.js │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 79551 2021-01-18 05:30:54.000000 ./usr/share/doc/python-mdtraj-doc/html/searchindex.js │ │ │ │ -rw-r--r-- 0 root (0) root (0) 44366 2021-01-18 05:30:54.000000 ./usr/share/doc/python-mdtraj-doc/html/whatsnew.html │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2021-01-18 05:30:54.000000 ./usr/share/doc-base/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 313 2021-01-18 05:30:54.000000 ./usr/share/doc-base/mdtraj │ │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2021-01-18 05:30:54.000000 ./usr/share/doc/python-mdtraj-doc/html/_static/css/badge_only.css -> ../../../../../sphinx_rtd_theme/static/css/badge_only.css │ │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2021-01-18 05:30:54.000000 ./usr/share/doc/python-mdtraj-doc/html/_static/css/theme.css -> ../../../../../sphinx_rtd_theme/static/css/theme.css │ │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2021-01-18 05:30:54.000000 ./usr/share/doc/python-mdtraj-doc/html/_static/doctools.js -> ../../../../javascript/sphinxdoc/1.0/doctools.js │ │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2021-01-18 05:30:54.000000 ./usr/share/doc/python-mdtraj-doc/html/_static/fonts/Lato-Bold.ttf -> ../../../../../sphinx_rtd_theme/static/fonts/Lato-Bold.ttf │ │ │ ├── ./usr/share/doc/python-mdtraj-doc/html/examples/pca.html │ │ │ │ @@ -250,15 +250,15 @@ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │
Out[2]:
│ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ -
<mdtraj.Trajectory with 100 frames, 22 atoms, 3 residues, without unitcells at 0xffff999e5370>
│ │ │ │ +
<mdtraj.Trajectory with 100 frames, 22 atoms, 3 residues, without unitcells at 0xffff951213d0>
│ │ │ │
│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ @@ -292,15 +292,15 @@ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │
Out[3]:
│ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ -
<mdtraj.Trajectory with 100 frames, 22 atoms, 3 residues, without unitcells at 0xffff999e5370>
│ │ │ │ +
<mdtraj.Trajectory with 100 frames, 22 atoms, 3 residues, without unitcells at 0xffff951213d0>
│ │ │ │
│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -52,24 +52,24 @@ │ │ │ │ │ Lets load up our trajectory. This is the trajectory that we generated in the │ │ │ │ │ "Running a simulation in OpenMM and analyzing the results with mdtraj" example. │ │ │ │ │ In [2]: │ │ │ │ │ traj = md.load('ala2.h5') │ │ │ │ │ traj │ │ │ │ │ Out[2]: │ │ │ │ │ │ │ │ │ │ +0xffff951213d0> │ │ │ │ │ Create a two component PCA model, and project our data down into this reduced │ │ │ │ │ dimensional space. Using just the cartesian coordinates as input to PCA, it's │ │ │ │ │ important to start with some kind of alignment. │ │ │ │ │ In [3]: │ │ │ │ │ pca1 = PCA(n_components=2) │ │ │ │ │ traj.superpose(traj, 0) │ │ │ │ │ Out[3]: │ │ │ │ │ │ │ │ │ │ +0xffff951213d0> │ │ │ │ │ In [4]: │ │ │ │ │ reduced_cartesian = pca1.fit_transform(traj.xyz.reshape(traj.n_frames, │ │ │ │ │ traj.n_atoms * 3)) │ │ │ │ │ print(reduced_cartesian.shape) │ │ │ │ │ (100, 2) │ │ │ │ │ Now we can plot the data on this projection. │ │ │ │ │ In [5]: │ │ │ ├── ./usr/share/doc/python-mdtraj-doc/html/examples/rmsd-benchmark.html │ │ │ │ @@ -281,15 +281,15 @@ │ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ -
md.rmsd(): 276734.84 rmsds / s
│ │ │ │ +
md.rmsd(): 30880.44 rmsds / s
│ │ │ │  
│ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │ @@ -330,15 +330,15 @@ │ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ -
md.rmsd(precentered=True): 1022681.70 rmsds / s
│ │ │ │ +
md.rmsd(precentered=True): 61870.09 rmsds / s
│ │ │ │  
│ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │ @@ -375,15 +375,15 @@ │ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ -
pure numpy rmsd_qcp(): 2056.56 rmsds / s
│ │ │ │ +
pure numpy rmsd_qcp(): 815.07 rmsds / s
│ │ │ │  
│ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ ├── html2text {} │ │ │ │ │ @@ -59,15 +59,15 @@ │ │ │ │ │ start = time.time() │ │ │ │ │ │ │ │ │ │ for i in range(100): │ │ │ │ │ md.rmsd(t, t, 0) │ │ │ │ │ │ │ │ │ │ print('md.rmsd(): %.2f rmsds / s' % ((t.n_frames * 100) / (time.time() - │ │ │ │ │ start))) │ │ │ │ │ -md.rmsd(): 276734.84 rmsds / s │ │ │ │ │ +md.rmsd(): 30880.44 rmsds / s │ │ │ │ │ But for some applications like clustering, we want to run many rmsd() │ │ │ │ │ calculations per trajectory frame. Under these circumstances, the centering of │ │ │ │ │ the trajectories is going to be done many times, which leads to a slight │ │ │ │ │ slowdown. If we manually center the trajectory and then inform the rmsd() │ │ │ │ │ function that the centering has been precentered, we can achieve ~2x speedup, │ │ │ │ │ depending on your machine and the number of atoms. │ │ │ │ │ In [4]: │ │ │ │ │ @@ -75,28 +75,28 @@ │ │ │ │ │ start = time.time() │ │ │ │ │ │ │ │ │ │ for i in range(100): │ │ │ │ │ md.rmsd(t, t, 0, precentered=True) │ │ │ │ │ │ │ │ │ │ print('md.rmsd(precentered=True): %.2f rmsds / s' % ((t.n_frames * 100) / │ │ │ │ │ (time.time() - start))) │ │ │ │ │ -md.rmsd(precentered=True): 1022681.70 rmsds / s │ │ │ │ │ +md.rmsd(precentered=True): 61870.09 rmsds / s │ │ │ │ │ Just for fun, let's compare this code to the straightforward numpy │ │ │ │ │ implementation of the same algorithm, which mdtraj has (mostly for testing) in │ │ │ │ │ the mdtraj.geometry.alignment subpackage │ │ │ │ │ In [5]: │ │ │ │ │ from mdtraj.geometry.alignment import rmsd_qcp │ │ │ │ │ │ │ │ │ │ start = time.time() │ │ │ │ │ for k in range(t.n_frames): │ │ │ │ │ rmsd_qcp(t.xyz[0], t.xyz[k]) │ │ │ │ │ │ │ │ │ │ print('pure numpy rmsd_qcp(): %.2f rmsds / s' % (t.n_frames / (time.time() - │ │ │ │ │ start))) │ │ │ │ │ -pure numpy rmsd_qcp(): 2056.56 rmsds / s │ │ │ │ │ +pure numpy rmsd_qcp(): 815.07 rmsds / s │ │ │ │ │ md.rmsd() code is a lot faster. If you go look at the rmsd_qcp source code, │ │ │ │ │ you'll see that it's not because that code is particularly slow or unoptimized. │ │ │ │ │ It's about as good as you can do with numpy. The reason for the speed │ │ │ │ │ difference is that an inordinate amount of time was put into hand-optimizing an │ │ │ │ │ SSE3 implementation in C for the md.rmsd() code. │ │ │ │ │ (rmsd-benchmark.ipynb.gz; rmsd-benchmark_eval.ipynb.gz; rmsd-benchmark.py) │ │ │ │ │ Next Previous │ │ │ ├── ./usr/share/doc/python-mdtraj-doc/html/examples/two-pass-clustering.html │ │ │ │ @@ -458,17 +458,17 @@ │ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ -
[2 2 2 3 2 3 3 3 2 2 3 3 3 2 3 3 3 2 3 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 2 2 2
│ │ │ │ - 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 2 2 2 3 3 3 3 2 3 3 3 3 2 2 3 3 3 3 3 3 3 2
│ │ │ │ - 3 3 3 2 2 3 2 3 3 2 3 2 3 3 3 1 1 1 1 1 1 1 1 1 1 1]
│ │ │ │ +
[2 2 3 3 3 3 3 2 3 3 3 3 2 2 3 3 3 2 3 1 1 1 1 1 1 1 1 1 2 1 3 3 3 2 2 2 2
│ │ │ │ + 2 1 1 1 1 1 1 1 2 2 2 3 2 3 3 2 2 2 3 3 2 2 2 3 3 3 2 2 2 2 3 2 2 2 3 3 2
│ │ │ │ + 3 2 3 2 2 3 2 3 3 3 2 2 3 2 2 1 1 1 1 1 1 1 1 1 1 1]
│ │ │ │  (100,)
│ │ │ │  
│ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ ├── html2text {} │ │ │ │ │ @@ -120,17 +120,17 @@ │ │ │ │ │ labels = [] │ │ │ │ │ for frame in md.iterload('ala2.h5', chunk=1): │ │ │ │ │ labels.append(leader_labels[np.argmin(md.rmsd(leaders, frame, 0))]) │ │ │ │ │ labels = np.array(labels) │ │ │ │ │ │ │ │ │ │ print(labels) │ │ │ │ │ print(labels.shape) │ │ │ │ │ -[2 2 2 3 2 3 3 3 2 2 3 3 3 2 3 3 3 2 3 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 2 2 2 │ │ │ │ │ - 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 2 2 2 3 3 3 3 2 3 3 3 3 2 2 3 3 3 3 3 3 3 2 │ │ │ │ │ - 3 3 3 2 2 3 2 3 3 2 3 2 3 3 3 1 1 1 1 1 1 1 1 1 1 1] │ │ │ │ │ +[2 2 3 3 3 3 3 2 3 3 3 3 2 2 3 3 3 2 3 1 1 1 1 1 1 1 1 1 2 1 3 3 3 2 2 2 2 │ │ │ │ │ + 2 1 1 1 1 1 1 1 2 2 2 3 2 3 3 2 2 2 3 3 2 2 2 3 3 3 2 2 2 2 3 2 2 2 3 3 2 │ │ │ │ │ + 3 2 3 2 2 3 2 3 3 3 2 2 3 2 2 1 1 1 1 1 1 1 1 1 1 1] │ │ │ │ │ (100,) │ │ │ │ │ (two-pass-clustering.ipynb.gz; two-pass-clustering_eval.ipynb.gz; two-pass- │ │ │ │ │ clustering.py) │ │ │ │ │ Next Previous │ │ │ │ │ =============================================================================== │ │ │ │ │ © Copyright 2021, Stanford University and the Authors. │ │ │ │ │ 1.9.5 │ │ │ ├── ./usr/share/doc/python-mdtraj-doc/html/searchindex.js │ │ │ │ ├── js-beautify {} │ │ │ │ │ @@ -252,28 +252,27 @@ │ │ │ │ │ "0x105a98e90": 1, │ │ │ │ │ "0x109b91310": 109, │ │ │ │ │ "0x109b97810": 109, │ │ │ │ │ "0x109f0a3d0": 109, │ │ │ │ │ "0x110740a90": [55, 58, 60, 61, 62, 64, 69, 71, 73], │ │ │ │ │ "0x11136e410": [58, 60, 61, 64], │ │ │ │ │ "0x18236e4a0": 58, │ │ │ │ │ - "0xffff999e5370": 114, │ │ │ │ │ + "0xffff951213d0": 114, │ │ │ │ │ "100": [2, 29, 40, 50, 51, 55, 80, 81, 82, 104, 105, 109, 110, 114, 116, 117, 118], │ │ │ │ │ "1000": [2, 69, 99, 116, 124, 126], │ │ │ │ │ "10000": [80, 81, 82, 99], │ │ │ │ │ "1000000": 93, │ │ │ │ │ "1000x": [22, 23], │ │ │ │ │ "1002": [25, 57, 126], │ │ │ │ │ "100k": 126, │ │ │ │ │ "101": 110, │ │ │ │ │ "1013": 126, │ │ │ │ │ "1016": 121, │ │ │ │ │ "102": 110, │ │ │ │ │ "1021": [24, 86], │ │ │ │ │ - "1022681": 116, │ │ │ │ │ "1030": 126, │ │ │ │ │ "1038": 126, │ │ │ │ │ "1039": 126, │ │ │ │ │ "1057": 126, │ │ │ │ │ "1058": 126, │ │ │ │ │ "1061": 126, │ │ │ │ │ "1063": 86, │ │ │ │ │ @@ -427,35 +426,34 @@ │ │ │ │ │ "2007": 12, │ │ │ │ │ "2008": [85, 117], │ │ │ │ │ "2010": [9, 62], │ │ │ │ │ "2011": 8, │ │ │ │ │ "2012": [7, 24, 54, 85, 87, 117], │ │ │ │ │ "2013": 111, │ │ │ │ │ "2015": 121, │ │ │ │ │ - "2056": 116, │ │ │ │ │ "20nm": 19, │ │ │ │ │ "20x": 13, │ │ │ │ │ "231": [6, 98, 114], │ │ │ │ │ "24364147": [83, 84], │ │ │ │ │ "250": [58, 60, 61, 64], │ │ │ │ │ "257": 7, │ │ │ │ │ "2577": [25, 57], │ │ │ │ │ "265": [6, 98], │ │ │ │ │ "275": 112, │ │ │ │ │ "276": 112, │ │ │ │ │ - "276734": 116, │ │ │ │ │ "277": 112, │ │ │ │ │ "278": 112, │ │ │ │ │ "279": 112, │ │ │ │ │ "298": 8, │ │ │ │ │ "2eqq": [69, 107], │ │ │ │ │ "2mi7": 111, │ │ │ │ │ "300": 99, │ │ │ │ │ "304": 98, │ │ │ │ │ "308": 110, │ │ │ │ │ + "30880": 116, │ │ │ │ │ "309": 110, │ │ │ │ │ "310": 110, │ │ │ │ │ "311": 110, │ │ │ │ │ "312": 110, │ │ │ │ │ "31m": [110, 112, 113], │ │ │ │ │ "31mmodulenotfounderror": 113, │ │ │ │ │ "31moserror": [110, 112], │ │ │ │ │ @@ -482,18 +480,20 @@ │ │ │ │ │ "36m_assert_files_exist": 110, │ │ │ │ │ "36mchemical_shifts_spartaplu": 112, │ │ │ │ │ "36mload_fram": 110, │ │ │ │ │ "3x3": 95, │ │ │ │ │ "423": [55, 58, 60, 61, 62, 64, 69, 71, 73, 107], │ │ │ │ │ "500": [58, 60, 61, 62, 64, 71, 73], │ │ │ │ │ "526": 111, │ │ │ │ │ + "61870": 116, │ │ │ │ │ "6360": [10, 11, 12], │ │ │ │ │ "6368": [10, 11, 12], │ │ │ │ │ "637": [25, 57], │ │ │ │ │ "69715095": 104, │ │ │ │ │ + "815": 116, │ │ │ │ │ "861": 126, │ │ │ │ │ "871": 126, │ │ │ │ │ "87260383": 104, │ │ │ │ │ "878": 126, │ │ │ │ │ "885": 126, │ │ │ │ │ "891": 126, │ │ │ │ │ "893": 126,