Lesson 8 of 20
LinearDesign — 두 목표를 한 알고리즘이 함께 푼다
Step 4 · github.com/LinearDesignSoftware/LinearDesign · 명령줄판
이제 도구를 만납니다. 논문이 쓴 것은 LinearDesign 입니다. 명령줄에서 돌리는 프로그램이고 소스가 공개되어 있습니다.
github.com/LinearDesignSoftware/LinearDesign
하는 일은 한 줄로 말할 수 있습니다.
CAI 와 MFE 를 함께 최적화한다
"함께" 가 핵심입니다. CAI 만 최적화하는 도구도 있고 구조만 보는 도구도 있습니다. LinearDesign 은 하나의 탐색 안에서 둘을 같이 봅니다.
고를 수 있는 서열이 얼마나 많은가
아미노산 자리마다 철자가 여럿입니다. 자리가 309개면 경우의 수는 곱하기입니다. 얼마나 될까요.
다 세어 보는 길은 없습니다. 그래서 알고리즘이 필요합니다.
Python
Runs in your browser
두 목표를 한 점수로 합친다
한 번에 두 가지를 최적화할 수는 없습니다. 최적화는 하나의 숫자 를 가장 좋게 만드는 일이니까요. 그래서 두 목표를 하나로 합칩니다.
점수 = 구조 항 + λ × 코돈 항
λ(람다)가 저울의 추 입니다. 추를 어디에 두느냐에 따라 답이 달라집니다. 다음 강이 통째로 이 손잡이 이야기입니다.
| λ | 무엇이 앞서나 |
|---|---|
| 0 | 구조 우선 — MFE 만 본다 |
| 1 ~ 2 | 균형 |
| 3 초과 | 코돈 사용 쪽으로 치우친다 |
논문이 쓴 값은 λ = 3 입니다.
이 도구가 주는 것과 주지 않는 것
준다
최적화한 뉴클레오타이드 서열 · CAI · MFE ·
λ 를 바꿔 가며 뽑은 여러 후보
주지 않는다
피해야 할 제한효소 자리 걸러 주기 · 자리별 접근성 그림 ·
실제 발현량
오른쪽 칸이 12·13·14강의 일거리입니다. 도구 하나로 끝나지 않습니다.
🤔 Check yourself
LinearDesign 의 이름에 Linear 가 붙은 까닭은?
Answer 가능한 서열은 길이에 대해 지수적으로 늘어납니다. 그것을 전부 세지 않고 길이에 비례하는 시간에 최선을 찾는 것이 이 도구의 알맹이입니다.
🤔 Check yourself
두 목표(CAI · MFE)를 하나의 점수로 합치는 까닭은?
Answer 두 값을 동시에 최고로 만들 수는 없습니다. 어느 쪽을 얼마나 중히 볼지 정해서 한 숫자로 만들어야 '가장 좋은 것' 이 정의됩니다. 그 정하는 손잡이가 λ 입니다.
🤔 Check yourself
LinearDesign 이 해 주지 않는 것은?
Answer 제한효소 자리를 피하는 일은 따로 챙겨야 합니다 — 12강에서 NovoPro 로 그 일을 하는 길을 봅니다. 시키지 않으면 도구는 피해 주지 않습니다.