def test_editor_with_feature_label(monkeypatch): import subprocess from pydna import editor Popen = mock.MagicMock(name="subprocess.Popen") monkeypatch.setattr("subprocess.Popen", Popen) monkeypatch.setenv("pydna_ape", "path/to/ape") from pydna.dseqrecord import Dseqrecord argument = Dseqrecord("ggatcc") argument.add_feature(2, 4, label="lbl") editor.ape(argument) assert Popen.called
def test_editor_with_feature_wo_label_and_note(monkeypatch): import subprocess from pydna import editor Popen = mock.MagicMock(name="subprocess.Popen") monkeypatch.setattr("subprocess.Popen", Popen) monkeypatch.setenv("pydna_ape", "path/to/ape") from pydna.dseqrecord import Dseqrecord argument = Dseqrecord("ggatcc") argument.add_feature(2, 4) del argument.features[0].qualifiers["label"] editor.ape(argument) assert Popen.called
def test_feature_label(): f0, r0 = parse_primers('''>ForwardPrimer gctactacacacgtactgactg >ReversePrimer tgtggttactgactctatcttg''') t0 = Dseqrecord("gctactacacacgtactgactgcctccaagatagagtcagtaaccaca") t0.add_feature() f = f0 r = r0 t = t0 assert str(pcr( f, r, t).seq) == "gctactacacacgtactgactgcctccaagatagagtcagtaaccaca"
def test_feature_note(): f0, r0 = parse_primers('''>ForwardPrimer gctactacacacgtactgactg >ReversePrimer tgtggttactgactctatcttg''') t0 = Dseqrecord("gctactacacacgtactgactgcctccaagatagagtcagtaaccaca") t0.add_feature() del t0.features[0].qualifiers["label"] t0.features[0].qualifiers["note"] = ["note"] f = f0 r = r0 t = t0 assert str(pcr( f, r, t).seq) == "gctactacacacgtactgactgcctccaagatagagtcagtaaccaca" assert pcr(f, r, t).name == "note"
from pydna.dseqrecord import Dseqrecord from pydna import assembly from pydna.parsers import parse from pydna.utils import eq a = Dseqrecord("ACTACGGCCTTCTCTCCCCCtgtgctgtgctcta", name="one34") a.add_feature(1, 33, label="first") b = Dseqrecord("tgtgctgtgctctaTTTTTtattctggctgtatct", name="two35") b.add_feature(1, 34, label="scnd") c = Dseqrecord("tattctggctgtatctGGGGGTacgatgctatactgg", name="three37") c.add_feature(1, 36, label="third") ln0 = assembly.Assembly((a, b, c), limit=14) l = ln0.assemble_linear()[0] assert str( l.seq ) == 'ACTACGGCCTTCTCTCCCCCtgtgctgtgctctaTTTTTtattctggctgtatctGGGGGTacgatgctatactgg' a = Dseqrecord("acgatgctatactggCCCCCtgtgctgtgctct", name="one") b = Dseqrecord("tgtgctgtgctctTTTTTtattctggctgtat", name="two") c = Dseqrecord("tattctggctgtatGGGGGtacgatgctatactgg", name="three") c0 = assembly.Assembly((a, b, c), limit=13) z = c0.assemble_circular()[0] y = z.rc()