Skip to content

Commit

Permalink
In process
Browse files Browse the repository at this point in the history
  • Loading branch information
dprada committed Oct 26, 2023
1 parent 6de7a79 commit 1ed89b1
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 121 deletions.
7 changes: 4 additions & 3 deletions molsysmt/native/msmh5_file_handler.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
class MSMH5FileHandler():

def __init__(self, filename, io_mode='r', creator='MolSysMT', compression="gzip", compression_opts=4,
int_precision='single', float_precision='single', time_unit=None, energy_unit=None,
int_precision='single', float_precision='single', length_unit=None, time_unit=None, energy_unit=None,
temperature_unit=None, charge_unit=None, mass_unit=None, closed=False):

self.file = None
Expand All @@ -16,8 +16,9 @@ def __init__(self, filename, io_mode='r', creator='MolSysMT', compression="gzip"

self.file = _new_msmfile(filename, creator=creator, compression=compression,
compression_opts=compression_opts, int_precision=int_precision,
float_precision=float_precision, length_unit=None, time_unit=None,
energy_unit=None, temperature_unit=None, charge_unit=None, mass_unit=None)
float_precision=float_precision, length_unit=length_unit, time_unit=time_unit,
energy_unit=energy_unit, temperature_unit=temperature_unit,
charge_unit=charge_unit, mass_unit=mass_unit)

elif io_mode=='r':

Expand Down
2 changes: 2 additions & 0 deletions molsysmt/thirds/openmm/reporters/msmh5.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ def __init__(self, file, reportInterval, selection='all', steps=None,
int_precision='single', float_precision='single',
syntax='MolSysMT'):

from molsysmt.native import MSMH5FileHandler

self._initialized = False

self._needs_positions = coordinates
Expand Down
164 changes: 46 additions & 118 deletions sandbox/Test.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "b0e47ad849bd41b09028bda04d1a0fdf",
"model_id": "8019362fa1c6426e99a7ec7b6f170173",
"version_major": 2,
"version_minor": 0
},
Expand Down Expand Up @@ -131,7 +131,7 @@
"metadata": {},
"outputs": [],
"source": [
"platform = mm.Platform.getPlatformByName(\"CPU\")"
"platform = mm.Platform.getPlatformByName(\"CUDA\")"
]
},
{
Expand Down Expand Up @@ -168,164 +168,92 @@
},
{
"cell_type": "code",
"execution_count": 15,
"id": "21c83228-ba57-450b-967b-b7b6195e2a1a",
"metadata": {},
"outputs": [],
"source": [
"from molsysmt.thirds.openmm.reporters import MolSysMTTrajectoryDictReporter"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "7282a59c-8f33-45e9-914d-878659a93cac",
"execution_count": null,
"id": "20516706-23cc-476e-b330-b7bd22b88ef3",
"metadata": {},
"outputs": [],
"source": [
"reporter = MolSysMTTrajectoryDictReporter(10)"
]
"source": []
},
{
"cell_type": "code",
"execution_count": 17,
"id": "341caca1-69fa-405b-b600-04d5f706c2fb",
"execution_count": null,
"id": "00d2a551-dd8e-4678-9e48-aa8a4765664e",
"metadata": {},
"outputs": [],
"source": [
"simulation.reporters.append(reporter)"
]
"source": []
},
{
"cell_type": "code",
"execution_count": 18,
"id": "330346e6-fd22-4fb6-b37e-e399d5c4b054",
"execution_count": 15,
"id": "21c83228-ba57-450b-967b-b7b6195e2a1a",
"metadata": {},
"outputs": [],
"source": [
"simulation.step(100)"
"from molsysmt.thirds.openmm.reporters import MolSysMTTrajectoryDictReporter\n",
"from molsysmt.thirds.openmm.reporters import MSMH5Reporter"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "698f41f6-803c-4865-a581-40fc5bbb4dd2",
"execution_count": 16,
"id": "7282a59c-8f33-45e9-914d-878659a93cac",
"metadata": {},
"outputs": [],
"source": [
"traj = reporter.finalize()"
"dict_reporter = MolSysMTTrajectoryDictReporter(10)\n",
"simulation.reporters.append(dict_reporter)"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "bba307ec-7e89-4468-9ca0-cfb4750268db",
"execution_count": 17,
"id": "044d948f-1d5f-4f43-b4ca-eac0a29235a9",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'time': Quantity(value=array([0. , 0.02, 0.04, 0.06, 0.08, 0.1 , 0.12, 0.14, 0.16, 0.18, 0.2 ]), unit=picosecond),\n",
" 'coordinates': Quantity(value=array([[[-0.45974578, -1.7492454 , -0.41946606],\n",
" [-0.54349788, -1.69396129, -0.40805317],\n",
" [-0.44343834, -1.80360854, -0.33592137],\n",
" ...,\n",
" [ 5.71245086, -0.83405943, 2.776235 ],\n",
" [-1.92531895, -2.0580962 , 3.29697089],\n",
" [ 5.83888242, -1.61575717, 5.65570512]],\n",
" \n",
" [[ 2.38045406, 6.28400774, -0.41962602],\n",
" [ 2.29794749, 6.34079759, -0.40664218],\n",
" [ 2.39939293, 6.22837663, -0.33748285],\n",
" ...,\n",
" [ 0.03252015, 7.19882329, 2.77531392],\n",
" [ 0.9143502 , 5.97455063, 3.29787384],\n",
" [ 0.15883804, 6.41684034, 5.65552087]],\n",
" \n",
" [[ 2.38009286, 6.28396525, -0.41958003],\n",
" [ 2.29745588, 6.34047984, -0.40622964],\n",
" [ 2.39935355, 6.22379059, -0.34078257],\n",
" ...,\n",
" [ 0.0310489 , 7.19953919, 2.77491244],\n",
" [ 0.91378012, 5.9744004 , 3.29886113],\n",
" [ 0.15724389, 6.41634945, 5.65356606]],\n",
" \n",
" ...,\n",
" \n",
" [[ 2.37584481, 6.29040361, -0.42262477],\n",
" [ 2.29412979, 6.34851653, -0.41051927],\n",
" [ 2.39128518, 6.23417047, -0.34016006],\n",
" ...,\n",
" [ 0.02357504, 7.19708297, 2.78455761],\n",
" [ 0.91273216, 5.96867117, 3.29712374],\n",
" [ 0.14261155, 6.40521459, 5.64380778]],\n",
" \n",
" [[ 2.37609239, 6.28909375, -0.42234362],\n",
" [ 2.29373196, 6.34538327, -0.40655603],\n",
" [ 2.3913465 , 6.23010498, -0.34179154],\n",
" ...,\n",
" [ 0.02486248, 7.19673447, 2.78655207],\n",
" [ 0.91227475, 5.96986986, 3.29727845],\n",
" [ 0.13876128, 6.4045164 , 5.63963932]],\n",
" \n",
" [[ 2.3779818 , 6.29256986, -0.42192989],\n",
" [ 2.2989498 , 6.35400932, -0.40850833],\n",
" [ 2.39243175, 6.24157439, -0.33595513],\n",
" ...,\n",
" [ 0.02685186, 7.19658334, 2.78651018],\n",
" [ 0.91222093, 5.97191723, 3.29658558],\n",
" [ 0.13421656, 6.40404302, 5.63793294]]]), unit=nanometer)}"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
"ename": "TypeError",
"evalue": "MSMH5FileHandler.__init__() got an unexpected keyword argument 'length_unit'",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
"Cell \u001b[0;32mIn[17], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m msmh5_reporter \u001b[38;5;241m=\u001b[39m \u001b[43mMSMH5Reporter\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mtest.msmh5\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m10\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mselection\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mall\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msteps\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m100\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 2\u001b[0m \u001b[43m \u001b[49m\u001b[43mtopology\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtime\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mbox\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcoordinates\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mvelocities\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 3\u001b[0m \u001b[43m \u001b[49m\u001b[43mpotentialEnergy\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkineticEnergy\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtemperature\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 4\u001b[0m \u001b[43m \u001b[49m\u001b[43mincludeInitialContext\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mconstantReportInterval\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 5\u001b[0m \u001b[43m \u001b[49m\u001b[43mconstantStepSize\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mconstantBox\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 6\u001b[0m \u001b[43m \u001b[49m\u001b[43mcompression\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mgzip\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcompression_opts\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m4\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 7\u001b[0m \u001b[43m \u001b[49m\u001b[43mint_precision\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43msingle\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfloat_precision\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43msingle\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 8\u001b[0m \u001b[43m \u001b[49m\u001b[43msyntax\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mMolSysMT\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 9\u001b[0m simulation\u001b[38;5;241m.\u001b[39mreporters\u001b[38;5;241m.\u001b[39mappend(msmh5_reporter)\n",
"File \u001b[0;32m~/projects@uibcdf/MolSysMT/molsysmt/thirds/openmm/reporters/msmh5.py:51\u001b[0m, in \u001b[0;36mMSMH5Reporter.__init__\u001b[0;34m(self, file, reportInterval, selection, steps, topology, time, box, coordinates, velocities, potentialEnergy, kineticEnergy, temperature, includeInitialContext, constantReportInterval, constantStepSize, constantBox, compression, compression_opts, int_precision, float_precision, syntax)\u001b[0m\n\u001b[1;32m 48\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_n_intervals_to_be_reported \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 49\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_n_intervals_reported \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m0\u001b[39m\n\u001b[0;32m---> 51\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_file_handler \u001b[38;5;241m=\u001b[39m \u001b[43mMSMH5FileHandler\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfile\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mio_mode\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mw\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcreator\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mOpenMM\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 52\u001b[0m \u001b[43m \u001b[49m\u001b[43mcompression\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcompression\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcompression_opts\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcompression_opts\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 53\u001b[0m \u001b[43m \u001b[49m\u001b[43mint_precision\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mint_precision\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfloat_precision\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mfloat_precision\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 54\u001b[0m \u001b[43m \u001b[49m\u001b[43mlength_unit\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mnm\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtime_unit\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mps\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43menergy_unit\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mkJ/mol\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 55\u001b[0m \u001b[43m \u001b[49m\u001b[43mtemperature_unit\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mkelvin\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcharge_unit\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43me\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmass_unit\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mdalton\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 57\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_structures_sd \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_file_handler\u001b[38;5;241m.\u001b[39mfile[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mstructures\u001b[39m\u001b[38;5;124m'\u001b[39m]\n",
"\u001b[0;31mTypeError\u001b[0m: MSMH5FileHandler.__init__() got an unexpected keyword argument 'length_unit'"
]
}
],
"source": [
"traj"
"msmh5_reporter = MSMH5Reporter('test.msmh5', 10, selection='all', steps=100,\n",
" topology=True, time=True, box=True, coordinates=True, velocities=False,\n",
" potentialEnergy=True, kineticEnergy=True, temperature=True,\n",
" includeInitialContext=True, constantReportInterval=True,\n",
" constantStepSize=True, constantBox=True,\n",
" compression='gzip', compression_opts=4,\n",
" int_precision='single', float_precision='single',\n",
" syntax='MolSysMT')\n",
"simulation.reporters.append(msmh5_reporter)"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "31117455-d921-49a8-a5f6-e4758605d58a",
"execution_count": null,
"id": "330346e6-fd22-4fb6-b37e-e399d5c4b054",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Quantity(value=0.002, unit=picosecond)"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"outputs": [],
"source": [
"simulation.integrator.getStepSize()"
"simulation.step(100)"
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "e13cb4ef-c6c6-48f4-be0d-d503a7805dc5",
"execution_count": null,
"id": "698f41f6-803c-4865-a581-40fc5bbb4dd2",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"outputs": [],
"source": [
"int(0.6)"
"traj = dict_reporter.finalize()\n",
"msmh5_reporter.close()"
]
},
{
Expand Down

0 comments on commit 1ed89b1

Please sign in to comment.