Skip to content

Commit

Permalink
latest debug sessoin
Browse files Browse the repository at this point in the history
  • Loading branch information
MichaelShohat committed Jun 16, 2019
1 parent 8c47d0f commit b0b453c
Show file tree
Hide file tree
Showing 13 changed files with 405 additions and 328 deletions.
89 changes: 89 additions & 0 deletions environment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
name: simumoleEnv
channels:
- omnia
- conda-forge
- schrodinger
- defaults
dependencies:
- apbs=1.5=h14c3975_3
- asn1crypto=0.24.0=py37_0
- blas=1.0=mkl
- ca-certificates=2019.3.9=hecc5488_0
- certifi=2019.3.9=py37_0
- cffi=1.12.3=py37h2e261b9_0
- chardet=3.0.4=py37_1
- cryptography=2.7=py37h72c5cf5_0
- dbus=1.13.6=h746ee38_0
- expat=2.2.6=he6710b0_0
- fftw3f=3.3.4=2
- fontconfig=2.13.0=h9420a91_0
- freemol=1.158=py37_1
- freetype=2.9.1=h8a8886c_1
- glew=2.0.0=0
- glib=2.56.2=hd408876_0
- gst-plugins-base=1.14.0=hbbd80ab_1
- gstreamer=1.14.0=hb453b48_1
- h5py=2.9.0=py37h7918eee_0
- hdf5=1.10.4=hb1b8bf9_0
- icu=58.2=h9c2bf20_1
- idna=2.8=py37_0
- intel-openmp=2019.4=243
- jpeg=9b=h024ee3a_2
- libedit=3.1.20181209=hc058e9b_0
- libffi=3.2.1=hd88cf55_4
- libgcc-ng=8.2.0=hdf63c60_1
- libgfortran-ng=7.3.0=hdf63c60_0
- libglu=9.0.0=hf484d3e_1
- libopenblas=0.3.6=h5a2b251_0
- libpng=1.6.37=hbc83047_0
- libstdcxx-ng=8.2.0=hdf63c60_1
- libtiff=4.0.10=h2733197_2
- libuuid=1.0.3=h1bed415_2
- libxcb=1.13=h1bed415_1
- libxml2=2.9.9=he19cac6_0
- mengine=1=h14c3975_1
- mkl=2019.4=243
- mkl_fft=1.0.12=py37ha843d7b_0
- mkl_random=1.0.2=py37hd81dba3_0
- mpeg_encode=1=h14c3975_1
- mtz2ccp4_px=1.0=h9ac9557_3
- ncurses=6.1=he6710b0_1
- numpy=1.16.4=py37h7e9f1db_0
- numpy-base=1.16.4=py37hde5b4d6_0
- olefile=0.46=py37_0
- openmm=7.3.1=py37_cuda92_rc_2
- openssl=1.1.1b=h14c3975_1
- pcre=8.43=he6710b0_0
- pdb2pqr=2.1.1=py37_1
- pdbfixer=1.5=py37_0
- pillow=6.0.0=py37h34e0f95_0
- pip=19.1.1=py37_0
- pmw=2.0.1=py37_2
- pycparser=2.19=py37_0
- pymol=2.3.2=py37h75f9260_0
- pyopenssl=19.0.0=py37_0
- pyqt=5.9.2=py37h05f1152_2
- pysocks=1.7.0=py37_0
- python=3.7.3=h0371630_0
- qt=5.9.7=h5867ecd_1
- readline=7.0=h7b6447c_5
- requests=2.22.0=py37_0
- rigimol=1.3=2
- setuptools=41.0.1=py37_0
- sip=4.19.8=py37hf484d3e_0
- six=1.12.0=py37_0
- sqlite=3.28.0=h7b6447c_0
- tk=8.6.8=hbc83047_0
- urllib3=1.24.2=py37_0
- wheel=0.33.4=py37_0
- xz=5.2.4=h14c3975_4
- zlib=1.2.11=h7b6447c_3
- zstd=1.3.7=h0b5b093_0
- pip:
- django==2.2.2
- django-formtools==2.1
- py3wetransfer==0.0.2
- python-magic==0.4.15
- pytz==2019.1
- sqlparse==0.3.0

1 change: 1 addition & 0 deletions runtime.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Python 3.7.3
2 changes: 1 addition & 1 deletion src/SimuMole/SimuMole/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

ALLOWED_HOSTS = []
ALLOWED_HOSTS = ['marinemr135.quickbox.io', '176.9.8.180']

# Application definition

Expand Down
69 changes: 39 additions & 30 deletions src/SimuMole/SimuMoleScripts/basicTrajectoryBuilder.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,67 +10,76 @@
traj_dcd = 'trajectory.dcd'


def scr(input_coor_name, temperature, time_step_number):
def scr(input_coor_name, temperature, time_step_number, user_rand):
dir_path = 'media/files/' + user_rand + '/'
simulation_status_path = dir_path + 'simulation_status.txt'
simulation_status_during_run_path = dir_path + 'simulation_status_during_run.txt'
trajectory_path = dir_path
pdb = app.PDBFile(input_coor_name)
forcefield = app.ForceField('amber99sbildn.xml', 'tip3p.xml')

system = forcefield.createSystem(pdb.topology, nonbondedMethod=app.NoCutoff, constraints=app.HBonds,
rigidWater=True)
integrator = mm.LangevinIntegrator(temperature * unit.kelvin, 1.0 / unit.picoseconds, 2.0 * unit.femtoseconds)
integrator.setConstraintTolerance(0.00001)

platform = mm.Platform.getPlatformByName('OpenCL')
properties = {'OpenCLPrecision': 'mixed'}
simulation = app.Simulation(pdb.topology, system, integrator, platform, properties)
platform = mm.Platform.getPlatformByName('CPU')

simulation = app.Simulation(pdb.topology, system, integrator, platform)
simulation.context.setPositions(pdb.positions)

update_simulation_status('Minimizing energy...')
update_simulation_status('Minimizing energy...', user_rand)
simulation.minimizeEnergy()

simulation.context.setVelocitiesToTemperature(temperature * unit.kelvin)

update_simulation_status('Equilibrating...')
update_simulation_status('Equilibrating...', user_rand)
simulation.step(100)

simulation.reporters.append(app.DCDReporter(trajectory_path + traj_dcd, 1000))
simulation.reporters.append(
app.StateDataReporter(simulation_status_during_run_path, 1000, progress=True, remainingTime=True,
totalSteps=time_step_number, separator=','))

update_simulation_status('Running simulation...')
update_simulation_status('Running simulation...', user_rand)
simulation.step(time_step_number)


def update_simulation_status(status):
def update_simulation_status(status, user_rand):
dir_path = 'media/files/' + user_rand + '/'
simulation_status_path = dir_path + 'simulation_status.txt'
simulation_status_during_run_path = dir_path + 'simulation_status_during_run.txt'
trajectory_path = dir_path

with open(simulation_status_path, "w+") as f:
f.write(status)


def scr_for_checks(input_coor_name):
forcefield = app.ForceField('amber96.xml', 'tip3p.xml')
def scr_for_checks(input_coor_name, user_rand, full_check=False):
pdb = app.PDBFile(input_coor_name)
forcefield = app.ForceField('amber99sbildn.xml', 'tip3p.xml')

system = forcefield.createSystem(pdb.topology, nonbondedMethod=app.PME,
nonbondedCutoff=1.0 * unit.nanometers, constraints=app.HBonds, rigidWater=True,
ewaldErrorTolerance=0.0005)
integrator = mm.LangevinIntegrator(300 * unit.kelvin, 1.0 / unit.picoseconds,
2.0 * unit.femtoseconds)
integrator.setConstraintTolerance(0.00001)
# The following line causes an error (when we do not perform "fix pdb")
system = forcefield.createSystem(pdb.topology, nonbondedMethod=app.NoCutoff, constraints=app.HBonds,
rigidWater=True)

platform = mm.Platform.getPlatformByName('OpenCL')
properties = {'OpenCLPrecision': 'mixed'}
simulation = app.Simulation(pdb.topology, system, integrator, platform, properties)
simulation.context.setPositions(pdb.positions)
if full_check:
integrator = mm.LangevinIntegrator(300 * unit.kelvin, 1.0 / unit.picoseconds, 2.0 * unit.femtoseconds)
integrator.setConstraintTolerance(0.00001)

print('Minimizing...')
simulation.minimizeEnergy()
platform = mm.Platform.getPlatformByName('CPU')

simulation = app.Simulation(pdb.topology, system, integrator, platform)
simulation.context.setPositions(pdb.positions)

simulation.context.setVelocitiesToTemperature(300 * unit.kelvin)
print('Equilibrating...')
simulation.step(100)
# Minimizing
simulation.minimizeEnergy()

simulation.context.setVelocitiesToTemperature(300 * unit.kelvin)

# Equilibrating
simulation.step(100)

simulation.reporters.append(app.DCDReporter('media/files/' + 'very_good.dcd', 1000))
simulation.reporters.append(app.DCDReporter('media/files/' + user_rand + '/' + 'scr_for_checks.dcd', 1000))

print('Running Production...')
simulation.step(1000)
print('Done!')
# Running Production
simulation.step(1000)
4 changes: 2 additions & 2 deletions src/SimuMole/SimuMoleScripts/emailSender.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@
size_limit = 10 * megabyte


def send_email(receiver, file_name):
file_name = "./media/files/" + file_name
def send_email(receiver, file_name, user_rand):
file_name = "./media/files/" + user_rand + '/' + file_name
size = os.stat(file_name).st_size
if size < size_limit:
send_file_attached(receiver, file_name)
Expand Down
Loading

0 comments on commit b0b453c

Please sign in to comment.