docs: def read_mol2(self, path, columns=None):
          """Reads Mol2 files (unzipped or gzipped) from local drive
  
          Note that if your mol2 file contains more than one molecule,
          only the first molecule is loaded into the DataFrame
  
          Attributes
          ----------
          path : str
              Path to the Mol2 file in .mol2 format or gzipped format (.mol2.gz)
  
          columns : dict or None (default: None)
              If None, this methods expects a 9-column ATOM section that contains
              the following columns:
  
              {0:('atom_id', int), 1:('atom_name', str),
               2:('x', float), 3:('y', float), 4:('z', float),
               5:('atom_type', str), 6:('subst_id', int),
               7:('subst_name', str), 8:('charge', float)}
  
              If your Mol2 files are formatted differently, you can provide your
              own column_mapping dictionary in a format similar to the one above.
              However, note that not all assert_raise_message methods
              may be supported then.
  
          Returns
          ---------
          self
  
          """
          mol2_code, mol2_lines = next(split_multimol2(path))
          self._load_mol2(mol2_lines, mol2_code, columns)
          self.mol2_path = path
          return self