code: def load_docked_ligands(
      pdbqt_output: str,
  ) -> Tuple[List[RDKitMol], List[float]]:
      """This function loads ligands docked by autodock vina.
  
      Autodock vina writes outputs to disk in a PDBQT file format. This
      PDBQT file can contain multiple docked "poses". Recall that a pose
      is an energetically favorable 3D conformation of a molecule. This
      utility function reads and loads the structures for multiple poses
      from vina's output file.
  
      Parameters
      ----------
      pdbqt_output: str
          Should be the filename of a file generated by autodock vina's
          docking software.
  
      Returns
      -------
      Tuple[List[rdkit.Chem.rdchem.Mol], List[float]]
          Tuple of `molecules, scores`. `molecules` is a list of rdkit
          molecules with 3D information. `scores` is the associated vina
          score.
  
      Notes
      -----
      This function requires RDKit to be installed.
      """
      try:
          from rdkit import Chem
      except ModuleNotFoundError:
          raise ImportError(
              "This function requires RDKit to be installed."
          )
  
      lines = open(pdbqt_output).readlines()
      molecule_pdbqts = []
      scores = []
      current_pdbqt: Optional[List[str]] = None
      for line in lines:
          if line[:5] == "MODEL":
              current_pdbqt = []
          elif line[:19] == "REMARK VINA RESULT:":
              words = line.split()
              # the line has format
              # REMARK VINA RESULT: score ...
              # There is only 1 such line per model so we can append it
              scores.append(float(words[3]))
          elif line[:6] == "ENDMDL":
              molecule_pdbqts.append(current_pdbqt)
              current_pdbqt = None
          else:
              # FIXME: Item "None" of "Optional[List[str]]" has no attribute "append"
              current_pdbqt.append(line)  # type: ignore
  
      molecules = []
      for pdbqt_data in molecule_pdbqts:
          pdb_block = pdbqt_to_pdb(pdbqt_data=pdbqt_data)
          mol = Chem.MolFromPDBBlock(
              str(pdb_block), sanitize=False, removeHs=False
          )
          molecules.append(mol)
      return molecules, scores
  
file_path: deepchem/deepchem/utils/docking_utils.py
imports: from typing import List, Optional, Tuple
  import os
  import numpy
  from deepchem.utils.typing import RDKitMol
  from deepchem.utils.pdbqt_utils import pdbqt_to_pdb
label_desc: Use image node_id 4 for calling a global function with example usage: load_docked_ligands(pdbqt_output) and returns: molecules,  scores