Source code for lib5c.writers.pca

"""
Module for writing the results of principle component analyses to disk.
"""

import numpy as np

from lib5c.util.system import check_outdir


[docs]def write_pca(outfile, proj, rep_names=None, pve=None): """ Write PCA projections to a csv file. Parameters ---------- outfile : str String reference to the file to write to. proj : np.ndarray The PCA projections to plot rep_names : Optional[List[str]] The replicate names in the order of the rows of ``proj``, to be used to write the header line. pve : Optional[List[float]] The percent variance explained for each component, to be included in the footer. """ check_outdir(outfile) header = ','.join([rep for rep in rep_names]) if rep_names else None footer = '' if pve is None else '\nPVE:,'+','.join([str(p) for p in pve]) np.savetxt(outfile, proj.T, delimiter=',', comments='', header=header, footer=footer)