Exemplo n.º 1
0
    def test_featurize_splif(self):
        prot_xyz, prot_rdk = rgf.load_molecule(self.protein_file)
        lig_xyz, lig_rdk = rgf.load_molecule(self.ligand_file)
        distance = rgf.compute_pairwise_distances(protein_xyz=prot_xyz,
                                                  ligand_xyz=lig_xyz)

        bins = [(1, 2), (2, 3)]

        dicts = rgf.featurize_splif(prot_xyz,
                                    prot_rdk,
                                    lig_xyz,
                                    lig_rdk,
                                    contact_bins=bins,
                                    pairwise_distances=distance,
                                    ecfp_degree=2)
        expected_dicts = [
            rgf.compute_splif_features_in_range(prot_rdk,
                                                lig_rdk,
                                                distance,
                                                c_bin,
                                                ecfp_degree=2)
            for c_bin in bins
        ]
        self.assertIsInstance(dicts, list)
        self.assertEqual(dicts, expected_dicts)
  def test_compute_splif_features_in_range(self):
    prot_xyz, prot_rdk = rgf.load_molecule(self.protein_file)
    lig_xyz, lig_rdk = rgf.load_molecule(self.ligand_file)
    prot_num_atoms = prot_rdk.GetNumAtoms()
    lig_num_atoms = lig_rdk.GetNumAtoms()
    distance = rgf.compute_pairwise_distances(
        protein_xyz=prot_xyz, ligand_xyz=lig_xyz)

    for bins in ((0, 2), (2, 3)):
      splif_dict = rgf.compute_splif_features_in_range(
          prot_rdk,
          lig_rdk,
          distance,
          bins,
      )

      self.assertIsInstance(splif_dict, dict)
      for (prot_idx, lig_idx), ecfp_pair in splif_dict.items():

        for idx in (prot_idx, lig_idx):
          self.assertIsInstance(idx, (int, np.int64))
        self.assertGreaterEqual(prot_idx, 0)
        self.assertLess(prot_idx, prot_num_atoms)
        self.assertGreaterEqual(lig_idx, 0)
        self.assertLess(lig_idx, lig_num_atoms)

        for ecfp in ecfp_pair:
          ecfp_idx, ecfp_frag = ecfp.split(',')
          ecfp_idx = int(ecfp_idx)
          self.assertGreaterEqual(ecfp_idx, 0)
Exemplo n.º 3
0
    def test_compute_splif_features_in_range(self):
        prot_xyz, prot_rdk = rgf.load_molecule(self.protein_file)
        lig_xyz, lig_rdk = rgf.load_molecule(self.ligand_file)
        prot_num_atoms = prot_rdk.GetNumAtoms()
        lig_num_atoms = lig_rdk.GetNumAtoms()
        distance = rgf.compute_pairwise_distances(protein_xyz=prot_xyz,
                                                  ligand_xyz=lig_xyz)

        for bins in ((0, 2), (2, 3)):
            splif_dict = rgf.compute_splif_features_in_range(
                prot_rdk,
                lig_rdk,
                distance,
                bins,
            )

            self.assertIsInstance(splif_dict, dict)
            for (prot_idx, lig_idx), ecfp_pair in splif_dict.items():

                for idx in (prot_idx, lig_idx):
                    self.assertIsInstance(idx, (int, np.int64))
                self.assertGreaterEqual(prot_idx, 0)
                self.assertLess(prot_idx, prot_num_atoms)
                self.assertGreaterEqual(lig_idx, 0)
                self.assertLess(lig_idx, lig_num_atoms)

                for ecfp in ecfp_pair:
                    ecfp_idx, ecfp_frag = ecfp.split(',')
                    ecfp_idx = int(ecfp_idx)
                    self.assertGreaterEqual(ecfp_idx, 0)
  def test_featurize_splif(self):
    prot_xyz, prot_rdk = rgf.load_molecule(self.protein_file)
    lig_xyz, lig_rdk = rgf.load_molecule(self.ligand_file)
    distance = rgf.compute_pairwise_distances(
        protein_xyz=prot_xyz, ligand_xyz=lig_xyz)

    bins = [(1, 2), (2, 3)]

    dicts = rgf.featurize_splif(
        prot_xyz,
        prot_rdk,
        lig_xyz,
        lig_rdk,
        contact_bins=bins,
        pairwise_distances=distance,
        ecfp_degree=2)
    expected_dicts = [
        rgf.compute_splif_features_in_range(
            prot_rdk, lig_rdk, distance, c_bin, ecfp_degree=2) for c_bin in bins
    ]
    self.assertIsInstance(dicts, list)
    self.assertEqual(dicts, expected_dicts)