Example #1
0
  def _featurize_complex(self, mol_pdb, protein_pdb):
    """
    Compute Binana fingerprint for complex.
    """
    mol_pdb_file = tempfile.NamedTemporaryFile(suffix="pdb")
    with open(mol_pdb_file.name, "w") as mol_f:
      mol_f.writelines(mol_pdb)
    protein_pdb_file = tempfile.NamedTemporaryFile(suffix="pdb")
    with open(protein_pdb_file.name, "w") as protein_f:
      protein_f.writelines(protein_pdb)

    mol_hyd_file = tempfile.NamedTemporaryFile(suffix="pdb")
    mol_pdbqt_file = tempfile.NamedTemporaryFile(suffix="pdbqt")
    hydrogenate_and_compute_partial_charges(
        mol_pdb_file.name, "pdb", mol_hyd_file.name,
        mol_pdbqt_file.name)

    protein_hyd_file = tempfile.NamedTemporaryFile(suffix="pdb")
    protein_pdbqt_file = tempfile.NamedTemporaryFile(suffix="pdbqt")
    hydrogenate_and_compute_partial_charges(
        protein_pdb_file.name, "pdb", protein_hyd_file.name,
        protein_pdbqt_file.name)

    mol_pdb_obj = PDB()
    mol_pdb_obj.load_from_files(mol_pdb_file.name, mol_pdbqt_file.name)

    protein_pdb_obj = PDB()
    protein_pdb_obj.load_from_files(
        protein_pdb_file.name, protein_pdbqt_file.name)

    features = self.binana.compute_input_vector(mol_pdb_obj, protein_pdb_obj)

    return features
Example #2
0
def prepare_ligand(mol_name, save_dir):
    # print("Preparing ligand %s" % mol_name)
    outfile = "/home/enf/deep-docking/shallow/test_output.txt"
    filename = str(mol_name) + ".mol2"
    filename = os.path.join(save_dir, filename)
    prepared_filename = os.path.join(save_dir, "%s_prepared.pdb" % mol_name)
    prepared_pdbqt = os.path.join(save_dir, "%s_prepared.pdbqt" % mol_name)
    if os.path.exists(prepared_pdbqt):
        return

    hydrogenate_and_compute_partial_charges(
        filename, "mol2", hyd_output=prepared_filename, pdbqt_output=prepared_pdbqt, verbose=False, protein=False
    )
Example #3
0
def prepare_ligand(mol_name, save_dir):
  #print("Preparing ligand %s" % mol_name)
  outfile = "/home/enf/deep-docking/shallow/test_output.txt"
  filename = str(mol_name) + ".mol2"
  filename = os.path.join(save_dir, filename)
  prepared_filename = os.path.join(save_dir, "%s_prepared.pdb" %mol_name)
  prepared_pdbqt = os.path.join(save_dir, "%s_prepared.pdbqt" %mol_name)
  if os.path.exists(prepared_pdbqt):
    return    

  hydrogenate_and_compute_partial_charges(filename, "mol2",
                                          hyd_output=prepared_filename,
                                          pdbqt_output=prepared_pdbqt,
                                          verbose=False, protein=False)
Example #4
0
def prepare_receptors(dude_dir, new_dir):
    for subdir, dirs, files in os.walk(dude_dir):
        receptor_name = os.path.basename(subdir)
        print("Currently examining receptor %s " % receptor_name)
        save_dir = os.path.join(new_dir, receptor_name)
        if not os.path.exists(save_dir):
            os.makedirs(save_dir)

        receptor_filename = os.path.join(subdir, "receptor.pdb")
        if not os.path.exists(receptor_filename):
            continue
        prepared_filename = os.path.join(save_dir, "%s.pdb" % receptor_name)
        prepared_pdbqt = os.path.join(save_dir, "%s.pdbqt" % receptor_name)

        if os.path.exists(prepared_pdbqt):
            continue

        hydrogenate_and_compute_partial_charges(
            receptor_filename, ".pdb", hyd_output=prepared_filename, pdbqt_output=prepared_pdbqt, verbose=False
        )
Example #5
0
def prepare_receptors(dude_dir, new_dir):
  for subdir, dirs, files in os.walk(dude_dir):
    receptor_name = os.path.basename(subdir)
    print("Currently examining receptor %s " % receptor_name)
    save_dir = os.path.join(new_dir, receptor_name)
    if not os.path.exists(save_dir):
      os.makedirs(save_dir)
    
    receptor_filename = os.path.join(subdir, "receptor.pdb")
    if not os.path.exists(receptor_filename):
      continue
    prepared_filename = os.path.join(save_dir, "%s.pdb" % receptor_name)
    prepared_pdbqt = os.path.join(save_dir, "%s.pdbqt" % receptor_name)

    if os.path.exists(prepared_pdbqt):
      continue

    hydrogenate_and_compute_partial_charges(receptor_filename, ".pdb",
                                            hyd_output=prepared_filename,
                                            pdbqt_output=prepared_pdbqt,
                                            verbose=False)