Skip to content
Snippets Groups Projects
  1. Dec 10, 2024
  2. Aug 16, 2023
  3. Aug 15, 2023
  4. Jul 24, 2023
  5. Mar 24, 2023
    • Studer Gabriel's avatar
      Correctly read/write CONECT in PDB files - Thanks Simon Sun · d0f67460
      Studer Gabriel authored
      Simon found issues when reading and writing CONECT statements
      in PDB io and provided code to fix it. yay
      
      Reading: OpenStructure did not read CONECT statements at all. By default,
      it still doesnt. Many PDB files out there don't provide these
      statements and we really don't want to rely on them. We rather want
      to assign connectivity based on the chemical component dictionary from
      the PDB. However, a valid use case are novel compounds that are not
      in the component dictionary. Reading connect statements can now be
      enabled in the pdb reader through the IOProfile. This may give issues
      in processing after reading. OpenStructure implements processors that
      are responsible for connectivity. Now that we build some of the
      connectivity already at the reading stage, this might cause trouble.
      To remedy most of the nightmares that can come out of that, the
      processors can now optionally skip connectivities between Hetatoms.
      
      Writing: That was a plain bug when writing CONECT statements for
      bond orders > 1.
      d0f67460
  6. Feb 13, 2020
  7. Nov 15, 2019
  8. Nov 13, 2019
    • Studer Gabriel's avatar
      Initial Python 3 port commit · 6e60b71d
      Studer Gabriel authored
      This commit doesn't make OpenStructure work with Python 3. The goal of this
      commit was to perform an automated port of the Python code and make it compile.
      The performed steps:
      
      - Edited CMakeLists.txt to search for Python with 3.6 as min version 3.6 is the
        Python version shipped by default with Ubuntu 18.04 LTS
      - Add version 3.6 to cmake_support/FindPython.cmake
      - Adapt setup_boost macro in cmake_support/OST.cmake to prefer versioned
        libraries and not first check for boost_python.so. In the example of
        Ubuntu 18.04, libboost_python.so is specific for Python 2 but
        libboost_python3.so is the one we want.
      - apply the following command: 2to3-2.7 -n -w <OST_DIR>
      - adapt base/pymod/wrap_base.cc, gui/pymod/wrap_gui.cc and
        gui/pymod/export_message_widget.cc as PyString functionalities do not exist
        anymore in the Python 3 interpreter (replaced by PyUnicode)
      - adapt gui/src/python_shell/python_interpreter_worker.hh to resolve issue
        discussed in https://stackoverflow.com/questions/23068700/embedding-python3-in-qt-5
        Long story short: Qt does a typedef for "slots" which causes trouble with
        other headers that are pulled in from the Python interpreter
      6e60b71d
  9. Apr 24, 2019
  10. Feb 22, 2018
  11. Jul 26, 2017
  12. Jul 21, 2017
  13. Jun 08, 2016
  14. Feb 26, 2016
  15. Mar 02, 2015
  16. Feb 12, 2015
  17. Sep 17, 2014
  18. Aug 09, 2013
    • Marco Biasini's avatar
      set assign_torsions to true by default · 74c636ad
      Marco Biasini authored
      setting it to false by default was creating too much downstream
      trouble. the proper fix for not having to waste any CPU cycles
      assigning torsions (which are barely ever looked at) would be to
      have GetPhiTorsion/GetPsiTorsion/GetOmegaTorsion return temporary
      Dihedral objects with the same interface than TorsionHandle.
      These would be created on the fly.
      74c636ad
  19. Jul 29, 2013
    • Marco Biasini's avatar
      make sure singletons don't reference any Python objects · df09b75b
      Marco Biasini authored
      The order of destruction of static objects, e.g. singletons is
      arbitrary and can not be relied upon. For some versions of
      Python, the singletons are destroyed after Python has shutdown.
      When objects stored in the singletons have been created in Python,
      a segfault is produced when they are destroyed, since the destructor
      assumes a Python interpreter exists. To work around that, we register
      atexit handlers to remove all references to Python objects. That's
      required for the IOProfileRegistry and Conopology singletons.
      df09b75b
    • Marco Biasini's avatar
      make sure singletons don't reference any Python objects · e35160d0
      Marco Biasini authored
      The order of destruction of static objects, e.g. singletons is
      arbitrary and can not be relied upon. For some versions of
      Python, the singletons are destroyed after Python has shutdown.
      When objects stored in the singletons have been created in Python,
      a segfault is produced when they are destroyed, since the destructor
      assumes a Python interpreter exists. To work around that, we register
      atexit handlers to remove all references to Python objects. That's
      required for the IOProfileRegistry and Conopology singletons.
      e35160d0
  20. May 30, 2013
  21. May 27, 2013
  22. Feb 11, 2013
  23. Oct 13, 2012
  24. Sep 23, 2012
  25. Aug 15, 2012
  26. Aug 14, 2012
  27. Aug 04, 2012
  28. Jul 26, 2012
    • Marco Biasini's avatar
      added RuleBasedConop · ae3c5c0d
      Marco Biasini authored
      RuleBased conop is an experimental new interface for processing
      structures in the conop module. The class exposes a single method
      Process with takes care of the complete conop procedure. There are
      still a few methods missing, they will be added shortly.
      ae3c5c0d
  29. Jul 13, 2012
  30. Jul 05, 2012
  31. Jun 27, 2012
  32. Jun 15, 2012
Loading