def filter_by_expression_magnitude(raw_data, magnitude_threshold=1):
    """
    Remove any transcripts not expressed at at least <magnitude_threshold> in one or more samples.
    """
    data_rows = raw_data.index[:]
    print('Initial transcripts: {}'.format(raw_data.shape[1]))
    filtered_data = raw_data.loc[:, ((raw_data.loc[data_rows] >=
        magnitude_threshold).any(axis=0))]
    print('Removed {} transcripts with magnitude < {} across all samples'.
        format(raw_data.shape[1] - filtered_data.shape[1], magnitude_threshold)
        )
    print('{} transcripts remaining'.format(filtered_data.shape[1]))
    return filtered_data
