Exemplo n.º 1
0
def test_raise_exception_if_wiring_two_outputs(session):
    canvas = Planner(session)
    assert len(canvas.plan.wires) == 0

    op1 = canvas.create_operation_by_name("Check Plate", category="Cloning")
    op2 = canvas.create_operation_by_name("Check Plate", category="Cloning")

    with pytest.raises(PlannerException):
        canvas.add_wire(op1.outputs[0], op2.outputs[0])
Exemplo n.º 2
0
def test_add_wire_sets_sample_from_source(session):
    session.set_verbose(True)
    canvas = Planner(session)
    assert len(canvas.plan.wires) == 0
    p = session.Sample.one(
        query=dict(sample_type_id=session.SampleType.find_by_name("Primer").id)
    )
    destination = canvas.create_operation_by_name(
        "Make PCR Fragment", category="Cloning"
    )
    source = canvas.create_operation_by_name("Rehydrate Primer", category="Cloning")
    canvas.set_field_value(source.outputs[0], sample=p)
    canvas.add_wire(source.outputs[0], destination.input("Forward Primer"))
    assert destination.input("Forward Primer").sample.id == p.id
Exemplo n.º 3
0
def test_add_wire(session):
    canvas = Planner(session)
    assert len(canvas.plan.wires) == 0
    op1 = canvas.create_operation_by_name("Make PCR Fragment", category="Cloning")
    op2 = canvas.create_operation_by_name("Rehydrate Primer", category="Cloning")

    canvas.add_wire(op2.outputs[0], op1.input("Forward Primer"))
    assert len(canvas.plan.wires) == 1
    wire = canvas.plan.wires[0]
    assert (
        wire.source.allowable_field_type.sample_type_id
        == wire.destination.allowable_field_type.sample_type_id
    )
    assert (
        wire.source.allowable_field_type.object_type_id
        == wire.destination.allowable_field_type.object_type_id
    )
Exemplo n.º 4
0
def test_proper_setting_of_object_types(session):

    canvas = Planner(session)
    yeast = session.Sample.where(
        {"sample_type_id": session.SampleType.find_by_name("Yeast Strain").id},
        opts={"limit": 10},
    )[-1]

    streak = canvas.create_operation_by_name("Streak Plate", category="Yeast")
    glycerol = canvas.create_operation_by_name("Yeast Glycerol Stock", category="Yeast")
    canvas.set_field_value(glycerol.inputs[0], sample=yeast)
    canvas.set_field_value(streak.inputs[0], sample=yeast)
    mating = canvas.create_operation_by_name("Yeast Mating")
    canvas.add_wire(streak.outputs[0], mating.inputs[0])
    canvas.add_wire(glycerol.outputs[0], mating.inputs[1])
    assert (
        mating.inputs[0].allowable_field_type.object_type.name == "Divided Yeast Plate"
    )
    assert (
        mating.inputs[1].allowable_field_type.object_type.name == "Yeast Glycerol Stock"
    )