def METHOD_NAME(
        protein_file: str,
        ligand_file: str,
        cutoff: float = 4.0) -> Tuple[CoordinateBox, np.ndarray]:
    """Extracts a box for the active site.
    Parameters
    ----------
    protein_file: str
        Location of protein PDB
    ligand_file: str
        Location of ligand input file
    cutoff: float, optional (default 4.0)
        The distance in angstroms from the protein pocket to
        consider for featurization.
    Returns
    -------
    Tuple[CoordinateBox, np.ndarray]
        A tuple of `(CoordinateBox, np.ndarray)` where the second entry is
        of shape `(N, 3)` with `N` the number of atoms in the active site.
    """
    protein = load_molecule(protein_file, add_hydrogens=False)
    ligand = load_molecule(ligand_file, add_hydrogens=True, calc_charges=True)
    protein_contacts, ligand_contacts = get_contact_atom_indices(
        [protein, ligand], cutoff=cutoff)
    protein_coords = protein[0]
    pocket_coords = protein_coords[protein_contacts]
    x_min = int(np.floor(np.amin(pocket_coords[:, 0])))
    x_max = int(np.ceil(np.amax(pocket_coords[:, 0])))
    y_min = int(np.floor(np.amin(pocket_coords[:, 1])))
    y_max = int(np.ceil(np.amax(pocket_coords[:, 1])))
    z_min = int(np.floor(np.amin(pocket_coords[:, 2])))
    z_max = int(np.ceil(np.amax(pocket_coords[:, 2])))
    box = CoordinateBox((x_min, x_max), (y_min, y_max), (z_min, z_max))
    return box, pocket_coords