Add in test code for testing downloading the ucsc download file index
authorDiane Trout <diane@caltech.edu>
Tue, 20 Dec 2011 00:33:55 +0000 (16:33 -0800)
committerDiane Trout <diane@caltech.edu>
Tue, 20 Dec 2011 00:33:55 +0000 (16:33 -0800)
htsworkflow/submission/test/test_ucsc.py [new file with mode: 0644]

diff --git a/htsworkflow/submission/test/test_ucsc.py b/htsworkflow/submission/test/test_ucsc.py
new file mode 100644 (file)
index 0000000..f05de23
--- /dev/null
@@ -0,0 +1,29 @@
+import unittest
+from StringIO import StringIO
+
+from htsworkflow.submission import ucsc
+
+
+ENCODE_FILES="""wgEncodeGisChiaPetHCT116D000005593.bed.gz      project=wgEncode; grant=Ruan; lab=GIS-Ruan; composite=wgEncodeGisChiaPet; dataType=ChiaPet; view=Interactions; cell=HCT-116; antibody=Pol2; replicate=1; origAssembly=hg19; dataVersion=ENCODE Jan 2011 Freeze; dccAccession=wgEncodeEH001427; dateSubmitted=2011-02-04; dateUnrestricted=2011-11-04; subId=3267; labVersion=CHH524; tableName=wgEncodeGisChiaPetHCT116D000005593; type=bed; md5sum=a3c7420aece4acfb15f80f4dfe9f1fb3; size=924K
+wgEncodeCaltechRnaSeqGm12878R2x75Il200FastqRd2Rep1.fastq.tgz   project=wgEncode; grant=Myers; lab=Caltech; composite=wgEncodeCaltechRnaSeq; dataType=RnaSeq; view=FastqRd2; cell=GM12878; localization=cell; rnaExtract=longPolyA; readType=2x75; insertLength=200; replicate=1; origAssembly=hg18; dataVersion=ENCODE Jan 2011 Freeze; dccAccession=wgEncodeEH000122; dateSubmitted=2010-07-14; dateResubmitted=2010-06-21; dateUnrestricted=2011-04-14; subId=1647; type=fastq; md5sum=51c4d1679b0ad29888bea2b40e26364a; size=4.8G
+"""
+
+
+class TestUCSCInfo(unittest.TestCase):
+    def test_parse_encodedcc_file(self):
+        stream = StringIO(ENCODE_FILES)
+        file_index = ucsc.parse_ucsc_file_index(stream)
+        self.assertEquals(len(file_index), 2)
+
+        for attributes in file_index.values():
+            self.assertIn('subId', attributes)
+            self.assertIn('project', attributes)
+            self.assertEquals(attributes['project'], 'wgEncode')
+
+def suite():
+    suite = unittest.makeSuite(TestUCSCInfo, 'test')
+    return suite
+
+if __name__ == "__main__":
+    unittest.main(defaultTest='suite')
+