code: def filter_transcription_factor(stmts_in, **kwargs):
      
      logger.info('Filtering %d statements to remove ' % len(stmts_in) +
                  'amount regulations by non-transcription-factors...')
      path = os.path.dirname(os.path.abspath(__file__))
      tf_table = \
          read_unicode_csv(path + '/../resources/transcription_factors.csv')
      gene_names = [lin[1] for lin in list(tf_table)[1:]]
      stmts_out = []
      for st in stmts_in:
          if isinstance(st, RegulateAmount):
              if st.subj is not None:
                  if st.subj.name in gene_names:
                      stmts_out.append(st)
          else:
              stmts_out.append(st)
      logger.info('%d statements after filter...' % len(stmts_out))
      dump_pkl = kwargs.get('save')
      if dump_pkl:
          dump_statements(stmts_out, dump_pkl)
      return stmts_out
docs: Filter out RegulateAmounts where subject is not a transcription factor.
  
      Parameters
      ----------
      stmts_in : list[indra.statements.Statement]
          A list of statements to filter.
      save : Optional[str]
          The name of a pickle file to save the results (stmts_out) into.
  
      Returns
      -------
      stmts_out : list[indra.statements.Statement]
          A list of filtered statements.