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