def testMulticoreAnnotate(self): """Test a (too) simple annotating exercise from GAF on 2 cores""" gafDatasource = TestUtils.createGafDatasourceProxy(self.config) # Test pickling dump(gafDatasource, file('out/testGAFPickle.pkl','w')) m1 = MutationData() m1.chr = '3' m1.start = '178866811' m1.end = '178866811' m1.ref_allele = "A" m1.alt_allele = "C" m1.build = "hg19" m2 = MutationData() m2.chr = '3' m2.start = '178866812' m2.end = '178866812' m2.ref_allele = "A" m2.alt_allele = "C" m2.build = "hg19" p = LoggingPool(processes=2) result = p.map(annotate_mutation_global, [(gafDatasource, m1), (gafDatasource, m2)]) p.close() p.join() for r in result: self.assertTrue("transcript_id" in r.keys()) self.assertTrue("gene" in r.keys()) self.assertTrue(r["gene"] == "PIK3CA") self.assertTrue(result[0].start != result[1].start)
def testMulticoreAnnotate(self): """Test a (too) simple annotating exercise from GAF on 2 cores""" gafDatasource = TestUtils.createGafDatasourceProxy(self.config) # Test pickling dump(gafDatasource, file('out/testGAFPickle.pkl', 'w')) m1 = MutationData() m1.chr = '3' m1.start = '178866811' m1.end = '178866811' m1.ref_allele = "A" m1.alt_allele = "C" m1.build = "hg19" m2 = MutationData() m2.chr = '3' m2.start = '178866812' m2.end = '178866812' m2.ref_allele = "A" m2.alt_allele = "C" m2.build = "hg19" p = LoggingPool(processes=2) result = p.map(annotate_mutation_global, [(gafDatasource, m1), (gafDatasource, m2)]) p.close() p.join() for r in result: self.assertTrue("transcript_id" in r.keys()) self.assertTrue("gene" in r.keys()) self.assertTrue(r["gene"] == "PIK3CA") self.assertTrue(result[0].start != result[1].start)
def test_hgvs_annotations_simple_SNP(self): """Test that HGVS annotations appear (incl. protein change) in a mutation, so we believe that the Transcript objects are populated properly.""" ds = TestUtils._create_test_gencode_v19_ds("out/test_hgvs_annotations_SNP_") # Now for a negative strand m = MutationData() m.chr = "22" m.start = "22221730" m.end = "22221730" m.ref_allele = "T" m.alt_allele = "G" m.build = "hg19" m2 = ds.annotate_mutation(m) self.assertEqual(m2.get('HGVS_genomic_change', None), 'chr22.hg19:g.22221730T>G') self.assertEqual(m2.get('HGVS_coding_DNA_change', None), 'ENST00000215832.6:c.1A>C') self.assertEqual(m2.get('HGVS_protein_change', None), 'ENSP00000215832:p.Met1Leu')
def test_hgvs_annotations_simple_SNP(self): """Test that HGVS annotations appear (incl. protein change) in a mutation, so we believe that the Transcript objects are populated properly.""" ds = TestUtils._create_test_gencode_ds("out/test_hgvs_annotations_") # Now for a negative strand m = MutationData() m.chr = "22" m.start = "22221730" m.end = "22221730" m.ref_allele = "T" m.alt_allele = "G" m.build = "hg19" m2 = ds.annotate_mutation(m) self.assertEqual(m2.get('HGVS_genomic_change', None), 'chr22.hg19:g.22221730T>G') self.assertEqual(m2.get('HGVS_coding_DNA_change', None), 'ENST00000215832.6:c.1A>C') self.assertEqual(m2.get('HGVS_protein_change', None), 'ENSP00000215832:p.Met1Leu')
def test_no_mapping_file(self): """Test that we can still create (from scratch) and instantiate a EnsemblDatasource when no protein mapping is specified (i.e. limited HGVS support)""" """Test that HGVS annotations appear (incl. protein change) in a mutation, so we believe that the Transcript objects are populated properly.""" ds = TestUtils._create_test_gencode_v19_ds("out/test_hgvs_annotations_no_mapping_file_", protein_id_mapping_file=None) # Now for a negative strand m = MutationData() m.chr = "22" m.start = "22221730" m.end = "22221730" m.ref_allele = "T" m.alt_allele = "G" m.build = "hg19" m2 = ds.annotate_mutation(m) self.assertEqual(m2.get('HGVS_genomic_change', None), 'chr22.hg19:g.22221730T>G') self.assertEqual(m2.get('HGVS_coding_DNA_change', None), 'ENST00000215832.6:c.1A>C') self.assertEqual(m2.get('HGVS_protein_change', None), 'unknown_prot_seq_id:p.Met1Leu')
def test_no_mapping_file(self): """Test that we can still create (from scratch) and instantiate a EnsemblDatasource when no protein mapping is specified (i.e. limited HGVS support)""" """Test that HGVS annotations appear (incl. protein change) in a mutation, so we believe that the Transcript objects are populated properly.""" ds = TestUtils._create_test_gencode_ds("out/test_hgvs_annotations_no_mapping_", protein_id_mapping_file=None) # Now for a negative strand m = MutationData() m.chr = "22" m.start = "22221730" m.end = "22221730" m.ref_allele = "T" m.alt_allele = "G" m.build = "hg19" m2 = ds.annotate_mutation(m) self.assertEqual(m2.get('HGVS_genomic_change', None), 'chr22.hg19:g.22221730T>G') self.assertEqual(m2.get('HGVS_coding_DNA_change', None), 'ENST00000215832.6:c.1A>C') self.assertEqual(m2.get('HGVS_protein_change', None), 'unknown_prot_seq_id:p.Met1Leu')