def parseService(self): """ initializes the self.service and self.servicePID properties corresponding to the service url uses self.programUrl or self.workflowUrl """ if hasattr(self,'programUrl'): self.service = parseService(self.programUrl) self.servicePID = registry.programsByUrl[self.programUrl].pid elif hasattr(self,'workflowUrl'): mp = Parser() self.service = mp.parse(self.workflowUrl) self.service.url = self.workflowUrl self.servicePID = registry.workflowsByUrl[ self.workflowUrl ].pid
l2 = Link() l2.to_task = t1.id l2.from_parameter = "2" l2.to_parameter = "outputformat" l3 = Link() l3.from_task = t1.id l3.to_task = t2.id l3.from_parameter = "aligfile" l3.to_parameter = "infile" l4 = Link() l4.from_task = t2.id l4.from_parameter = "outfile" l4.to_parameter = "3" wf.tasks = [t1, t2] wf.links = [l1, l2, l3, l4] wf.parameters = [input, output_format, output] mp = Parser() print mp.tostring(wf) wffile = open( '/tmp/workflow.xml', 'w' ) wffile.write( mp.tostring(wf)) wffile.close() print mp.parse('/tmp/workflow.xml')
def setUp(self): self.p = Parser()
class WorkflowTest(unittest.TestCase): """Tests the functionalities of Workflow""" def setUp(self): self.p = Parser() def tearDown(self): pass def testSimpleCreate(self): wf = Workflow() wffile = tempfile.NamedTemporaryFile( prefix='mobyle_workflow' ) path = wffile.name wffile.write( self.p.tostring(wf)) wffile.flush() wf = self.p.parse(path) self.assertTrue(isinstance(wf, Workflow)) wffile.close() def testCreation(self): wf = Workflow() wf.name = 'toto' wf.version = '1.1' wf.title = 'test workflow' wf.description = 'this workflow is a test one' t1 = Task() t1.id = 1 t1.service = 'clustalw-multialign' t1.suspend = False t1.description = "Run a clustalw" t2 = Task() t2.id = 2 t2.service = 'protdist' t2.suspend = True t2.description = "Run a protdist" input = Parameter() input.id = '1' input.name = 'sequences' input.prompt = 'Input sequences' input.type = Type() input.type.datatype = Datatype() input.type.datatype.class_name = "Sequence" input.type.biotypes = [Biotype("Protein")] output_format = Parameter() output_format.id = '2' output_format.name = 'alignment_format' output_format.prompt = 'Alignment format' output_format.type = Type() output_format.type.datatype = Datatype() output_format.type.datatype.class_name = "String" output = Parameter() output.id = '3' output.isout = True output.name = 'matrix' output.prompt = 'Distance matrix' output.type = Type() output.type.datatype = Datatype() output.type.datatype.class_name = "Matrix" output.type.datatype.superclass_name = "AbstractText" output.type.biotypes = [Biotype("Protein")] l1 = Link() l1.to_task = t1.id l1.from_parameter = "1" l1.to_parameter = "infile" l2 = Link() l2.to_task = t1.id l2.from_parameter = "2" l2.to_parameter = "outputformat" l3 = Link() l3.from_task = t1.id l3.to_task = t2.id l3.from_parameter = "aligfile" l3.to_parameter = "infile" l4 = Link() l4.from_task = t2.id l4.from_parameter = "outfile" l4.to_parameter = "3" wf.tasks = [t1, t2] wf.links = [l1, l2, l3, l4] wf.parameters = [input, output_format, output]
######################################################################################## # # # Author: Herve Menager, # # Organization:'Biological Software and Databases' Group, Institut Pasteur, Paris. # # Distributed under GPLv2 Licence. Please refer to the COPYING.LIB document. # # # ######################################################################################## from Mobyle.Workflow import Parser from Mobyle.WorkflowJob import WorkflowJob if __name__ == "__main__": mp = Parser() #wf = mp.parse('/tmp/workflow.xml') # 1st example wf = mp.parse('/tmp/workflow2.xml') # 2nd example class SessionFake(object): def getKey(self): return "workflowjobdemotestmodule" wf.owner = SessionFake() parameters = {'sequences': """>A TTTT >B TATA""", 'alignment_format': 'PHYLIP'} wj = WorkflowJob(workflow=wf,email='*****@*****.**') print wj.id #for key, value in parameters.items(): # set values for 1st example # wj.set_value(key, value)
######################################################################################## # # # Author: Herve Menager, # # Organization:'Biological Software and Databases' Group, Institut Pasteur, Paris. # # Distributed under GPLv2 Licence. Please refer to the COPYING.LIB document. # # # ######################################################################################## from Mobyle.Workflow import Parser if __name__ == "__main__": mp = Parser() wf = mp.parse("/tmp/workflow.xml") class SessionFake(object): def getKey(self): return "workflowjobdemotestmodule" wf.owner = SessionFake() parameters = { "sequences": """>A TTTT >B TATA""", "alignment_format": "PHYLIP", "email": "*****@*****.**", } import Mobyle.JobFacade