code: def preassemble(self, filters=None, grounding_map=None):
          
          stmts = self.get_statements()
  
          # Filter out hypotheses
          stmts = ac.filter_no_hypothesis(stmts)
  
          # Fix grounding
          if grounding_map is not None:
              stmts = ac.map_grounding(stmts, grounding_map=grounding_map)
          else:
              stmts = ac.map_grounding(stmts)
  
          if filters and ('grounding' in filters):
              stmts = ac.filter_grounded_only(stmts)
  
          # Fix sites
          stmts = ac.map_sequence(stmts)
  
          if filters and 'human_only' in filters:
              stmts = ac.filter_human_only(stmts)
  
          # Run preassembly
          stmts = ac.run_preassembly(stmts, return_toplevel=False)
  
          # Run relevance filter
          stmts = self._relevance_filter(stmts, filters)
  
          # Save Statements
          self.assembled_stmts = stmts
docs: Preassemble the Statements collected in the model.
  
          Use INDRA's GroundingMapper, Preassembler and BeliefEngine
          on the IncrementalModel and save the unique statements and
          the top level statements in class attributes.
  
          Currently the following filter options are implemented:
          - grounding: require that all Agents in statements are grounded
          - human_only: require that all proteins are human proteins
          - prior_one: require that at least one Agent is in the prior model
          - prior_all: require that all Agents are in the prior model
  
          Parameters
          ----------
          filters : Optional[list[str]]
              A list of filter options to apply when choosing the statements.
              See description above for more details. Default: None
          grounding_map : Optional[dict]
              A user supplied grounding map which maps a string to a
              dictionary of database IDs (in the format used by Agents'
              db_refs).