X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=htsworkflow.git;a=blobdiff_plain;f=htsworkflow%2Fsubmission%2Fsubmission.py;h=640443557f8d50a574816ce33ba417de35054da5;hp=3320f1caf3174e6d5636c4dd20841188771050d9;hb=1bd93f14d964adb1f63cf2d6bf61a3ff0168d55b;hpb=23e4222a5cd431b0a59f78fe8dc618f02425303d diff --git a/htsworkflow/submission/submission.py b/htsworkflow/submission/submission.py index 3320f1c..6404435 100644 --- a/htsworkflow/submission/submission.py +++ b/htsworkflow/submission/submission.py @@ -8,16 +8,12 @@ import RDF from htsworkflow.util.rdfhelp import \ blankOrUri, \ - dafTermOntology, \ dump_model, \ + fromTypedNode, \ get_model, \ - libraryOntology, \ - owlNS, \ - rdfNS, \ - submissionLog, \ - submissionOntology, \ - toTypedNode, \ - fromTypedNode + stripNamespace, \ + toTypedNode +from htsworkflow.util.rdfns import * from htsworkflow.util.hashfile import make_md5sum from htsworkflow.submission.fastqname import FastqName from htsworkflow.submission.daf import \ @@ -350,3 +346,21 @@ class Submission(object): d[key] = fromTypedNode(value) results.append(d) return results + + +def list_submissions(model): + """Return generator of submissions in this model. + """ + query_body = """ + PREFIX subns: + + select distinct ?submission + where { ?submission subns:has_submission ?library_dir } + """ + query = RDF.SPARQLQuery(query_body) + rdfstream = query.execute(model) + for row in rdfstream: + s = stripNamespace(submissionLog, row['submission']) + if s[-1] in ['#', '/', '?']: + s = s[:-1] + yield s