Move sample data from simulate_runfolder into testdata
authorDiane Trout <diane@caltech.edu>
Sat, 28 Mar 2009 00:59:59 +0000 (00:59 +0000)
committerDiane Trout <diane@caltech.edu>
Sat, 28 Mar 2009 00:59:59 +0000 (00:59 +0000)
Also I changed make_matrix to take a filename instead of a matrix directory
as in pipeline > 1.1rc1 they started writing the matrix into the bustard
directory instead of as a subdirectory of the firecrest directory.

13 files changed:
htsworkflow/pipelines/test/simulate_runfolder.py
htsworkflow/pipelines/test/test_runfolder026.py
htsworkflow/pipelines/test/test_runfolder030.py
htsworkflow/pipelines/test/test_runfolder110.py
htsworkflow/pipelines/test/test_runfolder_ipar100.py
htsworkflow/pipelines/test/test_runfolder_ipar130.py
htsworkflow/pipelines/test/test_runfolder_pair.py
htsworkflow/pipelines/test/testdata/IPAR1.01.params [new file with mode: 0644]
htsworkflow/pipelines/test/testdata/Summary-paired-pipeline110.htm [new file with mode: 0644]
htsworkflow/pipelines/test/testdata/Summary-pipeline100.htm [new file with mode: 0644]
htsworkflow/pipelines/test/testdata/Summary-pipeline110.htm [new file with mode: 0644]
htsworkflow/pipelines/test/testdata/gerald_config_0.2.6.xml [new file with mode: 0644]
htsworkflow/pipelines/test/testdata/gerald_config_1.0.xml [new file with mode: 0644]

index 5354cfbac1e691e97e67caed9e35d23e52cfc493..53c7301483eae6b009a3dd92b4af8c29d94c260b 100644 (file)
@@ -5,6 +5,9 @@ Create simulated solexa/illumina runfolders for testing
 import os
 import shutil
 
+TEST_CODE_DIR = os.path.split(__file__)[0]
+TESTDATA_DIR = os.path.join(TEST_CODE_DIR, 'testdata')
 def make_firecrest_dir(data_dir, version="1.9.2", start=1, stop=37):
     firecrest_dir = os.path.join(data_dir, 
                                  'C%d-%d_Firecrest%s_12-04-2008_diane' % (start, stop, version)
@@ -16,73 +19,9 @@ def make_ipar_dir(data_dir):
     """
     Construct an artificial ipar parameter file and directory
     """
-    params = """<?xml version="1.0"?>
-<ImageAnalysis>
-  <Run Name="IPAR_1.01">
-    <Software Name="IPAR" Version="2.01.192.0" />
-    <Cycles First="1" Last="37" Number="37" />
-    <RunParameters>
-      <ImagingReads Index="1">
-        <FirstCycle>1</FirstCycle>
-        <LastCycle>37</LastCycle>
-        <RunFolder>081021_HWI-EAS229_0063_30HKUAAXX</RunFolder>
-      </ImagingReads>
-      <Reads Index="1">
-        <FirstCycle>1</FirstCycle>
-        <LastCycle>37</LastCycle>
-        <RunFolder>081021_HWI-EAS229_0063_30HKUAAXX</RunFolder>
-      </Reads>
-      <Compression>gzip</Compression>
-      <CompressionSuffix>.p.gz</CompressionSuffix>
-      <Instrument>HWI-EAS229</Instrument>
-      <RunFolder>081021_HWI-EAS229_0063_30HKUAAXX</RunFolder>
-    </RunParameters>
-    <ImageParameters>
-      <AutoOffsetFlag>1</AutoOffsetFlag>
-      <Fwhm>2.7</Fwhm>
-      <RemappingDistance>1.5</RemappingDistance>
-      <Threshold>4</Threshold>
-    </ImageParameters>
-    <TileSelection>
-      <Lane Index="1">
-        <Sample>s</Sample>
-        <TileRange Max="100" Min="1" />
-      </Lane>
-      <Lane Index="2">
-        <Sample>s</Sample>
-        <TileRange Max="100" Min="1" />
-      </Lane>
-      <Lane Index="3">
-        <Sample>s</Sample>
-        <TileRange Max="100" Min="1" />
-      </Lane>
-      <Lane Index="4">
-        <Sample>s</Sample>
-        <TileRange Max="100" Min="1" />
-      </Lane>
-      <Lane Index="5">
-        <Sample>s</Sample>
-        <TileRange Max="100" Min="1" />
-      </Lane>
-      <Lane Index="6">
-        <Sample>s</Sample>
-        <TileRange Max="100" Min="1" />
-      </Lane>
-      <Lane Index="7">
-        <Sample>s</Sample>
-        <TileRange Max="100" Min="1" />
-      </Lane>
-      <Lane Index="8">
-        <Sample>s</Sample>
-        <TileRange Max="100" Min="1" />
-      </Lane>
-    </TileSelection>
-  </Run>
-</ImageAnalysis>
-"""
-    f = open(os.path.join(data_dir, '.params'),'w')
-    f.write(params)
-    f.close()
+    ipar1_01_file = os.path.join(TESTDATA_DIR, 'IPAR1.01.params')
+    shutil.copy(ipar1_01_file, os.path.join(data_dir, '.params'))
+
     ipar_dir = os.path.join(data_dir, 'IPAR_1.01')
     if not os.path.exists(ipar_dir):
       os.mkdir(ipar_dir)
@@ -105,7 +44,7 @@ def make_flowcell_id(runfolder_dir, flowcell_id=None):
     f.write(config)
     f.close()
 
-def make_matrix(matrix_dir):
+def make_matrix(matrix_filename):
     contents = """# Auto-generated frequency response matrix
 > A
 > C
@@ -116,8 +55,7 @@ def make_matrix(matrix_dir):
 -0.10 -0.10 1.17 -0.03
 -0.13 -0.12 0.80 1.27
 """
-    s_matrix = os.path.join(matrix_dir, 's_matrix.txt')
-    f = open(s_matrix, 'w')
+    f = open(matrix_filename, 'w')
     f.write(contents)
     f.close()
 
@@ -132,1780 +70,35 @@ def make_phasing_params(bustard_dir):
 """)
         f.close()
 
-def make_gerald_config(gerald_dir):
-    config_xml = """<RunParameters>
-<ChipWideRunParameters>
-  <ANALYSIS>default</ANALYSIS>
-  <BAD_LANES></BAD_LANES>
-  <BAD_TILES></BAD_TILES>
-  <CONTAM_DIR></CONTAM_DIR>
-  <CONTAM_FILE></CONTAM_FILE>
-  <ELAND_GENOME>Need_to_specify_ELAND_genome_directory</ELAND_GENOME>
-  <ELAND_MULTIPLE_INSTANCES>8</ELAND_MULTIPLE_INSTANCES>
-  <ELAND_REPEAT></ELAND_REPEAT>
-  <EMAIL_DOMAIN>domain.com</EMAIL_DOMAIN>
-  <EMAIL_LIST>diane</EMAIL_LIST>
-  <EMAIL_SERVER>localhost:25</EMAIL_SERVER>
-  <EXPT_DIR>/home/diane/gec/080416_HWI-EAS229_0024_207BTAAXX/Data/C1-33_Firecrest1.8.28_19-04-2008_diane/Bustard1.8.28_19-04-2008_diane</EXPT_DIR>
-  <EXPT_DIR_ROOT>/home/diane/gec</EXPT_DIR_ROOT>
-  <FORCE>1</FORCE>
-  <GENOME_DIR>/home/diane/proj/SolexaPipeline-0.2.2.6/Goat/../Gerald/../../Genomes</GENOME_DIR>
-  <GENOME_FILE>Need_to_specify_genome_file_name</GENOME_FILE>
-  <HAMSTER_FLAG>genome</HAMSTER_FLAG>
-  <OUT_DIR>/home/diane/gec/080416_HWI-EAS229_0024_207BTAAXX/Data/C1-33_Firecrest1.8.28_19-04-2008_diane/Bustard1.8.28_19-04-2008_diane/GERALD_19-04-2008_diane</OUT_DIR>
-  <POST_RUN_COMMAND></POST_RUN_COMMAND>
-  <PRB_FILE_SUFFIX>_prb.txt</PRB_FILE_SUFFIX>
-  <PURE_BASES>12</PURE_BASES>
-  <QF_PARAMS>'((CHASTITY&gt;=0.6))'</QF_PARAMS>
-  <QHG_FILE_SUFFIX>_qhg.txt</QHG_FILE_SUFFIX>
-  <QUALITY_FORMAT>--symbolic</QUALITY_FORMAT>
-  <READ_LENGTH>32</READ_LENGTH>
-  <SEQUENCE_FORMAT>--scarf</SEQUENCE_FORMAT>
-  <SEQ_FILE_SUFFIX>_seq.txt</SEQ_FILE_SUFFIX>
-  <SIG_FILE_SUFFIX_DEPHASED>_sig2.txt</SIG_FILE_SUFFIX_DEPHASED>
-  <SIG_FILE_SUFFIX_NOT_DEPHASED>_sig.txt</SIG_FILE_SUFFIX_NOT_DEPHASED>
-  <SOFTWARE_VERSION>@(#) Id: GERALD.pl,v 1.68.2.2 2007/06/13 11:08:49 km Exp</SOFTWARE_VERSION>
-  <TILE_REGEX>s_[1-8]_[0-9][0-9][0-9][0-9]</TILE_REGEX>
-  <TILE_ROOT>s</TILE_ROOT>
-  <TIME_STAMP>Sat Apr 19 19:08:30 2008</TIME_STAMP>
-  <TOOLS_DIR>/home/diane/proj/SolexaPipeline-0.2.2.6/Goat/../Gerald</TOOLS_DIR>
-  <USE_BASES>all</USE_BASES>
-  <WEB_DIR_ROOT>http://host.domain.com/yourshare/</WEB_DIR_ROOT>
-</ChipWideRunParameters>
-<LaneSpecificRunParameters>
-  <ANALYSIS>
-    <s_1>eland</s_1>
-    <s_2>eland</s_2>
-    <s_3>eland</s_3>
-    <s_4>eland</s_4>
-    <s_5>eland</s_5>
-    <s_6>eland</s_6>
-    <s_7>eland</s_7>
-    <s_8>eland</s_8>
-  </ANALYSIS>
-  <ELAND_GENOME>
-    <s_1>/g/dm3</s_1>
-    <s_2>/g/equcab1</s_2>
-    <s_3>/g/equcab1</s_3>
-    <s_4>/g/canfam2</s_4>
-    <s_5>/g/hg18</s_5>
-    <s_6>/g/hg18</s_6>
-    <s_7>/g/hg18</s_7>
-    <s_8>/g/hg18</s_8>
-  </ELAND_GENOME>
-  <READ_LENGTH>
-    <s_1>32</s_1>
-    <s_2>32</s_2>
-    <s_3>32</s_3>
-    <s_4>32</s_4>
-    <s_5>32</s_5>
-    <s_6>32</s_6>
-    <s_7>32</s_7>
-    <s_8>32</s_8>
-  </READ_LENGTH>
-  <USE_BASES>
-    <s_1>YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY</s_1>
-    <s_2>YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY</s_2>
-    <s_3>YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY</s_3>
-    <s_4>YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY</s_4>
-    <s_5>YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY</s_5>
-    <s_6>YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY</s_6>
-    <s_7>YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY</s_7>
-    <s_8>YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY</s_8>
-  </USE_BASES>
-</LaneSpecificRunParameters>
-</RunParameters>
-"""
-    pathname = os.path.join(gerald_dir, 'config.xml')
-    f = open(pathname,'w')
-    f.write(config_xml)
-    f.close()
-
-def make_summary100_htm(gerald_dir):
-    summary_htm="""<!--RUN_TIME Wed Jul  2 06:47:44 2008 -->
-<!--SOFTWARE_VERSION @(#) $Id: jerboa.pl,v 1.94 2007/12/04 09:59:07 rshaw Exp $-->
-<html>
-<body>
+def make_gerald_config_026(gerald_dir):
+    source = os.path.join(TESTDATA_DIR, 'gerald_config_0.2.6.xml')
+    destination = os.path.join(gerald_dir, 'config.xml')
+    shutil.copy(source, destination)
 
-<a name="Top"><h2><title>080627_HWI-EAS229_0036_3055HAXX Summary</title></h2></a>
-<h1>Summary Information For Experiment 080627_HWI-EAS229_0036_3055HAXX on Machine HWI-EAS229</h1>
-<h2><br></br>Chip Summary<br></br></h2>
-<table border="1" cellpadding="5">
-<tr><td>Machine</td><td>HWI-EAS229</td></tr>
-<tr><td>Run Folder</td><td>080627_HWI-EAS229_0036_3055HAXX</td></tr>
-<tr><td>Chip ID</td><td>unknown</td></tr>
-</table>
-<h2><br></br>Chip Results Summary<br></br></h2>
-<table border="1" cellpadding="5">
-<tr>
-<td>Clusters</td>
-<td>Clusters (PF)</td>
-<td>Yield (kbases)</td>
-</tr>
-<tr><td>80933224</td>
-<td>43577803</td>
-<td>1133022</td>
-</tr>
-</table>
-<h2><br></br>Lane Parameter Summary<br></br></h2>
-<table border="1" cellpadding="5">
-<tr>
-<td>Lane</td>
-<td>Sample ID</td>
-<td>Sample Target</td>
-<td>Sample Type</td>
-<td>Length</td>
-<td>Filter</td>
-<td>Num Tiles</td>
-<td>Tiles</td>
-</tr>
-<tr>
-<td>1</td>
-<td>unknown</td>
-<td>mm9</td>
-<td>ELAND</td>
-<td>26</td>
-<td>'((CHASTITY>=0.6))'</td>
-<td>100</td>
-<td><a href="#Lane1">Lane 1</a></td>
-</tr>
-<tr>
-<td>2</td>
-<td>unknown</td>
-<td>mm9</td>
-<td>ELAND</td>
-<td>26</td>
-<td>'((CHASTITY>=0.6))'</td>
-<td>100</td>
-<td><a href="#Lane2">Lane 2</a></td>
-</tr>
-<tr>
-<td>3</td>
-<td>unknown</td>
-<td>mm9</td>
-<td>ELAND</td>
-<td>26</td>
-<td>'((CHASTITY>=0.6))'</td>
-<td>100</td>
-<td><a href="#Lane3">Lane 3</a></td>
-</tr>
-<tr>
-<td>4</td>
-<td>unknown</td>
-<td>elegans170</td>
-<td>ELAND</td>
-<td>26</td>
-<td>'((CHASTITY>=0.6))'</td>
-<td>100</td>
-<td><a href="#Lane4">Lane 4</a></td>
-</tr>
-<tr>
-<td>5</td>
-<td>unknown</td>
-<td>elegans170</td>
-<td>ELAND</td>
-<td>26</td>
-<td>'((CHASTITY>=0.6))'</td>
-<td>100</td>
-<td><a href="#Lane5">Lane 5</a></td>
-</tr>
-<tr>
-<td>6</td>
-<td>unknown</td>
-<td>elegans170</td>
-<td>ELAND</td>
-<td>26</td>
-<td>'((CHASTITY>=0.6))'</td>
-<td>100</td>
-<td><a href="#Lane6">Lane 6</a></td>
-</tr>
-<tr>
-<td>7</td>
-<td>unknown</td>
-<td>elegans170</td>
-<td>ELAND</td>
-<td>26</td>
-<td>'((CHASTITY>=0.6))'</td>
-<td>100</td>
-<td><a href="#Lane7">Lane 7</a></td>
-</tr>
-<tr>
-<td>8</td>
-<td>unknown</td>
-<td>elegans170</td>
-<td>ELAND</td>
-<td>26</td>
-<td>'((CHASTITY>=0.6))'</td>
-<td>100</td>
-<td><a href="#Lane8">Lane 8</a></td>
-</tr>
-</table>
-<h2><br></br>Lane Results Summary<br></br></h2>
-<table border="1" cellpadding="5">
-<tr>
-<td colspan="2">Lane Info</td>
-<td colspan="8">Tile Mean +/- SD for Lane</td>
-</tr>
-<tr>
-<td>Lane </td>
-<td>Lane Yield (kbases) </td>
-<td>Clusters (raw)</td>
-<td>Clusters (PF) </td>
-<td>1st Cycle Int (PF) </td>
-<td>% intensity after 20 cycles (PF) </td>
-<td>% PF Clusters </td>
-<td>% Align (PF) </td>
-<td>Alignment Score (PF) </td>
-<td> % Error Rate (PF) </td>
-</tr>
-<tr>
-<td>1</td>
-<td>158046</td>
-<td>96483 +/- 9074</td>
-<td>60787 +/- 4240</td>
-<td>329 +/- 35</td>
-<td>101.88 +/- 6.03</td>
-<td>63.21 +/- 3.29</td>
-<td>70.33 +/- 0.24</td>
-<td>9054.08 +/- 59.16</td>
-<td>0.46 +/- 0.18</td>
-</tr>
-<tr>
-<td>2</td>
-<td>156564</td>
-<td>133738 +/- 7938</td>
-<td>60217 +/- 1926</td>
-<td>444 +/- 39</td>
-<td>92.62 +/- 7.58</td>
-<td>45.20 +/- 3.31</td>
-<td>51.98 +/- 0.74</td>
-<td>6692.04 +/- 92.49</td>
-<td>0.46 +/- 0.09</td>
-</tr>
-<tr>
-<td>3</td>
-<td>185818</td>
-<td>152142 +/- 10002</td>
-<td>71468 +/- 2827</td>
-<td>366 +/- 36</td>
-<td>91.53 +/- 8.66</td>
-<td>47.19 +/- 3.80</td>
-<td>82.24 +/- 0.44</td>
-<td>10598.68 +/- 64.13</td>
-<td>0.41 +/- 0.04</td>
-</tr>
-<tr>
-<td>4</td>
-<td>34953</td>
-<td>15784 +/- 2162</td>
-<td>13443 +/- 1728</td>
-<td>328 +/- 40</td>
-<td>97.53 +/- 9.87</td>
-<td>85.29 +/- 1.91</td>
-<td>80.02 +/- 0.53</td>
-<td>10368.82 +/- 71.08</td>
-<td>0.15 +/- 0.05</td>
-</tr>
-<tr>
-<td>5</td>
-<td>167936</td>
-<td>119735 +/- 8465</td>
-<td>64590 +/- 2529</td>
-<td>417 +/- 37</td>
-<td>88.69 +/- 14.79</td>
-<td>54.10 +/- 2.59</td>
-<td>76.95 +/- 0.32</td>
-<td>9936.47 +/- 65.75</td>
-<td>0.28 +/- 0.02</td>
-</tr>
-<tr>
-<td>6</td>
-<td>173463</td>
-<td>152177 +/- 8146</td>
-<td>66716 +/- 2493</td>
-<td>372 +/- 39</td>
-<td>87.06 +/- 9.86</td>
-<td>43.98 +/- 3.12</td>
-<td>78.80 +/- 0.43</td>
-<td>10162.28 +/- 49.65</td>
-<td>0.38 +/- 0.03</td>
-</tr>
-<tr>
-<td>7</td>
-<td>149287</td>
-<td>84649 +/- 7325</td>
-<td>57418 +/- 3617</td>
-<td>295 +/- 28</td>
-<td>89.40 +/- 8.23</td>
-<td>67.97 +/- 1.82</td>
-<td>33.38 +/- 0.25</td>
-<td>4247.92 +/- 32.37</td>
-<td>1.00 +/- 0.03</td>
-</tr>
-<tr>
-<td>8</td>
-<td>106953</td>
-<td>54622 +/- 4812</td>
-<td>41136 +/- 3309</td>
-<td>284 +/- 37</td>
-<td>90.21 +/- 9.10</td>
-<td>75.39 +/- 2.27</td>
-<td>48.33 +/- 0.29</td>
-<td>6169.21 +/- 169.50</td>
-<td>0.86 +/- 1.22</td>
-</tr>
-<tr><td colspan="13">Tile mean across chip</td></tr>
-<tr>
-<td>Av.</td>
-<td></td>
-<td>101166</td>
-<td>54472</td>
-<td>354</td>
-<td>92.36</td>
-<td>60.29</td>
-<td>65.25</td>
-<td>8403.69</td>
-<td>0.50</td>
-</tr>
-</table>
-<h2><br></br>Expanded Lane Summary<br></br></h2>
-<table border="1" cellpadding="5">
-<tr>
+def make_gerald_config_100(gerald_dir):
+    source = os.path.join(TESTDATA_DIR, 'gerald_config_1.0.xml')
+    destination = os.path.join(gerald_dir, 'config.xml')
+    shutil.copy(source, destination)
 
-<tr><td colspan="2">Lane Info</td>
-<td colspan="2">Phasing Info</td>
-<td colspan="2">Raw Data (tile mean)</td>
-<td colspan="7">Filtered Data (tile mean)</td></tr>
-<td>Lane </td>
-<td>Clusters (tile mean) (raw)</td>
-<td>% Phasing </td>
-<td>% Prephasing </td>
-<td>% Error Rate (raw) </td>
-<td> Equiv Perfect Clusters (raw) </td>
-<td>% retained </td>
-<td>Cycle 2-4 Av Int (PF) </td>
-<td>Cycle 2-10 Av % Loss (PF) </td>
-<td>Cycle 10-20 Av % Loss (PF) </td>
-<td>% Align (PF) </td>
-<td>% Error Rate (PF) </td>
-<td> Equiv Perfect Clusters (PF) </td>
-</tr>
-<tr>
-<td>1</td>
-<td>96483</td>
-<td>0.7700</td>
-<td>0.3100</td>
-<td>1.00</td>
-<td>49676</td>
-<td>63.21</td>
-<td>317 +/- 32</td>
-<td>0.13 +/- 0.44</td>
-<td>-1.14 +/- 0.34</td>
-<td>70.33</td>
-<td>0.46</td>
-<td>41758</td>
-</tr>
-<tr>
-<td>2</td>
-<td>133738</td>
-<td>0.7700</td>
-<td>0.3100</td>
-<td>1.22</td>
-<td>40467</td>
-<td>45.20</td>
-<td>415 +/- 33</td>
-<td>0.29 +/- 0.40</td>
-<td>-0.79 +/- 0.35</td>
-<td>51.98</td>
-<td>0.46</td>
-<td>30615</td>
-</tr>
-<tr>
-<td>3</td>
-<td>152142</td>
-<td>0.7700</td>
-<td>0.3100</td>
-<td>1.30</td>
-<td>78588</td>
-<td>47.19</td>
-<td>344 +/- 26</td>
-<td>0.68 +/- 0.51</td>
-<td>-0.77 +/- 0.42</td>
-<td>82.24</td>
-<td>0.41</td>
-<td>57552</td>
-</tr>
-<tr>
-<td>4</td>
-<td>15784</td>
-<td>0.7700</td>
-<td>0.3100</td>
-<td>0.29</td>
-<td>11095</td>
-<td>85.29</td>
-<td>306 +/- 34</td>
-<td>0.20 +/- 0.69</td>
-<td>-1.28 +/- 0.66</td>
-<td>80.02</td>
-<td>0.15</td>
-<td>10671</td>
-</tr>
-<tr>
-<td>5</td>
-<td>119735</td>
-<td>0.7700</td>
-<td>0.3100</td>
-<td>0.85</td>
-<td>60335</td>
-<td>54.10</td>
-<td>380 +/- 32</td>
-<td>0.34 +/- 0.49</td>
-<td>-1.55 +/- 4.69</td>
-<td>76.95</td>
-<td>0.28</td>
-<td>49015</td>
-</tr>
-<tr>
-<td>6</td>
-<td>152177</td>
-<td>0.7700</td>
-<td>0.3100</td>
-<td>1.21</td>
-<td>70905</td>
-<td>43.98</td>
-<td>333 +/- 27</td>
-<td>0.57 +/- 0.50</td>
-<td>-0.91 +/- 0.39</td>
-<td>78.80</td>
-<td>0.38</td>
-<td>51663</td>
-</tr>
-<tr>
-<td>7</td>
-<td>84649</td>
-<td>0.7700</td>
-<td>0.3100</td>
-<td>1.38</td>
-<td>21069</td>
-<td>67.97</td>
-<td>272 +/- 20</td>
-<td>1.15 +/- 0.52</td>
-<td>-0.84 +/- 0.58</td>
-<td>33.38</td>
-<td>1.00</td>
-<td>18265</td>
-</tr>
-<tr>
-<td>8</td>
-<td>54622</td>
-<td>0.7700</td>
-<td>0.3100</td>
-<td>1.17</td>
-<td>21335</td>
-<td>75.39</td>
-<td>262 +/- 31</td>
-<td>1.10 +/- 0.59</td>
-<td>-1.01 +/- 0.47</td>
-<td>48.33</td>
-<td>0.86</td>
-<td>19104</td>
-</tr>
-</table>
-<b><br></br>IVC Plots</b>
-<p> <a href='IVC.htm' target="_blank"> IVC.htm
- </a></p>
-<b><br></br>All Intensity Plots</b>
-<p> <a href='All.htm' target="_blank"> All.htm
- </a></p>
-<b><br></br>Error graphs: </b>
-<p> <a href='Error.htm' target="_blank"> Error.htm
- </a></p>
-<td><a href="#Top">Back to top</a></td>
-<a name="Lane1"><h2><br></br>Lane 1<br></br></h2></a>
-<table border="1" cellpadding="5">
-<tr>
-<td>Lane </td>
-<td>Tile </td>
-<td>Clusters (raw)</td>
-<td>Av 1st Cycle Int (PF) </td>
-<td>Av % intensity after 20 cycles (PF) </td>
-<td>% PF Clusters </td>
-<td>% Align (PF) </td>
-<td>Av Alignment Score (PF) </td>
-<td>% Error Rate (PF) </td>
-</tr>
-<tr>
-<td>1</td>
-<td>0001</td>
-<td>114972</td>
-<td>326.48</td>
-<td>94.39</td>
-<td>57.44</td>
-<td>70.2</td>
-<td>9038.6</td>
-<td>0.44</td>
-</tr>
-</table>
-<td><a href="#Top">Back to top</a></td>
-<a name="Lane2"><h2><br></br>Lane 2<br></br></h2></a>
-<table border="1" cellpadding="5">
-<tr>
-<td>Lane </td>
-<td>Tile </td>
-<td>Clusters (raw)</td>
-<td>Av 1st Cycle Int (PF) </td>
-<td>Av % intensity after 20 cycles (PF) </td>
-<td>% PF Clusters </td>
-<td>% Align (PF) </td>
-<td>Av Alignment Score (PF) </td>
-<td>% Error Rate (PF) </td>
-</tr>
-<tr>
-<td>2</td>
-<td>0001</td>
-<td>147793</td>
-<td>448.12</td>
-<td>83.68</td>
-<td>38.57</td>
-<td>53.7</td>
-<td>6905.4</td>
-<td>0.54</td>
-</tr>
-</table>
-<td><a href="#Top">Back to top</a></td>
-<a name="Lane3"><h2><br></br>Lane 3<br></br></h2></a>
-<table border="1" cellpadding="5">
-<tr>
-<td>Lane </td>
-<td>Tile </td>
-<td>Clusters (raw)</td>
-<td>Av 1st Cycle Int (PF) </td>
-<td>Av % intensity after 20 cycles (PF) </td>
-<td>% PF Clusters </td>
-<td>% Align (PF) </td>
-<td>Av Alignment Score (PF) </td>
-<td>% Error Rate (PF) </td>
-</tr>
-<tr>
-<td>3</td>
-<td>0001</td>
-<td>167904</td>
-<td>374.05</td>
-<td>86.91</td>
-<td>40.36</td>
-<td>81.3</td>
-<td>10465.0</td>
-<td>0.47</td>
-</tr>
-</table>
-<td><a href="#Top">Back to top</a></td>
-<a name="Lane4"><h2><br></br>Lane 4<br></br></h2></a>
-<table border="1" cellpadding="5">
-<tr>
-<td>Lane </td>
-<td>Tile </td>
-<td>Clusters (raw)</td>
-<td>Av 1st Cycle Int (PF) </td>
-<td>Av % intensity after 20 cycles (PF) </td>
-<td>% PF Clusters </td>
-<td>% Align (PF) </td>
-<td>Av Alignment Score (PF) </td>
-<td>% Error Rate (PF) </td>
-</tr>
-<tr>
-<td>4</td>
-<td>0001</td>
-<td>20308</td>
-<td>276.85</td>
-<td>92.87</td>
-<td>84.26</td>
-<td>80.4</td>
-<td>10413.8</td>
-<td>0.16</td>
-</tr>
-</table>
-<td><a href="#Top">Back to top</a></td>
-<a name="Lane5"><h2><br></br>Lane 5<br></br></h2></a>
-<table border="1" cellpadding="5">
-<tr>
-<td>Lane </td>
-<td>Tile </td>
-<td>Clusters (raw)</td>
-<td>Av 1st Cycle Int (PF) </td>
-<td>Av % intensity after 20 cycles (PF) </td>
-<td>% PF Clusters </td>
-<td>% Align (PF) </td>
-<td>Av Alignment Score (PF) </td>
-<td>% Error Rate (PF) </td>
-</tr>
-</table>
-<td><a href="#Top">Back to top</a></td>
-<a name="Lane6"><h2><br></br>Lane 6<br></br></h2></a>
-<table border="1" cellpadding="5">
-<tr>
-<td>Lane </td>
-<td>Tile </td>
-<td>Clusters (raw)</td>
-<td>Av 1st Cycle Int (PF) </td>
-<td>Av % intensity after 20 cycles (PF) </td>
-<td>% PF Clusters </td>
-<td>% Align (PF) </td>
-<td>Av Alignment Score (PF) </td>
-<td>% Error Rate (PF) </td>
-</tr>
-<tr>
-<td>6</td>
-<td>0001</td>
-<td>166844</td>
-<td>348.12</td>
-<td>77.59</td>
-<td>38.13</td>
-<td>79.7</td>
-<td>10264.4</td>
-<td>0.44</td>
-</tr>
-</table>
-<td><a href="#Top">Back to top</a></td>
-<a name="Lane7"><h2><br></br>Lane 7<br></br></h2></a>
-<table border="1" cellpadding="5">
-<tr>
-<td>Lane </td>
-<td>Tile </td>
-<td>Clusters (raw)</td>
-<td>Av 1st Cycle Int (PF) </td>
-<td>Av % intensity after 20 cycles (PF) </td>
-<td>% PF Clusters </td>
-<td>% Align (PF) </td>
-<td>Av Alignment Score (PF) </td>
-<td>% Error Rate (PF) </td>
-</tr>
-<tr>
-<td>7</td>
-<td>0001</td>
-<td>98913</td>
-<td>269.90</td>
-<td>86.66</td>
-<td>64.55</td>
-<td>33.2</td>
-<td>4217.5</td>
-<td>1.02</td>
-</tr>
-</table>
-<td><a href="#Top">Back to top</a></td>
-<a name="Lane8"><h2><br></br>Lane 8<br></br></h2></a>
-<table border="1" cellpadding="5">
-<tr>
-<td>Lane </td>
-<td>Tile </td>
-<td>Clusters (raw)</td>
-<td>Av 1st Cycle Int (PF) </td>
-<td>Av % intensity after 20 cycles (PF) </td>
-<td>% PF Clusters </td>
-<td>% Align (PF) </td>
-<td>Av Alignment Score (PF) </td>
-<td>% Error Rate (PF) </td>
-</tr>
-<tr>
-<td>8</td>
-<td>0001</td>
-<td>64972</td>
-<td>243.60</td>
-<td>89.40</td>
-<td>73.17</td>
-<td>48.3</td>
-<td>6182.8</td>
-<td>0.71</td>
-</tr>
-</table>
-<td><a href="#Top">Back to top</a></td>
-</body>
-</html>
-"""
-    pathname = os.path.join(gerald_dir, 'Summary.htm')
-    f = open(pathname, 'w')
-    f.write(summary_htm)
-    f.close()
+def make_summary_htm_100(gerald_dir):
+    source = os.path.join(TESTDATA_DIR, 'Summary-pipeline100.htm')
+    destination = os.path.join(gerald_dir, 'Summary.htm')
+    shutil.copy(source, destination)
 
 def make_summary_htm_110(gerald_dir):
-    summary_htm = """<!--RUN_TIME Tue Oct 28 09:45:50 2008 -->
-<!--SOFTWARE_VERSION @(#) $Id: jerboa.pl,v 1.10 2008/07/23 15:18:30 mzerara Exp $-->
-<html>
-<body>
-
-<a name="Top"><h2><title>081017_HWI-EAS229_0062_30J55AAXX Summary</title></h2></a>
-<h1>Summary Information For Experiment 081017_HWI-EAS229_0062_30J55AAXX on Machine HWI-EAS229</h1>
-<h2><br></br>Chip Summary<br></br></h2>
-<table border="1" cellpadding="5">
-<tr><td>Machine</td><td>HWI-EAS229</td></tr>
-<tr><td>Run Folder</td><td>081017_HWI-EAS229_0062_30J55AAXX</td></tr>
-<tr><td>Chip ID</td><td>unknown</td></tr>
-</table>
-<h2><br></br>Chip Results Summary<br></br></h2>
-<table border="1" cellpadding="5">
-<tr>
-<td>Clusters</td>
-<td>Clusters (PF)</td>
-<td>Yield (kbases)</td>
-</tr>
-<tr><td>162491175</td>
-<td>99622159</td>
-<td>3686019</td>
-</tr>
-</table>
-<h2><br></br>Lane Parameter Summary<br></br></h2>
-<table border="1" cellpadding="5">
-<tr>
-<td>Lane</td>
-<td>Sample ID</td>
-<td>Sample Target</td>
-<td>Sample Type</td>
-<td>Length</td>
-<td>Filter</td>
-<td>Chast. Thresh.</td>
-<td>Num Tiles</td>
-<td>Tiles</td>
-</tr>
-<tr>
-<td>1</td>
-<td>unknown</td>
-<td>mm9</td>
-<td>ELAND</td>
-<td>37</td>
-<td>'((FAILED_CHASTITY<=1))'</td>
-<td>0.6</td>
-<td>100</td>
-<td><a href="#Lane1">Lane 1</a></td>
-</tr>
-<tr>
-<td>2</td>
-<td>unknown</td>
-<td>mm9</td>
-<td>ELAND</td>
-<td>37</td>
-<td>'((FAILED_CHASTITY<=1))'</td>
-<td>0.6</td>
-<td>100</td>
-<td><a href="#Lane2">Lane 2</a></td>
-</tr>
-<tr>
-<td>3</td>
-<td>unknown</td>
-<td>mm9</td>
-<td>ELAND</td>
-<td>37</td>
-<td>'((FAILED_CHASTITY<=1))'</td>
-<td>0.6</td>
-<td>100</td>
-<td><a href="#Lane3">Lane 3</a></td>
-</tr>
-<tr>
-<td>4</td>
-<td>unknown</td>
-<td>hg18</td>
-<td>ELAND</td>
-<td>37</td>
-<td>'((FAILED_CHASTITY<=1))'</td>
-<td>0.6</td>
-<td>100</td>
-<td><a href="#Lane4">Lane 4</a></td>
-</tr>
-<tr>
-<td>5</td>
-<td>unknown</td>
-<td>hg18</td>
-<td>ELAND</td>
-<td>37</td>
-<td>'((FAILED_CHASTITY<=1))'</td>
-<td>0.6</td>
-<td>100</td>
-<td><a href="#Lane5">Lane 5</a></td>
-</tr>
-<tr>
-<td>6</td>
-<td>unknown</td>
-<td>mm9</td>
-<td>ELAND</td>
-<td>37</td>
-<td>'((FAILED_CHASTITY<=1))'</td>
-<td>0.6</td>
-<td>100</td>
-<td><a href="#Lane6">Lane 6</a></td>
-</tr>
-<tr>
-<td>7</td>
-<td>unknown</td>
-<td>mm9</td>
-<td>ELAND</td>
-<td>37</td>
-<td>'((FAILED_CHASTITY<=1))'</td>
-<td>0.6</td>
-<td>100</td>
-<td><a href="#Lane7">Lane 7</a></td>
-</tr>
-<tr>
-<td>8</td>
-<td>unknown</td>
-<td>mm9</td>
-<td>ELAND</td>
-<td>37</td>
-<td>'((FAILED_CHASTITY<=1))'</td>
-<td>0.6</td>
-<td>100</td>
-<td><a href="#Lane8">Lane 8</a></td>
-</tr>
-</table>
-<h2><br></br>Lane Results Summary<br></br></h2>
-<table border="1" cellpadding="5">
-<tr>
-<td colspan="2">Lane Info</td>
-<td colspan="8">Tile Mean +/- SD for Lane</td>
-</tr>
-<tr>
-<td>Lane </td>
-<td>Lane Yield (kbases) </td>
-<td>Clusters (raw)</td>
-<td>Clusters (PF) </td>
-<td>1st Cycle Int (PF) </td>
-<td>% intensity after 20 cycles (PF) </td>
-<td>% PF Clusters </td>
-<td>% Align (PF) </td>
-<td>Alignment Score (PF) </td>
-<td> % Error Rate (PF) </td>
-</tr>
-<tr>
-<td>1</td>
-<td>435340</td>
-<td>190220 +/- 15118</td>
-<td>117659 +/- 8144</td>
-<td>273 +/- 16</td>
-<td>80.02 +/- 2.52</td>
-<td>62.15 +/- 5.54</td>
-<td>77.18 +/- 0.22</td>
-<td>13447.28 +/- 43.35</td>
-<td>2.78 +/- 0.13</td>
-</tr>
-<tr>
-<td>2</td>
-<td>462364</td>
-<td>190560 +/- 14399</td>
-<td>124963 +/- 5687</td>
-<td>271 +/- 16</td>
-<td>75.73 +/- 2.46</td>
-<td>65.83 +/- 4.12</td>
-<td>70.06 +/- 0.39</td>
-<td>12082.95 +/- 64.81</td>
-<td>3.22 +/- 0.09</td>
-</tr>
-<tr>
-<td>3</td>
-<td>468929</td>
-<td>187597 +/- 12369</td>
-<td>126737 +/- 5549</td>
-<td>274 +/- 16</td>
-<td>72.61 +/- 2.67</td>
-<td>67.69 +/- 2.72</td>
-<td>74.03 +/- 0.22</td>
-<td>12470.18 +/- 50.02</td>
-<td>4.27 +/- 0.08</td>
-</tr>
-<tr>
-<td>4</td>
-<td>491642</td>
-<td>204142 +/- 16877</td>
-<td>132876 +/- 4023</td>
-<td>253 +/- 16</td>
-<td>80.43 +/- 3.10</td>
-<td>65.39 +/- 3.84</td>
-<td>72.95 +/- 0.15</td>
-<td>13273.80 +/- 39.75</td>
-<td>0.78 +/- 0.10</td>
-</tr>
-<tr>
-<td>5</td>
-<td>433033</td>
-<td>247308 +/- 11600</td>
-<td>117036 +/- 4489</td>
-<td>273 +/- 11</td>
-<td>68.60 +/- 2.40</td>
-<td>47.48 +/- 3.63</td>
-<td>66.91 +/- 0.54</td>
-<td>11700.08 +/- 66.33</td>
-<td>2.62 +/- 0.13</td>
-</tr>
-<tr>
-<td>6</td>
-<td>483012</td>
-<td>204298 +/- 15640</td>
-<td>130543 +/- 6972</td>
-<td>254 +/- 11</td>
-<td>81.35 +/- 1.96</td>
-<td>64.14 +/- 4.40</td>
-<td>77.28 +/- 0.11</td>
-<td>14084.01 +/- 23.09</td>
-<td>0.71 +/- 0.03</td>
-</tr>
-<tr>
-<td>7</td>
-<td>474325</td>
-<td>202707 +/- 15404</td>
-<td>128196 +/- 9745</td>
-<td>255 +/- 13</td>
-<td>79.95 +/- 2.08</td>
-<td>63.48 +/- 5.63</td>
-<td>75.78 +/- 0.18</td>
-<td>13758.74 +/- 60.86</td>
-<td>0.88 +/- 0.12</td>
-</tr>
-<tr>
-<td>8</td>
-<td>437372</td>
-<td>198075 +/- 14702</td>
-<td>118208 +/- 14798</td>
-<td>259 +/- 14</td>
-<td>81.80 +/- 2.53</td>
-<td>59.85 +/- 7.67</td>
-<td>74.55 +/- 0.36</td>
-<td>13586.07 +/- 103.97</td>
-<td>0.71 +/- 0.15</td>
-</tr>
-<tr><td colspan="13">Tile mean across chip</td></tr>
-<tr>
-<td>Av.</td>
-<td></td>
-<td>203113</td>
-<td>124527</td>
-<td>264</td>
-<td>77.56</td>
-<td>62.00</td>
-<td>73.59</td>
-<td>13050.39</td>
-<td>2.00</td>
-</tr>
-</table>
-<h2><br></br>Expanded Lane Summary<br></br></h2>
-<table border="1" cellpadding="5">
-<tr>
-
-<tr><td colspan="2">Lane Info</td>
-<td colspan="2">Phasing Info</td>
-<td colspan="2">Raw Data (tile mean)</td>
-<td colspan="7">Filtered Data (tile mean)</td></tr>
-<td>Lane </td>
-<td>Clusters (tile mean) (raw)</td>
-<td>% Phasing </td>
-<td>% Prephasing </td>
-<td>% Error Rate (raw) </td>
-<td> Equiv Perfect Clusters (raw) </td>
-<td>% retained </td>
-<td>Cycle 2-4 Av Int (PF) </td>
-<td>Cycle 2-10 Av % Loss (PF) </td>
-<td>Cycle 10-20 Av % Loss (PF) </td>
-<td>% Align (PF) </td>
-<td>% Error Rate (PF) </td>
-<td> Equiv Perfect Clusters (PF) </td>
-</tr>
-<tr>
-<td>1</td>
-<td>190220</td>
-<td>0.6800</td>
-<td>0.2800</td>
-<td>3.17</td>
-<td>107262</td>
-<td>62.15</td>
-<td>241 +/- 13</td>
-<td>0.56 +/- 0.22</td>
-<td>0.29 +/- 0.14</td>
-<td>77.18</td>
-<td>2.78</td>
-<td>86184</td>
-</tr>
-<tr>
-<td>2</td>
-<td>190560</td>
-<td>0.6800</td>
-<td>0.2800</td>
-<td>3.53</td>
-<td>98678</td>
-<td>65.83</td>
-<td>238 +/- 14</td>
-<td>0.78 +/- 0.15</td>
-<td>0.53 +/- 0.15</td>
-<td>70.06</td>
-<td>3.22</td>
-<td>83090</td>
-</tr>
-<tr>
-<td>3</td>
-<td>187597</td>
-<td>0.6800</td>
-<td>0.2800</td>
-<td>4.44</td>
-<td>104008</td>
-<td>67.69</td>
-<td>233 +/- 14</td>
-<td>0.56 +/- 0.17</td>
-<td>0.59 +/- 0.26</td>
-<td>74.03</td>
-<td>4.27</td>
-<td>89278</td>
-</tr>
-<tr>
-<td>4</td>
-<td>204142</td>
-<td>0.6800</td>
-<td>0.2800</td>
-<td>1.38</td>
-<td>115765</td>
-<td>65.39</td>
-<td>239 +/- 14</td>
-<td>1.28 +/- 0.21</td>
-<td>0.77 +/- 0.21</td>
-<td>72.95</td>
-<td>0.78</td>
-<td>93475</td>
-</tr>
-<tr>
-<td>5</td>
-<td>247308</td>
-<td>0.6800</td>
-<td>0.2800</td>
-<td>3.40</td>
-<td>103006</td>
-<td>47.48</td>
-<td>242 +/- 10</td>
-<td>1.61 +/- 0.39</td>
-<td>1.21 +/- 0.21</td>
-<td>66.91</td>
-<td>2.62</td>
-<td>73768</td>
-</tr>
-<tr>
-<td>6</td>
-<td>204298</td>
-<td>0.6800</td>
-<td>0.2800</td>
-<td>1.33</td>
-<td>122233</td>
-<td>64.14</td>
-<td>242 +/- 12</td>
-<td>1.30 +/- 0.11</td>
-<td>0.73 +/- 0.22</td>
-<td>77.28</td>
-<td>0.71</td>
-<td>97646</td>
-</tr>
-<tr>
-<td>7</td>
-<td>202707</td>
-<td>0.6800</td>
-<td>0.2800</td>
-<td>1.51</td>
-<td>117513</td>
-<td>63.48</td>
-<td>238 +/- 13</td>
-<td>1.27 +/- 0.38</td>
-<td>0.66 +/- 0.22</td>
-<td>75.78</td>
-<td>0.88</td>
-<td>93659</td>
-</tr>
-<tr>
-<td>8</td>
-<td>198075</td>
-<td>0.6800</td>
-<td>0.2800</td>
-<td>1.41</td>
-<td>111115</td>
-<td>59.85</td>
-<td>244 +/- 12</td>
-<td>1.19 +/- 0.16</td>
-<td>0.65 +/- 0.29</td>
-<td>74.55</td>
-<td>0.71</td>
-<td>85327</td>
-</tr>
-</table>
-</body>
-</html>"""
-    pathname = os.path.join(gerald_dir, 'Summary.htm')
-    f = open(pathname, 'w')
-    f.write(summary_htm)
-    f.close()
+    source = os.path.join(TESTDATA_DIR, 'Summary-pipeline110.htm')
+    destination = os.path.join(gerald_dir, 'Summary.htm')
+    shutil.copy(source, destination)
 
 def make_summary_paired_htm(gerald_dir):
-    summary_htm = """<!--RUN_TIME Thu Nov 13 15:11:29 2008 -->
-<!--SOFTWARE_VERSION @(#) $Id: jerboa.pl,v 1.94 2007/12/04 09:59:07 rshaw Exp $-->
-<html>
-<body>
-
-<a name="Top"><h2><title>080920_HWI-EAS229_0057_30GBJAAXX Summary</title></h2></a>
-<h1>Summary Information For Experiment 080920_HWI-EAS229_0057_30GBJAAXX on Machine unknown</h1>
-<h2><br></br>Chip Summary<br></br></h2>
-<table border="1" cellpadding="5">
-<tr><td>Machine</td><td>UNKNOWN</td></tr>
-<tr><td>Run Folder</td><td>080920_HWI-EAS229_0057_30GBJAAXX</td></tr>
-<tr><td>Chip ID</td><td>unknown</td></tr>
-</table>
-<h2><br></br>Chip Results Summary<br></br></h2>
-<table border="1" cellpadding="5">
-<tr>
-<td>Clusters</td>
-<td>Clusters (PF)</td>
-<td>Yield (kbases)</td>
-</tr>
-<tr><td>126151880</td>
-<td>95923456</td>
-<td>3549167</td>
-</tr>
-</table>
-<h2><br></br>Lane Parameter Summary<br></br></h2>
-<table border="1" cellpadding="5">
-<tr>
-<td>Lane</td>
-<td>Sample ID</td>
-<td>Sample Target</td>
-<td>Sample Type</td>
-<td>Length</td>
-<td>Filter</td>
-<td>Num Tiles</td>
-<td>Tiles</td>
-</tr>
-<tr>
-<td>1</td>
-<td>unknown</td>
-<td>mm9</td>
-<td>ELAND_PAIR</td>
-<td>37, 37</td>
-<td>'((CHASTITY>=0.6))'</td>
-<td>100</td>
-<td><a href="#Lane1">Lane 1</a></td>
-</tr>
-<tr>
-<td>2</td>
-<td>unknown</td>
-<td>hg18</td>
-<td>ELAND_PAIR</td>
-<td>37, 37</td>
-<td>'((CHASTITY>=0.6))'</td>
-<td>100</td>
-<td><a href="#Lane2">Lane 2</a></td>
-</tr>
-<tr>
-<td>3</td>
-<td>unknown</td>
-<td>mm9</td>
-<td>ELAND_PAIR</td>
-<td>37, 37</td>
-<td>'((CHASTITY>=0.6))'</td>
-<td>100</td>
-<td><a href="#Lane3">Lane 3</a></td>
-</tr>
-<tr>
-<td>4</td>
-<td>unknown</td>
-<td>mm9</td>
-<td>ELAND_PAIR</td>
-<td>37, 37</td>
-<td>'((CHASTITY>=0.6))'</td>
-<td>100</td>
-<td><a href="#Lane4">Lane 4</a></td>
-</tr>
-<tr>
-<td>5</td>
-<td>unknown</td>
-<td>mm9</td>
-<td>ELAND_PAIR</td>
-<td>37, 37</td>
-<td>'((CHASTITY>=0.6))'</td>
-<td>100</td>
-<td><a href="#Lane5">Lane 5</a></td>
-</tr>
-<tr>
-<td>6</td>
-<td>unknown</td>
-<td>hg18</td>
-<td>ELAND_PAIR</td>
-<td>37, 37</td>
-<td>'((CHASTITY>=0.6))'</td>
-<td>100</td>
-<td><a href="#Lane6">Lane 6</a></td>
-</tr>
-<tr>
-<td>7</td>
-<td>unknown</td>
-<td>mm9</td>
-<td>ELAND_PAIR</td>
-<td>37, 37</td>
-<td>'((CHASTITY>=0.6))'</td>
-<td>100</td>
-<td><a href="#Lane7">Lane 7</a></td>
-</tr>
-<tr>
-<td>8</td>
-<td>unknown</td>
-<td>mm9</td>
-<td>ELAND_PAIR</td>
-<td>37, 37</td>
-<td>'((CHASTITY>=0.6))'</td>
-<td>100</td>
-<td><a href="#Lane8">Lane 8</a></td>
-</tr>
-</table>
-<h2><br></br>Lane Results Summary : Read 1<br></br></h2>
-<table border="1" cellpadding="5">
-<tr>
-<td colspan="2">Lane Info</td>
-<td colspan="8">Tile Mean +/- SD for Lane</td>
-</tr>
-<tr>
-<td>Lane </td>
-<td>Lane Yield (kbases) </td>
-<td>Clusters (raw)</td>
-<td>Clusters (PF) </td>
-<td>1st Cycle Int (PF) </td>
-<td>% intensity after 20 cycles (PF) </td>
-<td>% PF Clusters </td>
-<td>% Align (PF) </td>
-<td>Alignment Score (PF) </td>
-<td> % Error Rate (PF) </td>
-</tr>
-<tr>
-<td>1</td>
-<td>277083</td>
-<td>103646 +/- 4515</td>
-<td>74887 +/- 6080</td>
-<td>290 +/- 17</td>
-<td>99.34 +/- 3.52</td>
-<td>72.22 +/- 4.63</td>
-<td>89.19 +/- 0.59</td>
-<td>14.16 +/- 0.63</td>
-<td>0.94 +/- 0.17</td>
-</tr>
-<tr>
-<td>2</td>
-<td>289563</td>
-<td>106678 +/- 4652</td>
-<td>78260 +/- 2539</td>
-<td>294 +/- 16</td>
-<td>98.23 +/- 2.66</td>
-<td>73.43 +/- 2.52</td>
-<td>87.05 +/- 0.64</td>
-<td>16.81 +/- 0.55</td>
-<td>0.92 +/- 0.17</td>
-</tr>
-<tr>
-<td>3</td>
-<td>259242</td>
-<td>84583 +/- 5963</td>
-<td>70065 +/- 4194</td>
-<td>284 +/- 18</td>
-<td>99.82 +/- 3.05</td>
-<td>82.90 +/- 1.32</td>
-<td>89.49 +/- 0.20</td>
-<td>18.13 +/- 0.66</td>
-<td>0.81 +/- 0.13</td>
-</tr>
-<tr>
-<td>4</td>
-<td>210549</td>
-<td>68813 +/- 4782</td>
-<td>56905 +/- 4145</td>
-<td>300 +/- 29</td>
-<td>102.00 +/- 14.74</td>
-<td>82.91 +/- 5.89</td>
-<td>56.93 +/- 0.82</td>
-<td>25.85 +/- 2.30</td>
-<td>0.95 +/- 0.30</td>
-</tr>
-<tr>
-<td>5</td>
-<td>295555</td>
-<td>104854 +/- 4664</td>
-<td>79879 +/- 6270</td>
-<td>281 +/- 19</td>
-<td>98.26 +/- 5.85</td>
-<td>76.34 +/- 6.67</td>
-<td>57.71 +/- 0.30</td>
-<td>26.16 +/- 1.68</td>
-<td>0.97 +/- 0.19</td>
-</tr>
-<tr>
-<td>6</td>
-<td>140401</td>
-<td>43555 +/- 1632</td>
-<td>37946 +/- 2140</td>
-<td>233 +/- 16</td>
-<td>105.74 +/- 8.40</td>
-<td>87.14 +/- 3.87</td>
-<td>89.08 +/- 1.00</td>
-<td>33.53 +/- 2.18</td>
-<td>1.05 +/- 0.21</td>
-</tr>
-<tr>
-<td>7</td>
-<td>154217</td>
-<td>54265 +/- 1588</td>
-<td>41680 +/- 5319</td>
-<td>224 +/- 18</td>
-<td>111.33 +/- 8.90</td>
-<td>76.94 +/- 10.52</td>
-<td>84.50 +/- 1.41</td>
-<td>27.44 +/- 2.33</td>
-<td>1.32 +/- 0.25</td>
-</tr>
-<tr>
-<td>8</td>
-<td>147969</td>
-<td>64363 +/- 2697</td>
-<td>39991 +/- 6785</td>
-<td>248 +/- 43</td>
-<td>109.93 +/- 7.80</td>
-<td>62.45 +/- 12.05</td>
-<td>82.20 +/- 2.08</td>
-<td>24.63 +/- 2.53</td>
-<td>1.57 +/- 0.22</td>
-</tr>
-<tr><td colspan="13">Tile mean across chip</td></tr>
-<tr>
-<td>Av.</td>
-<td></td>
-<td>78844</td>
-<td>59952</td>
-<td>269</td>
-<td>103.08</td>
-<td>76.79</td>
-<td>79.52</td>
-<td>23.34</td>
-<td>1.06</td>
-</tr>
-</table>
-<h2><br></br>Lane Results Summary : Read 2<br></br></h2>
-<table border="1" cellpadding="5">
-<tr>
-<td colspan="2">Lane Info</td>
-<td colspan="8">Tile Mean +/- SD for Lane</td>
-</tr>
-<tr>
-<td>Lane </td>
-<td>Lane Yield (kbases) </td>
-<td>Clusters (raw)</td>
-<td>Clusters (PF) </td>
-<td>1st Cycle Int (PF) </td>
-<td>% intensity after 20 cycles (PF) </td>
-<td>% PF Clusters </td>
-<td>% Align (PF) </td>
-<td>Alignment Score (PF) </td>
-<td> % Error Rate (PF) </td>
-</tr>
-<tr>
-<td>1</td>
-<td>277083</td>
-<td>103647 +/- 4516</td>
-<td>74887 +/- 6080</td>
-<td>277 +/- 17</td>
-<td>94.42 +/- 5.68</td>
-<td>72.22 +/- 4.63</td>
-<td>81.54 +/- 2.13</td>
-<td>42.70 +/- 5.49</td>
-<td>0.89 +/- 0.27</td>
-</tr>
-<tr>
-<td>2</td>
-<td>289563</td>
-<td>106679 +/- 4653</td>
-<td>78260 +/- 2539</td>
-<td>259 +/- 13</td>
-<td>93.57 +/- 2.55</td>
-<td>73.43 +/- 2.52</td>
-<td>82.05 +/- 0.37</td>
-<td>43.98 +/- 3.02</td>
-<td>0.76 +/- 0.15</td>
-</tr>
-<tr>
-<td>3</td>
-<td>259242</td>
-<td>84584 +/- 5964</td>
-<td>70065 +/- 4194</td>
-<td>252 +/- 12</td>
-<td>94.23 +/- 2.19</td>
-<td>82.90 +/- 1.32</td>
-<td>84.94 +/- 0.28</td>
-<td>51.76 +/- 2.29</td>
-<td>0.59 +/- 0.07</td>
-</tr>
-<tr>
-<td>4</td>
-<td>210549</td>
-<td>68814 +/- 4783</td>
-<td>56905 +/- 4145</td>
-<td>226 +/- 16</td>
-<td>96.82 +/- 7.12</td>
-<td>82.91 +/- 5.89</td>
-<td>56.01 +/- 0.99</td>
-<td>27.86 +/- 3.48</td>
-<td>0.95 +/- 0.33</td>
-</tr>
-<tr>
-<td>5</td>
-<td>295555</td>
-<td>104855 +/- 4665</td>
-<td>79879 +/- 6270</td>
-<td>200 +/- 24</td>
-<td>103.56 +/- 15.45</td>
-<td>76.34 +/- 6.67</td>
-<td>56.76 +/- 0.41</td>
-<td>25.68 +/- 2.06</td>
-<td>0.98 +/- 0.17</td>
-</tr>
-<tr>
-<td>6</td>
-<td>140401</td>
-<td>43556 +/- 1633</td>
-<td>37946 +/- 2140</td>
-<td>179 +/- 10</td>
-<td>100.82 +/- 5.47</td>
-<td>87.14 +/- 3.87</td>
-<td>88.64 +/- 1.42</td>
-<td>34.05 +/- 2.60</td>
-<td>0.98 +/- 0.22</td>
-</tr>
-<tr>
-<td>7</td>
-<td>154217</td>
-<td>54266 +/- 1589</td>
-<td>41680 +/- 5319</td>
-<td>184 +/- 5</td>
-<td>103.42 +/- 3.47</td>
-<td>76.94 +/- 10.52</td>
-<td>83.90 +/- 1.32</td>
-<td>27.60 +/- 2.07</td>
-<td>1.26 +/- 0.16</td>
-</tr>
-<tr>
-<td>8</td>
-<td>147969</td>
-<td>64364 +/- 2698</td>
-<td>39991 +/- 6785</td>
-<td>206 +/- 31</td>
-<td>99.48 +/- 3.23</td>
-<td>62.45 +/- 12.05</td>
-<td>79.81 +/- 3.35</td>
-<td>23.06 +/- 2.50</td>
-<td>1.56 +/- 0.23</td>
-</tr>
-<tr><td colspan="13">Tile mean across chip</td></tr>
-<tr>
-<td>Av.</td>
-<td></td>
-<td>78844</td>
-<td>59952</td>
-<td>223</td>
-<td>98.29</td>
-<td>76.79</td>
-<td>76.70</td>
-<td>34.59</td>
-<td>1.00</td>
-</tr>
-</table>
-<h2><br></br>Expanded Lane Summary : Read 1<br></br></h2>
-<table border="1" cellpadding="5">
-<tr>
-
-<tr><td colspan="2">Lane Info</td>
-<td colspan="2">Phasing Info</td>
-<td colspan="2">Raw Data (tile mean)</td>
-<td colspan="7">Filtered Data (tile mean)</td></tr>
-<td>Lane </td>
-<td>Clusters (tile mean) (raw)</td>
-<td>% Phasing </td>
-<td>% Prephasing </td>
-<td>% Error Rate (raw) </td>
-<td> Equiv Perfect Clusters (raw) </td>
-<td>% retained </td>
-<td>Cycle 2-4 Av Int (PF) </td>
-<td>Cycle 2-10 Av % Loss (PF) </td>
-<td>Cycle 10-20 Av % Loss (PF) </td>
-<td>% Align (PF) </td>
-<td>% Error Rate (PF) </td>
-<td> Equiv Perfect Clusters (PF) </td>
-</tr>
-<tr>
-<td>1</td>
-<td>103646</td>
-<td>0.8600</td>
-<td>0.4900</td>
-<td>1.37</td>
-<td>74813</td>
-<td>72.22</td>
-<td>266 +/- 17</td>
-<td>-0.53 +/- 0.37</td>
-<td>-0.42 +/- 0.21</td>
-<td>89.19</td>
-<td>0.94</td>
-<td>64718</td>
-</tr>
-<tr>
-<td>2</td>
-<td>106678</td>
-<td>0.8600</td>
-<td>0.4900</td>
-<td>1.34</td>
-<td>74842</td>
-<td>73.43</td>
-<td>284 +/- 16</td>
-<td>0.08 +/- 0.43</td>
-<td>-0.17 +/- 0.34</td>
-<td>87.05</td>
-<td>0.92</td>
-<td>65850</td>
-</tr>
-<tr>
-<td>3</td>
-<td>84583</td>
-<td>0.8600</td>
-<td>0.4900</td>
-<td>1.09</td>
-<td>65493</td>
-<td>82.90</td>
-<td>286 +/- 14</td>
-<td>0.29 +/- 0.48</td>
-<td>-0.02 +/- 0.17</td>
-<td>89.49</td>
-<td>0.81</td>
-<td>60899</td>
-</tr>
-<tr>
-<td>4</td>
-<td>68813</td>
-<td>0.8600</td>
-<td>0.4900</td>
-<td>1.19</td>
-<td>33697</td>
-<td>82.91</td>
-<td>286 +/- 23</td>
-<td>-0.01 +/- 0.62</td>
-<td>-0.37 +/- 0.30</td>
-<td>56.93</td>
-<td>0.95</td>
-<td>31080</td>
-</tr>
-<tr>
-<td>5</td>
-<td>104854</td>
-<td>0.8600</td>
-<td>0.4900</td>
-<td>1.32</td>
-<td>50075</td>
-<td>76.34</td>
-<td>258 +/- 25</td>
-<td>-0.03 +/- 0.46</td>
-<td>-0.49 +/- 0.27</td>
-<td>57.71</td>
-<td>0.97</td>
-<td>44149</td>
-</tr>
-<tr>
-<td>6</td>
-<td>43555</td>
-<td>0.8600</td>
-<td>0.4900</td>
-<td>1.24</td>
-<td>34399</td>
-<td>87.14</td>
-<td>231 +/- 14</td>
-<td>-0.19 +/- 0.46</td>
-<td>-0.34 +/- 0.40</td>
-<td>89.08</td>
-<td>1.05</td>
-<td>32302</td>
-</tr>
-<tr>
-<td>7</td>
-<td>54265</td>
-<td>0.8600</td>
-<td>0.4900</td>
-<td>1.67</td>
-<td>38188</td>
-<td>76.94</td>
-<td>224 +/- 14</td>
-<td>-0.41 +/- 0.49</td>
-<td>-0.55 +/- 0.23</td>
-<td>84.50</td>
-<td>1.32</td>
-<td>33435</td>
-</tr>
-<tr>
-<td>8</td>
-<td>64363</td>
-<td>0.8600</td>
-<td>0.4900</td>
-<td>2.15</td>
-<td>38077</td>
-<td>62.45</td>
-<td>247 +/- 42</td>
-<td>-0.52 +/- 0.36</td>
-<td>-0.29 +/- 0.19</td>
-<td>82.20</td>
-<td>1.57</td>
-<td>31036</td>
-</tr>
-</table>
-<h2><br></br>Expanded Lane Summary : Read 2<br></br></h2>
-<table border="1" cellpadding="5">
-<tr>
-
-<tr><td colspan="2">Lane Info</td>
-<td colspan="2">Phasing Info</td>
-<td colspan="2">Raw Data (tile mean)</td>
-<td colspan="7">Filtered Data (tile mean)</td></tr>
-<td>Lane </td>
-<td>Clusters (tile mean) (raw)</td>
-<td>% Phasing </td>
-<td>% Prephasing </td>
-<td>% Error Rate (raw) </td>
-<td> Equiv Perfect Clusters (raw) </td>
-<td>% retained </td>
-<td>Cycle 2-4 Av Int (PF) </td>
-<td>Cycle 2-10 Av % Loss (PF) </td>
-<td>Cycle 10-20 Av % Loss (PF) </td>
-<td>% Align (PF) </td>
-<td>% Error Rate (PF) </td>
-<td> Equiv Perfect Clusters (PF) </td>
-</tr>
-<tr>
-<td>1</td>
-<td>103646</td>
-<td>0.7900</td>
-<td>0.4600</td>
-<td>1.24</td>
-<td>68870</td>
-<td>72.22</td>
-<td>254 +/- 15</td>
-<td>-0.53 +/- 0.37</td>
-<td>-0.42 +/- 0.21</td>
-<td>81.54</td>
-<td>0.89</td>
-<td>59272</td>
-</tr>
-<tr>
-<td>2</td>
-<td>106678</td>
-<td>0.7900</td>
-<td>0.4600</td>
-<td>1.11</td>
-<td>71980</td>
-<td>73.43</td>
-<td>247 +/- 12</td>
-<td>0.08 +/- 0.43</td>
-<td>-0.17 +/- 0.34</td>
-<td>82.05</td>
-<td>0.76</td>
-<td>62240</td>
-</tr>
-<tr>
-<td>3</td>
-<td>84583</td>
-<td>0.7900</td>
-<td>0.4600</td>
-<td>0.80</td>
-<td>63500</td>
-<td>82.90</td>
-<td>243 +/- 8</td>
-<td>0.29 +/- 0.48</td>
-<td>-0.02 +/- 0.17</td>
-<td>84.94</td>
-<td>0.59</td>
-<td>58029</td>
-</tr>
-<tr>
-<td>4</td>
-<td>68813</td>
-<td>0.7900</td>
-<td>0.4600</td>
-<td>1.12</td>
-<td>33534</td>
-<td>82.91</td>
-<td>210 +/- 19</td>
-<td>-0.01 +/- 0.62</td>
-<td>-0.37 +/- 0.30</td>
-<td>56.01</td>
-<td>0.95</td>
-<td>30548</td>
-</tr>
-<tr>
-<td>5</td>
-<td>104854</td>
-<td>0.7900</td>
-<td>0.4600</td>
-<td>1.24</td>
-<td>49951</td>
-<td>76.34</td>
-<td>193 +/- 12</td>
-<td>-0.03 +/- 0.46</td>
-<td>-0.49 +/- 0.27</td>
-<td>56.76</td>
-<td>0.98</td>
-<td>43366</td>
-</tr>
-<tr>
-<td>6</td>
-<td>43555</td>
-<td>0.7900</td>
-<td>0.4600</td>
-<td>1.12</td>
-<td>34751</td>
-<td>87.14</td>
-<td>174 +/- 7</td>
-<td>-0.19 +/- 0.46</td>
-<td>-0.34 +/- 0.40</td>
-<td>88.64</td>
-<td>0.98</td>
-<td>32208</td>
-</tr>
-<tr>
-<td>7</td>
-<td>54265</td>
-<td>0.7900</td>
-<td>0.4600</td>
-<td>1.55</td>
-<td>38418</td>
-<td>76.94</td>
-<td>178 +/- 4</td>
-<td>-0.41 +/- 0.49</td>
-<td>-0.55 +/- 0.23</td>
-<td>83.90</td>
-<td>1.26</td>
-<td>33240</td>
-</tr>
-<tr>
-<td>8</td>
-<td>64363</td>
-<td>0.7900</td>
-<td>0.4600</td>
-<td>2.07</td>
-<td>36968</td>
-<td>62.45</td>
-<td>198 +/- 32</td>
-<td>-0.52 +/- 0.36</td>
-<td>-0.29 +/- 0.19</td>
-<td>79.81</td>
-<td>1.56</td>
-<td>30181</td>
-</tr>
-</table>
-</body>
-</html>"""
-    pathname = os.path.join(gerald_dir, 'Summary.htm')
-    f = open(pathname, 'w')
-    f.write(summary_htm)
-    f.close()
+    source = os.path.join(TESTDATA_DIR, 'Summary-paired-pipeline110.htm')
+    destination = os.path.join(gerald_dir, 'Summary.htm')
+    shutil.copy(source, destination)
 
 def make_summary_ipar130_htm(gerald_dir):
-     test_dir = os.path.split(__file__)[0]
-     testdata_dir = os.path.join(test_dir, 'testdata')
-     summary_htm = os.path.join(testdata_dir, 'Summary-ipar130.htm')
-     dest = os.path.join(gerald_dir, 'Summary.htm')
-     shutil.copy(summary_htm, dest)
+    source = os.path.join(TESTDATA_DIR, 'Summary-ipar130.htm')
+    destination = os.path.join(gerald_dir, 'Summary.htm')
+    shutil.copy(source, destination)
 
 def make_eland_results(gerald_dir):
     eland_result = """>HWI-EAS229_24_207BTAAXX:1:7:599:759    ACATAGNCACAGACATAAACATAGACATAGAC U0      1       1       3       chrUextra.fa    28189829        R       D.
index fac72571319eacfa203d804827f46695deed20d1..f8160ed51b3df985be2598a8296bbfd1cd043143 100644 (file)
@@ -250,7 +250,8 @@ class RunfolderTests(unittest.TestCase):
         os.mkdir(self.firecrest_dir)
         self.matrix_dir = os.path.join(self.firecrest_dir, 'Matrix')
         os.mkdir(self.matrix_dir)
-        make_matrix(self.matrix_dir)
+        matrix_filename = os.path.join(self.matrix_dir, 's_matrix')
+        make_matrix(matrix_filename)
 
         self.bustard_dir = os.path.join(self.firecrest_dir, 
                                         'Bustard1.8.28_12-04-2008_diane')
@@ -260,7 +261,7 @@ class RunfolderTests(unittest.TestCase):
         self.gerald_dir = os.path.join(self.bustard_dir,
                                        'GERALD_12-04-2008_diane')
         os.mkdir(self.gerald_dir)
-        make_gerald_config(self.gerald_dir)
+        make_gerald_config_026(self.gerald_dir)
         make_summary_htm(self.gerald_dir)
         make_eland_results(self.gerald_dir)
 
index 4e3ddf68fe1dd204a08b1e6a69ff00a57a6b6a95..0691308229959889fac17ec1149e9b6044c34644 100644 (file)
@@ -653,7 +653,8 @@ def make_runfolder(obj=None):
     os.mkdir(firecrest_dir)
     matrix_dir = os.path.join(firecrest_dir, 'Matrix')
     os.mkdir(matrix_dir)
-    make_matrix(matrix_dir)
+    matrix_filename = os.path.join(matrix_dir, 's_matrix.txt')
+    make_matrix(matrix_filename)
 
     bustard_dir = os.path.join(firecrest_dir, 
                                'Bustard1.8.28_12-04-2008_diane')
@@ -663,7 +664,7 @@ def make_runfolder(obj=None):
     gerald_dir = os.path.join(bustard_dir,
                               'GERALD_12-04-2008_diane')
     os.mkdir(gerald_dir)
-    make_gerald_config(gerald_dir)
+    make_gerald_config_026(gerald_dir)
     make_summary_htm(gerald_dir)
     make_eland_results(gerald_dir)
 
index fc96bc8a821f74a826a40a9fbbf1e45367326c56..fc91ce43ee3e32e23db57a0dae650cb66f15c438 100644 (file)
@@ -33,19 +33,19 @@ def make_runfolder(obj=None):
                                  'C1-37_Firecrest1.9.6_20-10-2008_diane')
     os.mkdir(firecrest_dir)
 
-    matrix_dir = os.path.join(firecrest_dir, 'Matrix')
-    os.mkdir(matrix_dir)
-    make_matrix(matrix_dir)
-
     bustard_dir = os.path.join(firecrest_dir,
                                'Bustard1.9.6_20-10-2008_diane')
     os.mkdir(bustard_dir)
     make_phasing_params(bustard_dir)
 
+    matrix_name = os.path.join(bustard_dir, 'matrix1.txt')
+    make_matrix(matrix_name)
+
+
     gerald_dir = os.path.join(bustard_dir,
                               'GERALD_20-10-2008_diane')
     os.mkdir(gerald_dir)
-    make_gerald_config(gerald_dir)
+    make_gerald_config_100(gerald_dir)
     make_summary_htm_110(gerald_dir)
     make_eland_multi(gerald_dir)
 
@@ -54,7 +54,6 @@ def make_runfolder(obj=None):
         obj.runfolder_dir = runfolder_dir
         obj.data_dir = data_dir
         obj.image_analysis_dir = firecrest_dir
-        obj.matrix_dir = matrix_dir
         obj.bustard_dir = bustard_dir
         obj.gerald_dir = gerald_dir
 
@@ -122,8 +121,8 @@ class RunfolderTests(unittest.TestCase):
         g = gerald.gerald(self.gerald_dir)
 
         self.failUnlessEqual(g.version,
-            '@(#) Id: GERALD.pl,v 1.68.2.2 2007/06/13 11:08:49 km Exp')
-        self.failUnlessEqual(g.date, datetime(2008,4,19,19,8,30))
+            '@(#) Id: GERALD.pl,v 1.171 2008/05/19 17:36:14 mzerara Exp')
+        self.failUnlessEqual(g.date, datetime(2009,2,22,21,15,59))
         self.failUnlessEqual(len(g.lanes), len(g.lanes.keys()))
         self.failUnlessEqual(len(g.lanes), len(g.lanes.items()))
 
@@ -132,22 +131,29 @@ class RunfolderTests(unittest.TestCase):
         # make_gerald_config.
         # the first None is to offset the genomes list to be 1..9
         # instead of pythons default 0..8
-        genomes = [None, '/g/dm3', '/g/equcab1', '/g/equcab1', '/g/canfam2',
-                         '/g/hg18', '/g/hg18', '/g/hg18', '/g/hg18', ]
+        genomes = [None, 
+                   '/g/mm9', 
+                   '/g/mm9', 
+                   '/g/elegans190', 
+                   '/g/arabidopsis01222004',
+                   '/g/mm9', 
+                   '/g/mm9', 
+                   '/g/mm9', 
+                   '/g/mm9', ]
 
         # test lane specific parameters from gerald config file
         for i in range(1,9):
             cur_lane = g.lanes[i]
-            self.failUnlessEqual(cur_lane.analysis, 'eland')
+            self.failUnlessEqual(cur_lane.analysis, 'eland_extended')
             self.failUnlessEqual(cur_lane.eland_genome, genomes[i])
-            self.failUnlessEqual(cur_lane.read_length, '32')
-            self.failUnlessEqual(cur_lane.use_bases, 'Y'*32)
+            self.failUnlessEqual(cur_lane.read_length, '37')
+            self.failUnlessEqual(cur_lane.use_bases, 'Y'*37)
 
         # I want to be able to use a simple iterator
         for l in g.lanes.values():
-          self.failUnlessEqual(l.analysis, 'eland')
-          self.failUnlessEqual(l.read_length, '32')
-          self.failUnlessEqual(l.use_bases, 'Y'*32)
+          self.failUnlessEqual(l.analysis, 'eland_extended')
+          self.failUnlessEqual(l.read_length, '37')
+          self.failUnlessEqual(l.use_bases, 'Y'*37)
 
         # raw cluster numbers extracted from summary file
         # its the first +/- value in the lane results summary
@@ -267,14 +273,14 @@ class RunfolderTests(unittest.TestCase):
 
         # do we get the flowcell id from the filename?
         self.failUnlessEqual(len(runs), 1)
-        name = 'run_30J55AAXX_2008-10-20.xml'
+        name = 'run_30J55AAXX_2009-02-22.xml'
         self.failUnlessEqual(runs[0].name, name)
 
         # do we get the flowcell id from the FlowcellId.xml file
         make_flowcell_id(self.runfolder_dir, '30J55AAXX')
         runs = runfolder.get_runs(self.runfolder_dir)
         self.failUnlessEqual(len(runs), 1)
-        name = 'run_30J55AAXX_2008-10-20.xml'
+        name = 'run_30J55AAXX_2009-02-22.xml'
         self.failUnlessEqual(runs[0].name, name)
 
         r1 = runs[0]
index bf1b520124ab11c01c0ce2a39f39a8d9e83e8cd4..d58a70d991f0b9d384693b65edb9c811f074762f 100644 (file)
@@ -33,7 +33,8 @@ def make_runfolder(obj=None):
 
     matrix_dir = os.path.join(ipar_dir, 'Matrix')
     os.mkdir(matrix_dir)
-    make_matrix(matrix_dir)
+    matrix_name = os.path.join(matrix_dir, 's_matrix.txt')
+    make_matrix(matrix_name)
 
     bustard_dir = os.path.join(ipar_dir,
                                'Bustard1.8.28_12-04-2008_diane')
@@ -43,8 +44,8 @@ def make_runfolder(obj=None):
     gerald_dir = os.path.join(bustard_dir,
                               'GERALD_12-04-2008_diane')
     os.mkdir(gerald_dir)
-    make_gerald_config(gerald_dir)
-    make_summary100_htm(gerald_dir)
+    make_gerald_config_100(gerald_dir)
+    make_summary_htm_100(gerald_dir)
     make_eland_multi(gerald_dir)
 
     if obj is not None:
@@ -119,8 +120,8 @@ class RunfolderTests(unittest.TestCase):
         g = gerald.gerald(self.gerald_dir)
 
         self.failUnlessEqual(g.version,
-            '@(#) Id: GERALD.pl,v 1.68.2.2 2007/06/13 11:08:49 km Exp')
-        self.failUnlessEqual(g.date, datetime(2008,4,19,19,8,30))
+            '@(#) Id: GERALD.pl,v 1.171 2008/05/19 17:36:14 mzerara Exp')
+        self.failUnlessEqual(g.date, datetime(2009,2,22,21,15,59))
         self.failUnlessEqual(len(g.lanes), len(g.lanes.keys()))
         self.failUnlessEqual(len(g.lanes), len(g.lanes.items()))
 
@@ -129,22 +130,29 @@ class RunfolderTests(unittest.TestCase):
         # make_gerald_config.
         # the first None is to offset the genomes list to be 1..9
         # instead of pythons default 0..8
-        genomes = [None, '/g/dm3', '/g/equcab1', '/g/equcab1', '/g/canfam2',
-                         '/g/hg18', '/g/hg18', '/g/hg18', '/g/hg18', ]
+        genomes = [None, 
+                   '/g/mm9', 
+                   '/g/mm9', 
+                   '/g/elegans190', 
+                   '/g/arabidopsis01222004',
+                   '/g/mm9', 
+                   '/g/mm9', 
+                   '/g/mm9', 
+                   '/g/mm9', ]
 
         # test lane specific parameters from gerald config file
         for i in range(1,9):
             cur_lane = g.lanes[i]
-            self.failUnlessEqual(cur_lane.analysis, 'eland')
+            self.failUnlessEqual(cur_lane.analysis, 'eland_extended')
             self.failUnlessEqual(cur_lane.eland_genome, genomes[i])
-            self.failUnlessEqual(cur_lane.read_length, '32')
-            self.failUnlessEqual(cur_lane.use_bases, 'Y'*32)
+            self.failUnlessEqual(cur_lane.read_length, '37')
+            self.failUnlessEqual(cur_lane.use_bases, 'Y'*37)
 
         # I want to be able to use a simple iterator
         for l in g.lanes.values():
-          self.failUnlessEqual(l.analysis, 'eland')
-          self.failUnlessEqual(l.read_length, '32')
-          self.failUnlessEqual(l.use_bases, 'Y'*32)
+          self.failUnlessEqual(l.analysis, 'eland_extended')
+          self.failUnlessEqual(l.read_length, '37')
+          self.failUnlessEqual(l.use_bases, 'Y'*37)
 
         # test data extracted from summary file
         clusters = [None,
index 77f7f90d052dee679e2ed24dcf4b03a638950d24..23e5e9dd7c9a8c9ffebf44e9a135ae732cf75ea7 100644 (file)
@@ -39,7 +39,7 @@ def make_runfolder(obj=None):
     gerald_dir = os.path.join(bustard_dir,
                               'GERALD_15-03-2008_diane')
     os.mkdir(gerald_dir)
-    make_gerald_config(gerald_dir)
+    make_gerald_config_100(gerald_dir)
     make_summary_ipar130_htm(gerald_dir)
     make_eland_multi(gerald_dir)
 
@@ -114,8 +114,8 @@ class RunfolderTests(unittest.TestCase):
         g = gerald.gerald(self.gerald_dir)
 
         self.failUnlessEqual(g.version,
-            '@(#) Id: GERALD.pl,v 1.68.2.2 2007/06/13 11:08:49 km Exp')
-        self.failUnlessEqual(g.date, datetime(2008,4,19,19,8,30))
+            '@(#) Id: GERALD.pl,v 1.171 2008/05/19 17:36:14 mzerara Exp')
+        self.failUnlessEqual(g.date, datetime(2009,2,22,21,15,59))
         self.failUnlessEqual(len(g.lanes), len(g.lanes.keys()))
         self.failUnlessEqual(len(g.lanes), len(g.lanes.items()))
 
@@ -124,22 +124,29 @@ class RunfolderTests(unittest.TestCase):
         # make_gerald_config.
         # the first None is to offset the genomes list to be 1..9
         # instead of pythons default 0..8
-        genomes = [None, '/g/dm3', '/g/equcab1', '/g/equcab1', '/g/canfam2',
-                         '/g/hg18', '/g/hg18', '/g/hg18', '/g/hg18', ]
+        genomes = [None, 
+                   '/g/mm9', 
+                   '/g/mm9', 
+                   '/g/elegans190', 
+                   '/g/arabidopsis01222004',
+                   '/g/mm9', 
+                   '/g/mm9', 
+                   '/g/mm9', 
+                   '/g/mm9', ]
 
         # test lane specific parameters from gerald config file
         for i in range(1,9):
             cur_lane = g.lanes[i]
-            self.failUnlessEqual(cur_lane.analysis, 'eland')
+            self.failUnlessEqual(cur_lane.analysis, 'eland_extended')
             self.failUnlessEqual(cur_lane.eland_genome, genomes[i])
-            self.failUnlessEqual(cur_lane.read_length, '32')
-            self.failUnlessEqual(cur_lane.use_bases, 'Y'*32)
+            self.failUnlessEqual(cur_lane.read_length, '37')
+            self.failUnlessEqual(cur_lane.use_bases, 'Y'*37)
 
         # I want to be able to use a simple iterator
         for l in g.lanes.values():
-          self.failUnlessEqual(l.analysis, 'eland')
-          self.failUnlessEqual(l.read_length, '32')
-          self.failUnlessEqual(l.use_bases, 'Y'*32)
+          self.failUnlessEqual(l.analysis, 'eland_extended')
+          self.failUnlessEqual(l.read_length, '37')
+          self.failUnlessEqual(l.use_bases, 'Y'*37)
 
         # test data extracted from summary file
         clusters = [None,
index ab38d973d161fd55ef8536945cd72485b2a4712b..c0fb6842071c794389145bb36326f9b67b400a56 100644 (file)
@@ -33,7 +33,8 @@ def make_runfolder(obj=None):
 
     matrix_dir = os.path.join(ipar_dir, 'Matrix')
     os.mkdir(matrix_dir)
-    make_matrix(matrix_dir)
+    matrix_name = os.path.join(matrix_dir, 's_matrix.txt')
+    make_matrix(matrix_name)
 
     bustard_dir = os.path.join(ipar_dir,
                                'Bustard1.8.28_12-04-2008_diane')
@@ -43,7 +44,7 @@ def make_runfolder(obj=None):
     gerald_dir = os.path.join(bustard_dir,
                               'GERALD_12-04-2008_diane')
     os.mkdir(gerald_dir)
-    make_gerald_config(gerald_dir)
+    make_gerald_config_100(gerald_dir)
     make_summary_paired_htm(gerald_dir)
     make_eland_multi(gerald_dir, paired=True)
 
@@ -122,8 +123,8 @@ class RunfolderTests(unittest.TestCase):
         g = gerald.gerald(self.gerald_dir)
 
         self.failUnlessEqual(g.version,
-            '@(#) Id: GERALD.pl,v 1.68.2.2 2007/06/13 11:08:49 km Exp')
-        self.failUnlessEqual(g.date, datetime(2008,4,19,19,8,30))
+            '@(#) Id: GERALD.pl,v 1.171 2008/05/19 17:36:14 mzerara Exp')
+        self.failUnlessEqual(g.date, datetime(2009,2,22,21,15,59))
         self.failUnlessEqual(len(g.lanes), len(g.lanes.keys()))
         self.failUnlessEqual(len(g.lanes), len(g.lanes.items()))
 
@@ -132,22 +133,29 @@ class RunfolderTests(unittest.TestCase):
         # make_gerald_config.
         # the first None is to offset the genomes list to be 1..9
         # instead of pythons default 0..8
-        genomes = [None, '/g/dm3', '/g/equcab1', '/g/equcab1', '/g/canfam2',
-                         '/g/hg18', '/g/hg18', '/g/hg18', '/g/hg18', ]
+        genomes = [None, 
+                   '/g/mm9', 
+                   '/g/mm9', 
+                   '/g/elegans190', 
+                   '/g/arabidopsis01222004',
+                   '/g/mm9', 
+                   '/g/mm9', 
+                   '/g/mm9', 
+                   '/g/mm9', ]
 
         # test lane specific parameters from gerald config file
         for i in range(1,9):
             cur_lane = g.lanes[i]
-            self.failUnlessEqual(cur_lane.analysis, 'eland')
+            self.failUnlessEqual(cur_lane.analysis, 'eland_extended')
             self.failUnlessEqual(cur_lane.eland_genome, genomes[i])
-            self.failUnlessEqual(cur_lane.read_length, '32')
-            self.failUnlessEqual(cur_lane.use_bases, 'Y'*32)
+            self.failUnlessEqual(cur_lane.read_length, '37')
+            self.failUnlessEqual(cur_lane.use_bases, 'Y'*37)
 
         # I want to be able to use a simple iterator
         for l in g.lanes.values():
-          self.failUnlessEqual(l.analysis, 'eland')
-          self.failUnlessEqual(l.read_length, '32')
-          self.failUnlessEqual(l.use_bases, 'Y'*32)
+          self.failUnlessEqual(l.analysis, 'eland_extended')
+          self.failUnlessEqual(l.read_length, '37')
+          self.failUnlessEqual(l.use_bases, 'Y'*37)
 
         # test data extracted from summary file
         clusters = [[None,
@@ -290,14 +298,14 @@ class RunfolderTests(unittest.TestCase):
         # do we get the flowcell id from the filename?
         self.failUnlessEqual(len(runs), 1)
         # firecrest's date depends on filename not the create time.
-        name = 'run_207BTAAXX_2008-04-19.xml'
+        name = 'run_207BTAAXX_2009-02-22.xml'
         self.failUnlessEqual(runs[0].name, name)
 
         # do we get the flowcell id from the FlowcellId.xml file
         make_flowcell_id(self.runfolder_dir, '207BTAAXY')
         runs = runfolder.get_runs(self.runfolder_dir)
         self.failUnlessEqual(len(runs), 1)
-        name = 'run_207BTAAXY_2008-04-19.xml'
+        name = 'run_207BTAAXY_2009-02-22.xml'
         self.failUnlessEqual(runs[0].name, name)
 
         r1 = runs[0]
diff --git a/htsworkflow/pipelines/test/testdata/IPAR1.01.params b/htsworkflow/pipelines/test/testdata/IPAR1.01.params
new file mode 100644 (file)
index 0000000..11bc608
--- /dev/null
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>\r
+<ImageAnalysis>\r
+  <Run Name="IPAR_1.01">\r
+    <Software Name="IPAR" Version="2.01.192.0" />\r
+    <Cycles First="1" Last="37" Number="37" />\r
+    <RunParameters>\r
+      <ImagingReads Index="1">\r
+        <FirstCycle>1</FirstCycle>\r
+        <LastCycle>37</LastCycle>\r
+        <RunFolder>090220_HWI-EAS229_0093_30VR0AAXX</RunFolder>\r
+      </ImagingReads>\r
+      <Reads Index="1">\r
+        <FirstCycle>1</FirstCycle>\r
+        <LastCycle>37</LastCycle>\r
+        <RunFolder>090220_HWI-EAS229_0093_30VR0AAXX</RunFolder>\r
+      </Reads>\r
+      <Compression>gzip</Compression>\r
+      <CompressionSuffix>.p.gz</CompressionSuffix>\r
+      <Instrument>HWI-EAS229</Instrument>\r
+      <RunFolder>090220_HWI-EAS229_0093_30VR0AAXX</RunFolder>\r
+    </RunParameters>\r
+    <ImageParameters>\r
+      <AutoOffsetFlag>1</AutoOffsetFlag>\r
+      <Fwhm>2.7</Fwhm>\r
+      <RemappingDistance>1.5</RemappingDistance>\r
+      <Threshold>4</Threshold>\r
+    </ImageParameters>\r
+    <TileSelection>\r
+      <Lane Index="1">\r
+        <Sample>s</Sample>\r
+        <TileRange Max="100" Min="1" />\r
+      </Lane>\r
+      <Lane Index="2">\r
+        <Sample>s</Sample>\r
+        <TileRange Max="100" Min="1" />\r
+      </Lane>\r
+      <Lane Index="3">\r
+        <Sample>s</Sample>\r
+        <TileRange Max="100" Min="1" />\r
+      </Lane>\r
+      <Lane Index="4">\r
+        <Sample>s</Sample>\r
+        <TileRange Max="100" Min="1" />\r
+      </Lane>\r
+      <Lane Index="5">\r
+        <Sample>s</Sample>\r
+        <TileRange Max="100" Min="1" />\r
+      </Lane>\r
+      <Lane Index="6">\r
+        <Sample>s</Sample>\r
+        <TileRange Max="100" Min="1" />\r
+      </Lane>\r
+      <Lane Index="7">\r
+        <Sample>s</Sample>\r
+        <TileRange Max="100" Min="1" />\r
+      </Lane>\r
+      <Lane Index="8">\r
+        <Sample>s</Sample>\r
+        <TileRange Max="100" Min="1" />\r
+      </Lane>\r
+    </TileSelection>\r
+  </Run>\r
+</ImageAnalysis>
\ No newline at end of file
diff --git a/htsworkflow/pipelines/test/testdata/Summary-paired-pipeline110.htm b/htsworkflow/pipelines/test/testdata/Summary-paired-pipeline110.htm
new file mode 100644 (file)
index 0000000..5b41c1e
--- /dev/null
@@ -0,0 +1,662 @@
+<!--RUN_TIME Thu Nov 13 15:11:29 2008 -->
+<!--SOFTWARE_VERSION @(#) $Id: jerboa.pl,v 1.94 2007/12/04 09:59:07 rshaw Exp $-->
+<html>
+<body>
+
+<a name="Top"><h2><title>080920_HWI-EAS229_0057_30GBJAAXX Summary</title></h2></a>
+<h1>Summary Information For Experiment 080920_HWI-EAS229_0057_30GBJAAXX on Machine unknown</h1>
+<h2><br></br>Chip Summary<br></br></h2>
+<table border="1" cellpadding="5">
+<tr><td>Machine</td><td>UNKNOWN</td></tr>
+<tr><td>Run Folder</td><td>080920_HWI-EAS229_0057_30GBJAAXX</td></tr>
+<tr><td>Chip ID</td><td>unknown</td></tr>
+</table>
+<h2><br></br>Chip Results Summary<br></br></h2>
+<table border="1" cellpadding="5">
+<tr>
+<td>Clusters</td>
+<td>Clusters (PF)</td>
+<td>Yield (kbases)</td>
+</tr>
+<tr><td>126151880</td>
+<td>95923456</td>
+<td>3549167</td>
+</tr>
+</table>
+<h2><br></br>Lane Parameter Summary<br></br></h2>
+<table border="1" cellpadding="5">
+<tr>
+<td>Lane</td>
+<td>Sample ID</td>
+<td>Sample Target</td>
+<td>Sample Type</td>
+<td>Length</td>
+<td>Filter</td>
+<td>Num Tiles</td>
+<td>Tiles</td>
+</tr>
+<tr>
+<td>1</td>
+<td>unknown</td>
+<td>mm9</td>
+<td>ELAND_PAIR</td>
+<td>37, 37</td>
+<td>'((CHASTITY>=0.6))'</td>
+<td>100</td>
+<td><a href="#Lane1">Lane 1</a></td>
+</tr>
+<tr>
+<td>2</td>
+<td>unknown</td>
+<td>hg18</td>
+<td>ELAND_PAIR</td>
+<td>37, 37</td>
+<td>'((CHASTITY>=0.6))'</td>
+<td>100</td>
+<td><a href="#Lane2">Lane 2</a></td>
+</tr>
+<tr>
+<td>3</td>
+<td>unknown</td>
+<td>mm9</td>
+<td>ELAND_PAIR</td>
+<td>37, 37</td>
+<td>'((CHASTITY>=0.6))'</td>
+<td>100</td>
+<td><a href="#Lane3">Lane 3</a></td>
+</tr>
+<tr>
+<td>4</td>
+<td>unknown</td>
+<td>mm9</td>
+<td>ELAND_PAIR</td>
+<td>37, 37</td>
+<td>'((CHASTITY>=0.6))'</td>
+<td>100</td>
+<td><a href="#Lane4">Lane 4</a></td>
+</tr>
+<tr>
+<td>5</td>
+<td>unknown</td>
+<td>mm9</td>
+<td>ELAND_PAIR</td>
+<td>37, 37</td>
+<td>'((CHASTITY>=0.6))'</td>
+<td>100</td>
+<td><a href="#Lane5">Lane 5</a></td>
+</tr>
+<tr>
+<td>6</td>
+<td>unknown</td>
+<td>hg18</td>
+<td>ELAND_PAIR</td>
+<td>37, 37</td>
+<td>'((CHASTITY>=0.6))'</td>
+<td>100</td>
+<td><a href="#Lane6">Lane 6</a></td>
+</tr>
+<tr>
+<td>7</td>
+<td>unknown</td>
+<td>mm9</td>
+<td>ELAND_PAIR</td>
+<td>37, 37</td>
+<td>'((CHASTITY>=0.6))'</td>
+<td>100</td>
+<td><a href="#Lane7">Lane 7</a></td>
+</tr>
+<tr>
+<td>8</td>
+<td>unknown</td>
+<td>mm9</td>
+<td>ELAND_PAIR</td>
+<td>37, 37</td>
+<td>'((CHASTITY>=0.6))'</td>
+<td>100</td>
+<td><a href="#Lane8">Lane 8</a></td>
+</tr>
+</table>
+<h2><br></br>Lane Results Summary : Read 1<br></br></h2>
+<table border="1" cellpadding="5">
+<tr>
+<td colspan="2">Lane Info</td>
+<td colspan="8">Tile Mean +/- SD for Lane</td>
+</tr>
+<tr>
+<td>Lane </td>
+<td>Lane Yield (kbases) </td>
+<td>Clusters (raw)</td>
+<td>Clusters (PF) </td>
+<td>1st Cycle Int (PF) </td>
+<td>% intensity after 20 cycles (PF) </td>
+<td>% PF Clusters </td>
+<td>% Align (PF) </td>
+<td>Alignment Score (PF) </td>
+<td> % Error Rate (PF) </td>
+</tr>
+<tr>
+<td>1</td>
+<td>277083</td>
+<td>103646 +/- 4515</td>
+<td>74887 +/- 6080</td>
+<td>290 +/- 17</td>
+<td>99.34 +/- 3.52</td>
+<td>72.22 +/- 4.63</td>
+<td>89.19 +/- 0.59</td>
+<td>14.16 +/- 0.63</td>
+<td>0.94 +/- 0.17</td>
+</tr>
+<tr>
+<td>2</td>
+<td>289563</td>
+<td>106678 +/- 4652</td>
+<td>78260 +/- 2539</td>
+<td>294 +/- 16</td>
+<td>98.23 +/- 2.66</td>
+<td>73.43 +/- 2.52</td>
+<td>87.05 +/- 0.64</td>
+<td>16.81 +/- 0.55</td>
+<td>0.92 +/- 0.17</td>
+</tr>
+<tr>
+<td>3</td>
+<td>259242</td>
+<td>84583 +/- 5963</td>
+<td>70065 +/- 4194</td>
+<td>284 +/- 18</td>
+<td>99.82 +/- 3.05</td>
+<td>82.90 +/- 1.32</td>
+<td>89.49 +/- 0.20</td>
+<td>18.13 +/- 0.66</td>
+<td>0.81 +/- 0.13</td>
+</tr>
+<tr>
+<td>4</td>
+<td>210549</td>
+<td>68813 +/- 4782</td>
+<td>56905 +/- 4145</td>
+<td>300 +/- 29</td>
+<td>102.00 +/- 14.74</td>
+<td>82.91 +/- 5.89</td>
+<td>56.93 +/- 0.82</td>
+<td>25.85 +/- 2.30</td>
+<td>0.95 +/- 0.30</td>
+</tr>
+<tr>
+<td>5</td>
+<td>295555</td>
+<td>104854 +/- 4664</td>
+<td>79879 +/- 6270</td>
+<td>281 +/- 19</td>
+<td>98.26 +/- 5.85</td>
+<td>76.34 +/- 6.67</td>
+<td>57.71 +/- 0.30</td>
+<td>26.16 +/- 1.68</td>
+<td>0.97 +/- 0.19</td>
+</tr>
+<tr>
+<td>6</td>
+<td>140401</td>
+<td>43555 +/- 1632</td>
+<td>37946 +/- 2140</td>
+<td>233 +/- 16</td>
+<td>105.74 +/- 8.40</td>
+<td>87.14 +/- 3.87</td>
+<td>89.08 +/- 1.00</td>
+<td>33.53 +/- 2.18</td>
+<td>1.05 +/- 0.21</td>
+</tr>
+<tr>
+<td>7</td>
+<td>154217</td>
+<td>54265 +/- 1588</td>
+<td>41680 +/- 5319</td>
+<td>224 +/- 18</td>
+<td>111.33 +/- 8.90</td>
+<td>76.94 +/- 10.52</td>
+<td>84.50 +/- 1.41</td>
+<td>27.44 +/- 2.33</td>
+<td>1.32 +/- 0.25</td>
+</tr>
+<tr>
+<td>8</td>
+<td>147969</td>
+<td>64363 +/- 2697</td>
+<td>39991 +/- 6785</td>
+<td>248 +/- 43</td>
+<td>109.93 +/- 7.80</td>
+<td>62.45 +/- 12.05</td>
+<td>82.20 +/- 2.08</td>
+<td>24.63 +/- 2.53</td>
+<td>1.57 +/- 0.22</td>
+</tr>
+<tr><td colspan="13">Tile mean across chip</td></tr>
+<tr>
+<td>Av.</td>
+<td></td>
+<td>78844</td>
+<td>59952</td>
+<td>269</td>
+<td>103.08</td>
+<td>76.79</td>
+<td>79.52</td>
+<td>23.34</td>
+<td>1.06</td>
+</tr>
+</table>
+<h2><br></br>Lane Results Summary : Read 2<br></br></h2>
+<table border="1" cellpadding="5">
+<tr>
+<td colspan="2">Lane Info</td>
+<td colspan="8">Tile Mean +/- SD for Lane</td>
+</tr>
+<tr>
+<td>Lane </td>
+<td>Lane Yield (kbases) </td>
+<td>Clusters (raw)</td>
+<td>Clusters (PF) </td>
+<td>1st Cycle Int (PF) </td>
+<td>% intensity after 20 cycles (PF) </td>
+<td>% PF Clusters </td>
+<td>% Align (PF) </td>
+<td>Alignment Score (PF) </td>
+<td> % Error Rate (PF) </td>
+</tr>
+<tr>
+<td>1</td>
+<td>277083</td>
+<td>103647 +/- 4516</td>
+<td>74887 +/- 6080</td>
+<td>277 +/- 17</td>
+<td>94.42 +/- 5.68</td>
+<td>72.22 +/- 4.63</td>
+<td>81.54 +/- 2.13</td>
+<td>42.70 +/- 5.49</td>
+<td>0.89 +/- 0.27</td>
+</tr>
+<tr>
+<td>2</td>
+<td>289563</td>
+<td>106679 +/- 4653</td>
+<td>78260 +/- 2539</td>
+<td>259 +/- 13</td>
+<td>93.57 +/- 2.55</td>
+<td>73.43 +/- 2.52</td>
+<td>82.05 +/- 0.37</td>
+<td>43.98 +/- 3.02</td>
+<td>0.76 +/- 0.15</td>
+</tr>
+<tr>
+<td>3</td>
+<td>259242</td>
+<td>84584 +/- 5964</td>
+<td>70065 +/- 4194</td>
+<td>252 +/- 12</td>
+<td>94.23 +/- 2.19</td>
+<td>82.90 +/- 1.32</td>
+<td>84.94 +/- 0.28</td>
+<td>51.76 +/- 2.29</td>
+<td>0.59 +/- 0.07</td>
+</tr>
+<tr>
+<td>4</td>
+<td>210549</td>
+<td>68814 +/- 4783</td>
+<td>56905 +/- 4145</td>
+<td>226 +/- 16</td>
+<td>96.82 +/- 7.12</td>
+<td>82.91 +/- 5.89</td>
+<td>56.01 +/- 0.99</td>
+<td>27.86 +/- 3.48</td>
+<td>0.95 +/- 0.33</td>
+</tr>
+<tr>
+<td>5</td>
+<td>295555</td>
+<td>104855 +/- 4665</td>
+<td>79879 +/- 6270</td>
+<td>200 +/- 24</td>
+<td>103.56 +/- 15.45</td>
+<td>76.34 +/- 6.67</td>
+<td>56.76 +/- 0.41</td>
+<td>25.68 +/- 2.06</td>
+<td>0.98 +/- 0.17</td>
+</tr>
+<tr>
+<td>6</td>
+<td>140401</td>
+<td>43556 +/- 1633</td>
+<td>37946 +/- 2140</td>
+<td>179 +/- 10</td>
+<td>100.82 +/- 5.47</td>
+<td>87.14 +/- 3.87</td>
+<td>88.64 +/- 1.42</td>
+<td>34.05 +/- 2.60</td>
+<td>0.98 +/- 0.22</td>
+</tr>
+<tr>
+<td>7</td>
+<td>154217</td>
+<td>54266 +/- 1589</td>
+<td>41680 +/- 5319</td>
+<td>184 +/- 5</td>
+<td>103.42 +/- 3.47</td>
+<td>76.94 +/- 10.52</td>
+<td>83.90 +/- 1.32</td>
+<td>27.60 +/- 2.07</td>
+<td>1.26 +/- 0.16</td>
+</tr>
+<tr>
+<td>8</td>
+<td>147969</td>
+<td>64364 +/- 2698</td>
+<td>39991 +/- 6785</td>
+<td>206 +/- 31</td>
+<td>99.48 +/- 3.23</td>
+<td>62.45 +/- 12.05</td>
+<td>79.81 +/- 3.35</td>
+<td>23.06 +/- 2.50</td>
+<td>1.56 +/- 0.23</td>
+</tr>
+<tr><td colspan="13">Tile mean across chip</td></tr>
+<tr>
+<td>Av.</td>
+<td></td>
+<td>78844</td>
+<td>59952</td>
+<td>223</td>
+<td>98.29</td>
+<td>76.79</td>
+<td>76.70</td>
+<td>34.59</td>
+<td>1.00</td>
+</tr>
+</table>
+<h2><br></br>Expanded Lane Summary : Read 1<br></br></h2>
+<table border="1" cellpadding="5">
+<tr>
+
+<tr><td colspan="2">Lane Info</td>
+<td colspan="2">Phasing Info</td>
+<td colspan="2">Raw Data (tile mean)</td>
+<td colspan="7">Filtered Data (tile mean)</td></tr>
+<td>Lane </td>
+<td>Clusters (tile mean) (raw)</td>
+<td>% Phasing </td>
+<td>% Prephasing </td>
+<td>% Error Rate (raw) </td>
+<td> Equiv Perfect Clusters (raw) </td>
+<td>% retained </td>
+<td>Cycle 2-4 Av Int (PF) </td>
+<td>Cycle 2-10 Av % Loss (PF) </td>
+<td>Cycle 10-20 Av % Loss (PF) </td>
+<td>% Align (PF) </td>
+<td>% Error Rate (PF) </td>
+<td> Equiv Perfect Clusters (PF) </td>
+</tr>
+<tr>
+<td>1</td>
+<td>103646</td>
+<td>0.8600</td>
+<td>0.4900</td>
+<td>1.37</td>
+<td>74813</td>
+<td>72.22</td>
+<td>266 +/- 17</td>
+<td>-0.53 +/- 0.37</td>
+<td>-0.42 +/- 0.21</td>
+<td>89.19</td>
+<td>0.94</td>
+<td>64718</td>
+</tr>
+<tr>
+<td>2</td>
+<td>106678</td>
+<td>0.8600</td>
+<td>0.4900</td>
+<td>1.34</td>
+<td>74842</td>
+<td>73.43</td>
+<td>284 +/- 16</td>
+<td>0.08 +/- 0.43</td>
+<td>-0.17 +/- 0.34</td>
+<td>87.05</td>
+<td>0.92</td>
+<td>65850</td>
+</tr>
+<tr>
+<td>3</td>
+<td>84583</td>
+<td>0.8600</td>
+<td>0.4900</td>
+<td>1.09</td>
+<td>65493</td>
+<td>82.90</td>
+<td>286 +/- 14</td>
+<td>0.29 +/- 0.48</td>
+<td>-0.02 +/- 0.17</td>
+<td>89.49</td>
+<td>0.81</td>
+<td>60899</td>
+</tr>
+<tr>
+<td>4</td>
+<td>68813</td>
+<td>0.8600</td>
+<td>0.4900</td>
+<td>1.19</td>
+<td>33697</td>
+<td>82.91</td>
+<td>286 +/- 23</td>
+<td>-0.01 +/- 0.62</td>
+<td>-0.37 +/- 0.30</td>
+<td>56.93</td>
+<td>0.95</td>
+<td>31080</td>
+</tr>
+<tr>
+<td>5</td>
+<td>104854</td>
+<td>0.8600</td>
+<td>0.4900</td>
+<td>1.32</td>
+<td>50075</td>
+<td>76.34</td>
+<td>258 +/- 25</td>
+<td>-0.03 +/- 0.46</td>
+<td>-0.49 +/- 0.27</td>
+<td>57.71</td>
+<td>0.97</td>
+<td>44149</td>
+</tr>
+<tr>
+<td>6</td>
+<td>43555</td>
+<td>0.8600</td>
+<td>0.4900</td>
+<td>1.24</td>
+<td>34399</td>
+<td>87.14</td>
+<td>231 +/- 14</td>
+<td>-0.19 +/- 0.46</td>
+<td>-0.34 +/- 0.40</td>
+<td>89.08</td>
+<td>1.05</td>
+<td>32302</td>
+</tr>
+<tr>
+<td>7</td>
+<td>54265</td>
+<td>0.8600</td>
+<td>0.4900</td>
+<td>1.67</td>
+<td>38188</td>
+<td>76.94</td>
+<td>224 +/- 14</td>
+<td>-0.41 +/- 0.49</td>
+<td>-0.55 +/- 0.23</td>
+<td>84.50</td>
+<td>1.32</td>
+<td>33435</td>
+</tr>
+<tr>
+<td>8</td>
+<td>64363</td>
+<td>0.8600</td>
+<td>0.4900</td>
+<td>2.15</td>
+<td>38077</td>
+<td>62.45</td>
+<td>247 +/- 42</td>
+<td>-0.52 +/- 0.36</td>
+<td>-0.29 +/- 0.19</td>
+<td>82.20</td>
+<td>1.57</td>
+<td>31036</td>
+</tr>
+</table>
+<h2><br></br>Expanded Lane Summary : Read 2<br></br></h2>
+<table border="1" cellpadding="5">
+<tr>
+
+<tr><td colspan="2">Lane Info</td>
+<td colspan="2">Phasing Info</td>
+<td colspan="2">Raw Data (tile mean)</td>
+<td colspan="7">Filtered Data (tile mean)</td></tr>
+<td>Lane </td>
+<td>Clusters (tile mean) (raw)</td>
+<td>% Phasing </td>
+<td>% Prephasing </td>
+<td>% Error Rate (raw) </td>
+<td> Equiv Perfect Clusters (raw) </td>
+<td>% retained </td>
+<td>Cycle 2-4 Av Int (PF) </td>
+<td>Cycle 2-10 Av % Loss (PF) </td>
+<td>Cycle 10-20 Av % Loss (PF) </td>
+<td>% Align (PF) </td>
+<td>% Error Rate (PF) </td>
+<td> Equiv Perfect Clusters (PF) </td>
+</tr>
+<tr>
+<td>1</td>
+<td>103646</td>
+<td>0.7900</td>
+<td>0.4600</td>
+<td>1.24</td>
+<td>68870</td>
+<td>72.22</td>
+<td>254 +/- 15</td>
+<td>-0.53 +/- 0.37</td>
+<td>-0.42 +/- 0.21</td>
+<td>81.54</td>
+<td>0.89</td>
+<td>59272</td>
+</tr>
+<tr>
+<td>2</td>
+<td>106678</td>
+<td>0.7900</td>
+<td>0.4600</td>
+<td>1.11</td>
+<td>71980</td>
+<td>73.43</td>
+<td>247 +/- 12</td>
+<td>0.08 +/- 0.43</td>
+<td>-0.17 +/- 0.34</td>
+<td>82.05</td>
+<td>0.76</td>
+<td>62240</td>
+</tr>
+<tr>
+<td>3</td>
+<td>84583</td>
+<td>0.7900</td>
+<td>0.4600</td>
+<td>0.80</td>
+<td>63500</td>
+<td>82.90</td>
+<td>243 +/- 8</td>
+<td>0.29 +/- 0.48</td>
+<td>-0.02 +/- 0.17</td>
+<td>84.94</td>
+<td>0.59</td>
+<td>58029</td>
+</tr>
+<tr>
+<td>4</td>
+<td>68813</td>
+<td>0.7900</td>
+<td>0.4600</td>
+<td>1.12</td>
+<td>33534</td>
+<td>82.91</td>
+<td>210 +/- 19</td>
+<td>-0.01 +/- 0.62</td>
+<td>-0.37 +/- 0.30</td>
+<td>56.01</td>
+<td>0.95</td>
+<td>30548</td>
+</tr>
+<tr>
+<td>5</td>
+<td>104854</td>
+<td>0.7900</td>
+<td>0.4600</td>
+<td>1.24</td>
+<td>49951</td>
+<td>76.34</td>
+<td>193 +/- 12</td>
+<td>-0.03 +/- 0.46</td>
+<td>-0.49 +/- 0.27</td>
+<td>56.76</td>
+<td>0.98</td>
+<td>43366</td>
+</tr>
+<tr>
+<td>6</td>
+<td>43555</td>
+<td>0.7900</td>
+<td>0.4600</td>
+<td>1.12</td>
+<td>34751</td>
+<td>87.14</td>
+<td>174 +/- 7</td>
+<td>-0.19 +/- 0.46</td>
+<td>-0.34 +/- 0.40</td>
+<td>88.64</td>
+<td>0.98</td>
+<td>32208</td>
+</tr>
+<tr>
+<td>7</td>
+<td>54265</td>
+<td>0.7900</td>
+<td>0.4600</td>
+<td>1.55</td>
+<td>38418</td>
+<td>76.94</td>
+<td>178 +/- 4</td>
+<td>-0.41 +/- 0.49</td>
+<td>-0.55 +/- 0.23</td>
+<td>83.90</td>
+<td>1.26</td>
+<td>33240</td>
+</tr>
+<tr>
+<td>8</td>
+<td>64363</td>
+<td>0.7900</td>
+<td>0.4600</td>
+<td>2.07</td>
+<td>36968</td>
+<td>62.45</td>
+<td>198 +/- 32</td>
+<td>-0.52 +/- 0.36</td>
+<td>-0.29 +/- 0.19</td>
+<td>79.81</td>
+<td>1.56</td>
+<td>30181</td>
+</tr>
+</table>
+</body>
+</html>
\ No newline at end of file
diff --git a/htsworkflow/pipelines/test/testdata/Summary-pipeline100.htm b/htsworkflow/pipelines/test/testdata/Summary-pipeline100.htm
new file mode 100644 (file)
index 0000000..1b82467
--- /dev/null
@@ -0,0 +1,598 @@
+<!--RUN_TIME Wed Jul  2 06:47:44 2008 -->
+<!--SOFTWARE_VERSION @(#) $Id: jerboa.pl,v 1.94 2007/12/04 09:59:07 rshaw Exp $-->
+<html>
+<body>
+
+<a name="Top"><h2><title>080627_HWI-EAS229_0036_3055HAXX Summary</title></h2></a>
+<h1>Summary Information For Experiment 080627_HWI-EAS229_0036_3055HAXX on Machine HWI-EAS229</h1>
+<h2><br></br>Chip Summary<br></br></h2>
+<table border="1" cellpadding="5">
+<tr><td>Machine</td><td>HWI-EAS229</td></tr>
+<tr><td>Run Folder</td><td>080627_HWI-EAS229_0036_3055HAXX</td></tr>
+<tr><td>Chip ID</td><td>unknown</td></tr>
+</table>
+<h2><br></br>Chip Results Summary<br></br></h2>
+<table border="1" cellpadding="5">
+<tr>
+<td>Clusters</td>
+<td>Clusters (PF)</td>
+<td>Yield (kbases)</td>
+</tr>
+<tr><td>80933224</td>
+<td>43577803</td>
+<td>1133022</td>
+</tr>
+</table>
+<h2><br></br>Lane Parameter Summary<br></br></h2>
+<table border="1" cellpadding="5">
+<tr>
+<td>Lane</td>
+<td>Sample ID</td>
+<td>Sample Target</td>
+<td>Sample Type</td>
+<td>Length</td>
+<td>Filter</td>
+<td>Num Tiles</td>
+<td>Tiles</td>
+</tr>
+<tr>
+<td>1</td>
+<td>unknown</td>
+<td>mm9</td>
+<td>ELAND</td>
+<td>26</td>
+<td>'((CHASTITY>=0.6))'</td>
+<td>100</td>
+<td><a href="#Lane1">Lane 1</a></td>
+</tr>
+<tr>
+<td>2</td>
+<td>unknown</td>
+<td>mm9</td>
+<td>ELAND</td>
+<td>26</td>
+<td>'((CHASTITY>=0.6))'</td>
+<td>100</td>
+<td><a href="#Lane2">Lane 2</a></td>
+</tr>
+<tr>
+<td>3</td>
+<td>unknown</td>
+<td>mm9</td>
+<td>ELAND</td>
+<td>26</td>
+<td>'((CHASTITY>=0.6))'</td>
+<td>100</td>
+<td><a href="#Lane3">Lane 3</a></td>
+</tr>
+<tr>
+<td>4</td>
+<td>unknown</td>
+<td>elegans170</td>
+<td>ELAND</td>
+<td>26</td>
+<td>'((CHASTITY>=0.6))'</td>
+<td>100</td>
+<td><a href="#Lane4">Lane 4</a></td>
+</tr>
+<tr>
+<td>5</td>
+<td>unknown</td>
+<td>elegans170</td>
+<td>ELAND</td>
+<td>26</td>
+<td>'((CHASTITY>=0.6))'</td>
+<td>100</td>
+<td><a href="#Lane5">Lane 5</a></td>
+</tr>
+<tr>
+<td>6</td>
+<td>unknown</td>
+<td>elegans170</td>
+<td>ELAND</td>
+<td>26</td>
+<td>'((CHASTITY>=0.6))'</td>
+<td>100</td>
+<td><a href="#Lane6">Lane 6</a></td>
+</tr>
+<tr>
+<td>7</td>
+<td>unknown</td>
+<td>elegans170</td>
+<td>ELAND</td>
+<td>26</td>
+<td>'((CHASTITY>=0.6))'</td>
+<td>100</td>
+<td><a href="#Lane7">Lane 7</a></td>
+</tr>
+<tr>
+<td>8</td>
+<td>unknown</td>
+<td>elegans170</td>
+<td>ELAND</td>
+<td>26</td>
+<td>'((CHASTITY>=0.6))'</td>
+<td>100</td>
+<td><a href="#Lane8">Lane 8</a></td>
+</tr>
+</table>
+<h2><br></br>Lane Results Summary<br></br></h2>
+<table border="1" cellpadding="5">
+<tr>
+<td colspan="2">Lane Info</td>
+<td colspan="8">Tile Mean +/- SD for Lane</td>
+</tr>
+<tr>
+<td>Lane </td>
+<td>Lane Yield (kbases) </td>
+<td>Clusters (raw)</td>
+<td>Clusters (PF) </td>
+<td>1st Cycle Int (PF) </td>
+<td>% intensity after 20 cycles (PF) </td>
+<td>% PF Clusters </td>
+<td>% Align (PF) </td>
+<td>Alignment Score (PF) </td>
+<td> % Error Rate (PF) </td>
+</tr>
+<tr>
+<td>1</td>
+<td>158046</td>
+<td>96483 +/- 9074</td>
+<td>60787 +/- 4240</td>
+<td>329 +/- 35</td>
+<td>101.88 +/- 6.03</td>
+<td>63.21 +/- 3.29</td>
+<td>70.33 +/- 0.24</td>
+<td>9054.08 +/- 59.16</td>
+<td>0.46 +/- 0.18</td>
+</tr>
+<tr>
+<td>2</td>
+<td>156564</td>
+<td>133738 +/- 7938</td>
+<td>60217 +/- 1926</td>
+<td>444 +/- 39</td>
+<td>92.62 +/- 7.58</td>
+<td>45.20 +/- 3.31</td>
+<td>51.98 +/- 0.74</td>
+<td>6692.04 +/- 92.49</td>
+<td>0.46 +/- 0.09</td>
+</tr>
+<tr>
+<td>3</td>
+<td>185818</td>
+<td>152142 +/- 10002</td>
+<td>71468 +/- 2827</td>
+<td>366 +/- 36</td>
+<td>91.53 +/- 8.66</td>
+<td>47.19 +/- 3.80</td>
+<td>82.24 +/- 0.44</td>
+<td>10598.68 +/- 64.13</td>
+<td>0.41 +/- 0.04</td>
+</tr>
+<tr>
+<td>4</td>
+<td>34953</td>
+<td>15784 +/- 2162</td>
+<td>13443 +/- 1728</td>
+<td>328 +/- 40</td>
+<td>97.53 +/- 9.87</td>
+<td>85.29 +/- 1.91</td>
+<td>80.02 +/- 0.53</td>
+<td>10368.82 +/- 71.08</td>
+<td>0.15 +/- 0.05</td>
+</tr>
+<tr>
+<td>5</td>
+<td>167936</td>
+<td>119735 +/- 8465</td>
+<td>64590 +/- 2529</td>
+<td>417 +/- 37</td>
+<td>88.69 +/- 14.79</td>
+<td>54.10 +/- 2.59</td>
+<td>76.95 +/- 0.32</td>
+<td>9936.47 +/- 65.75</td>
+<td>0.28 +/- 0.02</td>
+</tr>
+<tr>
+<td>6</td>
+<td>173463</td>
+<td>152177 +/- 8146</td>
+<td>66716 +/- 2493</td>
+<td>372 +/- 39</td>
+<td>87.06 +/- 9.86</td>
+<td>43.98 +/- 3.12</td>
+<td>78.80 +/- 0.43</td>
+<td>10162.28 +/- 49.65</td>
+<td>0.38 +/- 0.03</td>
+</tr>
+<tr>
+<td>7</td>
+<td>149287</td>
+<td>84649 +/- 7325</td>
+<td>57418 +/- 3617</td>
+<td>295 +/- 28</td>
+<td>89.40 +/- 8.23</td>
+<td>67.97 +/- 1.82</td>
+<td>33.38 +/- 0.25</td>
+<td>4247.92 +/- 32.37</td>
+<td>1.00 +/- 0.03</td>
+</tr>
+<tr>
+<td>8</td>
+<td>106953</td>
+<td>54622 +/- 4812</td>
+<td>41136 +/- 3309</td>
+<td>284 +/- 37</td>
+<td>90.21 +/- 9.10</td>
+<td>75.39 +/- 2.27</td>
+<td>48.33 +/- 0.29</td>
+<td>6169.21 +/- 169.50</td>
+<td>0.86 +/- 1.22</td>
+</tr>
+<tr><td colspan="13">Tile mean across chip</td></tr>
+<tr>
+<td>Av.</td>
+<td></td>
+<td>101166</td>
+<td>54472</td>
+<td>354</td>
+<td>92.36</td>
+<td>60.29</td>
+<td>65.25</td>
+<td>8403.69</td>
+<td>0.50</td>
+</tr>
+</table>
+<h2><br></br>Expanded Lane Summary<br></br></h2>
+<table border="1" cellpadding="5">
+<tr>
+
+<tr><td colspan="2">Lane Info</td>
+<td colspan="2">Phasing Info</td>
+<td colspan="2">Raw Data (tile mean)</td>
+<td colspan="7">Filtered Data (tile mean)</td></tr>
+<td>Lane </td>
+<td>Clusters (tile mean) (raw)</td>
+<td>% Phasing </td>
+<td>% Prephasing </td>
+<td>% Error Rate (raw) </td>
+<td> Equiv Perfect Clusters (raw) </td>
+<td>% retained </td>
+<td>Cycle 2-4 Av Int (PF) </td>
+<td>Cycle 2-10 Av % Loss (PF) </td>
+<td>Cycle 10-20 Av % Loss (PF) </td>
+<td>% Align (PF) </td>
+<td>% Error Rate (PF) </td>
+<td> Equiv Perfect Clusters (PF) </td>
+</tr>
+<tr>
+<td>1</td>
+<td>96483</td>
+<td>0.7700</td>
+<td>0.3100</td>
+<td>1.00</td>
+<td>49676</td>
+<td>63.21</td>
+<td>317 +/- 32</td>
+<td>0.13 +/- 0.44</td>
+<td>-1.14 +/- 0.34</td>
+<td>70.33</td>
+<td>0.46</td>
+<td>41758</td>
+</tr>
+<tr>
+<td>2</td>
+<td>133738</td>
+<td>0.7700</td>
+<td>0.3100</td>
+<td>1.22</td>
+<td>40467</td>
+<td>45.20</td>
+<td>415 +/- 33</td>
+<td>0.29 +/- 0.40</td>
+<td>-0.79 +/- 0.35</td>
+<td>51.98</td>
+<td>0.46</td>
+<td>30615</td>
+</tr>
+<tr>
+<td>3</td>
+<td>152142</td>
+<td>0.7700</td>
+<td>0.3100</td>
+<td>1.30</td>
+<td>78588</td>
+<td>47.19</td>
+<td>344 +/- 26</td>
+<td>0.68 +/- 0.51</td>
+<td>-0.77 +/- 0.42</td>
+<td>82.24</td>
+<td>0.41</td>
+<td>57552</td>
+</tr>
+<tr>
+<td>4</td>
+<td>15784</td>
+<td>0.7700</td>
+<td>0.3100</td>
+<td>0.29</td>
+<td>11095</td>
+<td>85.29</td>
+<td>306 +/- 34</td>
+<td>0.20 +/- 0.69</td>
+<td>-1.28 +/- 0.66</td>
+<td>80.02</td>
+<td>0.15</td>
+<td>10671</td>
+</tr>
+<tr>
+<td>5</td>
+<td>119735</td>
+<td>0.7700</td>
+<td>0.3100</td>
+<td>0.85</td>
+<td>60335</td>
+<td>54.10</td>
+<td>380 +/- 32</td>
+<td>0.34 +/- 0.49</td>
+<td>-1.55 +/- 4.69</td>
+<td>76.95</td>
+<td>0.28</td>
+<td>49015</td>
+</tr>
+<tr>
+<td>6</td>
+<td>152177</td>
+<td>0.7700</td>
+<td>0.3100</td>
+<td>1.21</td>
+<td>70905</td>
+<td>43.98</td>
+<td>333 +/- 27</td>
+<td>0.57 +/- 0.50</td>
+<td>-0.91 +/- 0.39</td>
+<td>78.80</td>
+<td>0.38</td>
+<td>51663</td>
+</tr>
+<tr>
+<td>7</td>
+<td>84649</td>
+<td>0.7700</td>
+<td>0.3100</td>
+<td>1.38</td>
+<td>21069</td>
+<td>67.97</td>
+<td>272 +/- 20</td>
+<td>1.15 +/- 0.52</td>
+<td>-0.84 +/- 0.58</td>
+<td>33.38</td>
+<td>1.00</td>
+<td>18265</td>
+</tr>
+<tr>
+<td>8</td>
+<td>54622</td>
+<td>0.7700</td>
+<td>0.3100</td>
+<td>1.17</td>
+<td>21335</td>
+<td>75.39</td>
+<td>262 +/- 31</td>
+<td>1.10 +/- 0.59</td>
+<td>-1.01 +/- 0.47</td>
+<td>48.33</td>
+<td>0.86</td>
+<td>19104</td>
+</tr>
+</table>
+<b><br></br>IVC Plots</b>
+<p> <a href='IVC.htm' target="_blank"> IVC.htm
+ </a></p>
+<b><br></br>All Intensity Plots</b>
+<p> <a href='All.htm' target="_blank"> All.htm
+ </a></p>
+<b><br></br>Error graphs: </b>
+<p> <a href='Error.htm' target="_blank"> Error.htm
+ </a></p>
+<td><a href="#Top">Back to top</a></td>
+<a name="Lane1"><h2><br></br>Lane 1<br></br></h2></a>
+<table border="1" cellpadding="5">
+<tr>
+<td>Lane </td>
+<td>Tile </td>
+<td>Clusters (raw)</td>
+<td>Av 1st Cycle Int (PF) </td>
+<td>Av % intensity after 20 cycles (PF) </td>
+<td>% PF Clusters </td>
+<td>% Align (PF) </td>
+<td>Av Alignment Score (PF) </td>
+<td>% Error Rate (PF) </td>
+</tr>
+<tr>
+<td>1</td>
+<td>0001</td>
+<td>114972</td>
+<td>326.48</td>
+<td>94.39</td>
+<td>57.44</td>
+<td>70.2</td>
+<td>9038.6</td>
+<td>0.44</td>
+</tr>
+</table>
+<td><a href="#Top">Back to top</a></td>
+<a name="Lane2"><h2><br></br>Lane 2<br></br></h2></a>
+<table border="1" cellpadding="5">
+<tr>
+<td>Lane </td>
+<td>Tile </td>
+<td>Clusters (raw)</td>
+<td>Av 1st Cycle Int (PF) </td>
+<td>Av % intensity after 20 cycles (PF) </td>
+<td>% PF Clusters </td>
+<td>% Align (PF) </td>
+<td>Av Alignment Score (PF) </td>
+<td>% Error Rate (PF) </td>
+</tr>
+<tr>
+<td>2</td>
+<td>0001</td>
+<td>147793</td>
+<td>448.12</td>
+<td>83.68</td>
+<td>38.57</td>
+<td>53.7</td>
+<td>6905.4</td>
+<td>0.54</td>
+</tr>
+</table>
+<td><a href="#Top">Back to top</a></td>
+<a name="Lane3"><h2><br></br>Lane 3<br></br></h2></a>
+<table border="1" cellpadding="5">
+<tr>
+<td>Lane </td>
+<td>Tile </td>
+<td>Clusters (raw)</td>
+<td>Av 1st Cycle Int (PF) </td>
+<td>Av % intensity after 20 cycles (PF) </td>
+<td>% PF Clusters </td>
+<td>% Align (PF) </td>
+<td>Av Alignment Score (PF) </td>
+<td>% Error Rate (PF) </td>
+</tr>
+<tr>
+<td>3</td>
+<td>0001</td>
+<td>167904</td>
+<td>374.05</td>
+<td>86.91</td>
+<td>40.36</td>
+<td>81.3</td>
+<td>10465.0</td>
+<td>0.47</td>
+</tr>
+</table>
+<td><a href="#Top">Back to top</a></td>
+<a name="Lane4"><h2><br></br>Lane 4<br></br></h2></a>
+<table border="1" cellpadding="5">
+<tr>
+<td>Lane </td>
+<td>Tile </td>
+<td>Clusters (raw)</td>
+<td>Av 1st Cycle Int (PF) </td>
+<td>Av % intensity after 20 cycles (PF) </td>
+<td>% PF Clusters </td>
+<td>% Align (PF) </td>
+<td>Av Alignment Score (PF) </td>
+<td>% Error Rate (PF) </td>
+</tr>
+<tr>
+<td>4</td>
+<td>0001</td>
+<td>20308</td>
+<td>276.85</td>
+<td>92.87</td>
+<td>84.26</td>
+<td>80.4</td>
+<td>10413.8</td>
+<td>0.16</td>
+</tr>
+</table>
+<td><a href="#Top">Back to top</a></td>
+<a name="Lane5"><h2><br></br>Lane 5<br></br></h2></a>
+<table border="1" cellpadding="5">
+<tr>
+<td>Lane </td>
+<td>Tile </td>
+<td>Clusters (raw)</td>
+<td>Av 1st Cycle Int (PF) </td>
+<td>Av % intensity after 20 cycles (PF) </td>
+<td>% PF Clusters </td>
+<td>% Align (PF) </td>
+<td>Av Alignment Score (PF) </td>
+<td>% Error Rate (PF) </td>
+</tr>
+</table>
+<td><a href="#Top">Back to top</a></td>
+<a name="Lane6"><h2><br></br>Lane 6<br></br></h2></a>
+<table border="1" cellpadding="5">
+<tr>
+<td>Lane </td>
+<td>Tile </td>
+<td>Clusters (raw)</td>
+<td>Av 1st Cycle Int (PF) </td>
+<td>Av % intensity after 20 cycles (PF) </td>
+<td>% PF Clusters </td>
+<td>% Align (PF) </td>
+<td>Av Alignment Score (PF) </td>
+<td>% Error Rate (PF) </td>
+</tr>
+<tr>
+<td>6</td>
+<td>0001</td>
+<td>166844</td>
+<td>348.12</td>
+<td>77.59</td>
+<td>38.13</td>
+<td>79.7</td>
+<td>10264.4</td>
+<td>0.44</td>
+</tr>
+</table>
+<td><a href="#Top">Back to top</a></td>
+<a name="Lane7"><h2><br></br>Lane 7<br></br></h2></a>
+<table border="1" cellpadding="5">
+<tr>
+<td>Lane </td>
+<td>Tile </td>
+<td>Clusters (raw)</td>
+<td>Av 1st Cycle Int (PF) </td>
+<td>Av % intensity after 20 cycles (PF) </td>
+<td>% PF Clusters </td>
+<td>% Align (PF) </td>
+<td>Av Alignment Score (PF) </td>
+<td>% Error Rate (PF) </td>
+</tr>
+<tr>
+<td>7</td>
+<td>0001</td>
+<td>98913</td>
+<td>269.90</td>
+<td>86.66</td>
+<td>64.55</td>
+<td>33.2</td>
+<td>4217.5</td>
+<td>1.02</td>
+</tr>
+</table>
+<td><a href="#Top">Back to top</a></td>
+<a name="Lane8"><h2><br></br>Lane 8<br></br></h2></a>
+<table border="1" cellpadding="5">
+<tr>
+<td>Lane </td>
+<td>Tile </td>
+<td>Clusters (raw)</td>
+<td>Av 1st Cycle Int (PF) </td>
+<td>Av % intensity after 20 cycles (PF) </td>
+<td>% PF Clusters </td>
+<td>% Align (PF) </td>
+<td>Av Alignment Score (PF) </td>
+<td>% Error Rate (PF) </td>
+</tr>
+<tr>
+<td>8</td>
+<td>0001</td>
+<td>64972</td>
+<td>243.60</td>
+<td>89.40</td>
+<td>73.17</td>
+<td>48.3</td>
+<td>6182.8</td>
+<td>0.71</td>
+</tr>
+</table>
+<td><a href="#Top">Back to top</a></td>
+</body>
+</html>
diff --git a/htsworkflow/pipelines/test/testdata/Summary-pipeline110.htm b/htsworkflow/pipelines/test/testdata/Summary-pipeline110.htm
new file mode 100644 (file)
index 0000000..854bda6
--- /dev/null
@@ -0,0 +1,400 @@
+<!--RUN_TIME Tue Oct 28 09:45:50 2008 -->
+<!--SOFTWARE_VERSION @(#) $Id: jerboa.pl,v 1.10 2008/07/23 15:18:30 mzerara Exp $-->
+<html>
+<body>
+
+<a name="Top"><h2><title>081017_HWI-EAS229_0062_30J55AAXX Summary</title></h2></a>
+<h1>Summary Information For Experiment 081017_HWI-EAS229_0062_30J55AAXX on Machine HWI-EAS229</h1>
+<h2><br></br>Chip Summary<br></br></h2>
+<table border="1" cellpadding="5">
+<tr><td>Machine</td><td>HWI-EAS229</td></tr>
+<tr><td>Run Folder</td><td>081017_HWI-EAS229_0062_30J55AAXX</td></tr>
+<tr><td>Chip ID</td><td>unknown</td></tr>
+</table>
+<h2><br></br>Chip Results Summary<br></br></h2>
+<table border="1" cellpadding="5">
+<tr>
+<td>Clusters</td>
+<td>Clusters (PF)</td>
+<td>Yield (kbases)</td>
+</tr>
+<tr><td>162491175</td>
+<td>99622159</td>
+<td>3686019</td>
+</tr>
+</table>
+<h2><br></br>Lane Parameter Summary<br></br></h2>
+<table border="1" cellpadding="5">
+<tr>
+<td>Lane</td>
+<td>Sample ID</td>
+<td>Sample Target</td>
+<td>Sample Type</td>
+<td>Length</td>
+<td>Filter</td>
+<td>Chast. Thresh.</td>
+<td>Num Tiles</td>
+<td>Tiles</td>
+</tr>
+<tr>
+<td>1</td>
+<td>unknown</td>
+<td>mm9</td>
+<td>ELAND</td>
+<td>37</td>
+<td>'((FAILED_CHASTITY<=1))'</td>
+<td>0.6</td>
+<td>100</td>
+<td><a href="#Lane1">Lane 1</a></td>
+</tr>
+<tr>
+<td>2</td>
+<td>unknown</td>
+<td>mm9</td>
+<td>ELAND</td>
+<td>37</td>
+<td>'((FAILED_CHASTITY<=1))'</td>
+<td>0.6</td>
+<td>100</td>
+<td><a href="#Lane2">Lane 2</a></td>
+</tr>
+<tr>
+<td>3</td>
+<td>unknown</td>
+<td>mm9</td>
+<td>ELAND</td>
+<td>37</td>
+<td>'((FAILED_CHASTITY<=1))'</td>
+<td>0.6</td>
+<td>100</td>
+<td><a href="#Lane3">Lane 3</a></td>
+</tr>
+<tr>
+<td>4</td>
+<td>unknown</td>
+<td>hg18</td>
+<td>ELAND</td>
+<td>37</td>
+<td>'((FAILED_CHASTITY<=1))'</td>
+<td>0.6</td>
+<td>100</td>
+<td><a href="#Lane4">Lane 4</a></td>
+</tr>
+<tr>
+<td>5</td>
+<td>unknown</td>
+<td>hg18</td>
+<td>ELAND</td>
+<td>37</td>
+<td>'((FAILED_CHASTITY<=1))'</td>
+<td>0.6</td>
+<td>100</td>
+<td><a href="#Lane5">Lane 5</a></td>
+</tr>
+<tr>
+<td>6</td>
+<td>unknown</td>
+<td>mm9</td>
+<td>ELAND</td>
+<td>37</td>
+<td>'((FAILED_CHASTITY<=1))'</td>
+<td>0.6</td>
+<td>100</td>
+<td><a href="#Lane6">Lane 6</a></td>
+</tr>
+<tr>
+<td>7</td>
+<td>unknown</td>
+<td>mm9</td>
+<td>ELAND</td>
+<td>37</td>
+<td>'((FAILED_CHASTITY<=1))'</td>
+<td>0.6</td>
+<td>100</td>
+<td><a href="#Lane7">Lane 7</a></td>
+</tr>
+<tr>
+<td>8</td>
+<td>unknown</td>
+<td>mm9</td>
+<td>ELAND</td>
+<td>37</td>
+<td>'((FAILED_CHASTITY<=1))'</td>
+<td>0.6</td>
+<td>100</td>
+<td><a href="#Lane8">Lane 8</a></td>
+</tr>
+</table>
+<h2><br></br>Lane Results Summary<br></br></h2>
+<table border="1" cellpadding="5">
+<tr>
+<td colspan="2">Lane Info</td>
+<td colspan="8">Tile Mean +/- SD for Lane</td>
+</tr>
+<tr>
+<td>Lane </td>
+<td>Lane Yield (kbases) </td>
+<td>Clusters (raw)</td>
+<td>Clusters (PF) </td>
+<td>1st Cycle Int (PF) </td>
+<td>% intensity after 20 cycles (PF) </td>
+<td>% PF Clusters </td>
+<td>% Align (PF) </td>
+<td>Alignment Score (PF) </td>
+<td> % Error Rate (PF) </td>
+</tr>
+<tr>
+<td>1</td>
+<td>435340</td>
+<td>190220 +/- 15118</td>
+<td>117659 +/- 8144</td>
+<td>273 +/- 16</td>
+<td>80.02 +/- 2.52</td>
+<td>62.15 +/- 5.54</td>
+<td>77.18 +/- 0.22</td>
+<td>13447.28 +/- 43.35</td>
+<td>2.78 +/- 0.13</td>
+</tr>
+<tr>
+<td>2</td>
+<td>462364</td>
+<td>190560 +/- 14399</td>
+<td>124963 +/- 5687</td>
+<td>271 +/- 16</td>
+<td>75.73 +/- 2.46</td>
+<td>65.83 +/- 4.12</td>
+<td>70.06 +/- 0.39</td>
+<td>12082.95 +/- 64.81</td>
+<td>3.22 +/- 0.09</td>
+</tr>
+<tr>
+<td>3</td>
+<td>468929</td>
+<td>187597 +/- 12369</td>
+<td>126737 +/- 5549</td>
+<td>274 +/- 16</td>
+<td>72.61 +/- 2.67</td>
+<td>67.69 +/- 2.72</td>
+<td>74.03 +/- 0.22</td>
+<td>12470.18 +/- 50.02</td>
+<td>4.27 +/- 0.08</td>
+</tr>
+<tr>
+<td>4</td>
+<td>491642</td>
+<td>204142 +/- 16877</td>
+<td>132876 +/- 4023</td>
+<td>253 +/- 16</td>
+<td>80.43 +/- 3.10</td>
+<td>65.39 +/- 3.84</td>
+<td>72.95 +/- 0.15</td>
+<td>13273.80 +/- 39.75</td>
+<td>0.78 +/- 0.10</td>
+</tr>
+<tr>
+<td>5</td>
+<td>433033</td>
+<td>247308 +/- 11600</td>
+<td>117036 +/- 4489</td>
+<td>273 +/- 11</td>
+<td>68.60 +/- 2.40</td>
+<td>47.48 +/- 3.63</td>
+<td>66.91 +/- 0.54</td>
+<td>11700.08 +/- 66.33</td>
+<td>2.62 +/- 0.13</td>
+</tr>
+<tr>
+<td>6</td>
+<td>483012</td>
+<td>204298 +/- 15640</td>
+<td>130543 +/- 6972</td>
+<td>254 +/- 11</td>
+<td>81.35 +/- 1.96</td>
+<td>64.14 +/- 4.40</td>
+<td>77.28 +/- 0.11</td>
+<td>14084.01 +/- 23.09</td>
+<td>0.71 +/- 0.03</td>
+</tr>
+<tr>
+<td>7</td>
+<td>474325</td>
+<td>202707 +/- 15404</td>
+<td>128196 +/- 9745</td>
+<td>255 +/- 13</td>
+<td>79.95 +/- 2.08</td>
+<td>63.48 +/- 5.63</td>
+<td>75.78 +/- 0.18</td>
+<td>13758.74 +/- 60.86</td>
+<td>0.88 +/- 0.12</td>
+</tr>
+<tr>
+<td>8</td>
+<td>437372</td>
+<td>198075 +/- 14702</td>
+<td>118208 +/- 14798</td>
+<td>259 +/- 14</td>
+<td>81.80 +/- 2.53</td>
+<td>59.85 +/- 7.67</td>
+<td>74.55 +/- 0.36</td>
+<td>13586.07 +/- 103.97</td>
+<td>0.71 +/- 0.15</td>
+</tr>
+<tr><td colspan="13">Tile mean across chip</td></tr>
+<tr>
+<td>Av.</td>
+<td></td>
+<td>203113</td>
+<td>124527</td>
+<td>264</td>
+<td>77.56</td>
+<td>62.00</td>
+<td>73.59</td>
+<td>13050.39</td>
+<td>2.00</td>
+</tr>
+</table>
+<h2><br></br>Expanded Lane Summary<br></br></h2>
+<table border="1" cellpadding="5">
+<tr>
+
+<tr><td colspan="2">Lane Info</td>
+<td colspan="2">Phasing Info</td>
+<td colspan="2">Raw Data (tile mean)</td>
+<td colspan="7">Filtered Data (tile mean)</td></tr>
+<td>Lane </td>
+<td>Clusters (tile mean) (raw)</td>
+<td>% Phasing </td>
+<td>% Prephasing </td>
+<td>% Error Rate (raw) </td>
+<td> Equiv Perfect Clusters (raw) </td>
+<td>% retained </td>
+<td>Cycle 2-4 Av Int (PF) </td>
+<td>Cycle 2-10 Av % Loss (PF) </td>
+<td>Cycle 10-20 Av % Loss (PF) </td>
+<td>% Align (PF) </td>
+<td>% Error Rate (PF) </td>
+<td> Equiv Perfect Clusters (PF) </td>
+</tr>
+<tr>
+<td>1</td>
+<td>190220</td>
+<td>0.6800</td>
+<td>0.2800</td>
+<td>3.17</td>
+<td>107262</td>
+<td>62.15</td>
+<td>241 +/- 13</td>
+<td>0.56 +/- 0.22</td>
+<td>0.29 +/- 0.14</td>
+<td>77.18</td>
+<td>2.78</td>
+<td>86184</td>
+</tr>
+<tr>
+<td>2</td>
+<td>190560</td>
+<td>0.6800</td>
+<td>0.2800</td>
+<td>3.53</td>
+<td>98678</td>
+<td>65.83</td>
+<td>238 +/- 14</td>
+<td>0.78 +/- 0.15</td>
+<td>0.53 +/- 0.15</td>
+<td>70.06</td>
+<td>3.22</td>
+<td>83090</td>
+</tr>
+<tr>
+<td>3</td>
+<td>187597</td>
+<td>0.6800</td>
+<td>0.2800</td>
+<td>4.44</td>
+<td>104008</td>
+<td>67.69</td>
+<td>233 +/- 14</td>
+<td>0.56 +/- 0.17</td>
+<td>0.59 +/- 0.26</td>
+<td>74.03</td>
+<td>4.27</td>
+<td>89278</td>
+</tr>
+<tr>
+<td>4</td>
+<td>204142</td>
+<td>0.6800</td>
+<td>0.2800</td>
+<td>1.38</td>
+<td>115765</td>
+<td>65.39</td>
+<td>239 +/- 14</td>
+<td>1.28 +/- 0.21</td>
+<td>0.77 +/- 0.21</td>
+<td>72.95</td>
+<td>0.78</td>
+<td>93475</td>
+</tr>
+<tr>
+<td>5</td>
+<td>247308</td>
+<td>0.6800</td>
+<td>0.2800</td>
+<td>3.40</td>
+<td>103006</td>
+<td>47.48</td>
+<td>242 +/- 10</td>
+<td>1.61 +/- 0.39</td>
+<td>1.21 +/- 0.21</td>
+<td>66.91</td>
+<td>2.62</td>
+<td>73768</td>
+</tr>
+<tr>
+<td>6</td>
+<td>204298</td>
+<td>0.6800</td>
+<td>0.2800</td>
+<td>1.33</td>
+<td>122233</td>
+<td>64.14</td>
+<td>242 +/- 12</td>
+<td>1.30 +/- 0.11</td>
+<td>0.73 +/- 0.22</td>
+<td>77.28</td>
+<td>0.71</td>
+<td>97646</td>
+</tr>
+<tr>
+<td>7</td>
+<td>202707</td>
+<td>0.6800</td>
+<td>0.2800</td>
+<td>1.51</td>
+<td>117513</td>
+<td>63.48</td>
+<td>238 +/- 13</td>
+<td>1.27 +/- 0.38</td>
+<td>0.66 +/- 0.22</td>
+<td>75.78</td>
+<td>0.88</td>
+<td>93659</td>
+</tr>
+<tr>
+<td>8</td>
+<td>198075</td>
+<td>0.6800</td>
+<td>0.2800</td>
+<td>1.41</td>
+<td>111115</td>
+<td>59.85</td>
+<td>244 +/- 12</td>
+<td>1.19 +/- 0.16</td>
+<td>0.65 +/- 0.29</td>
+<td>74.55</td>
+<td>0.71</td>
+<td>85327</td>
+</tr>
+</table>
+</body>
+</html>
\ No newline at end of file
diff --git a/htsworkflow/pipelines/test/testdata/gerald_config_0.2.6.xml b/htsworkflow/pipelines/test/testdata/gerald_config_0.2.6.xml
new file mode 100644 (file)
index 0000000..c0753ad
--- /dev/null
@@ -0,0 +1,82 @@
+<RunParameters>
+<ChipWideRunParameters>
+  <ANALYSIS>default</ANALYSIS>
+  <BAD_LANES></BAD_LANES>
+  <BAD_TILES></BAD_TILES>
+  <CONTAM_DIR></CONTAM_DIR>
+  <CONTAM_FILE></CONTAM_FILE>
+  <ELAND_GENOME>Need_to_specify_ELAND_genome_directory</ELAND_GENOME>
+  <ELAND_MULTIPLE_INSTANCES>8</ELAND_MULTIPLE_INSTANCES>
+  <ELAND_REPEAT></ELAND_REPEAT>
+  <EMAIL_DOMAIN>domain.com</EMAIL_DOMAIN>
+  <EMAIL_LIST>diane</EMAIL_LIST>
+  <EMAIL_SERVER>localhost:25</EMAIL_SERVER>
+  <EXPT_DIR>/home/diane/gec/080416_HWI-EAS229_0024_207BTAAXX/Data/C1-33_Firecrest1.8.28_19-04-2008_diane/Bustard1.8.28_19-04-2008_diane</EXPT_DIR>
+  <EXPT_DIR_ROOT>/home/diane/gec</EXPT_DIR_ROOT>
+  <FORCE>1</FORCE>
+  <GENOME_DIR>/home/diane/proj/SolexaPipeline-0.2.2.6/Goat/../Gerald/../../Genomes</GENOME_DIR>
+  <GENOME_FILE>Need_to_specify_genome_file_name</GENOME_FILE>
+  <HAMSTER_FLAG>genome</HAMSTER_FLAG>
+  <OUT_DIR>/home/diane/gec/080416_HWI-EAS229_0024_207BTAAXX/Data/C1-33_Firecrest1.8.28_19-04-2008_diane/Bustard1.8.28_19-04-2008_diane/GERALD_19-04-2008_diane</OUT_DIR>
+  <POST_RUN_COMMAND></POST_RUN_COMMAND>
+  <PRB_FILE_SUFFIX>_prb.txt</PRB_FILE_SUFFIX>
+  <PURE_BASES>12</PURE_BASES>
+  <QF_PARAMS>'((CHASTITY&gt;=0.6))'</QF_PARAMS>
+  <QHG_FILE_SUFFIX>_qhg.txt</QHG_FILE_SUFFIX>
+  <QUALITY_FORMAT>--symbolic</QUALITY_FORMAT>
+  <READ_LENGTH>32</READ_LENGTH>
+  <SEQUENCE_FORMAT>--scarf</SEQUENCE_FORMAT>
+  <SEQ_FILE_SUFFIX>_seq.txt</SEQ_FILE_SUFFIX>
+  <SIG_FILE_SUFFIX_DEPHASED>_sig2.txt</SIG_FILE_SUFFIX_DEPHASED>
+  <SIG_FILE_SUFFIX_NOT_DEPHASED>_sig.txt</SIG_FILE_SUFFIX_NOT_DEPHASED>
+  <SOFTWARE_VERSION>@(#) Id: GERALD.pl,v 1.68.2.2 2007/06/13 11:08:49 km Exp</SOFTWARE_VERSION>
+  <TILE_REGEX>s_[1-8]_[0-9][0-9][0-9][0-9]</TILE_REGEX>
+  <TILE_ROOT>s</TILE_ROOT>
+  <TIME_STAMP>Sat Apr 19 19:08:30 2008</TIME_STAMP>
+  <TOOLS_DIR>/home/diane/proj/SolexaPipeline-0.2.2.6/Goat/../Gerald</TOOLS_DIR>
+  <USE_BASES>all</USE_BASES>
+  <WEB_DIR_ROOT>http://host.domain.com/yourshare/</WEB_DIR_ROOT>
+</ChipWideRunParameters>
+<LaneSpecificRunParameters>
+  <ANALYSIS>
+    <s_1>eland</s_1>
+    <s_2>eland</s_2>
+    <s_3>eland</s_3>
+    <s_4>eland</s_4>
+    <s_5>eland</s_5>
+    <s_6>eland</s_6>
+    <s_7>eland</s_7>
+    <s_8>eland</s_8>
+  </ANALYSIS>
+  <ELAND_GENOME>
+    <s_1>/g/dm3</s_1>
+    <s_2>/g/equcab1</s_2>
+    <s_3>/g/equcab1</s_3>
+    <s_4>/g/canfam2</s_4>
+    <s_5>/g/hg18</s_5>
+    <s_6>/g/hg18</s_6>
+    <s_7>/g/hg18</s_7>
+    <s_8>/g/hg18</s_8>
+  </ELAND_GENOME>
+  <READ_LENGTH>
+    <s_1>32</s_1>
+    <s_2>32</s_2>
+    <s_3>32</s_3>
+    <s_4>32</s_4>
+    <s_5>32</s_5>
+    <s_6>32</s_6>
+    <s_7>32</s_7>
+    <s_8>32</s_8>
+  </READ_LENGTH>
+  <USE_BASES>
+    <s_1>YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY</s_1>
+    <s_2>YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY</s_2>
+    <s_3>YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY</s_3>
+    <s_4>YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY</s_4>
+    <s_5>YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY</s_5>
+    <s_6>YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY</s_6>
+    <s_7>YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY</s_7>
+    <s_8>YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY</s_8>
+  </USE_BASES>
+</LaneSpecificRunParameters>
+</RunParameters>
diff --git a/htsworkflow/pipelines/test/testdata/gerald_config_1.0.xml b/htsworkflow/pipelines/test/testdata/gerald_config_1.0.xml
new file mode 100644 (file)
index 0000000..7ced7c6
--- /dev/null
@@ -0,0 +1,156 @@
+<RunParameters>
+<ChipWideRunParameters>
+  <ANALYSIS>none</ANALYSIS>
+  <BAD_LANES></BAD_LANES>
+  <BAD_LANES></BAD_LANES>
+  <BAD_LANES></BAD_LANES>
+  <BAD_TILES></BAD_TILES>
+  <BIN_DIR>/home/diane/proj/GAPipeline-1.0/Goat/../Gerald/../bin</BIN_DIR>
+  <CMDPREFIX></CMDPREFIX>
+  <CONTAM_DIR></CONTAM_DIR>
+  <CONTAM_FILE></CONTAM_FILE>
+  <ELAND_GENOME>Need_to_specify_ELAND_genome_directory</ELAND_GENOME>
+  <ELAND_MAX_MATCHES></ELAND_MAX_MATCHES>
+  <ELAND_MULTIPLE_INSTANCES>8</ELAND_MULTIPLE_INSTANCES>
+  <ELAND_REPEAT></ELAND_REPEAT>
+  <ELAND_SEED_LENGTH></ELAND_SEED_LENGTH>
+  <EMAIL_DOMAIN>domain.com</EMAIL_DOMAIN>
+  <EMAIL_LIST>diane</EMAIL_LIST>
+  <EMAIL_SERVER>localhost:25</EMAIL_SERVER>
+  <EXPT_DIR>/home/diane/gec/090220_HWI-EAS229_0093_30VR0AAXX/Data/C1-37_Firecrest1.9.5_22-02-2009_diane/Bustard1.9.5_22-02-2009_diane</EXPT_DIR>
+  <EXPT_DIR_ROOT>/home/diane/gec</EXPT_DIR_ROOT>
+  <FORCE>1</FORCE>
+  <GENOME_DIR>/home/diane/proj/GAPipeline-1.0/Goat/../Gerald/../../Genomes</GENOME_DIR>
+  <GENOME_FILE>Need_to_specify_genome_file_name</GENOME_FILE>
+  <GROUP_LANES></GROUP_LANES>
+  <HAMSTER_FLAG>genome</HAMSTER_FLAG>
+  <HAMSTER_FLAG>genome</HAMSTER_FLAG>
+  <HAMSTER_FLAG>genome</HAMSTER_FLAG>
+  <INDEX_BASES></INDEX_BASES>
+  <NUM_LEADING_DIRS_TO_STRIP>2</NUM_LEADING_DIRS_TO_STRIP>
+  <ORIG_READ_LENGTHS>37</ORIG_READ_LENGTHS>
+  <OUT_DIR>/home/diane/gec/090220_HWI-EAS229_0093_30VR0AAXX/Data/C1-37_Firecrest1.9.5_22-02-2009_diane/Bustard1.9.5_22-02-2009_diane/GERALD_22-02-2009_diane</OUT_DIR>
+  <PAIR_PARAMS></PAIR_PARAMS>
+  <POST_RUN_COMMAND></POST_RUN_COMMAND>
+  <PRB_FILE_SUFFIX>_prb.txt</PRB_FILE_SUFFIX>
+  <PURE_BASES>12</PURE_BASES>
+  <QCAL_SOURCE></QCAL_SOURCE>
+  <QCAL_SOURCE1></QCAL_SOURCE1>
+  <QCAL_SOURCE2></QCAL_SOURCE2>
+  <QF_PARAMS>'((CHASTITY&gt;=0.6))'</QF_PARAMS>
+  <QHG_FILE_SUFFIX>_qhg.txt</QHG_FILE_SUFFIX>
+  <QTABLE_PATH></QTABLE_PATH>
+  <QTABLE_PATH1></QTABLE_PATH1>
+  <QTABLE_PATH2></QTABLE_PATH2>
+  <QTABLE_REQUIRED>0</QTABLE_REQUIRED>
+  <QTABLE_REQUIRED1>0</QTABLE_REQUIRED1>
+  <QTABLE_REQUIRED2>0</QTABLE_REQUIRED2>
+  <QUALITY_FORMAT>--symbolic</QUALITY_FORMAT>
+  <READ_LENGTH>37</READ_LENGTH>
+  <READ_LENGTH1>37</READ_LENGTH1>
+  <READ_LENGTH2>0</READ_LENGTH2>
+  <SEQUENCE_FORMAT>--scarf</SEQUENCE_FORMAT>
+  <SEQ_FILE_SUFFIX>_seq.txt</SEQ_FILE_SUFFIX>
+  <SIG_FILE_SUFFIX_DEPHASED>_sig2.txt</SIG_FILE_SUFFIX_DEPHASED>
+  <SIG_FILE_SUFFIX_NOT_DEPHASED>_sig.txt</SIG_FILE_SUFFIX_NOT_DEPHASED>
+  <SMT_FILTER>chastity</SMT_FILTER>
+  <SMT_RELATION>ge</SMT_RELATION>
+  <SMT_THRESHOLD>0.6</SMT_THRESHOLD>
+  <SOFTWARE_VERSION>@(#) Id: GERALD.pl,v 1.171 2008/05/19 17:36:14 mzerara Exp</SOFTWARE_VERSION>
+  <SRF_2ND_CYCLE></SRF_2ND_CYCLE>
+  <SRF_ARCHIVE_REQUIRED></SRF_ARCHIVE_REQUIRED>
+  <SRF_CHASTITY>0.6</SRF_CHASTITY>
+  <SRF_FILE_SUFFIX>_traces.srf</SRF_FILE_SUFFIX>
+  <SRF_PROCESSED>-P</SRF_PROCESSED>
+  <SRF_QCAL></SRF_QCAL>
+  <SRF_RAW>-R</SRF_RAW>
+  <TILE_REGEX>s_[1-8]_[0-9][0-9][0-9][0-9]</TILE_REGEX>
+  <TILE_ROOT>s</TILE_ROOT>
+  <TIME_STAMP>Sun Feb 22 21:15:59 2009</TIME_STAMP>
+  <TOOLS_DIR>/home/diane/proj/GAPipeline-1.0/Goat/../Gerald</TOOLS_DIR>
+  <USE_BASES>YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY</USE_BASES>
+  <WEB_DIR_ROOT>http://host.domain.com/yourshare/</WEB_DIR_ROOT>
+</ChipWideRunParameters>
+<LaneSpecificRunParameters>
+  <ANALYSIS>
+    <s_1>eland_extended</s_1>
+    <s_2>eland_extended</s_2>
+    <s_3>eland_extended</s_3>
+    <s_4>eland_extended</s_4>
+    <s_5>eland_extended</s_5>
+    <s_6>eland_extended</s_6>
+    <s_7>eland_extended</s_7>
+    <s_8>eland_extended</s_8>
+  </ANALYSIS>
+  <ELAND_GENOME>
+    <s_1>/g/mm9</s_1>
+    <s_2>/g/mm9</s_2>
+    <s_3>/g/elegans190</s_3>
+    <s_4>/g/arabidopsis01222004</s_4>
+    <s_5>/g/mm9</s_5>
+    <s_6>/g/mm9</s_6>
+    <s_7>/g/mm9</s_7>
+    <s_8>/g/mm9</s_8>
+  </ELAND_GENOME>
+  <QTABLE_PATH>
+    <s_1>s_1$(QTABLE_SUFFIX)</s_1>
+    <s_2>s_2$(QTABLE_SUFFIX)</s_2>
+    <s_3>s_3$(QTABLE_SUFFIX)</s_3>
+    <s_4>s_4$(QTABLE_SUFFIX)</s_4>
+    <s_5>s_5$(QTABLE_SUFFIX)</s_5>
+    <s_6>s_6$(QTABLE_SUFFIX)</s_6>
+    <s_7>s_7$(QTABLE_SUFFIX)</s_7>
+    <s_8>s_8$(QTABLE_SUFFIX)</s_8>
+  </QTABLE_PATH>
+  <QTABLE_REQUIRED>
+    <s_1>1</s_1>
+    <s_2>1</s_2>
+    <s_3>1</s_3>
+    <s_4>1</s_4>
+    <s_5>1</s_5>
+    <s_6>1</s_6>
+    <s_7>1</s_7>
+    <s_8>1</s_8>
+  </QTABLE_REQUIRED>
+  <READ_LENGTH>
+    <s_1>37</s_1>
+    <s_2>37</s_2>
+    <s_3>37</s_3>
+    <s_4>37</s_4>
+    <s_5>37</s_5>
+    <s_6>37</s_6>
+    <s_7>37</s_7>
+    <s_8>37</s_8>
+  </READ_LENGTH>
+  <SRF_2ND_CYCLE>
+    <s_1></s_1>
+    <s_2></s_2>
+    <s_3></s_3>
+    <s_4></s_4>
+    <s_5></s_5>
+    <s_6></s_6>
+    <s_7></s_7>
+    <s_8></s_8>
+  </SRF_2ND_CYCLE>
+  <SRF_ARCHIVE_REQUIRED>
+    <s_1></s_1>
+    <s_2></s_2>
+    <s_3></s_3>
+    <s_4></s_4>
+    <s_5></s_5>
+    <s_6></s_6>
+    <s_7></s_7>
+    <s_8></s_8>
+  </SRF_ARCHIVE_REQUIRED>
+  <USE_BASES>
+    <s_1>YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY</s_1>
+    <s_2>YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY</s_2>
+    <s_3>YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY</s_3>
+    <s_4>YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY</s_4>
+    <s_5>YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY</s_5>
+    <s_6>YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY</s_6>
+    <s_7>YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY</s_7>
+    <s_8>YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY</s_8>
+  </USE_BASES>
+</LaneSpecificRunParameters>
+</RunParameters>