class_docstr: Uses Autodock Vina to generate binding poses.
  
  This class uses Autodock Vina to make make predictions of
  binding poses.
  
  Example
  -------
  >> import deepchem as dc
  >> vpg = dc.dock.VinaPoseGenerator(pocket_finder=None)
  >> protein_file = '1jld_protein.pdb'
  >> ligand_file = '1jld_ligand.sdf'
  >> poses, scores = vpg.generate_poses(
  ..        (protein_file, ligand_file),
  ..        exhaustiveness=1,
  ..        num_modes=1,
  ..        out_dir=tmp,
  ..        generate_scores=True)
  
  Note
  ----
  This class requires RDKit and vina to be installed. As on 9-March-22,
  Vina is not available on Windows. Hence, this utility is currently
  available only on Ubuntu and MacOS.
class_docstr_tok: ["Uses","Autodock","Vina","to","generate","binding","poses",".","This","class","uses","Autodock","Vina","to","make","make","predictions","of","binding","poses",".","Example","--","--","--","-",">",">","import","deepchem","as","dc",">",">","vpg","=","dc.dock.VinaPoseGenerator","(","pocket_finder=None",")",">",">","protein_file","=","'1jld_protein.pdb'",">",">","ligand_file","=","'1jld_ligand.sdf'",">",">","poses",",","scores","=","vpg.generate_poses","(","..","(","protein_file",",","ligand_file",")",",","..","exhaustiveness=1",",","..","num_modes=1",",","..","out_dir=tmp",",","..","generate_scores=True",")","Note","--","--","This","class","requires","RDKit","and","vina","to","be","installed",".","As","on","9-March-22",",","Vina","is","not","available","on","Windows",".","Hence",",","this","utility","is","currently","available","only","on","Ubuntu","and","MacOS","."]
docstr: Initializes Vina Pose Generator
  
  Parameters
  ----------
  pocket_finder: BindingPocketFinder, optional (default None)
      If specified should be an instance of
      `dc.dock.BindingPocketFinder`.
docstr_tok: ["Initializes","Vina","Pose","Generator","Parameters","--","--","--","--","--","pocket_finder",":","BindingPocketFinder",",","optional","(","default","None",")","If","specified","should","be","an","instance","of","`","dc.dock.BindingPocketFinder","`","."]
code: def __init__(
      self, pocket_finder: Optional[BindingPocketFinder] = None
  ):
      """Initializes Vina Pose Generator
  
      Parameters
      ----------
      pocket_finder: BindingPocketFinder, optional (default None)
          If specified should be an instance of
          `dc.dock.BindingPocketFinder`.
      """
      self.pocket_finder = pocket_finder
  
imports: import platform
  import logging
  import os
  import tempfile
  import numpy
  from subprocess import Popen, PIPE
  from typing import List, Optional, Tuple, Union
  from deepchem.dock.binding_pocket import BindingPocketFinder
  from deepchem.utils.data_utils import download_url, get_data_dir
  from deepchem.utils.typing import RDKitMol
  from deepchem.utils.geometry_utils import compute_centroid, compute_protein_range
  from deepchem.utils.rdkit_utils import load_molecule, write_molecule
  from deepchem.utils.docking_utils import load_docked_ligands, write_vina_conf, write_gnina_conf, read_gnina_log
label_desc: Use image node_id 1 to create a new VinaPoseGenerator object from inherited base classes: PoseGenerator with example: obj = VinaPoseGenerator(pocket_finder)