아미노산 하나를 적는 방법이 여섯 가지 일 때가 있습니다. 어느 것을 고르냐가 번역 속도를 바꿉니다.
아미노산은 20종인데 코돈은 64개입니다. 그러니 같은 아미노산을 여러 코돈으로 적을 수 있습니다.
류신(Leu)은 여섯 가지, 아르기닌(Arg)도 여섯 가지입니다.
단백질은 같은데 DNA 문장은 수없이 많다
그리고 그 문장들이 똑같이 잘 번역되지 않습니다. 여기서 최적화할 여지가 생깁니다.
고등학생 같은 말을 여러 방식으로 적을 수 있다
DNA 는 세 글자씩 끊어 아미노산 하나를 뜻합니다.
그런데 세 글자 조합은 64가지 인데 아미노산은 20종 입니다.
남으니까 한 아미노산을 여러 방식으로 적을 수 있습니다.
아미노산 적는 방법
류신 (Leu) 6가지 — CTG, CTC, CTT, TTG, CTA, TTA
메티오닌 (Met) 1가지 — ATG 뿐
한국어로 치면
"먹다" 를 "식사하다 · 드시다 · 잡수시다" 로 적을 수 있는 것과 비슷합니다.
뜻은 같은데 문장이 다릅니다.
그리고 여기서 중요한 게 나옵니다 — 그 문장들이 똑같이 잘 읽히지 않습니다.
왜 코돈마다 번역 속도가 다른가
리보솜이 코돈을 읽으면 그 코돈에 맞는 tRNA 가 와야 아미노산이 붙습니다.
그런데 tRNA 는 종류마다 세포 안 개수가 다릅니다.
흔한 tRNA 에 맞는 코돈은 기다림이 짧고 , 드문 tRNA 에 맞는 코돈은
리보솜이 멈춰 서서 기다립니다. 드문 코돈이 많으면 번역이 느려지고,
줄줄이 있으면 리보솜이 밀려 아예 떨어지기도 합니다.
그리고 어떤 tRNA 가 흔한지는 종마다 다릅니다.
그래서 이야기에서 개의 코돈 사용표 를 썼습니다.
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 에 가까움 전부 최빈 코돈. 오히려 위험 할 수 있다 (아래)
고등학생 왜 어떤 코돈은 느린가 — tRNA 재고
리보솜이 코돈 하나를 읽으면, 그 코돈에 딱 맞는 tRNA 가 아미노산을 들고 와야 합니다.
그런데 tRNA 는 종류마다 세포 안 개수가 다릅니다.
tRNA 재고 무슨 일 비유
많음 바로 와서 붙음 편의점에 쌓여 있는 물건
적음 리보솜이 기다림 주문해야 오는 물건
여기가 핵심입니다
드문 코돈이 많으면 번역이 느려지고, 줄줄이 있으면 리보솜이 밀려서 떨어지기도 합니다.
그리고 어떤 tRNA 가 흔한지는 종마다 다릅니다.
사람에게 흔한 것이 개에게도 흔하다는 보장이 없어요.
그래서 이야기에서 개의 코돈 사용표 를 따로 가져다 쓴 겁니다.
기하평균은 '가장 나쁜 자리' 를 크게 반영합니다. 번역 병목의 성질과 닮았습니다.
고등학생 위 코드가 방금 무슨 일을 했나요
류신 코돈 여섯 개의 상대 점수(w) 를 계산하고,
네 가지 서열의 CAI 를 견줬습니다.
두 번째와 세 번째 줄을 꼭 보세요
서열 CAI
고루 섞어 씀 비교적 높음
위와 같은데 하나만 드문 코돈 눈에 띄게 떨어짐
코돈 딱 하나 를 바꿨는데 전체 값이 확 떨어졌습니다.
왜 그런가 — 기하평균이라서
보통 평균(산술평균)은 더해서 나눕니다. 하나가 작아도 나머지가 받쳐 줍니다.
기하평균은 곱해서 제곱근을 씌웁니다. 하나가 0.1 이면 전체가 확 내려갑니다.
번역은 가장 막히는 자리에서 막히므로 , 그 성질을 닮은 평균을 씁니다.
사슬의 힘은 가장 약한 고리가 정합니다 — 기하평균이 그걸 반영합니다
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 를 1.0 으로 만들면 왜 오히려 나쁜가
"좋은 코돈만 쓰면 되잖아?" 라고 생각하기 쉽습니다. 그런데 함정이 있습니다.
포유류의 좋은 코돈은 대부분 G 나 C 로 끝납니다
그러니 좋은 코돈만 고르면 서열에 G·C 가 잔뜩 이 됩니다.
그리고 RNA 에서 G–C 짝은 A–U 짝보다 훨씬 세게 붙습니다.
결과 무슨 일
GC 가 많아짐 RNA 가 스스로 단단히 접힘
특히 앞부분(5')이 접히면 리보솜이 못 지나감
번역이 시작조차 안 됨
이야기의 CAI 가 0.89 이지 1.0 이 아닌 이유가 이겁니다.
일부러 거기서 멈춘 것 입니다.
최적화는 하나를 끝까지 미는 게 아니라, 여럿 사이에서 자리를 찾는 것입니다
코돈 최적화가 늘 좋은 것은 아니다
번역 속도는 그냥 빠를수록 좋은 게 아닙니다.
어떤 단백질은 드문 코돈에서 리보솜이 잠깐 멈추는 동안 앞부분이
제대로 접힙니다. 그 멈춤을 없애면 단백질이 잘못 접힐 수 있습니다.
이 백신에서는 문제가 안 됩니다 — 만들 것이 기능하는 단백질이 아니라
잘려 나갈 폴리에피토프 이기 때문입니다. 어차피 프로테아솜이 부술 것이니
접힘을 걱정할 필요가 없습니다.
목적이 설계 기준을 정합니다. 항체를 만든다면 같은 선택이 나쁜 선택이 됩니다.
🤔 확인 문제
CAI 가 기하평균으로 계산되는 것의 실질적 효과는?
A 긴 서열일수록 CAI 가 높아진다
B 드문 코돈이 하나만 섞여도 전체 값이 크게 떨어진다 — 병목 하나를 크게 벌준다
C GC 함량과 무관해진다
D 값이 항상 0.5 근처로 모인다
해설 산술평균이면 나쁜 코돈 하나가 100개 중 하나일 때 거의 안 보입니다.
기하평균은 곱하기 라서 작은 값 하나가 전체를 끌어내립니다.
번역이 병목 하나에서 막히는 성질과 닮았기 때문에 이 계산을 씁니다.
🤔 확인 문제
CAI 를 1.0 에 가깝게 최대화하는 것이 오히려 나쁠 수 있는 이유는?
A CAI 가 높으면 mRNA 가 빨리 분해되기 때문
B 포유류 최빈 코돈은 G/C 로 끝나는 것이 많아 GC 가 치우치고, RNA 2차구조가 단단해져 5' 쪽에서 번역 개시를 막을 수 있기 때문
C CAI 가 높으면 면역 반응이 강해지기 때문
D 코돈 표가 종마다 달라 1.0 은 계산 불가능하기 때문
해설 최빈 코돈만 쓰면 GC 가 올라가고, GC 짝은 결합이 세서 RNA 가 더 단단히 접힙니다.
특히 5' 쪽에 단단한 구조가 생기면 리보솜이 스캔을 못 해 번역이 시작되지 않습니다.
그래서 실제 최적화기는 CAI 와 구조(MFE)를 함께 봅니다. 0.89 는 그 타협의 결과입니다.
← 13강 mRNA 서열 설계
이 강의 완료 ✓
15강 → IVT