code: def register_preprocessed_file(self, infile, pmid, extra_annotations):
          
          infile_base = os.path.basename(infile)
          outfile = os.path.join(self.preprocessed_dir, infile_base)
          shutil.copyfile(infile, outfile)
  
          infile_key = os.path.splitext(infile_base)[0]
  
          self.pmids[infile_key] = pmid
          self.extra_annotations[infile_key] = extra_annotations
docs: Set up already preprocessed text file for reading with ISI reader.
  
          This is essentially a mock function to "register" already preprocessed
          files and get an IsiPreprocessor object that can be passed to
          the IsiProcessor.
  
          Parameters
          ----------
          infile : str
              Path to an already preprocessed text file (i.e. one ready to
              be sent for reading to ISI reader).
          pmid : str
              The PMID corresponding to the file
          extra_annotations : dict
              Extra annotations to be added to each statement, possibly including
              metadata about the source (annotations with the key "interaction"
              will be overridden)