Skip to content
Snippets Groups Projects
  1. 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
  2. Feb 15, 2024
    • Studer Gabriel's avatar
      lddt: speedup for big complexes · aaec9ede
      Studer Gabriel authored
      Pairwise distance computation for the reference distances was
      performed with N squared complexity and some funny guy had the idea
      to throw a 180mer at it...
      
      One possibibility would be the use of some KD tree data structure.
      However, the construction itself comes with computational cost.
      The implemented solution makes use of the expected spatial proximity
      of atoms in the same chain and distances are computed as follows:
      
      - process each chain individually
      - perform crude collision detection
      - process potentially interacting chain pairs
      - concatenate distances from all processing steps
      
      The new algorithm has been tested and compared to the previous
      implementation by randomly selecting 3 models of each CASP15 oligo
      target. Global lDDT has been tested for a match within 0.0001 and
      per-residue lDDT for a match within 0.001. Reason for lower threshold
      in per-residue lDDT is floating point accuracy. Also for the changed
      unit test, one distance difference was within floating point accuracy
      of one of the thresholds (see comments there). Accuracy of 0.001 still
      means that we only allow a discrepancy of one for 1000 checked distances...
      
      Observed speedups are size dependent and range from lower 2 digit
      percentages up to several fold speedup for larger CASP15 targets.
      The mentioned 180mer now concludes in a few minutes as oposed to
      almost a day.
      aaec9ede
    • Studer Gabriel's avatar
      0356d1b9
    • Studer Gabriel's avatar
      compare-structures: docu update · 6977d26f
      Studer Gabriel authored
      Document default values for minimum peptide/nucleotide lengths
      6977d26f
  3. Feb 14, 2024
  4. Feb 13, 2024
  5. Feb 12, 2024
  6. Feb 07, 2024
  7. Feb 06, 2024
  8. Feb 05, 2024
  9. Feb 04, 2024
  10. Feb 03, 2024
    • Studer Gabriel's avatar
      mmcif writer: refactor providing MMCifWriterEntity · dd3c4f5a
      Studer Gabriel authored
      For predictable behaviour, providing MMCifWriterEntity objects has
      the following restrictions now:
      
      - Only allow MMCifWriterEntity of type polymer
      - All chains in ent that are of type polymer must be assigned
        to exactly one of these entity_info objects and must match the SEQRES
        (MMCifWriterEntity::mon_ids)
      - All chain names that are assigned to entity_info must be valid chains
        in ent
      dd3c4f5a
  11. Feb 02, 2024
Loading