Skip to content

compute_lrmsd_pdb2sql works only if there is no missing backbone atom #85

@FarzanehParizi

Description

@FarzanehParizi

Describe the bug
If a backbone atom is missing in the Ligand part of one of the two PDBs, compute_lrmsd_pdb2sql does not report it and leads to an error

Environment:

  • OS system: Ubuntu
  • Branch commit ID: fix_lrmsd

To Reproduce

  1. Input these two PDBs:

BL00190001_decoy.txt
BL00190001_ref.txt

sim = StructureSimilarity(decoy_path, ref_path)
lrmsd = sim.compute_lrmsd_pdb2sql(exportpath=None, method='svd')

Expected Results
calculates the LRMSD value even if one (or more) of the backbone atoms is missing
or
prints a proper error message to report the mismatched backbone atom(s)

Actual Results or Error Info

624         # compute the RMSD
625         lrmsd = self.get_rmsd(xyz_decoy_short, xyz_ref_short)
626 
627         # export the pdb for verifiactions

             ..../pdb2sql/pdb2sql/StructureSimilarity.py in get_rmsd(P, Q)
1280         """
1281         n = len(P)
1282         return round(np.sqrt(1. / n * np.sum((P - Q)**2)), 3)

Additional Context
The compute_lrmsd_fast does not have this problem and prints the backbone LRMSD value

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions