コード例 #1
0
def get_alignment_as_string(id, no, fmt="emboss"):
    session = Session()
    query = session.query(ParcaJob).filter(ParcaJob.id == id)
    if query.count() == 0:
        return "ERROR: Wrong id", ""
    job = query.first()
    if job.status != ST_DONE:
        return "ERROR: Job not complete", ""
    res = json.loads(job.alignments)
    inf = json.loads(job.alignment_infos)
    if no >= len(res):
        return "ERROR: Wrong alignment number", ""
    gep = job.gep
    gop = inf[no]["MinGOP"], inf[no]["MaxGOP"]
    al = res[no]["data"]
    mn = job.matrix_name
    matr = parca.__dict__[job.matrix_name]
    name1 = job.name1
    name2 = job.name2
    seq1 = job.sequence1
    seq2 = job.sequence2
    finish_datetime = job.finish_datetime
    m = inf[no]["m"]
    err = ""
    s = ""
    try:
        s = bioformats.proteins_alignment_to_string(
            al, seq1, seq2, name1, name2, fmt, matr, mn, gep, gop, finish_datetime, "parca-soap-server", None, m
        )
    except bioformats.BioFormatException as e:
        err = "ERROR: " + str(e.text)
        log.error("Tried to get '%s' representaion of %d:%d: %s" % (fmt, job.id, no, e.text))
    return err, s
コード例 #2
0
ファイル: __main__.py プロジェクト: victor-yacovlev/biosymbol
    als = _base.get_pareto_alignments(seq1,seq2,gep,matrix,40)
    err = _base.get_last_error()
    if len(err)>0:
        sys.stderr.write("Error: "+err+"\n")
        sys.exit(7)
    primary = _util.get_primary_alignments(als)
    gops = _util.calculate_gops(primary)
    for index, pa in enumerate(primary):
        #out.write("\n# Score = %i, Deletions = %i, Gaps = %i \n" % (pa.m, pa.d, pa.g))
        gop = gops[index]
        s = bioformats.proteins_alignment_to_string(
            pa.data,
            seq1,
            seq2,
            name1,
            name2,
            outfmt,
            matrix,
            mn,
            gep,
            gop,
            rundate,
            "parca",
            outname,
            pa.m
            )
        #s = _util.alignment_to_string(seq1,seq2,pa.data,cps,matrix,60)
        out.write(s+"\n")
    out.close()
        
コード例 #3
0
ファイル: _test.py プロジェクト: victor-yacovlev/biosymbol
else: sys.stderr.write("PASSED\n")

_ = "Test 5. Check output formats"
sys.stderr.write(_+"... ")
try:
    for outfmt in ["CLUSTAL", "FASTA", "FASTQ", "EMBOSS"]:
        for index, al in enumerate(alns):
            gop = gops[index]
            s = bioformats.proteins_alignment_to_string(
                al.data,
                reference[seq_names[0]],
                reference[seq_names[1]],
                seq_names[0],
                seq_names[1],
                outfmt,
                matrix,
                "BLOSUM62",
                1.0,
                gop,
                None,
                "selftest",
                None,
                al.m
            )
            f = open(RESOURCE_PATH+"/test03/ref/reference"+str(index)+"."+outfmt.lower(), "r")
            ref_s = f.read()
            f.close()
            assert s==ref_s
except:
    failed[4] = True
if failed[4]: sys.stderr.write("FAILED\n")
else: sys.stderr.write("PASSED\n")