docs: def clean(tf_matrix,
            tf_matrix_gene_names,
            target_gene_name):
      """
      :param tf_matrix: numpy array. The full transcription factor matrix.
      :param tf_matrix_gene_names: the full list of transcription factor names, corresponding to the tf_matrix columns.
      :param target_gene_name: the target gene to remove from the tf_matrix and tf_names.
      :return: a tuple of (matrix, names) equal to the specified ones minus the target_gene_name if the target happens
               to be one of the transcription factors. If not, the specified (tf_matrix, tf_names) is returned verbatim.
      """
  
      if target_gene_name not in tf_matrix_gene_names:
          clean_tf_matrix = tf_matrix
      else:
          clean_tf_matrix = np.delete(tf_matrix, tf_matrix_gene_names.index(target_gene_name), 1)
  
      clean_tf_names = [tf for tf in tf_matrix_gene_names if tf != target_gene_name]
  
      assert clean_tf_matrix.shape[1] == len(clean_tf_names)  # sanity check
  
      return clean_tf_matrix, clean_tf_names