Beispiel #1
0
def concat(newAlignment, f, model):
    print f
    #inSeq2 = SeqIO.parse(open('concatenated.fas','r'),'fasta')

    a = Alignment(f)  #make an alignment instance from the file f
    a.setmodel(model)  #set the model for the alignment
    a.populate()

    fixFastas(newAlignment, a)
    tempAlignment = Alignment('')

    writelog(f + ':' + str(a.numchar) + ' ' + model)
    for seq in newAlignment.seqs:
        flag = 0
        for aseq in a.seqs:

            if seq.id == aseq.id:
                flag = 1
                newseq = SeqRecord(seq=seq.seq + aseq.seq, id=seq.id)

                tempAlignment.seqs.append(newseq)
                tempAlignment.idlist.append(newseq.id)

    tempAlignment.numchar = len(tempAlignment.seqs[0].seq)
    tempAlignment.numseq = len(tempAlignment.seqs)
    #print tempAlignment.numchar
    #print tempAlignment.numseq

    return tempAlignment