X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=htsworkflow.git;a=blobdiff_plain;f=htsworkflow%2Fsubmission%2Ftrackhub.py;fp=htsworkflow%2Fsubmission%2Ftrackhub.py;h=8b7b424094c0be0d1dcf4ee0e4f9c598cdc295ab;hp=87a52582eb5317afb7c1c3be487a354f05f6ee77;hb=ad6adfee371e67084e55b94a1e5335263d6fb26b;hpb=6f05ae54b482745afbacc8da7d9cc31f9b067d23 diff --git a/htsworkflow/submission/trackhub.py b/htsworkflow/submission/trackhub.py index 87a5258..8b7b424 100644 --- a/htsworkflow/submission/trackhub.py +++ b/htsworkflow/submission/trackhub.py @@ -35,14 +35,24 @@ class TrackHubSubmission(Submission): metadata = metadata[0] samples.append(metadata) - soft_template = loader.get_template('trackDb.txt') + template = loader.get_template('trackDb.txt') context = Context({ 'samples': samples, }) - return str(soft_template.render(context)) + return str(template.render(context)) - def make_mainifest(self, result_map): - pass + def make_manifest(self, result_map): + files = [] + for lib_id, result_dir in result_map.items(): + an_analysis = self.get_submission_node(result_dir) + metadata = self.get_manifest_metadata(an_analysis) + files.extend(metadata) + + template = loader.get_template('manifest.txt') + context = Context({ + 'files': files + }) + return str(template.render(context)) def get_sample_metadata(self, analysis_node): """Gather information for filling out sample section of a SOFT file @@ -56,3 +66,13 @@ class TrackHubSubmission(Submission): results = self.execute_query(query_template, context) return results + + def get_manifest_metadata(self, analysis_node): + query_template = loader.get_template('trackhub_manifest.sparql') + + context = Context({ + 'submission': str(analysis_node.uri), + 'submissionSet': str(self.submissionSetNS[''].uri), + }) + results = self.execute_query(query_template, context) + return results