Provide a dummy eland result lane class if there's nothing appropriate in the xml
authorDiane Trout <diane@caltech.edu>
Tue, 30 Jun 2009 22:29:05 +0000 (22:29 +0000)
committerDiane Trout <diane@caltech.edu>
Tue, 30 Jun 2009 22:29:05 +0000 (22:29 +0000)
files. Though this produces blank records in the library page, at least the
program doesn't crash.

htsworkflow/frontend/samples/views.py

index 669a1265f4d9abdcc40651af9e8f3e772571171c..3fbfe792fd9224a5c68f78d4abaf7f1ac91b999f 100644 (file)
@@ -6,6 +6,7 @@ from htsworkflow.frontend.samples.results import get_flowcell_result_dict, parse
 from htsworkflow.frontend.bcmagic.forms import BarcodeMagicForm
 from htsworkflow.pipelines.runfolder import load_pipeline_run_xml
 from htsworkflow.pipelines import runfolder
+from htsworkflow.pipelines.eland import ResultLane
 from htsworkflow.frontend import settings
 from htsworkflow.util import makebed
 from htsworkflow.util import opener
@@ -238,7 +239,11 @@ def _summary_stats(flowcell_id, lane_id):
         run = load_pipeline_run_xml(xmlpath)
         gerald_summary = run.gerald.summary.lane_results
         for end in range(len(gerald_summary)):
-            eland_summary = run.gerald.eland_results.results[end][lane_id]
+            end_summary = run.gerald.eland_results.results[end]
+            if end_summary.has_key(lane_id):
+                eland_summary = run.gerald.eland_results.results[end][lane_id]
+            else:
+                eland_summary = ResultLane(lane_id=lane_id, end=end)
             # add information to lane_summary
             eland_summary.flowcell_id = flowcell_id
             eland_summary.clusters = gerald_summary[end][lane_id].cluster
@@ -445,4 +450,4 @@ def user_profile(request):
             }
     context.update(SAMPLES_CONTEXT_DEFAULTS)
     return render_to_response('registration/profile.html', context,
-                              context_instance=RequestContext(request))
\ No newline at end of file
+                              context_instance=RequestContext(request))