def test_ardnmf_poisson(self): spectra = file_loader(SPECTRA_ARROW) np.random.seed(0) res = ardnmf(spectra, K0=10, max_iter=50, verbose=False) for i, _ in enumerate(LAM_TRUE_1): self.assertAlmostEqual(list(res['lam'])[i], LAM_TRUE_1[i], places=7)
def test_cosmic_dbs(self): """ Test doublet-base substitution mappers. """ maf_df = file_loader(MAF_TEST_FILE) spectra_ref = pd.read_parquet("refs/test_cosmic3dbs_spectra.parquet") _, spectra = get_spectra_from_maf(maf_df, cosmic='cosmic3_DBS') self.assertEqual(np.linalg.norm(spectra.values - spectra_ref.values), 0)
def test_cosmic_id(self): """ Test insertion-deletion mappers. """ maf_df = file_loader(MAF_TEST_FILE) spectra_ref = pd.read_parquet("refs/test_cosmic3id_spectra.parquet") _, spectra = get_spectra_from_maf(maf_df, cosmic='cosmic3_ID', hgfile=HG_FILE) self.assertEqual(np.linalg.norm(spectra.values - spectra_ref.values), 0)
def test_cosmic_sbs(self): """ Test single-base substituion mappers. """ maf_df = file_loader(MAF_TEST_FILE) spectra_ref = pd.read_parquet("refs/test_cosmic2_spectra.parquet") _, spectra = get_spectra_from_maf(maf_df, cosmic='cosmic2', hgfile=HG_FILE) self.assertEqual(np.linalg.norm(spectra.values - spectra_ref.values), 0)
def test_sbs_cosmic3exome(self): """Test SBS Cosmic3 Exome""" dirpath = tempfile.mkdtemp() np.random.seed(0) spectra = file_loader(SPECTRA_ARROW) run_spectra(spectra, outdir=dirpath, cosmic='cosmic3_exome', nruns=1, K0=10, max_iter=100, plot_results=False) cosine_df_arrow = pd.read_hdf(os.path.join(dirpath, 'nmf_output.h5'), "cosine") shutil.rmtree(dirpath) ref_cosine = np.load("refs/test_mapping_cosmic3_exome.npy") self.assertEqual( np.linalg.norm(ref_cosine - cosine_df_arrow.sum(1).values), 0) np.random.seed(0) spectra = file_loader(SPECTRA_WORD) run_spectra(spectra, outdir=dirpath, cosmic='cosmic3_exome', nruns=1, K0=10, max_iter=100, plot_results=False) cosine_df_word = pd.read_hdf(os.path.join(dirpath, 'nmf_output.h5'), "cosine") shutil.rmtree(dirpath) self.assertEqual( np.linalg.norm(cosine_df_arrow.values - cosine_df_word.values), 0)