14강 / 20강

코돈 최적화 — 같은 단백질, 다른 문장

제8장 「CAI가 0.61에서 0.89로 올라갔다」 · MFE −24.3 kcal/mol

코돈 최적화 — 같은 단백질, 다른 문장
아미노산 하나를 적는 방법이 여섯 가지일 때가 있습니다. 어느 것을 고르냐가 번역 속도를 바꿉니다.

아미노산은 20종인데 코돈은 64개입니다. 그러니 같은 아미노산을 여러 코돈으로 적을 수 있습니다. 류신(Leu)은 여섯 가지, 아르기닌(Arg)도 여섯 가지입니다.

단백질은 같은데 DNA 문장은 수없이 많다

그리고 그 문장들이 똑같이 잘 번역되지 않습니다. 여기서 최적화할 여지가 생깁니다.

CAI — 코돈 적응 지수

dog_table = get_codons_table("canis_lupus_familiaris") optimized_seq = codon_optimize(polyepitope, dog_table) # CAI: 0.61 -> 0.89

CAI(Codon Adaptation Index) 는 0~1 사이의 값입니다. 계산은 이렇습니다.

1. 아미노산마다, 그 종에서 가장 많이 쓰이는 코돈의 빈도를 1로 놓습니다.

2. 나머지 코돈은 그 최빈 코돈 대비 비율 w 를 갖습니다 (상대 적응도).

3. 서열 전체 코돈의 w 를 기하평균 냅니다.

CAI = (∏ᵢ wᵢ)1/N

기하평균인 것이 중요합니다. 코돈 하나라도 w 가 아주 작으면 전체 CAI 가 확 떨어집니다. 병목 하나를 벌주는 계산입니다.

CAI보통 뜻
0.6 이하그 종에서 드문 코돈이 꽤 섞여 있다
0.8~0.9잘 최적화됨. 발현이 잘 되는 유전자들의 전형적인 범위
1.0 에 가까움전부 최빈 코돈. 오히려 위험할 수 있다 (아래)
코돈을 하나씩 바꿔 보세요. CAI 와 GC 함량이 어떻게 따라 움직이는지 나옵니다.
불러오는 중…
기하평균은 '가장 나쁜 자리' 를 크게 반영합니다. 번역 병목의 성질과 닮았습니다.
Python 브라우저에서 실행

MFE — 접히면 안 되는 이유

mfe = RNA.fold(optimized_seq) # mfe: -24.3 kcal/mol -> 안전 (과도한 2차구조 없음)

RNA 는 단일 가닥이지만 스스로 접힙니다. A-U, G-C 가 서로 짝지어 머리핀이나 이중나선 구간을 만듭니다.

MFE(Minimum Free Energy, 최소 자유에너지) 는 가장 안정한 접힘 상태의 에너지입니다. 음수이고, 더 음수일수록 더 단단히 접혀 있다는 뜻입니다.

적당히 접힘
RNase 로부터 조금 보호받고, 리보솜은 무리 없이 풀며 지나갑니다.
너무 단단히 접힘 (MFE 가 아주 음수)
특히 5' 쪽에 단단한 구조가 있으면 리보솜이 스캔을 못 합니다. 번역이 시작조차 안 됩니다.

여기에 설계의 긴장이 있습니다.

CAI 를 올리려 최빈 코돈만 쓰면 → GC 가 치우쳐 → 구조가 더 단단해진다

포유류의 최빈 코돈은 G 나 C 로 끝나는 것이 많습니다. 전부 그렇게 고르면 GC 함량이 올라가고, GC 짝은 결합이 세니 RNA 가 더 단단히 접힙니다. CAI 만 최대로 올리면 번역이 오히려 나빠질 수 있습니다.

그래서 실제 최적화기는 CAI · GC 함량 · 5' 구조 · 반복서열 · 특정 모티프 회피를 동시에 봅니다. 이야기의 CAI 0.89 는 1.0 이 아닙니다 — 그게 정상입니다.

🤔 확인 문제
CAI 가 기하평균으로 계산되는 것의 실질적 효과는?
🤔 확인 문제
CAI 를 1.0 에 가깝게 최대화하는 것이 오히려 나쁠 수 있는 이유는?