The DCC has complained about me making a few common typos, so I added some checks...
authorDiane Trout <diane@ghic.org>
Mon, 25 Jul 2016 23:38:31 +0000 (16:38 -0700)
committerDiane Trout <diane@ghic.org>
Mon, 25 Jul 2016 23:38:31 +0000 (16:38 -0700)
htsworkflow/submission/encoded.py

index 2e91a60506e3f3ccbaba37c28e6351c9fccf8b26..dc546ea6d2fc7ae5c241b78e4a084f45a3a72708 100644 (file)
@@ -537,6 +537,20 @@ class ENCODED:
             del hidden['@type']
         jsonschema.validate(hidden, schema)
 
+        # Additional validation rules passed down from the DCC for our grant
+        assay_term_name = hidden.get('assay_term_name')
+        if assay_term_name is not None:
+            if assay_term_name.lower() == 'rna-seq':
+                if assay_term_name != 'RNA-seq':
+                    raise jsonschema.ValidationError('Incorrect capitialization of RNA-seq')
+
+        species = hidden.get('species')
+        if species == '/organisms/human/':
+            model_age_terms = ['model_organism_age', 'model_organism_age_units']
+            for term in model_age_terms:
+                if term in obj:
+                    raise jsonschema.ValidationError('model age terms not needed in human')
+
 class TypedColumnParser(object):
     @staticmethod
     def parse_sheet_array_type(value):