record file size information for a file in the triple store
authorDiane Trout <diane@caltech.edu>
Fri, 27 Mar 2015 18:03:45 +0000 (11:03 -0700)
committerDiane Trout <diane@caltech.edu>
Fri, 27 Mar 2015 18:13:12 +0000 (11:13 -0700)
htsworkflow/submission/submission.py

index 897053fbc148477c108d232635958db45488dfc5..ed4d898ec919fdb66909ad810bd249e860f38b2a 100644 (file)
@@ -123,6 +123,7 @@ class Submission(object):
         # add file specific information
         fileNode = self.make_file_node(pathname, an_analysis)
         self.add_md5s(filename, fileNode, analysis_dir)
+        self.add_file_size(filename, fileNode, analysis_dir)
         self.add_fastq_metadata(filename, fileNode)
         self.add_label(file_type, fileNode, libNode)
         self.model.add_statement(
@@ -168,6 +169,13 @@ class Submission(object):
             self.model.add_statement(
                 RDF.Statement(fileNode, dafTermOntology['md5sum'], md5))
 
+    def add_file_size(self, filename, fileNode, analysis_dir):
+        LOGGER.debug("Updating file size")
+        submission_pathname = os.path.join(analysis_dir, filename)
+        file_size = os.stat(submission_pathname).st_size
+        self.model.add_statement(
+            RDF.Statement(fileNode, dafTermOntology['file_size'], toTypedNode(file_size)))
+
     def add_fastq_metadata(self, filename, fileNode):
         # How should I detect if this is actually a fastq file?
         try: