def test_03_tad_multi_aligner(self): if CHKTIME: t0 = time() test_chr = Chromosome(name='Test Chromosome', centromere_search=True, experiment_tads=[exp1, exp2, exp3, exp4], experiment_hic_data=[ PATH + '/40Kb/chrT/chrT_A.tsv', PATH + '/20Kb/chrT/chrT_B.tsv', PATH + '/20Kb/chrT/chrT_C.tsv', PATH + '/20Kb/chrT/chrT_D.tsv'], experiment_names=['exp1', 'exp2', 'exp3', 'exp4'], experiment_resolutions=[40000,20000,20000,20000], silent=True) for exp in test_chr.experiments: exp.normalize_hic(silent=True, factor=None) test_chr.align_experiments(verbose=False, randomize=False, method='global') _, (score1, pval1) = test_chr.align_experiments(verbose=False, method='global', randomize=True, rnd_num=100) _, (_, pval2) = test_chr.align_experiments(verbose=False, randomize=True, rnd_method='shuffle', rnd_num=100) # Values with alignments obtained with square root normalization. #self.assertEqual(round(-26.095, 3), round(score1, 3)) #self.assertEqual(round(0.001, 1), round(pval1, 1)) #self.assertTrue(abs(0.175 - pval2) < 0.2) self.assertEqual(round(-11.002, 3), round(score1, 3)) self.assertEqual(round(0.001, 1), round(pval1, 1)) self.assertTrue(abs(0.04 - pval2) < 0.1) if CHKTIME: print '3', time() - t0
def test_03_tad_multi_aligner(self): test_chr = Chromosome(name='Test Chromosome', tad_handlers=[exp1, exp2, exp3, exp4], experiment_names=['exp1', 'exp2', 'exp3', 'exp4'], experiment_resolutions=[40000,20000,20000,20000]) test_chr.align_experiments(verbose=False, randomize=False,method='global') score1, pval1 = test_chr.align_experiments(verbose=False,method='global', randomize=True) _, pval2 = test_chr.align_experiments(verbose=False, randomize=True, rnd_method='shuffle') self.assertEqual(round(-26.095, 3), round(score1, 3)) self.assertEqual(round(0.001, 1), round(pval1, 1)) self.assertTrue(abs(0.175 - pval2) < 0.2)
def test_03_tad_multi_aligner(self): test_chr = Chromosome(name='Test Chromosome', experiment_tads=[exp1, exp2, exp3, exp4], experiment_hic_data=['40Kb/chrT/chrT_A.tsv', '20Kb/chrT/chrT_B.tsv', '20Kb/chrT/chrT_C.tsv', '20Kb/chrT/chrT_D.tsv'], experiment_names=['exp1', 'exp2', 'exp3', 'exp4'], experiment_resolutions=[40000,20000,20000,20000]) for exp in test_chr.experiments: exp.normalize_hic(method='visibility') test_chr.align_experiments(verbose=False, randomize=False, method='global') score1, pval1 = test_chr.align_experiments(verbose=False,method='global', randomize=True) _, pval2 = test_chr.align_experiments(verbose=False, randomize=True, rnd_method='shuffle') self.assertEqual(round(-26.095, 3), round(score1, 3)) self.assertEqual(round(0.001, 1), round(pval1, 1)) self.assertTrue(abs(0.175 - pval2) < 0.2)
def test_03_tad_multi_aligner(self): if ONLY and not "03" in ONLY: return if CHKTIME: t0 = time() test_chr = Chromosome( name="Test Chromosome", centromere_search=True, experiment_tads=[exp1, exp2, exp3, exp4], experiment_hic_data=[ PATH + "/40Kb/chrT/chrT_A.tsv", PATH + "/20Kb/chrT/chrT_B.tsv", PATH + "/20Kb/chrT/chrT_C.tsv", PATH + "/20Kb/chrT/chrT_D.tsv" ], experiment_names=["exp1", "exp2", "exp3", "exp4"], experiment_resolutions=[40000, 20000, 20000, 20000], silent=True) for exp in test_chr.experiments: exp.normalize_hic(silent=True, factor=None) test_chr.align_experiments(verbose=False, randomize=False, method="global") _, (score1, pval1, perc1, perc2) = test_chr.align_experiments(verbose=False, method="global", randomize=True, rnd_num=100) _, (_, pval2, perc1, perc2) = test_chr.align_experiments(verbose=False, randomize=True, rnd_method="shuffle", rnd_num=100) # Values with alignments obtained with square root normalization. #self.assertEqual(round(-26.095, 3), round(score1, 3)) #self.assertEqual(round(0.001, 1), round(pval1, 1)) #self.assertTrue(abs(0.175 - pval2) < 0.2) self.assertEqual(round(-11.002, 3), round(score1, 3)) self.assertEqual(round(0.001, 1), round(pval1, 1)) self.assertTrue(abs(0.04 - pval2) < 0.1) if CHKTIME: print "3", time() - t0
def test_03_tad_multi_aligner(self): if ONLY and ONLY != "03": return if CHKTIME: t0 = time() test_chr = Chromosome( name="Test Chromosome", centromere_search=True, experiment_tads=[exp1, exp2, exp3, exp4], experiment_hic_data=[ PATH + "/40Kb/chrT/chrT_A.tsv", PATH + "/20Kb/chrT/chrT_B.tsv", PATH + "/20Kb/chrT/chrT_C.tsv", PATH + "/20Kb/chrT/chrT_D.tsv", ], experiment_names=["exp1", "exp2", "exp3", "exp4"], experiment_resolutions=[40000, 20000, 20000, 20000], silent=True, ) for exp in test_chr.experiments: exp.normalize_hic(silent=True, factor=None) test_chr.align_experiments(verbose=False, randomize=False, method="global") _, (score1, pval1, perc1, perc2) = test_chr.align_experiments( verbose=False, method="global", randomize=True, rnd_num=100 ) _, (_, pval2, perc1, perc2) = test_chr.align_experiments( verbose=False, randomize=True, rnd_method="shuffle", rnd_num=100 ) # Values with alignments obtained with square root normalization. # self.assertEqual(round(-26.095, 3), round(score1, 3)) # self.assertEqual(round(0.001, 1), round(pval1, 1)) # self.assertTrue(abs(0.175 - pval2) < 0.2) self.assertEqual(round(-11.002, 3), round(score1, 3)) self.assertEqual(round(0.001, 1), round(pval1, 1)) self.assertTrue(abs(0.04 - pval2) < 0.1) if CHKTIME: print "3", time() - t0
def test_tad_multi_aligner(self): exp1 = tadbit("chrT/chrT_A.tsv", max_tad_size="auto", verbose=False, no_heuristic=False) exp2 = tadbit("chrT/chrT_B.tsv", max_tad_size="auto", verbose=False, no_heuristic=False) exp3 = tadbit("chrT/chrT_C.tsv", max_tad_size="auto", verbose=False, no_heuristic=False) exp4 = tadbit("chrT/chrT_D.tsv", max_tad_size="auto", verbose=False, no_heuristic=False) test_chr = Chromosome( name="Test Chromosome", resolution=20000, experiments=[exp1, exp2, exp3, exp4], experiment_names=["exp1", "exp2", "exp3", "exp4"], ) score, pval = test_chr.align_experiments(verbose=False, randomize=True) self.assertEqual(round(19.555803, 3), round(score, 3)) self.assertEqual(round(0.4, 1), round(pval, 1))
# initiate a chromosome object that will store all Hi-C data and analysis my_chrom = Chromosome(name='My fisrt chromsome') # load Hi-C data my_chrom.add_experiment('First Hi-C experiment', xp_handler="sample_data/HIC_k562_chr19_chr19_100000_obs.txt", resolution=100000) my_chrom.add_experiment('Second Hi-C experiment', xp_handler="sample_data/HIC_gm06690_chr19_chr19_100000_obs.txt", resolution=100000) # run core tadbit function to find TADs, on each experiment my_chrom.find_tad('First Hi-C experiment' , n_cpus=8, verbose=False) my_chrom.find_tad('Second Hi-C experiment', n_cpus=8, verbose=False) print my_chrom.experiments my_chrom.align_experiments(names=["First Hi-C experiment", "Second Hi-C experiment"]) print my_chrom.alignment ali = my_chrom.alignment[('First Hi-C experiment', 'Second Hi-C experiment')] print ali.write_alignment(ftype='html') score, pval = my_chrom.align_experiments(randomize=True, rnd_num=1000) print score, pval score, pval = my_chrom.align_experiments(randomize=True, rnd_method="shuffle", rnd_num=1000) print score, pval