diff --git a/cg_pyrosetta/CG_monte_carlo.py b/cg_pyrosetta/CG_monte_carlo.py index 0e1bccb..cec253b 100644 --- a/cg_pyrosetta/CG_monte_carlo.py +++ b/cg_pyrosetta/CG_monte_carlo.py @@ -13,11 +13,6 @@ import sys import warnings import cg_pyrosetta.CG_movers - - -current_path = os.path.dirname(os.path.abspath(__file__)) -sys.path.insert(0, os.path.abspath(current_path + '/../PyRosetta4.modified')) - import pyrosetta class Subject(ABC): @@ -218,6 +213,9 @@ def run(self): if self._output is True: print("Step :", self._total_trials) print("Energy : ", self.get_energy()) + print("Energy Decomposition:") + for scoretype in self._score.get_nonzero_weighted_scoretypes(): + print(str(scoretype).split(".")[-1], self._score.score_by_scoretype(self.pose, scoretype), end = " ") self.pymol.apply(self.pose) self.notifyObservers() diff --git a/environment.yml b/environment.yml index 2481c5e..75cff7d 100644 --- a/environment.yml +++ b/environment.yml @@ -1,233 +1,136 @@ -name: pyrosetta +name: conda_pyrosetta channels: - - omnia + - https://conda.rosettacommons.org - conda-forge + - omnia + - https://levinthal:paradox@conda.rosettacommons.org - defaults dependencies: - - _nb_ext_conf=0.4.0=py36_1 + - _libgcc_mutex=0.1=conda_forge + - _openmp_mutex=4.5=2_gnu - alabaster=0.7.12=py_0 - - ambermini=16.16.0=7 - - anaconda-client=1.7.2=py_0 - - appdirs=1.4.3=py_1 - - asn1crypto=0.24.0=py36_1003 - - astroid=2.2.5=py36_0 - - atomicwrites=1.3.0=py_0 - - attrs=19.1.0=py_0 - - automat=0.7.0=py_1 - - babel=2.7.0=py_0 - - backcall=0.1.0=py_0 - - bcrypt=3.1.4=py36h470a237_0 - - blas=2.7=openblas - - bleach=3.1.0=py_0 - - blosc=1.15.0=hd408876_0 - - bzip2=1.0.6=h14c3975_5 - - ca-certificates=2019.6.16=hecc5488_0 - - cerberus=1.1=py36_0 - - certifi=2019.6.16=py36_0 - - cffi=1.12.3=py36h8022711_0 - - cftime=1.0.3.4=py36hd352d35_1001 - - chardet=3.0.4=py36_1003 - - clusterutils=0.3.1=py36_1 - - clyent=1.2.2=py_1 - - constantly=15.1.0=py_0 - - cryptography=2.6.1=py36h72c5cf5_0 - - curl=7.64.1=hf8cf82a_0 - - cycler=0.10.0=py_1 - - cython=0.29.10=py36he1b5a44_0 - - dataclasses=0.6=py_0 - - dbus=1.13.6=h746ee38_0 - - decorator=4.4.0=py_0 - - defusedxml=0.5.0=py_1 - - docopt=0.6.2=py_1 - - docutils=0.14=py36_1001 - - entrypoints=0.3=py36_1000 - - expat=2.2.6=he6710b0_0 - - fastcluster=1.1.25=py36h637b7d7_1000 - - fftw3f=3.3.4=2 - - fontconfig=2.13.0=h9420a91_0 - - freetype=2.9.1=h8a8886c_1 - - glib=2.56.2=hd408876_0 - - gmp=6.1.2=h6c8ec71_1 - - gst-plugins-base=1.14.0=hbbd80ab_1 - - gstreamer=1.14.0=hb453b48_1 - - hdf4=4.2.13=0 - - hdf5=1.10.2=hba1933b_1 - - html5lib=1.0.1=py_0 - - hyperlink=17.3.1=py_0 - - icu=58.2=h9c2bf20_1 - - idna=2.8=py36_1000 - - imagesize=1.1.0=py_0 - - importlib_metadata=0.18=py36_0 - - incremental=17.5.0=py_0 - - intel-openmp=2019.3=199 - - ipykernel=5.1.1=py36h24bf2e0_0 - - ipython=7.5.0=py36h24bf2e0_0 - - ipython_genutils=0.2.0=py_1 - - ipywidgets=7.4.2=py_0 - - isort=4.3.20=py36_0 - - jedi=0.13.3=py36_0 - - jinja2=2.10.1=py_0 - - joblib=0.13.2=py_0 - - jpeg=9b=h024ee3a_2 - - jsonschema=3.0.1=py36_0 - - jupyter=1.0.0=py_2 - - jupyter_client=5.2.4=py_3 - - jupyter_console=6.0.0=py_0 - - jupyter_core=4.4.0=py_0 - - kiwisolver=1.1.0=py36hc9558a2_0 - - krb5=1.16.3=h05b26f9_1001 - - latexcodec=1.0.7=py_0 - - lazy-object-proxy=1.4.1=py36h516909a_0 - - libblas=3.8.0=7_openblas - - libcblas=3.8.0=7_openblas - - libcurl=7.64.1=hda55be3_0 - - libedit=3.1.20181209=hc058e9b_0 - - libffi=3.2.1=hd88cf55_4 - - libgcc=7.2.0=h69d50b8_2 - - libgcc-ng=8.2.0=hdf63c60_1 - - libgfortran=3.0.0=1 - - libgfortran-ng=7.3.0=hdf63c60_0 - - liblapack=3.8.0=7_openblas - - liblapacke=3.8.0=7_openblas - - libnetcdf=4.6.1=h5e45101_3 - - libopenblas=0.2.20=h9ac9557_7 - - libpng=1.6.36=hbc83047_0 - - libsodium=1.0.16=h1bed415_0 - - libssh2=1.8.2=h22169c7_2 - - libstdcxx-ng=8.2.0=hdf63c60_1 - - libuuid=1.0.3=h1bed415_2 - - libxcb=1.13=h1bed415_1 - - libxml2=2.9.9=he19cac6_0 - - lzo=2.10=h49e0be7_2 - - markupsafe=1.1.1=py36h14c3975_0 - - matplotlib=3.1.0=py36_0 - - matplotlib-base=3.1.0=py36h5f35d83_0 - - mccabe=0.6.1=py_1 - - mdtraj=1.9.3=py36h00575c5_0 - - mistune=0.8.4=py36h14c3975_1000 - - mkl=2018.0.3=1 - - more-itertools=4.3.0=py36_1000 - - mpi=1.0=mpich - - mpi4py=3.0.1=py36hf046da1_0 - - mpich=3.2.1=hc99cbb1_1009 - - msmbuilder=3.8.0=np111py36_0 - - nb_anacondacloud=1.4.0=py36_0 - - nb_conda=2.2.1=py36_2 - - nb_conda_kernels=2.2.2=py36_0 - - nbconvert=5.4.1=py_2 - - nbformat=4.4.0=py_1 - - nbpresent=3.0.2=py36_1 - - ncurses=6.1=he6710b0_1 - - netcdf4=1.3.1=py36h62672b6_4 - - nose=1.3.7=py36_1002 - - notebook=5.7.8=py36_1 - - numexpr=2.6.9=py36h637b7d7_1000 - - numpy=1.11.3=py36he5ce36f_1207 - - numpy-base=1.14.3=py36h2b20989_0 - - numpydoc=0.9.0=py_0 - - openblas=0.3.5=h9ac9557_1001 - - openmm=7.3.1=py36_cuda92_rc_2 - - openmmtools=0.16.0=py36_0 - - openmoltools=0.8.3=py36_0 - - openssl=1.1.1b=h14c3975_1 - - oset=0.1.3=py_1 - - packaging=19.0=py_0 - - pandas=0.23.4=py36h637b7d7_1000 - - pandoc=2.2.3.2=0 - - pandocfilters=1.4.2=py_1 - - parmed=3.0.1=py36_1 - - parso=0.4.0=py_0 - - patsy=0.5.1=py_0 - - pcre=8.43=he6710b0_0 - - pdbfixer=1.5=py36_0 - - pexpect=4.7.0=py36_0 - - pickleshare=0.7.5=py36_1000 - - pint=0.9=py36_2 - - pip=19.1=py36_0 - - plotly=3.10.0=py_0 - - pluggy=0.12.0=py_0 - - prometheus_client=0.6.0=py_0 - - prompt_toolkit=2.0.9=py_0 - - ptyprocess=0.6.0=py_1001 - - py=1.8.0=py_0 - - py3dmol=0.8.0=py_0 - - pyasn1=0.4.5=py_0 - - pyasn1-modules=0.2.5=py_0 - - pybtex=0.22.2=py36_0 - - pybtex-docutils=0.2.1=py36_1000 - - pycparser=2.19=py36_1 - - pydantic=0.29=py36_0 - - pygments=2.4.2=py_0 - - pyhamcrest=1.9.0=py_2 - - pyhmc=0.1.2=py36h3010b51_1000 - - pylint=2.3.1=py36_0 - - pymbar=3.0.3=py36h3010b51_3 - - pyopenssl=19.0.0=py36_0 - - pyparsing=2.4.0=py_0 - - pyqt=5.9.2=py36hcca6a23_0 - - pyrsistent=0.15.2=py36h516909a_0 - - pysocks=1.7.0=py36_0 - - pytables=3.4.4=py36h4f72b40_1 - - pytest=4.6.3=py36_0 - - python=3.6.8=h0371630_0 - - python-dateutil=2.8.0=py_0 - - pytz=2019.1=py_0 - - pyyaml=5.1=py36h14c3975_0 - - pyzmq=18.0.1=py36h0e1adb2_0 - - qcelemental=0.4.2=py_0 - - qcportal=0.7.2=py_0 - - qt=5.9.7=h5867ecd_1 - - qtconsole=4.5.1=py_0 - - readline=7.0=h7b6447c_5 - - requests=2.22.0=py36_0 - - retrying=1.3.3=py_2 - - scikit-learn=0.21.2=py36h627018c_0 - - scipy=1.2.1=py36h09a28d5_1 - - seaborn=0.9.0=py_1 - - send2trash=1.5.0=py_0 - - service_identity=18.1.0=py_0 - - setuptools=41.0.1=py36_0 - - simplegeneric=0.8.1=py_1 - - sip=4.19.8=py36hf484d3e_1000 - - six=1.12.0=py36_1000 - - snappy=1.1.7=hbae5bb6_3 - - snowballstemmer=1.2.1=py_1 - - sphinx=2.1.0=py_0 - - sphinx_rtd_theme=0.4.3=py_0 - - sphinxcontrib-applehelp=1.0.1=py_0 - - sphinxcontrib-bibtex=0.4.2=py_0 - - sphinxcontrib-devhelp=1.0.1=py_0 - - sphinxcontrib-htmlhelp=1.0.2=py_0 + - astunparse=1.6.3=pyhd8ed1ab_0 + - attrs=21.4.0=pyhd8ed1ab_0 + - babel=2.11.0=pyhd8ed1ab_0 + - beautifulsoup4=4.11.1=pyha770c72_0 + - blosc=1.21.1=h83bc5f7_3 + - brotlipy=0.7.0=py39hb9d737c_1004 + - bzip2=1.0.8=h7f98852_4 + - c-ares=1.18.1=h7f98852_0 + - ca-certificates=2022.9.24=ha878542_0 + - certifi=2022.9.24=pyhd8ed1ab_0 + - cffi=1.15.0=py39h4bc2ebd_0 + - chardet=4.0.0=py39hf3d152e_3 + - charset-normalizer=2.0.12=pyhd8ed1ab_0 + - cloudpickle=2.1.0=pyhd8ed1ab_0 + - colorama=0.4.4=pyh9f0ad1d_0 + - conda=4.13.0=py39hf3d152e_1 + - conda-build=3.21.9=py39hf3d152e_0 + - conda-package-handling=1.8.1=py39hb9d737c_1 + - cryptography=37.0.1=py39h9ce1e76_0 + - deprecation=2.1.0=pyh9f0ad1d_0 + - docutils=0.16=py39hf3d152e_3 + - filelock=3.7.1=pyhd8ed1ab_0 + - glob2=0.7=py_0 + - hdf5=1.12.1=nompi_h4df4325_104 + - icu=70.1=h27087fc_0 + - idna=3.3=pyhd8ed1ab_0 + - imagesize=1.4.1=pyhd8ed1ab_0 + - importlib-metadata=4.11.4=py39hf3d152e_0 + - importlib_resources=5.7.1=pyhd8ed1ab_1 + - iniconfig=1.1.1=pyh9f0ad1d_0 + - jinja2=3.1.2=pyhd8ed1ab_1 + - jsonschema=4.6.0=pyhd8ed1ab_0 + - keyutils=1.6.1=h166bdaf_0 + - krb5=1.19.3=h08a2579_0 + - ld_impl_linux-64=2.36.1=hea4e1c9_2 + - libarchive=3.5.2=hada088e_2 + - libblas=3.9.0=15_linux64_openblas + - libcblas=3.9.0=15_linux64_openblas + - libcurl=7.83.1=h2283fc2_0 + - libedit=3.1.20191231=he28a2e2_2 + - libev=4.33=h516909a_1 + - libffi=3.4.2=h7f98852_5 + - libgcc-ng=12.1.0=h8d9b700_16 + - libgfortran-ng=12.1.0=h69a702a_16 + - libgfortran5=12.1.0=hdcd56e2_16 + - libgomp=12.1.0=h8d9b700_16 + - libiconv=1.16=h516909a_0 + - liblapack=3.9.0=15_linux64_openblas + - liblief=0.11.5=h9c3ff4c_1 + - libnghttp2=1.47.0=he49606f_0 + - libnsl=2.0.0=h7f98852_0 + - libopenblas=0.3.20=pthreads_h78a6416_0 + - libssh2=1.10.0=ha35d2d1_2 + - libstdcxx-ng=12.1.0=ha89aaad_16 + - libuuid=2.32.1=h7f98852_1000 + - libxml2=2.9.14=h22db469_0 + - libzlib=1.2.12=h166bdaf_0 + - lz4-c=1.9.3=h9c3ff4c_1 + - lzo=2.10=h516909a_1000 + - m2r2=0.3.3=pyhd8ed1ab_0 + - markupsafe=2.1.1=py39hb9d737c_1 + - mdtraj=1.9.7=py39h138c130_1 + - mistune=0.8.4=py39h3811e60_1005 + - ncurses=6.3=h27087fc_1 + - nomkl=1.0=h5ca1d4c_0 + - numexpr=2.8.0=py39h194a79d_102 + - numpy=1.22.4=py39hc58783e_0 + - openssl=3.0.7=h166bdaf_0 + - packaging=21.3=pyhd8ed1ab_0 + - pandas=1.4.2=py39h1832856_2 + - patchelf=0.14.5=h58526e2_0 + - pip=22.1.2=pyhd8ed1ab_0 + - pkginfo=1.8.2=pyhd8ed1ab_0 + - pluggy=1.0.0=py39hf3d152e_3 + - psutil=5.9.1=py39hb9d737c_0 + - py=1.11.0=pyh6c4a22f_0 + - py-lief=0.11.5=py39he80948d_1 + - pycosat=0.6.3=py39hb9d737c_1010 + - pycparser=2.21=pyhd8ed1ab_0 + - pygments=2.13.0=pyhd8ed1ab_0 + - pyopenssl=22.0.0=pyhd8ed1ab_0 + - pyparsing=3.0.9=pyhd8ed1ab_0 + - pyrosetta=2022.20+release.1eb2c32=py39_0 + - pyrsistent=0.18.1=py39hb9d737c_1 + - pysocks=1.7.1=py39hf3d152e_5 + - pytables=3.7.0=py39h2669a42_0 + - pytest=7.1.2=py39hf3d152e_0 + - python=3.9.13=h2660328_0_cpython + - python-dateutil=2.8.2=pyhd8ed1ab_0 + - python-libarchive-c=4.0=py39hf3d152e_1 + - python_abi=3.9=2_cp39 + - pytz=2022.1=pyhd8ed1ab_0 + - pyyaml=6.0=py39hb9d737c_4 + - readline=8.1=h46c0cb4_0 + - requests=2.27.1=pyhd8ed1ab_0 + - ripgrep=13.0.0=h2f28480_2 + - ruamel_yaml=0.15.80=py39hb9d737c_1007 + - scipy=1.8.1=py39he49c0e8_0 + - setuptools=62.3.3=py39hf3d152e_0 + - signac=1.7.0=pyhd8ed1ab_0 + - signac-flow=0.19.0=pyhd8ed1ab_0 + - six=1.16.0=pyh6c4a22f_0 + - snappy=1.1.9=hbd366e4_1 + - snowballstemmer=2.2.0=pyhd8ed1ab_0 + - soupsieve=2.3.1=pyhd8ed1ab_0 + - sphinx=5.0.0=pyh6c4a22f_1 + - sphinxcontrib-applehelp=1.0.2=py_0 + - sphinxcontrib-devhelp=1.0.2=py_0 + - sphinxcontrib-htmlhelp=2.0.0=pyhd8ed1ab_0 - sphinxcontrib-jsmath=1.0.1=py_0 - - sphinxcontrib-qthelp=1.0.2=py_0 - - sphinxcontrib-serializinghtml=1.1.3=py_0 - - sqlite=3.28.0=h7b6447c_0 - - statsmodels=0.9.0=py36h3010b51_1000 - - terminado=0.8.2=py36_0 - - testpath=0.4.2=py_1001 - - tk=8.6.9=hed695b0_1002 - - tornado=6.0.2=py36h516909a_0 - - traitlets=4.3.2=py36_1000 - - twisted=19.2.0=py36h516909a_1 - - typed-ast=1.3.5=py36h516909a_0 - - urllib3=1.24.3=py36_0 - - wcwidth=0.1.7=py_1 - - webencodings=0.5.1=py_1 - - wheel=0.33.4=py36_0 - - widgetsnbextension=3.4.2=py36_1000 - - wrapt=1.11.1=py36h516909a_0 - - xz=5.2.4=h14c3975_4 - - yaml=0.1.7=had09818_2 - - yank=0.23.7=py36_0 - - zeromq=4.2.5=hf484d3e_1 - - zipp=0.5.1=py_0 - - zlib=1.2.11=h7b6447c_3 - - zope=1.0=py36_1 - - zope.interface=4.6.0=py36h14c3975_1000 - - pip: - - m2r==0.2.1 - - panedr==0.5.2 - - pbr==5.2.1 - - pyrosetta==2018.25+release.9d22951 -##prefix: /home/tfobe/anaconda3/envs/python36 - + - sphinxcontrib-qthelp=1.0.3=py_0 + - sphinxcontrib-serializinghtml=1.1.5=pyhd8ed1ab_2 + - sqlite=3.38.5=h4ff8645_0 + - tk=8.6.12=h27826a3_0 + - tomli=2.0.1=pyhd8ed1ab_0 + - tqdm=4.64.0=pyhd8ed1ab_0 + - tzdata=2022a=h191b570_0 + - urllib3=1.26.9=pyhd8ed1ab_0 + - wheel=0.37.1=pyhd8ed1ab_0 + - xz=5.2.5=h516909a_1 + - yaml=0.2.5=h7f98852_2 + - zipp=3.8.0=pyhd8ed1ab_0 + - zlib=1.2.12=h166bdaf_0 + - zstd=1.5.2=h8a70e8d_1 +prefix: /home/tfobe/anaconda3/envs/conda_pyrosetta diff --git a/simulations/terphenyl/mop/hexamer/mc_simulation.py b/simulations/terphenyl/mop/hexamer/mc_simulation.py index 685eed5..c2540b3 100644 --- a/simulations/terphenyl/mop/hexamer/mc_simulation.py +++ b/simulations/terphenyl/mop/hexamer/mc_simulation.py @@ -23,20 +23,21 @@ def run_mc_simulation(job): n_anneals = 50, annealer_criteron = cg_pyrosetta.CG_monte_carlo.Repeat1Convergence, mc_output = True, - out_freq = 500, + out_freq = 100, ) # Build Energy Function energy_function = cg_pyrosetta.CG_monte_carlo.EnergyFunctionFactory().build_energy_function( { - "mm_twist" : 20, + "mm_twist" : 1, # "mm_stretch" : 1, "mm_bend" : 1, "fa_atr" : 1, "fa_rep" : 1, "fa_intra_rep" : 1, "fa_intra_atr" : 1, - "fa_elec" : 1 + "fa_elec" : 1, + "fa_intra_elec" : 1 } ) @@ -61,7 +62,8 @@ def run_mc_simulation(job): mini.movemap(movemap) smaller_dihe = cg_pyrosetta.CG_movers.CGSmallMover(pose, angle = 180) - print(smaller_dihe.torsions) + + # Remove aromatic torsions that would break rings # Build Sequence Mover for MC object sequence_mover_factory = cg_pyrosetta.CG_monte_carlo.SequenceMoverFactory(pose, {"mini" : mini, "smaller_dihe" : smaller_dihe})