docs: def replace_headers(source_pdb_content, target_pdb_content):
          '''Takes the headers from source_pdb_content and adds them to target_pdb_content, removing any headers that
             target_pdb_content had.
             Only the content up to the first structural line are taken from source_pdb_content and only the content from
             the first structural line in target_pdb_content are taken.
             '''
          s = PDB(source_pdb_content)
          t = PDB(target_pdb_content)
  
          source_headers = []
          for l in s.lines:
              if l[:6].strip() in non_header_records:
                  break
              else:
                  source_headers.append(l)
  
          target_body = []
          in_header = True
          for l in t.lines:
              if l[:6].strip() in non_header_records:
                  in_header = False
              if not in_header:
                  target_body.append(l)
  
          return '\n'.join(source_headers + target_body)