class_docstr: Gotoh score
  Gotoh's algorithm is essentially Needleman-Wunsch with affine gap
  penalties:
  https://www.cs.umd.edu/class/spring2003/cmsc838t/papers/gotoh1982.pdf
class_docstr_tok: ["Gotoh","score","Gotoh","'s","algorithm","is","essentially","Needleman-Wunsch","with","affine","gap","penalties",":","https",":","\/\/www.cs.umd.edu\/class\/spring2003\/cmsc838t\/papers\/gotoh1982.pdf"]
code: def __init__(
      self,
      gap_open: int = 1,
      gap_ext: float = 0.4,
      sim_func: SimFunc = None,
      qval: int = 1,
      external: bool = True,
  ) -> None:
      self.qval = qval
      self.gap_open = gap_open
      self.gap_ext = gap_ext
      if sim_func:
          self.sim_func = sim_func
      else:
          self.sim_func = self._ident
      self.external = external
  
imports: from __future__ import annotations
  from collections import defaultdict
  from itertools import zip_longest
  from typing import Any, Sequence, TypeVar
  from .base import Base, BaseSimilarity
  from .types import SimFunc, TestFunc
label_desc: Use image node_id 1 to create a new Gotoh object from inherited base classes: NeedlemanWunsch with example: obj = Gotoh(gap_open, gap_ext, sim_func, qval, external)