Skip to content
Snippets Groups Projects
  1. Apr 15, 2024
  2. Apr 12, 2024
  3. Apr 11, 2024
  4. Apr 10, 2024
    • Studer Gabriel's avatar
      branch link refactor · 381de494
      Studer Gabriel authored
      Make sure that the mmcif info object has all branch link info, also
      the ones connecting  atoms that are not resolved in the structure.
      In general, this commit avoids that there is explicit reference to the
      underlying structure in the info object, i.e. no actual AtomHandle objects
      are stored in there just the raw info from the mmcif file.
      
      Building the connectivity is delegated to MMCifReader.Parse
      381de494
    • Studer Gabriel's avatar
      refactor rigid scoring - introduce GDT implementation similar to LGA · 4ac2e408
      Studer Gabriel authored
      The Scorer object provides two mappings. The default mapping which is
      QS-score based and the rigid_mapping which is RMSD based.
      The rigid_mapping is now the basis for global superposition based
      scores such as RMSD and GDT. And here's the thing, OpenStructure got
      a brand new GDT implementation! Scanning of best possible superpositions
      is a bit simpler than in LGA but the results are similar.
      Benchmarking against CASP15 TS models returns GDT_TS score where 99.2%
      are within 3 GDT points with the LGA results and the maximum observed
      difference is 7.39. There is a tendency for slightly lower scores in
      OpenStructure meaning LGA sometimes found better superpositions.
      
      BUT: Oligo/RNA support comes for free in the Scorer object!
      4ac2e408
  5. Apr 09, 2024
  6. Apr 05, 2024
    • Studer Gabriel's avatar
      disable numpy support in C++ layer · 728ad1c9
      Studer Gabriel authored
      Numpy support in C++ enabled features at two points:
      Efficient way of setting positions in entity handles or setting meshes
      in gfx.PrimList.
      
      Support for newer numpy versions would've required an effort to implement.
      As far as I know, no one uses these features (fingers crossed) so let's just
      dump numpy alltogether to simplify the build system.
      728ad1c9
    • Xavier Robin's avatar
      Add logging output to the scoring · 0fd7f322
      Xavier Robin authored
      Verified
      0fd7f322
  7. Apr 03, 2024
  8. Apr 02, 2024
  9. Mar 20, 2024
  10. Mar 15, 2024
  11. Mar 08, 2024
  12. Mar 06, 2024
    • Studer Gabriel's avatar
      chain mapping: modest refactor · fb1f53f2
      Studer Gabriel authored
      Introduce GetRMSDMapping function which replaces GetRigidMapping
      
      This is consistent with the other mapping functions that explicitely
      contain score name in the function name: GetQSScoreMapping/GetlDDTMapping
      
      Any GDT functionality has been dropped in the process. It never took off
      and scoring is problematic anyways. Let's assume there is a huge complex
      and you already mapped most of it. Now there is this chain which upon
      superposition is 10A away and this other chain that is 1000A away.
      GDT does not resolve this. They're both 0.0.
      fb1f53f2
    • Studer Gabriel's avatar
    • Studer Gabriel's avatar
      lddt: docu update · 2f212812
      Studer Gabriel authored
      2f212812
  13. Mar 01, 2024
  14. Feb 29, 2024
  15. Feb 28, 2024
  16. Feb 20, 2024
  17. Feb 19, 2024
  18. Feb 16, 2024
    • Xavier Robin's avatar
      fix: support for Python < 3.10 · 5d38b950
      Xavier Robin authored
      Verified
      5d38b950
    • Studer Gabriel's avatar
      make removing atoms fast again · f04f0859
      Studer Gabriel authored
      Removing atoms from huge structures was observed to be super slow.
      Reason was the removal from the spatial organizer which helps to find atoms
      based on spatial proximity. The organizer is organized in buckets which
      occupy a certain volume in space. Removing an element meant to iterate over
      all buckets and all their items until the atom is found. However, we know
      the position of the atom and thus can pinpoint the bucket in which its
      expected to be. The SpatialOrganizer::Remove was therefore overloaded with
      a version that accepts a position as hint in which bucket to look.
      If the atom is there, delete and return. If not, call Remove without position
      hint.
      f04f0859
Loading