code: def run_norm(net, df=None, norm_type='zscore', axis='row', keep_orig=False):
    '''
    A dataframe (more accurately a dictionary of dataframes, e.g. mat,
    mat_up...) can be passed to run_norm and a normalization will be run (
    e.g. zscore) on either the rows or columns
    '''
  
    # df here is actually a dictionary of several dataframes, 'mat', 'mat_orig',
    # etc
    if df is None:
      df = net.dat_to_df()
  
    if norm_type == 'zscore':
      df = zscore_df(df, axis, keep_orig)
  
    if norm_type == 'qn':
      df = qn_df(df, axis, keep_orig)
  
    net.df_to_dat(dff run_norm(net, df=None, norm_type='zscore', axis='row', keep_orig=False):
    '''
    A dataframe (more accurately a dictionary of dataframes, e.g. mat,
    mat_up...) can be passed to run_norm and a normalization will be run (
    e.g. zscore) on either the rows or columns
    '''
  
    # df here is actually a dictionary of several dataframes, 'mat', 'mat_orig',
    # etc
    if df is None:
      df = net.dat_to_df()
  
    if norm_type == 'zscore':
      df = zscore_df(df, axis, keep_orig)
  
    if norm_type == 'qn':
      df = qn_df(df, axis, keep_orig)
  
    net.df_to_dat(df)
docs: A dataframe (more accurately a dictionary of dataframes, e.g. mat,
    mat_up...) can be passed to run_norm and a normalization will be run (
    e.g. zscore) on either the rows or columns