<pre style='margin:0'>
Renee Otten (reneeotten) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/71420c65c9fbc47eba5825aeca8561d8105b7c47">https://github.com/macports/macports-ports/commit/71420c65c9fbc47eba5825aeca8561d8105b7c47</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 71420c65c9f pymol: Update to 2.5.0 as well as remove X11 and python27 variants
</span>71420c65c9f is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 71420c65c9fbc47eba5825aeca8561d8105b7c47
</span>Author: jwhowarth <howarth.mailing.lists@gmail.com>
AuthorDate: Thu May 27 11:22:18 2021 -0400

<span style='display:block; white-space:pre;color:#404040;'>    pymol: Update to 2.5.0 as well as remove X11 and python27 variants
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    pymol: Update to 2.5.0 and remove X11 and python27 variants. Drop unused patches.
</span>---
 science/pymol/Portfile                        |  73 +---
 science/pymol/files/apbs-psize.patch          |  11 -
 science/pymol/files/patch-devel-setup.py.diff |  11 -
 science/pymol/files/pdb2pqr.patch             |  13 -
 science/pymol/files/pmg_tk_platform.patch     |  51 ---
 science/pymol/files/python_string_split.patch | 580 --------------------------
 science/pymol/files/setup.py.diff             |  10 +-
 7 files changed, 15 insertions(+), 734 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/pymol/Portfile b/science/pymol/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 4bf755919de..009ee5cf5d0 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/pymol/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/pymol/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2,13 +2,11 @@
</span> 
 PortSystem          1.0
 PortGroup           python 1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup           active_variants 1.1
</span> PortGroup           github 1.0
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-github.setup        schrodinger pymol-open-source 2.4.0 v
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        schrodinger pymol-open-source 2.5.0 v
</span> name                pymol
 conflicts           pymol-devel
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            2
</span> 
 categories          science chemistry
 platforms           darwin
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -23,9 +21,9 @@ long_description    PyMOL is a molecular graphics system with an embedded Python
</span> 
 homepage            https://www.pymol.org/
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  e7a962473732172b370e6c7a880384e7a1ffa62e \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  b0af15082c44c92c285cab341506da50407619f5dee09d98fdf2802e356219fd \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    10552074
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  6432d47616aee1e5d9d40cc2a74425b33159d7a0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  67c5aa944ce9ac2e3babd42e7e2b78ed11719283a2c0a063e100cfe24665c0d3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    10471287
</span> 
 subport pymol-devel {
     github.setup    schrodinger pymol-open-source 4a3c72ace1f8e39e80db4026d45222f8b7a44169
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -38,31 +36,20 @@ subport pymol-devel {
</span>                     size    10469954
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant python27 conflicts python36 python37 python38 python39 description {Use Python 2.7} {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-variant python36 conflicts python27 python37 python38 python39 description {Use Python 3.6} {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-variant python37 conflicts python27 python36 python38 python39 description {Use Python 3.7} {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-variant python38 conflicts python27 python36 python37 python39 description {Use Python 3.8} {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-variant python39 conflicts python27 python36 python37 python38 description {Use Python 3.9} {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant python36 conflicts python37 python38 python39 description {Use Python 3.6} {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant python37 conflicts python36 python38 python39 description {Use Python 3.7} {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant python38 conflicts python36 python37 python39 description {Use Python 3.8} {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant python39 conflicts python36 python37 python38 description {Use Python 3.9} {}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset python27]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    python.default_version 27
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} elseif {[variant_isset python36]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[variant_isset python36]} {
</span>     python.default_version 36
 } elseif {[variant_isset python37]} {
     python.default_version 37
 } elseif {[variant_isset python38]} {
     python.default_version 38
<span style='display:block; white-space:pre;background:#ffe0e0;'>-} elseif {[variant_isset python39]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    python.default_version 39
</span> } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset x11]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # The APBS Tools plugin requires pdb2pqr, which can't be run under python3 yet
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        default_variants +python27
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        python.default_version 27
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        default_variants +python39
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        python.default_version 39
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    default_variants +python39
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    python.default_version 39
</span> }
 python.link_binaries no
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -80,44 +67,11 @@ depends_lib-append  port:freetype \
</span>                     port:py${python.version}-numpy \
                     port:py${python.version}-pyqt5
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant x11 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib-delete  port:py${python.version}-pyqt5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib-append  port:freeglut \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        port:mesa \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        port:py${python.version}-pmw \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        port:py${python.version}-tkinter \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        port:tcl \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        port:tk
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    require_active_variants tcl "" corefoundation
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    require_active_variants tk "" quartz
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    build.args-append   --glut --no-osx-frameworks
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> patchfiles          pymol_shell.diff \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    pmg_tk_platform.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    apbs-psize.patch  \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    python_string_split.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    pdb2pqr.patch \
</span>                     setup.py.diff
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${subport} eq "pymol-devel"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    patchfiles-delete \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    apbs-psize.patch  \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    python_string_split.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    pdb2pqr.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    patchfiles-replace \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    setup.py.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    patch-devel-setup.py.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> post-patch {
     reinplace  "s|@PREFIX@|${prefix}|g" ${worksrcpath}/setup.py
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if { [ file exists ${worksrcpath}/modules/pmg_tk/startup/apbs_tools.py ] } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace  "s|@PREFIX@|${prefix}|g" ${worksrcpath}/modules/pmg_tk/startup/apbs_tools.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span>     reinplace  "s|@@PYTHON_PKGDIR@@|${python.pkgd}|g" ${worksrcpath}/setup/pymol_macports
     reinplace  "s|@@PYTHON_BINARY@@|${python.bin}|g" ${worksrcpath}/setup/pymol_macports
     reinplace  "s|cxx + ' ' + cxxflags|'${configure.cxx} ' + cxxflags|g" ${worksrcpath}/monkeypatch_distutils.py
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -127,11 +81,6 @@ post-patch {
</span> post-destroot {
      file copy ${worksrcpath}/setup/pymol_macports ${destroot}${prefix}/bin/pymol
      file attributes ${destroot}${prefix}/bin/pymol -permissions a+x
<span style='display:block; white-space:pre;background:#ffe0e0;'>-     if {![variant_isset x11]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-          file delete ${destroot}${python.pkgd}/pmg_tk/startup/apbs_tools.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-          reinplace {s|options\.gui = 'pmg_qt'|options.gui = 'pmg_tk'|g} ${destroot}${python.pkgd}/pymol/invocation.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span> }
 
 test.run            yes
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/pymol/files/apbs-psize.patch b/science/pymol/files/apbs-psize.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 22585f0258c..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/pymol/files/apbs-psize.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,11 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- modules/pmg_tk/startup/apbs_tools.py.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ modules/pmg_tk/startup/apbs_tools.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -888,7 +888,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             pass
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         if not psize_location:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            psize_location = get_default_location('psize.py')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            psize_location = get_default_location('apbs-psize.py')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         if not apbs_location:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             apbs_location = get_default_location('apbs.exe')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         if not apbs_location:
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/pymol/files/patch-devel-setup.py.diff b/science/pymol/files/patch-devel-setup.py.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 18fc0d90ff8..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/pymol/files/patch-devel-setup.py.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,11 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- setup.py.orig  2020-07-06 11:00:54.000000000 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ setup.py       2020-07-06 11:01:23.000000000 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -86,7 +86,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     X11 = ['/usr/X11'] * (not options.osx_frameworks)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if sys.platform == 'darwin':
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        for prefix in ['/sw', '/opt/local', '/usr/local']:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        for prefix in ['@@PREFIX@@', '/usr/local']:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             if sys.base_prefix.startswith(prefix):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 return [prefix] + X11
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/pymol/files/pdb2pqr.patch b/science/pymol/files/pdb2pqr.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 840186af1a9..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/pymol/files/pdb2pqr.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,13 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Index: modules/pmg_tk/startup/apbs_tools.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-===================================================================
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- modules/pmg_tk/startup/apbs_tools.py   (revision 4187)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ modules/pmg_tk/startup/apbs_tools.py   (working copy)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -169,7 +169,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- APBS_BINARY_LOCATION = None # corresponding environment variable: APBS_BINARY_DIR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- APBS_WEB_LOCATION = None # corresponding environment variable: APBS_WEB_DIR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- APBS_PSIZE_LOCATION = None # corresponding environment variable: APBS_PSIZE_DIR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--APBS_PDB2PQR_LOCATION = None # corresponding environment variable: APBS_PDB2PQR_DIR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+APBS_PDB2PQR_LOCATION = '@PREFIX@/share/pdb2pqr/' # corresponding environment variable: APBS_PDB2PQR_DIR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- TEMPORARY_FILE_DIR = tempfile.gettempdir() # corresponding environment variable: TEMP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- apbs_plea = ("IMPORTANT REQUEST: If you have not already done so, please register\n"
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/pymol/files/pmg_tk_platform.patch b/science/pymol/files/pmg_tk_platform.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index d51b488508b..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/pymol/files/pmg_tk_platform.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,51 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Index: modules/pmg_tk/PMGApp.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-===================================================================
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- modules/pmg_tk/PMGApp.py       (revision 4187)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ modules/pmg_tk/PMGApp.py       (working copy)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -229,7 +229,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         self.fifo.put(cmmd)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     def my_show(self,win,center=1):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        if sys.platform!='linux2':
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        if (sys.platform!='linux2') and (sys.platform!='darwin'):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             win.show()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         else: # autocenter, deiconify, and run mainloop
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             # this is a workaround for a bug in the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -247,7 +247,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             win.deiconify()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     def my_withdraw(self,win):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        if sys.platform!='linux2':
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        if (sys.platform!='linux2') or (sys.platform!='darwin'):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             win.withdraw()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         else: 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             win.destroy()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Index: modules/pmg_tk/skins/normal/__init__.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-===================================================================
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- modules/pmg_tk/skins/normal/__init__.py        (revision 4187)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ modules/pmg_tk/skins/normal/__init__.py        (working copy)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -345,13 +345,13 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         win.show()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     def my_withdraw(self,win):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        if sys.platform!='linux2':
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        if (sys.platform!='linux2') and (sys.platform!='darwin'):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             win.withdraw()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         else: 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             win.destroy()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     def my_activate(self,win,center=1,focus=None):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        if sys.platform!='linux2':
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        if (sys.platform!='linux2') and (sys.platform!='darwin'):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             win.activate()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         else: # autocenter, deiconify, and run mainloop
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             # this is a workaround for a bug in the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -372,7 +372,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             win.mainloop()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     def my_deactivate(self,win):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        if sys.platform!='linux2':
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        if (sys.platform!='linux2') and (sys.platform!='darwin'):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             win.deactivate()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         else: # autocenter, deiconify, and run mainloop
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             win.destroy()
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/pymol/files/python_string_split.patch b/science/pymol/files/python_string_split.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index e6f7c284b60..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/pymol/files/python_string_split.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,580 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From aa0645e90fb6aab6180cca726e3f2a2453cde829 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Thomas Holder <thomas.holder@schrodinger.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Fri, 22 May 2020 08:45:20 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH] Fix #101 `string.split()` usage in apbs_tools.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Patch by @jwhowarth
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- modules/pmg_tk/startup/apbs_tools.py | 3 +--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 1 insertion(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git modules/pmg_tk/startup/apbs_tools.py modules/pmg_tk/startup/apbs_tools.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 75f06f22..473379bc 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- modules/pmg_tk/startup/apbs_tools.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ modules/pmg_tk/startup/apbs_tools.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -145,7 +145,6 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- import tempfile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- import os,math,re
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--import string
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- import sys
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if sys.version_info[0] < 3:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -269,7 +268,7 @@ def verify(name,f):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     searchDirs.append(os.path.join("/sw", "share", "apbs-mpi-lammpi", "tools", "manip"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     searchDirs.append(os.path.join("/usr", "local", "share", "tools", "manip"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    searchDirs.extend(string.split(os.environ["PATH"], ":"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    searchDirs.extend(os.environ["PATH"].split(":"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     searchDirs.append(os.path.join("/usr", "local", "bin"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     searchDirs.append(os.path.join("/opt", "local", "bin"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     searchDirs.append(os.path.join("/sw", "bin"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From e1122b078e43fb7e503a32ed5c6176e8d36ec4ea Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Thomas Holder <thomas.holder@schrodinger.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Fri, 22 May 2020 08:52:37 +0200
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH] Fix remaining `string` module uses
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- examples/devel/importing.py    |   3 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- examples/devel/syncmol.py      |   2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- modules/chempy/cc1.py          |   8 +--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- modules/chempy/mmd.py          |  15 +++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- modules/chempy/mol.py          |  11 ++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- modules/chempy/pdb.py          |  15 +++--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- modules/chempy/sdf.py          |   7 +--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- modules/chempy/tinker/amber.py | 101 ++++++++++++++++-----------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- modules/chempy/tinker/state.py |   9 ++-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 9 files changed, 81 insertions(+), 90 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git examples/devel/importing.py examples/devel/importing.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index f704356f..2daadf58 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- examples/devel/importing.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ examples/devel/importing.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12,13 +12,12 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # sleep a second after importing.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--import string
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- import __main__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # note that passing in a "-z" option would keep the window hidden
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # until you called pymol.cmd.window("show").
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__main__.pymol_argv= string.split("pymol -qxiF  -X 300 -Y 100 -H 400 -W 400")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+__main__.pymol_argv= "pymol -qxiF  -X 300 -Y 100 -H 400 -W 400".split()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- import pymol
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # give PyMOL enough time to initialize (we need to find a safe and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git examples/devel/syncmol.py examples/devel/syncmol.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index ef55cd24..bbce8926 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- examples/devel/syncmol.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ examples/devel/syncmol.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -195,7 +195,7 @@ def handle(self):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             _stdin_reader_thread.setDaemon(1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             _stdin_reader_thread.start()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         elif tok == 'send':
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            addr = string.split(sys.argv.pop(),':')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            addr = sys.argv.pop().split(':')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             if len(addr)==1:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 host = 'localhost'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 port = int(addr[0])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git modules/chempy/cc1.py modules/chempy/cc1.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 199fff4a..2328c988 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- modules/chempy/cc1.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ modules/chempy/cc1.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -15,8 +15,6 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- from chempy.models import Indexed
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- from chempy import Storage,Atom,Bond
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--import string
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- class CC1(Storage): # ChemDraw3D 5.0 std., cartesian coordinates
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     def fromList(self,molList):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -33,12 +31,12 @@ def fromList(self,molList):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         for a in range(nAtom):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             at = Atom()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             at.index = cnt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            id_dict[string.strip(molList[irec][3:8])] = at.index
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            id_dict[molList[irec][3:8].strip()] = at.index
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             at.coord = [float(molList[irec][8:20]),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 float(molList[irec][20:32]),float(molList[irec][32:44])]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            at.symbol = string.strip(molList[irec][0:3])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            at.symbol = molList[irec][0:3].strip()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             at.numeric_type = int(molList[irec][44:49])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            lst = string.split(string.strip(molList[irec][49:]))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            lst = molList[irec][49:].split()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             at.bonds = lst
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             irec = irec + 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             cnt = cnt + 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git modules/chempy/mmd.py modules/chempy/mmd.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index ef8e16fe..a93262c3 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- modules/chempy/mmd.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ modules/chempy/mmd.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -17,7 +17,6 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- from chempy.models import Indexed,Connected
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- from chempy import Storage,Atom,Bond
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--import string
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- import copy
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- class MMD(Storage):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -29,7 +28,7 @@ def fromList(self,MMODList):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # get header information
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         nAtom = int(MMODList[0][1:6])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        model.molecule.title = string.strip(MMODList[0][8:])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        model.molecule.title = MMODList[0][8:].strip()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         irec = 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # loop through atoms
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -42,7 +41,7 @@ def fromList(self,MMODList):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             at.numeric_type = int(MMODList[irec][1:4])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # extract connectivity information
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            tokens = string.splitfields(MMODList[irec][5:52])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            tokens = MMODList[irec][5:52].split()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             at.neighbor = []
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             at.bondorder = []
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -61,20 +60,20 @@ def fromList(self,MMODList):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # extract other information
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             at.coord = [float(MMODList[irec][53:64]),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 float(MMODList[irec][65:76]), float(MMODList[irec][77:88])]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            at.resi = string.strip(MMODList[irec][89:94])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            at.resi = MMODList[irec][89:94].strip()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             at.resi_number = int(at.resi)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            resn_code = string.strip(MMODList[irec][94:95])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            resn_code = MMODList[irec][94:95].strip()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             if len(resn_code): at.resn_code = resn_code
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            color_code = string.strip(MMODList[irec][96:100])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            color_code = MMODList[irec][96:100].strip()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             if color_code!='':
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 at.color_code = int(color_code)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             else:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 at.color_code = 0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            chain = string.strip(MMODList[irec][95:96])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            chain = MMODList[irec][95:96].strip()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             if len(chain): at.chain = chain
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             at.partial_charge = float(MMODList[irec][100:109])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             at.resn = MMODList[irec][119:123]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            name = string.strip(MMODList[irec][124:128])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            name = MMODList[irec][124:128].strip()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             if len(name): at.name = name
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             model.atom.append(at)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             irec = irec + 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git modules/chempy/mol.py modules/chempy/mol.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 175a248f..748a0aed 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- modules/chempy/mol.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ modules/chempy/mol.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -20,7 +20,6 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- except ImportError:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     CmdException = Exception
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--import string
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- class MOL(Storage):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -29,9 +28,9 @@ def fromList(self,molList):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         model = Indexed()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         # read header information
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        model.molecule.title = string.strip(molList[0])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        model.molecule.dim_code = string.strip(molList[1][20:22])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        model.molecule.comments = string.strip(molList[2])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        model.molecule.title = molList[0].strip()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        model.molecule.dim_code = molList[1][20:22].strip()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        model.molecule.comments = molList[2].strip()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         try:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             model.molecule.chiral = int(molList[3][12:15])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         except:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -48,7 +47,7 @@ def fromList(self,molList):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             at.index = cnt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             at.coord = [float(molList[irec][0:10]),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 float(molList[irec][10:20]),float(molList[irec][20:30])]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            at.symbol = string.strip(molList[irec][31:33])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            at.symbol = molList[irec][31:33].strip()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             try:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 at.stereo = int(molList[irec][39:42])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             except:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -75,7 +74,7 @@ def fromList(self,molList):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             # obtain formal charges from M  CHG record
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         while molList[irec][0:6]!='M  END':
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             if molList[irec][0:6]=='M  CHG':
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                cl = string.split(string.strip(molList[irec][6:]))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                cl = molList[irec][6:].split()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 cll = int(cl[0])*2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 a=1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 while a<=cll:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git modules/chempy/pdb.py modules/chempy/pdb.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 505731e2..0d061be3 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- modules/chempy/pdb.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ modules/chempy/pdb.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -14,7 +14,6 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- from chempy import Storage,Atom
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- from chempy.models import Indexed
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--import string
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- class PDB(Storage):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -31,11 +30,11 @@ def fromList(self,list):   # currently no handling of conect records
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 at = Atom()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 if rec[0]=='A': at.hetatm=0  # default is 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 at.index = cnt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                at.name = string.strip(rec[12:16])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                at.alt = string.strip(rec[16:17])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                at.resn = string.strip(rec[17:20])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                at.chain = string.strip(rec[21:22])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                at.resi = string.strip(rec[22:27]) # note: insertion is part of resi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                at.name = rec[12:16].strip()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                at.alt = rec[16:17].strip()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                at.resn = rec[17:20].strip()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                at.chain = rec[21:22].strip()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                at.resi = rec[22:27].strip() # note: insertion is part of resi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 at.resi_number = int(rec[22:26])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 at.coord = [float(rec[30:38]),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                 float(rec[38:46]),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -48,8 +47,8 @@ def fromList(self,list):   # currently no handling of conect records
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                     at.b = float(rec[60:66])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 except ValueError:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                     at.b = 0.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                at.segi = string.strip(rec[72:76])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                at.symbol = string.strip(rec[76:78])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                at.segi = rec[72:76].strip()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                at.symbol = rec[76:78].strip()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 if not len(at.symbol):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                     at.symbol = at.name[0:1]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                     if at.symbol in '012345678':
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git modules/chempy/sdf.py modules/chempy/sdf.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index a36cd8d3..78e462f8 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- modules/chempy/sdf.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ modules/chempy/sdf.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -14,7 +14,6 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- from __future__ import print_function
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--import string
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- import re
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- import copy
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -66,7 +65,7 @@ def __init__(self,sdflist):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 sd = self.data[kee]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 l = l + 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 while l<ll:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                    if len(string.strip(sdflist[l]))!=0:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                    if sdflist[l].strip():
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                         sd.append(sdflist[l])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                         l = l + 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                     else:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -98,7 +97,7 @@ def get_single(self,kee): # automatic stripping
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         if kee in self.data:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             sdk = self.data[kee]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             if len(sdk):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                return string.strip(sdk[0])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                return sdk[0].strip()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             else:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 return None
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         else:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -142,7 +141,7 @@ def __init__(*args):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             return None
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         if mode=='pf': # pseudofile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             self.file = fname
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        elif (mode[0:1]=='r') and (string.find(fname,':')>1):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        elif mode[0:1] == 'r' and '://' in fname:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             # does this look like a URL? (but not a DOS path)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             try:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 from urllib import urlopen
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git modules/chempy/tinker/amber.py modules/chempy/tinker/amber.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 7ded34b2..1f4deec0 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- modules/chempy/tinker/amber.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ modules/chempy/tinker/amber.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -16,7 +16,6 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- from chempy import feedback
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--import string
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- import copy
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- default_extra = { # atomic number, and normal valency (for tinker)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -126,33 +125,33 @@ def __init__(self,fname):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         self.type = []
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         self.mw = {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         while 1:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            l = string.strip(f.readline())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            l = f.readline().strip()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             if not len(l): break
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            a2 = string.strip(l[0:2])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            a2 = l[0:2].strip()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             self.type.append(a2)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            self.mw[a2] = [float(l[3:13]),string.strip(l[34:])]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            self.mw[a2] = [float(l[3:13]),l[34:].strip()]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         # skip 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         l = f.readline()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         # read bonds
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         self.bond = {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         while 1:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            l = string.strip(f.readline())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            l = f.readline().strip()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             if not len(l): break
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             a5 = l[0:5]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             self.bond[a5] = [float(l[5:12]),float(l[12:22]),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                                  string.strip(l[22:])]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                  l[22:].strip()]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         # read angles
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         self.angle = {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         while 1:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            l = string.strip(f.readline())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            l = f.readline().strip()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             if not len(l): break
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             a5 = l[0:8]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             self.angle[a5] = [float(l[8:16]),float(l[16:28]),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                                  string.strip(l[28:])]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                  l[28:].strip()]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         # read torsion
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         self.torsion = {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         while 1:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            l = string.strip(f.readline())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            l = f.readline().strip()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             if not len(l): break
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             a5 = l[0:11]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             if a5 in self.torsion:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -161,49 +160,49 @@ def __init__(self,fname):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                      float(l[15:27]),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                      float(l[27:36]),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                      abs(int(float(l[40:52]))),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                     string.strip(l[52:])])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                     l[52:].strip()])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             else:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 self.torsion[a5] = [int(l[11:15]),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                           float(l[15:27]),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                           float(l[27:36]),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                           abs(int(float(l[40:52]))),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                                          string.strip(l[52:])]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                          l[52:].strip()]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         # read impropers
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         self.improper = {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         while 1:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            l = string.strip(f.readline())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            l = f.readline().strip()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             if not len(l): break
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             a5 = l[0:11]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             self.improper[a5] = [float(l[15:27]),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                         float(l[27:40]),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                         abs(int(float(l[40:51]))),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                                        string.strip(l[51:])]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                        l[51:].strip()]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         # skip
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         while 1:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            l = string.strip(f.readline())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            l = f.readline().strip()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             if not len(l): break
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         # read vdw equivalents
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         self.vdw_eq = {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         while 1:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            l = string.strip(f.readline())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            l = f.readline().strip()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             if not len(l): break
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            a4 = string.strip(l[0:4])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            a4 = l[0:4].strip()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             l = l[4:]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             while len(l):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                self.vdw_eq[string.strip(l[0:4])] = a4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                self.vdw_eq[l[0:4].strip()] = a4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 l = l[4:]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         # skip
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        l = string.strip(f.readline())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        l = f.readline().strip()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         # read vdw parameters
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         self.vdw = {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         while 1:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            l = string.strip(f.readline())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            l = f.readline().strip()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             if not len(l): break
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             l = '  ' + l
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            a4 = string.strip(l[0:4])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            a4 = l[0:4].strip()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             self.vdw[a4] =  [float(l[4:20]),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                   float(l[20:37]),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                                  string.strip(l[37:])]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                  l[37:].strip()]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         # read extra tinker information if present
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         self.extra = {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -211,7 +210,7 @@ def __init__(self,fname):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             l = f.readline()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             if not l: break
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             if l[0:6] == 'TINKER':
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                self.extra[string.strip(l[6:12])]  = [
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                self.extra[l[6:12].strip()]  = [
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                     int(l[12:18]),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                     int(l[18:24])]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         if not self.extra:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -757,7 +756,7 @@ def write_tinker_prm(self,fname,proofread=None,smooth=None):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         # bonds
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         bond = {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         for a in list(self.bond.keys()):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            kee = (map[string.strip(a[0:2])],map[string.strip(a[3:5])])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            kee = (map[a[0:2].strip()],map[a[3:5].strip()])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             bond[kee] = a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         kees = list(bond.keys())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         kees.sort()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -768,9 +767,9 @@ def write_tinker_prm(self,fname,proofread=None,smooth=None):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         # angles
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         angle = {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         for a in list(self.angle.keys()):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            kee = (map[string.strip(a[0:2])],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                     map[string.strip(a[3:5])],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                     map[string.strip(a[6:8])],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            kee = (map[a[0:2].strip()],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                     map[a[3:5].strip()],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                     map[a[6:8].strip()],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                      )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             angle[kee] = a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         kees = list(angle.keys())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -783,10 +782,10 @@ def write_tinker_prm(self,fname,proofread=None,smooth=None):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         if not smooth:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             improper = {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             for a in self.improper.keys():
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                kee = (map[string.strip(a[0:2])],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                         map[string.strip(a[3:5])],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                         map[string.strip(a[6:8])],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                         map[string.strip(a[9:11])],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                kee = (map[a[0:2].strip()],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                         map[a[3:5].strip()],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                         map[a[6:8].strip()],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                         map[a[9:11].strip()],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                          )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 improper[kee] = a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             kees = list(improper.keys())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -799,10 +798,10 @@ def write_tinker_prm(self,fname,proofread=None,smooth=None):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         else:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             improper = {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             for a in self.improper.keys():
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                kee = (map[string.strip(a[0:2])],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                         map[string.strip(a[3:5])],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                         map[string.strip(a[6:8])],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                         map[string.strip(a[9:11])],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                kee = (map[a[0:2].strip()],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                         map[a[3:5].strip()],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                         map[a[6:8].strip()],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                         map[a[9:11].strip()],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                          )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 improper[kee] = a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             kees = list(improper.keys())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -814,10 +813,10 @@ def write_tinker_prm(self,fname,proofread=None,smooth=None):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         # torsions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         torsion = {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         for a in self.torsion.keys():
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            kee = (map[string.strip(a[0:2])],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                     map[string.strip(a[3:5])],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                     map[string.strip(a[6:8])],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                     map[string.strip(a[9:11])],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            kee = (map[a[0:2].strip()],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                     map[a[3:5].strip()],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                     map[a[6:8].strip()],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                     map[a[9:11].strip()],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                      )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             torsion[kee] = a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         kees = list(torsion.keys())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -834,7 +833,7 @@ def write_tinker_prm(self,fname,proofread=None,smooth=None):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                     lst[0]/div,lst[1],lst[2])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 lst = lst[5:]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             while len(st)>79:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                st = string.replace(st,'  ',' ')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                st = st.replace('  ',' ')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             f.write(st+"\n")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         # null charge records
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         for c in range(len(self.present)):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -876,7 +875,7 @@ def get_list(self):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         bnd_list = []
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         bond = {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         for a in list(self.bond.keys()):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            kee = (map[string.strip(a[0:2])],map[string.strip(a[3:5])])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            kee = (map[a[0:2].strip()],map[a[3:5].strip()])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             bond[kee] = a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         kees = list(bond.keys())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         kees.sort()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -888,9 +887,9 @@ def get_list(self):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         ang_list = []
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         angle = {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         for a in self.angle.keys():
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            kee = (map[string.strip(a[0:2])],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                     map[string.strip(a[3:5])],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                     map[string.strip(a[6:8])],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            kee = (map[a[0:2].strip()],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                     map[a[3:5].strip()],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                     map[a[6:8].strip()],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                      )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             angle[kee] = a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         kees = list(angle.keys())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -903,10 +902,10 @@ def get_list(self):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         imp_list = []
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         improper = {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         for a in self.improper.keys():
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            kee = (map[string.strip(a[0:2])],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                     map[string.strip(a[3:5])],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                     map[string.strip(a[6:8])],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                     map[string.strip(a[9:11])],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            kee = (map[a[0:2].strip()],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                     map[a[3:5].strip()],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                     map[a[6:8].strip()],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                     map[a[9:11].strip()],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                      )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             improper[kee] = a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         kees = list(improper.keys())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -920,10 +919,10 @@ def get_list(self):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         tor_list = []
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         torsion = {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         for a in self.torsion.keys():
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            kee = (map[string.strip(a[0:2])],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                     map[string.strip(a[3:5])],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                     map[string.strip(a[6:8])],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                     map[string.strip(a[9:11])],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            kee = (map[a[0:2].strip()],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                     map[a[3:5].strip()],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                     map[a[6:8].strip()],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                     map[a[9:11].strip()],
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                      )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             torsion[kee] = a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         kees = list(torsion.keys())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git modules/chempy/tinker/state.py modules/chempy/tinker/state.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 93e3f286..2df7187e 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- modules/chempy/tinker/state.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ modules/chempy/tinker/state.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -17,7 +17,6 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- from chempy import tinker,io,feedback
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- from chempy.tinker import keyword
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- import copy
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--import string
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- class State:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -81,15 +80,15 @@ def analyze(self,kw=None,summary=1):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 if not flag:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                     if lin[0:25]==' Total Potential Energy :':
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                         self.summary.append([
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                            string.strip(lin[0:23]),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                            lin[0:23].strip(),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                             float(lin[25:49])])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                         flag = 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 else:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                    tok = string.split(string.strip(lin))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                    tok = lin.split()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                     if len(tok):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                         if(tok[0]!='Energy'):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                             self.summary.append([
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                                string.strip(lin[0:23]),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                lin[0:23].strip(),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                 float(lin[25:49]),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                 int(lin[49:64])])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             f.close()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -150,7 +149,7 @@ def minimize(self,gradient=0.1,max_iter=100,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                 float(lin[41:51]),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                 float(lin[51:60]),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                 int(lin[60:67]),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                                string.strip(lin[67:])])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                lin[67:].strip()])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                     except ValueError:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                         pass
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             f.close()
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/pymol/files/setup.py.diff b/science/pymol/files/setup.py.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 060ec74dff1..9a9b3b23277 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/pymol/files/setup.py.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/pymol/files/setup.py.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,13 +1,11 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Index: setup.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-===================================================================
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- setup.py       (revision 4187)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ setup.py       (working copy)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -87,7 +87,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- setup.py.orig  2021-05-10 14:38:37.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ setup.py       2021-05-14 11:35:43.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -92,7 +92,7 @@
</span>      X11 = ['/usr/X11'] * (not options.osx_frameworks)
  
      if sys.platform == 'darwin':
 -        for prefix in ['/sw', '/opt/local', '/usr/local']:
 +        for prefix in ['@PREFIX@', '/usr/local']:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-             if sys.executable.startswith(prefix):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             if sys.base_prefix.startswith(prefix):
</span>                  return [prefix] + X11
  
</pre><pre style='margin:0'>

</pre>