Attempt to be robust to not having an alignment in our RunXml file
authorDiane Trout <diane@caltech.edu>
Fri, 6 Dec 2013 00:28:12 +0000 (16:28 -0800)
committerDiane Trout <diane@ghic.org>
Fri, 6 Dec 2013 00:29:07 +0000 (16:29 -0800)
htsworkflow/frontend/experiments/models.py
htsworkflow/frontend/samples/views.py

index 7a41d3d5902aebe32a56595db04dd859aa6e016d..5152c406e2fc55c87bd997ed7d4ee14197339859 100644 (file)
@@ -248,8 +248,10 @@ class FlowCell(models.Model):
             run.image_version = run_xml_data.image_analysis.version
             run.basecall_software = run_xml_data.bustard.software
             run.basecall_version = run_xml_data.bustard.version
-            run.alignment_software = run_xml_data.gerald.software
-            run.alignment_version = run_xml_data.gerald.version
+            # we're frequently not running alignments
+            if run_xml_data.gerald:
+                run.alignment_software = run_xml_data.gerald.software
+                run.alignment_version = run_xml_data.gerald.version
 
             run.last_update_time = datetime.datetime.now()
             run.save()
index 5ab54a9e4fafd49b9fdfc1df1131bf1120a42766..0479217fea4ebb21a5ab8b0e14871a91437689ba 100644 (file)
@@ -301,6 +301,10 @@ def _summary_stats(flowcell_id, lane_id, library_id):
             continue
 
         run = load_pipeline_run_xml(xmlpath)
+        # skip if we don't have available metadata.
+        if run.gerald is None or run.gerald.summary is None:
+            continue
+        
         gerald_summary = run.gerald.summary.lane_results
         key = SampleKey(lane=lane_id, sample='s')
         eland_results = list(run.gerald.eland_results.find_keys(key))