docs: def get_pdb_id(self):
          '''Return the PDB ID. If one was passed in to the constructor, this takes precedence, otherwise the header is
             parsed to try to find an ID. The header does not always contain a PDB ID in regular PDB files and appears to
             always have an ID of 'XXXX' in biological units so the constructor override is useful.'''
          if self.pdb_id:
              return self.pdb_id
          else:
              header = self.parsed_lines["HEADER"]
              assert(len(header) <= 1)
              if header:
                  self.pdb_id = header[0][62:66]
                  return self.pdb_id
          return None