code: def _glyph_for_monomer_pattern(self, pattern):
          
          pattern.matches_key = lambda: str(pattern)
          agent_id = self._make_agent_id(pattern)
          # Handle sources and sinks
          if pattern.monomer.name in ('__source', '__sink'):
              return None
          # Handle molecules
          glyph = emaker.glyph(emaker.label(text=pattern.monomer.name),
                               emaker.bbox(**self.monomer_style),
                               class_('macromolecule'), id=agent_id)
          # Temporarily remove this
          # Add a glyph for type
          #type_glyph = emaker.glyph(emaker.label(text='mt:prot'),
          #                          class_('unit of information'),
          #                          emaker.bbox(**self.entity_type_style),
          #                          id=self._make_id())
          #glyph.append(type_glyph)
          for site, value in pattern.site_conditions.items():
              if value is None or isinstance(value, int):
                  continue
              # Make some common abbreviations
              if site == 'phospho':
                  site = 'p'
              elif site == 'activity':
                  site = 'act'
                  if value == 'active':
                      value = 'a'
                  elif value == 'inactive':
                      value = 'i'
              state = emaker.state(variable=site, value=value)
              state_glyph = \
                  emaker.glyph(state, emaker.bbox(**self.entity_state_style),
                               class_('state variable'), id=self._make_id())
              glyph.append(state_glyph)
          return glyph
docs: Add glyph for a PySB MonomerPattern.