INNER CODE UNIT · Python

sec_codons

hillerlab/TOGA · CESAR_wrapper.py:473

    sec_codons = set()  # in case there are TGA codons in the ref seq -> collect them
    gene_seq = "".join([exon_seqs[i] for i in range(len(exon_seqs.keys()))])
    codons = parts(gene_seq, n=3)  # split a seq of letters in chunks of len == 3
    if codons[0] != "ATG":
        eprint("Input is corrupted! Reference sequence should start with ATG!")
    elif codons[-1] not in Constants.STOP_CODONS:
        eprint("Input is corrupted! Reference sequence should end with a stop codon!")
    stop_codons = [(n, c) for n, c in enumerate(codons[:-1]) if c in Constants.STOP_CODONS]
    if len(stop_codons) == 0:  # no stop codons -> nothing else to do
        return exon_seqs, set()
    # there are stop codons in reference sequence:
    eprint("Warning! There are inframe stop codons!")
    for stop in stop_codons:
        eprint(f"Codon num {stop[0] + 1} - {stop[1]}")
        codons[stop[0]] = Constants.NNN_CODON if mask_stops else codons[stop[0]]
        if stop[1] == "TGA":
            # maybe a sec codon
            sec_codons.add(stop[0])

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…