code: def process_pubmed_abstract(pubmed_id, offline=False,
                              output_fname=default_output_fname, **kwargs):
      
      abs_txt = pubmed_client.get_abstract(pubmed_id)
      if abs_txt is None:
          return None
      rp = process_text(abs_txt, citation=pubmed_id, offline=offline,
                        output_fname=output_fname, **kwargs)
      if rp and rp.statements:
          for st in rp.statements:
              for ev in st.evidence:
                  ev.epistemics['section_type'] = 'abstract'
      return rp
docs: Return a ReachProcessor by processing an abstract with a given Pubmed id.
  
      Uses the Pubmed client to get the abstract. If that fails, None is
      returned.
  
      Parameters
      ----------
      pubmed_id : str
          The ID of a Pubmed article. The string may start with PMID but
          passing just the ID also works.
          Examples: 27168024, PMID27168024
          https://www.ncbi.nlm.nih.gov/pubmed/
      offline : Optional[bool]
          If set to True, the REACH system is ran offline. Otherwise (by default)
          the web service is called. Default: False
      output_fname : Optional[str]
          The file to output the REACH JSON output to.
          Defaults to reach_output.json in current working directory.
      **kwargs : keyword arguments
          All other keyword arguments are passed directly to `process_text`.
  
      Returns
      -------
      rp : ReachProcessor
          A ReachProcessor containing the extracted INDRA Statements
          in rp.statements.