From 28e32478ba6e2850f29950d783118cc875e7d3fa Mon Sep 17 00:00:00 2001 From: Diane Trout Date: Thu, 5 Dec 2013 16:02:51 -0800 Subject: [PATCH] After implementing proper tests get a working implementation of runfolder name from IPAR tree. My first couple tries didn't work hopefully this one will work --- htsworkflow/pipelines/ipar.py | 9 +- .../pipelines/test/test_alignment_free.py | 32 + .../testdata/run_C23KDACXX_2013-05-11.xml | 1653 +++++++++++++++++ 3 files changed, 1692 insertions(+), 2 deletions(-) create mode 100644 htsworkflow/pipelines/test/test_alignment_free.py create mode 100644 htsworkflow/pipelines/test/testdata/run_C23KDACXX_2013-05-11.xml diff --git a/htsworkflow/pipelines/ipar.py b/htsworkflow/pipelines/ipar.py index fd49b78..c2cc6a3 100644 --- a/htsworkflow/pipelines/ipar.py +++ b/htsworkflow/pipelines/ipar.py @@ -79,8 +79,13 @@ class IPAR(object): """Return runfolder name""" if self.tree is None: raise ValueError("Can't query an empty run") - runfolder = self.tree.xpath('RunParameters/Runfolder') - return runfolder + runfolder = self.tree.xpath('RunParameters/RunFolder') + if len(runfolder) == 0: + return None + elif len(runfolder) > 1: + raise RuntimeError("RunXml parse error looking for RunFolder") + else: + return runfolder[0].text runfolder_name = property(_get_runfolder_name) def _get_software(self): diff --git a/htsworkflow/pipelines/test/test_alignment_free.py b/htsworkflow/pipelines/test/test_alignment_free.py new file mode 100644 index 0000000..700000b --- /dev/null +++ b/htsworkflow/pipelines/test/test_alignment_free.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python + +from datetime import datetime, date +import os +import tempfile +import shutil +from unittest2 import TestCase + +from htsworkflow.pipelines.test.simulate_runfolder import TESTDATA_DIR + +from htsworkflow.pipelines import eland +from htsworkflow.pipelines import ipar +from htsworkflow.pipelines import bustard +from htsworkflow.pipelines import gerald +from htsworkflow.pipelines import runfolder + +class AlignmentFreeRunfolderTests(TestCase): + def test_loading(self): + run_xml = os.path.join(TESTDATA_DIR, 'run_C23KDACXX_2013-05-11.xml') + run = runfolder.load_pipeline_run_xml(run_xml) + self.assertEqual(run.runfolder_name, '130508_SN787_0146_BC23KDACXX') + +def suite(): + from unittest2 import TestSuite, defaultTestLoader + suite = TestSuite() + suite.addTests(defaultTestLoader.loadTestsFromTestCase(AlignmentFreeRunfolderTests)) + return suite + + +if __name__ == "__main__": + from unittest2 import main + main(defaultTest="suite") diff --git a/htsworkflow/pipelines/test/testdata/run_C23KDACXX_2013-05-11.xml b/htsworkflow/pipelines/test/testdata/run_C23KDACXX_2013-05-11.xml new file mode 100644 index 0000000..4f5ce85 --- /dev/null +++ b/htsworkflow/pipelines/test/testdata/run_C23KDACXX_2013-05-11.xml @@ -0,0 +1,1653 @@ + + C23KDACXX + + 1368271031 + + + + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + + 1 + 50 + 130508_SN787_0146_BC23KDACXX + + + 51 + 58 + 130508_SN787_0146_BC23KDACXX + + HWI-ST0787 + 0 + 0 + 0 + 0 + + 1 + 50 + 130508_SN787_0146_BC23KDACXX + + + 51 + 58 + 130508_SN787_0146_BC23KDACXX + + 130508_SN787_0146_BC23KDACXX + 130508 + 0146 + C23KDACXX + + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + + V6 + + + + + s + 1103 + 1104 + 1101 + 1102 + 1108 + 1105 + 1106 + 1107 + 1109 + 1110 + 1111 + 1112 + 1116 + 1115 + 1113 + 1114 + 1204 + 1201 + 1203 + 1202 + 1207 + 1208 + 1205 + 1206 + 1212 + 1211 + 1209 + 1210 + 1214 + 1216 + 1215 + 1213 + 1304 + 1302 + 1301 + 1303 + 1305 + 1308 + 1307 + 1306 + 1309 + 1311 + 1312 + 1310 + 1313 + 1316 + 1314 + 1315 + 2101 + 2102 + 2104 + 2103 + 2106 + 2107 + 2105 + 2108 + 2109 + 2110 + 2112 + 2111 + 2116 + 2114 + 2113 + 2115 + 2204 + 2203 + 2201 + 2202 + 2207 + 2208 + 2205 + 2206 + 2211 + 2210 + 2209 + 2212 + 2215 + 2213 + 2214 + 2301 + 2216 + 2302 + 2303 + 2307 + 2305 + 2304 + 2306 + 2309 + 2311 + 2308 + 2310 + 2313 + 2315 + 2312 + 2314 + 2316 + + + s + 1101 + 1103 + 1102 + 1105 + 1107 + 1104 + 1109 + 1106 + 1108 + 1111 + 1113 + 1112 + 1110 + 1115 + 1201 + 1114 + 1116 + 1205 + 1203 + 1209 + 1204 + 1207 + 1202 + 1206 + 1208 + 1211 + 1213 + 1212 + 1210 + 1301 + 1215 + 1305 + 1216 + 1303 + 1214 + 1307 + 1309 + 1304 + 1302 + 1311 + 1306 + 1308 + 1313 + 1315 + 1312 + 2101 + 1310 + 1316 + 2103 + 2105 + 1314 + 2104 + 2109 + 2107 + 2102 + 2108 + 2111 + 2113 + 2106 + 2112 + 2115 + 2201 + 2110 + 2205 + 2116 + 2203 + 2114 + 2209 + 2207 + 2202 + 2204 + 2206 + 2211 + 2208 + 2213 + 2212 + 2215 + 2210 + 2301 + 2216 + 2214 + 2303 + 2305 + 2304 + 2307 + 2302 + 2309 + 2308 + 2306 + 2311 + 2313 + 2312 + 2310 + 2316 + 2315 + 2314 + + + s + 1101 + 1105 + 1104 + 1103 + 1102 + 1107 + 1109 + 1108 + 1106 + 1112 + 1110 + 1113 + 1111 + 1116 + 1114 + 1115 + 1201 + 1204 + 1203 + 1202 + 1205 + 1206 + 1208 + 1207 + 1210 + 1209 + 1211 + 1212 + 1214 + 1215 + 1213 + 1216 + 1301 + 1303 + 1302 + 1304 + 1305 + 1306 + 1307 + 1308 + 1309 + 1310 + 1311 + 1312 + 1313 + 1314 + 1315 + 2101 + 1316 + 2103 + 2105 + 2102 + 2104 + 2107 + 2109 + 2106 + 2108 + 2111 + 2110 + 2113 + 2112 + 2115 + 2116 + 2114 + 2201 + 2203 + 2204 + 2202 + 2206 + 2207 + 2205 + 2208 + 2209 + 2210 + 2211 + 2212 + 2213 + 2214 + 2216 + 2215 + 2302 + 2301 + 2303 + 2304 + 2306 + 2308 + 2305 + 2307 + 2309 + 2311 + 2310 + 2312 + 2315 + 2316 + 2313 + 2314 + + + s + 1103 + 1101 + 1104 + 1102 + 1107 + 1108 + 1106 + 1105 + 1112 + 1111 + 1110 + 1109 + 1115 + 1114 + 1116 + 1203 + 1202 + 1113 + 1204 + 1207 + 1201 + 1206 + 1208 + 1205 + 1211 + 1212 + 1210 + 1209 + 1215 + 1214 + 1216 + 1213 + 1303 + 1304 + 1302 + 1301 + 1308 + 1307 + 1306 + 1311 + 1305 + 1312 + 1310 + 1309 + 1314 + 1315 + 1316 + 1313 + 2102 + 2104 + 2103 + 2101 + 2108 + 2106 + 2105 + 2107 + 2110 + 2112 + 2109 + 2111 + 2113 + 2115 + 2116 + 2114 + 2201 + 2202 + 2204 + 2203 + 2206 + 2207 + 2205 + 2208 + 2212 + 2210 + 2211 + 2209 + 2214 + 2213 + 2216 + 2215 + 2301 + 2302 + 2304 + 2303 + 2305 + 2306 + 2308 + 2307 + 2309 + 2312 + 2311 + 2310 + 2313 + 2316 + 2314 + 2315 + + + s + 1104 + 1101 + 1102 + 1103 + 1108 + 1105 + 1106 + 1112 + 1107 + 1109 + 1110 + 1111 + 1116 + 1113 + 1114 + 1201 + 1204 + 1115 + 1202 + 1208 + 1205 + 1203 + 1206 + 1210 + 1209 + 1212 + 1207 + 1213 + 1214 + 1211 + 1216 + 1301 + 1304 + 1302 + 1215 + 1308 + 1305 + 1303 + 1306 + 1309 + 1312 + 1310 + 1307 + 1313 + 1316 + 1311 + 1314 + 2101 + 2104 + 1315 + 2102 + 2105 + 2108 + 2103 + 2109 + 2106 + 2112 + 2107 + 2110 + 2111 + 2113 + 2116 + 2114 + 2201 + 2115 + 2204 + 2202 + 2205 + 2208 + 2203 + 2209 + 2206 + 2212 + 2207 + 2213 + 2210 + 2211 + 2216 + 2214 + 2301 + 2215 + 2304 + 2302 + 2305 + 2303 + 2308 + 2306 + 2309 + 2307 + 2312 + 2310 + 2313 + 2311 + 2316 + 2315 + 2314 + + + s + 1104 + 1101 + 1108 + 1105 + 1103 + 1112 + 1102 + 1109 + 1107 + 1106 + 1116 + 1111 + 1110 + 1113 + 1204 + 1115 + 1114 + 1201 + 1208 + 1203 + 1202 + 1205 + 1209 + 1207 + 1212 + 1206 + 1211 + 1216 + 1213 + 1210 + 1215 + 1301 + 1304 + 1214 + 1305 + 1302 + 1303 + 1308 + 1306 + 1307 + 1309 + 1310 + 1311 + 1312 + 1313 + 1314 + 1316 + 1315 + 2101 + 2102 + 2103 + 2105 + 2104 + 2106 + 2107 + 2108 + 2109 + 2110 + 2112 + 2111 + 2113 + 2114 + 2116 + 2201 + 2115 + 2202 + 2205 + 2203 + 2204 + 2206 + 2208 + 2209 + 2207 + 2210 + 2211 + 2212 + 2213 + 2215 + 2214 + 2216 + 2301 + 2303 + 2302 + 2304 + 2307 + 2306 + 2305 + 2308 + 2311 + 2309 + 2310 + 2312 + 2315 + 2313 + 2314 + 2316 + + + s + 1103 + 1101 + 1102 + 1104 + 1107 + 1105 + 1106 + 1108 + 1109 + 1111 + 1110 + 1112 + 1115 + 1113 + 1114 + 1116 + 1201 + 1203 + 1202 + 1204 + 1205 + 1206 + 1207 + 1208 + 1210 + 1211 + 1209 + 1212 + 1215 + 1216 + 1214 + 1213 + 1304 + 1302 + 1303 + 1301 + 1306 + 1308 + 1305 + 1307 + 1310 + 1309 + 1312 + 1313 + 1314 + 1311 + 1316 + 2101 + 1315 + 2102 + 2105 + 2106 + 2104 + 2109 + 2103 + 2108 + 2110 + 2107 + 2113 + 2112 + 2114 + 2111 + 2201 + 2116 + 2202 + 2115 + 2205 + 2206 + 2204 + 2209 + 2203 + 2208 + 2210 + 2207 + 2213 + 2214 + 2212 + 2211 + 2301 + 2216 + 2302 + 2305 + 2215 + 2306 + 2304 + 2309 + 2303 + 2308 + 2310 + 2307 + 2313 + 2312 + 2314 + 2311 + 2316 + 2315 + + + s + 1101 + 1105 + 1102 + 1104 + 1109 + 1108 + 1103 + 1106 + 1110 + 1112 + 1107 + 1113 + 1111 + 1114 + 1116 + 1201 + 1205 + 1115 + 1202 + 1204 + 1209 + 1206 + 1203 + 1208 + 1210 + 1213 + 1207 + 1212 + 1301 + 1214 + 1211 + 1216 + 1305 + 1215 + 1302 + 1304 + 1309 + 1308 + 1306 + 1303 + 1313 + 1310 + 1307 + 1312 + 1311 + 2101 + 1316 + 1314 + 2105 + 1315 + 2104 + 2102 + 2109 + 2108 + 2106 + 2103 + 2113 + 2112 + 2107 + 2110 + 2201 + 2111 + 2114 + 2116 + 2205 + 2204 + 2115 + 2202 + 2209 + 2208 + 2203 + 2206 + 2213 + 2212 + 2210 + 2207 + 2301 + 2211 + 2214 + 2216 + 2305 + 2302 + 2215 + 2304 + 2309 + 2306 + 2308 + 2303 + 2313 + 2312 + 2310 + 2307 + 2311 + 2314 + 2316 + 2315 + + + + + + + 1.13.48.0 + + + + + 0.6 + + 1 + 5 + 1 + 0 + 1 + 50 + 1 + + + 1 + 5 + 51 + 0 + 51 + 58 + 2 + + + 1 + 5 + 2 + 1 + 1 + 50 + 0 + 0 + 1 + + + 1 + 5 + 52 + 1 + 51 + 58 + 0 + 0 + 2 + + 0 + failed-chastity + le + 1.0 + + + + 0 + + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + + 0 + 0 + 0 + 0 + + 1 + 50 + + + 51 + 58 + 130508_SN787_0146_BC23KDACXX + + HWI-ST0787 + 0 + 0 + 0 + 0 + V6 + C23KDACXX + 130508_SN787_0146_BC23KDACXX + 130508 + 0146 + + 1 + 50 + + + + + + s + 1103 + 1101 + 1102 + 1104 + 1106 + 1107 + 1105 + 1108 + 1110 + 1111 + 1109 + 1112 + 1113 + 1114 + 1115 + 1116 + 1202 + 1201 + 1203 + 1204 + 1205 + 1206 + 1207 + 1208 + 1209 + 1210 + 1211 + 1212 + 1213 + 1214 + 1215 + 1216 + 1301 + 1302 + 1303 + 1304 + 1305 + 1306 + 1307 + 1308 + 1309 + 1310 + 1311 + 1312 + 1313 + 1314 + 1315 + 1316 + 2101 + 2102 + 2103 + 2104 + 2105 + 2106 + 2107 + 2108 + 2109 + 2110 + 2111 + 2112 + 2113 + 2114 + 2115 + 2116 + 2201 + 2202 + 2203 + 2205 + 2204 + 2206 + 2207 + 2209 + 2208 + 2210 + 2211 + 2212 + 2213 + 2214 + 2215 + 2216 + 2301 + 2302 + 2303 + 2305 + 2304 + 2306 + 2307 + 2309 + 2308 + 2310 + 2311 + 2313 + 2312 + 2314 + 2315 + 2316 + + + s + 1101 + 1102 + 1103 + 1105 + 1104 + 1106 + 1107 + 1109 + 1108 + 1110 + 1111 + 1113 + 1112 + 1114 + 1115 + 1201 + 1116 + 1202 + 1205 + 1203 + 1209 + 1206 + 1204 + 1207 + 1208 + 1210 + 1211 + 1213 + 1212 + 1214 + 1215 + 1301 + 1216 + 1305 + 1302 + 1303 + 1309 + 1306 + 1304 + 1307 + 1313 + 1308 + 1310 + 1311 + 1312 + 2101 + 1314 + 1315 + 2105 + 1316 + 2102 + 2103 + 2109 + 2106 + 2104 + 2107 + 2113 + 2108 + 2110 + 2111 + 2201 + 2112 + 2114 + 2115 + 2205 + 2116 + 2202 + 2203 + 2209 + 2204 + 2206 + 2207 + 2213 + 2208 + 2211 + 2210 + 2301 + 2212 + 2215 + 2214 + 2305 + 2216 + 2302 + 2309 + 2303 + 2304 + 2306 + 2307 + 2313 + 2308 + 2310 + 2311 + 2312 + 2314 + 2315 + 2316 + + + s + 1101 + 1105 + 1109 + 1113 + 1102 + 1103 + 1106 + 1201 + 1107 + 1104 + 1205 + 1110 + 1111 + 1108 + 1209 + 1114 + 1115 + 1112 + 1213 + 1202 + 1203 + 1116 + 1206 + 1301 + 1207 + 1305 + 1210 + 1204 + 1211 + 1309 + 1214 + 1208 + 1215 + 1313 + 1212 + 1302 + 2101 + 1216 + 1303 + 1306 + 2105 + 1307 + 1310 + 1304 + 2109 + 1311 + 1314 + 1308 + 2113 + 1315 + 1312 + 2102 + 2201 + 2106 + 2103 + 1316 + 2205 + 2110 + 2107 + 2209 + 2104 + 2114 + 2111 + 2213 + 2108 + 2115 + 2202 + 2112 + 2301 + 2206 + 2203 + 2305 + 2116 + 2210 + 2207 + 2309 + 2214 + 2204 + 2211 + 2313 + 2208 + 2302 + 2215 + 2306 + 2212 + 2303 + 2310 + 2216 + 2307 + 2314 + 2311 + 2304 + 2308 + 2315 + 2312 + 2316 + + + s + 1101 + 1105 + 1102 + 1109 + 1103 + 1106 + 1113 + 1104 + 1107 + 1110 + 1201 + 1108 + 1111 + 1114 + 1205 + 1112 + 1115 + 1209 + 1202 + 1116 + 1203 + 1206 + 1213 + 1207 + 1204 + 1301 + 1210 + 1208 + 1305 + 1211 + 1214 + 1212 + 1309 + 1215 + 1302 + 1216 + 1313 + 1303 + 1306 + 1304 + 2101 + 1307 + 1310 + 1308 + 2105 + 1311 + 1314 + 1312 + 2109 + 1315 + 2102 + 2113 + 1316 + 2106 + 2103 + 2201 + 2107 + 2110 + 2104 + 2205 + 2108 + 2111 + 2114 + 2209 + 2112 + 2202 + 2115 + 2213 + 2206 + 2116 + 2203 + 2301 + 2210 + 2207 + 2204 + 2305 + 2214 + 2208 + 2211 + 2309 + 2302 + 2215 + 2212 + 2313 + 2306 + 2303 + 2216 + 2310 + 2307 + 2304 + 2314 + 2308 + 2311 + 2312 + 2315 + 2316 + + + s + 1101 + 1105 + 1109 + 1102 + 1113 + 1106 + 1110 + 1103 + 1201 + 1107 + 1104 + 1114 + 1205 + 1108 + 1111 + 1209 + 1202 + 1112 + 1206 + 1115 + 1213 + 1116 + 1210 + 1203 + 1301 + 1207 + 1214 + 1305 + 1204 + 1211 + 1309 + 1208 + 1302 + 1215 + 1212 + 1306 + 1313 + 1303 + 1310 + 1216 + 2101 + 1307 + 1314 + 2105 + 1304 + 1311 + 2109 + 2102 + 1308 + 1315 + 2106 + 2113 + 1312 + 2110 + 2103 + 2201 + 1316 + 2107 + 2205 + 2114 + 2104 + 2111 + 2209 + 2202 + 2108 + 2115 + 2213 + 2206 + 2112 + 2210 + 2301 + 2203 + 2116 + 2207 + 2305 + 2214 + 2211 + 2204 + 2309 + 2302 + 2208 + 2215 + 2306 + 2313 + 2212 + 2310 + 2303 + 2216 + 2307 + 2314 + 2311 + 2304 + 2308 + 2315 + 2312 + 2316 + + + s + 1101 + 1105 + 1109 + 1102 + 1113 + 1106 + 1201 + 1110 + 1103 + 1205 + 1114 + 1107 + 1209 + 1202 + 1111 + 1213 + 1104 + 1206 + 1115 + 1301 + 1108 + 1210 + 1203 + 1305 + 1112 + 1214 + 1207 + 1309 + 1116 + 1302 + 1211 + 1313 + 1306 + 1204 + 1215 + 2101 + 1310 + 1208 + 1303 + 2105 + 1314 + 1212 + 1307 + 2109 + 1216 + 2102 + 1311 + 2113 + 2106 + 1315 + 1304 + 2201 + 2110 + 2205 + 1308 + 2103 + 2114 + 2209 + 1312 + 2107 + 2202 + 2213 + 2111 + 1316 + 2206 + 2115 + 2301 + 2210 + 2104 + 2305 + 2203 + 2108 + 2214 + 2309 + 2207 + 2112 + 2302 + 2313 + 2211 + 2116 + 2306 + 2215 + 2310 + 2204 + 2208 + 2303 + 2314 + 2307 + 2212 + 2311 + 2216 + 2315 + 2304 + 2308 + 2312 + 2316 + + + s + 1101 + 1105 + 1109 + 1113 + 1201 + 1102 + 1205 + 1106 + 1209 + 1110 + 1213 + 1114 + 1103 + 1301 + 1107 + 1202 + 1305 + 1206 + 1111 + 1309 + 1210 + 1115 + 1313 + 1214 + 1203 + 2101 + 1104 + 1207 + 1302 + 2105 + 1108 + 1211 + 1306 + 2109 + 1112 + 1310 + 1215 + 2113 + 1116 + 1314 + 1303 + 2201 + 1307 + 1204 + 2102 + 2205 + 1311 + 1208 + 2106 + 2209 + 1212 + 2110 + 1315 + 2213 + 2114 + 1216 + 2103 + 2301 + 2202 + 2107 + 2305 + 1304 + 2111 + 2206 + 2309 + 1308 + 2210 + 2115 + 1312 + 2313 + 2214 + 2203 + 1316 + 2207 + 2302 + 2104 + 2211 + 2306 + 2108 + 2215 + 2310 + 2112 + 2314 + 2303 + 2116 + 2307 + 2204 + 2311 + 2208 + 2315 + 2212 + 2216 + 2304 + 2308 + 2312 + 2316 + + + + + + -- 2.30.2