X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=htsworkflow.git;a=blobdiff_plain;f=encode_submission%2Ftest_encode_find.py;h=05108955a4d31927b98d395b290ef986a3163d88;hp=cb6216711bb078caf9e880522b8f2c383ddfdf85;hb=c99feb78c58da43cb018dc3ef109bc3074d3c511;hpb=da57ac1c65ff0fa96c831ff6adb787c64e99cc8d diff --git a/encode_submission/test_encode_find.py b/encode_submission/test_encode_find.py index cb62167..0510895 100644 --- a/encode_submission/test_encode_find.py +++ b/encode_submission/test_encode_find.py @@ -7,12 +7,19 @@ import RDF import encode_find from htsworkflow.submission.ucsc import submission_view_url -from htsworkflow.util.rdfhelp import dump_model, get_model, fromTypedNode +from htsworkflow.util.rdfhelp import add_default_schemas, \ + dump_model, get_model, fromTypedNode +from htsworkflow.util.rdfinfer import Infer SOURCE_PATH = os.path.split(os.path.abspath(__file__))[0] print SOURCE_PATH class TestEncodeFind(unittest.TestCase): + def setUp(self): + self.model = get_model() + add_default_schemas(self.model) + self.inference = Infer(self.model) + def test_create_status_node_with_uri(self): subURL = submission_view_url('5136') submissionUri = RDF.Uri(subURL) @@ -35,11 +42,10 @@ class TestEncodeFind(unittest.TestCase): test_file = os.path.join(SOURCE_PATH, 'testdata', '5136SubDetail.html') from lxml.html import parse tree = parse(test_file) - model = get_model() - dates = encode_find.get_creation_dates(model, subNode) + dates = encode_find.get_creation_dates(self.model, subNode) self.assertEqual(len(dates), 0) - encode_find.parse_submission_page(model, tree, subNode) - dates = encode_find.get_creation_dates(model, subNode) + encode_find.parse_submission_page(self.model, tree, subNode) + dates = encode_find.get_creation_dates(self.model, subNode) self.assertEqual(len(dates), 1) object_date = fromTypedNode(dates[0].object) self.assertEqual(object_date, datetime(2011,12,7,15,23,0)) @@ -58,43 +64,54 @@ class TestEncodeFind(unittest.TestCase): libns:total_unique_locations 5789938 . ''', 'http://jumpgate.caltech.edu/library/') + errmsgs = list(self.inference.run_validation()) + self.assertEqual(len(errmsgs), 0) urn = RDF.Node(RDF.Uri('http://jumpgate.caltech.edu/lane/1232')) encode_find.delete_lane(model, urn) self.failUnlessEqual(len(model), 0) def test_delete_lane_with_mapping(self): - model = get_model() + ontology_size = len(self.model) parser = RDF.Parser(name='turtle') - parser.parse_string_into_model(model, '''@prefix rdf: . + parser.parse_string_into_model(self.model, '''@prefix rdf: . @prefix : . @prefix rdfs: . @prefix xsd: . @prefix libns: . + a libns:IlluminaFlowcell . libns:flowcell ; libns:has_mappings _:bnode110110 ; - libns:total_unique_locations 5789938 . + libns:total_unique_locations 5789938 ; + a libns:IlluminaLane . _:bnode110110 + a libns:MappedCount ; libns:mapped_to "newcontam_UK.fa"@en ; libns:reads 42473 . ''', 'http://jumpgate.caltech.edu/library/') - self.failUnlessEqual(len(model), 5) + errmsgs = list(self.inference.run_validation()) + self.assertEqual(len(errmsgs), 0) + self.failUnlessEqual(len(self.model), 8 + ontology_size) urn = RDF.Node(RDF.Uri('http://jumpgate.caltech.edu/lane/1232')) - encode_find.delete_lane(model, urn) - self.failUnlessEqual(len(model), 0) + encode_find.delete_lane(self.model, urn) + self.failUnlessEqual(len(self.model), 1 + ontology_size) + # the flowcell triple wasn't deleted. def test_delete_library(self): - model = get_model() parser = RDF.Parser(name='turtle') - parser.parse_string_into_model(model, '''@prefix rdf: . + parser.parse_string_into_model(self.model, '''@prefix rdf: . @prefix : . @prefix rdfs: . @prefix xsd: . @prefix libns: . + a libns:IlluminaFlowcell . + a libns:IlluminaFlowcell . + + a libns:IlluminaLane ; libns:flowcell ; libns:has_mappings _:bnode110110 ; libns:total_unique_locations 5789938 . @@ -104,14 +121,16 @@ _:bnode110110 libns:has_lane ; libns:library_id "11011"@en ; libns:library_type "None"@en ; - a "libns:library"@en ; + a libns:Library ; , . _:bnode110110 + a libns:MappedCount ; libns:mapped_to "newcontam_UK.fa"@en ; libns:reads 42473 . + a libns:IlluminaLane ; libns:flowcell ; libns:has_mappings _:bnode120970 ; libns:total_unique_locations 39172114 . @@ -120,22 +139,25 @@ _:bnode110110 libns:has_lane ; libns:library_id "12097"@en ; libns:library_type "Paired End (non-multiplexed)"@en ; - a "libns:library"@en . + a libns:Library . _:bnode120970 + a libns:MappedCount ; libns:mapped_to "newcontam_UK.fa"@en ; libns:reads 64 . ''', 'http://jumpgate.caltech.edu/library') + errmsgs = list(self.inference.run_validation()) + self.assertEqual(len(errmsgs), 0) urn = RDF.Node(RDF.Uri('http://jumpgate.caltech.edu/library/11011/')) - encode_find.delete_library(model, urn) + encode_find.delete_library(self.model, urn) q = RDF.Statement(None, encode_find.libraryOntology['reads'], None) - stmts = list(model.find_statements(q)) + stmts = list(self.model.find_statements(q)) self.failUnlessEqual(len(stmts), 1) self.failUnlessEqual(fromTypedNode(stmts[0].object), 64) q = RDF.Statement(None, encode_find.libraryOntology['library_id'], None) - stmts = list(model.find_statements(q)) + stmts = list(self.model.find_statements(q)) self.failUnlessEqual(len(stmts), 1) self.failUnlessEqual(fromTypedNode(stmts[0].object), '12097')