Beispiel #1
0
def main(args):
    seq = list(Sequence.fromFile(args.sequenceFilename))
    score = Score.fromFile(args.substitutionMatrix)
    openingPenality = args.openingPenality
    extendingPenality = args.extendingPenality
    local = args.local

    if not args.nseq1:
        for i in range(len(seq)):
            seq1 = seq[i]
            for j in range(i + 1, len(seq)):
                seq2 = seq[j]
                if local:
                    localAlignement(seq1, seq2, openingPenality, extendingPenality, score, args.substitutionMatrix)
                else:
                    globalAlignement(seq1, seq2, openingPenality, extendingPenality, score, args.substitutionMatrix)
                print("\n" + "#"*80 + "\n")
    else:
        if not (1 <= args.nseq1 <= len(seq) and 1 <= args.nseq2 <= len(seq)):
            parser.error("-1 and -2 option must be in range of the number of sequences.")
        seq1 = seq[args.nseq1 - 1]
        seq2 = seq[args.nseq2 - 1]
        if local:
            localAlignement(seq1, seq2, openingPenality, extendingPenality, score, args.substitutionMatrix)
        else:
            globalAlignement(seq1, seq2, openingPenality, extendingPenality, score, args.substitutionMatrix)
Beispiel #2
0
def getOccurences(filename):
    occurences = []
    nbSeq = 0
    for sequence in Sequence.fromFile(filename):
        nbSeq += 1
        for i, aa in enumerate(sequence):
            if i < len(occurences):
                if aa != "-":
                    occurences[i][aa] = occurences[i].get(aa, 0) + 1
            else:
                if aa != "-":
                    occurences.append({aa: 1})
                else:
                    occurences.append({})
    return occurences, nbSeq