Create a class to handle mapping extension to ucsc view attributes.
[htsworkflow.git] / extra / ucsc_encode_submission / test_ucsc_gather.py
1 import unittest
2
3 import ucsc_gather
4
5 class testUCSCGather(unittest.TestCase):
6     def test_view_attribute_map(self):
7         view_map = ucsc_gather.NameToViewMap()
8         view_map.lib_cache["0"] = {
9             "cell_line": "NLHF",
10             "replicate": "1",
11             "lane_set": {},
12             }
13     
14         a = view_map.find_attributes("foo.ini", "0")    
15         self.failUnless(a["view"] is None)
16     
17         a = view_map.find_attributes("asdf.fdsa", "0")
18         self.failUnless(a is None)
19     
20         a = view_map.find_attributes("foo.fastq", "0")
21         self.failUnlessEqual(a["view"], "Fastq", "0")
22     
23         a = view_map.find_attributes("foo_r1.fastq", "0")
24         self.failUnlessEqual(a["view"], "FastqRd1", "0")
25
26     def test_get_library_info_paired(self):
27         view_map = ucsc_gather.NameToViewMap()
28         view_map.lib_cache["11588"] = {
29             u'antibody_id': None,
30             u'cell_line': u'NHLF',
31             u'cell_line_id': 13,
32             u'experiment_type': u'RNA-seq',
33             u'experiment_type_id': 4,
34             u'gel_cut_size': 300,
35             u'hidden': False,
36             u'id': u'11588',
37             u'insert_size': 200,
38             u'lane_set': [{u'flowcell': u'61PKCAAXX',
39                            u'lane_number': 8,
40                            u'paired_end': True,
41                            u'read_length': 76,
42                            u'status': u'Unknown',
43                            u'status_code': None},
44                           {u'flowcell': u'61PKLAAXX',
45                            u'lane_number': 8,
46                            u'paired_end': True,
47                            u'read_length': 76,
48                            u'status': u'Unknown',
49                            u'status_code': None}],
50             u'library_id': u'11588',
51             u'library_name': u'Paired ends 254 NHLF 31',
52             u'library_species': u'Homo sapiens',
53             u'library_species_id': 8,
54             u'library_type': u'Paired End',
55             u'library_type_id': 2,
56             u'made_by': u'Brian',
57             u'made_for': u'Brian',
58             u'notes': u'300 bp gel fragment, SPRI beads cleanup',
59             u'replicate': 2,
60             u'stopping_point': u'1Aa',
61             u'successful_pM': None,
62             u'undiluted_concentration': u'26.2'}
63
64         a = view_map.find_attributes("foo.bam", "11588")
65         self.failUnlessEqual(a["view"], "Paired")
66         self.failUnlessEqual(a["insertLength"], 200)
67
68
69 def suite():
70     return unittest.makeSuite(testUCSCGather,"test")
71
72 if __name__ == "__main__":
73     unittest.main(defaultTest="suite")
74