International Essays

노벨상에서 영감을 받은 Wolfram 언어를 활용한 단백질 구조의 de novo 설계

2025년 5월25일
Robert B. Nachbar, 수석 프로젝트 디렉터, Wolfram Solutions
원문 게시물
최근 뉴욕 타임스의 AI 관련 기사를 읽으면서 제가 노벨상 수상자의 발자취를 따르게 될 거라고는 전혀 예상하지 못했지만, 곧 Wolfram 언어를 통해 그 여정을 시작할 수 있다는 사실을 깨닫게 되었습니다.
2024년 노벨 화학상은 수십 년간 활발히 연구되어 온 두 분야의 주제인 계산 기반 단백질 설계와 단백질 구조 예측 분야에 수여되었습니다. 초기 연구는 물리학과 화학의 기초 위에 구축되었으며, 단백질을 구성하는 아미노산 잔기의 사슬이 어떻게 3차원 구조로 접히는지를 형태 분석과 에너지 계산을 통해 모델링하려는 시도가 그 출발점이었습니다. 최근에는 trRosetta, AlphaFold, ESMFold와 같은 딥 뉴럴 네트워크 (DNN) 및 대규모 언어 모델 (LLM)을 활용한 AI 기법이 이 문제에 본격적으로 도입되면서 혁신적인 기술이 등장했습니다. 수상자 중 한 명인 데이비드 베이커 (David Baker)의 연구는 최근 New York Times 기사에서도 조명된 바 있습니다.
2021년 발표된 논문에서 데이비드 베이커 연구팀은 무작위 아미노산 서열을 현실적인 단백질 서열로 최적화하고, 이를 삼차원 구조로 접는 계산 실험을 소개했습니다. 이 과정을 2,000회 반복하여 다양한 서열과 예측된 구조를 생성해낼 수 있었습니다. 진정으로 흥미로운 단계는 그다음이었습니다. 연구팀은 이 서열을 바탕으로 129개의 합성 유전자를 실험실에서 제작하고, 이를 대장균(E. coli)의 유전체에 삽입한 뒤, 새롭게 생성된 단백질을 분리 및 정제하여, x-선 결정학과 핵자기 공명 분광법 (NMR spectroscopy)을 통해 이 단백질의 구조를 규명했습니다. 그 결과는 예측된 구조와 매우 유사한 결과를 얻을 수 있었습니다.
우리는 베이커 연구팀의 실험 중 “계산적 설계 X” 부분을 Wolfram 언어를 활용해 직접 탐구해 보기로 했습니다. 최근 출시된 Wolfram 언어 14.2 버전의 새로운 기능 덕분에 이 작업은 놀라울 정도로 간단하게 수행할 수 있었습니다.
아미노산 서열 접기 먼저 구조가 이미 밝혀진 단백질을 예제로 시작해보겠습니다. 알츠하이머병과 관련이 있는 아밀로이드 전구체 단백질(APP)의 N-말단 도메인은 좋은 사례가 됩니다. 이 단백질의 구조는 Protein Data Bank (PDB)에서 제공되며, 해당 데이터의 등록 ID는 1MWP입니다. 이제 Wolfram 언어 버전 14.2에서 새롭게 도입된 서비스 연결 기능을 활용해, 이 구조 데이터를 발표한 논문의 제목을 다음과 같이 불러올 수 있습니다.
In[]:=
ServiceExecute["RCSBProteinDataBank","EntryData",{"PDBStructureID"ExternalIdentifier["PDBStructureID","1MWP"]}]["Citation",All,"Title"]
Out[]=
Crystal structure of the N-terminal, growth factor-like domain of Alzheimer amyloid precursor protein.
그리고 다음 요청을 통해 해당 단백질 구조를
BioMolecule
객체로 불러올 수 있습니다.
In[]:=
bioMol=ServiceExecute["RCSBProteinDataBank","BioMolecule",{"PDBStructureID"ExternalIdentifier["PDBStructureID","1MWP"]}]
Out[]=
BioMolecule
Type: Peptide
Chains: 2

또한, 훨씬 간단한 입력으로도 동일한 결과를 얻을 수 있습니다.
In[]:=
BioMolecule[ExternalIdentifier["PDBStructureID","1MWP"]]
Out[]=
BioMolecule
Type: Peptide
Chains: 2

이 결정 구조 전체는 단일 단백질 사슬과 함께 단백질 분자와 공동 결정화된 많은 물 분자로 구성되어 있습니다. 편의를 위해 이 물 분자는 별도의 사슬로 묶여 있으며, 따라서 해당 BioMolecule 객체는 두 개의 사슬을 가지고 있습니다.
In[]:=
bioMol["ChainTypes"]
Out[]=
APeptide,BWater
이 단백질 구조는 하나의 사슬로 이루어져 있으며, 이 사슬은 두 개의 α-나선과 여러 개의 β-가닥을 포함하고 있습니다. 아래의 시각화를 통해 이러한 구조 요소를 직접 확인할 수 있습니다.
In[]:=
BioMoleculePlot3D[bioMol,ImageSize->Small]
Out[]=
그리고 아래 표에는 이러한 구조 요소가 잔기 범위로 정리되어 있습니다.
In[]:=
bioMol["Helices"]
Out[]=
A{{38,50},{73,75}}
In[]:=
bioMol["Sheets"]
Out[]=
A{{6,8},{16,18},{25,27},{55,60},{65,67},{70,72},{76,79},{83,85},{88,92}}
Wolfram 언어 14.2에 새롭게 추가된 "ESMAtlas" 서비스는 Meta AI의 모델을 활용해 아미노산 서열을 접을 수 있도록 해줍니다. 아래는 해당 아미노산 서열을 접기 위한 서비스 요청 예시입니다.
In[]:=
foldedBioMol=ServiceExecute["ESMAtlas","FoldSequence",{"BioSequence"bioMol["BioSequences"]["A"]}]
Out[]=
BioMolecule
Type: Peptide (predicted)
Chains: 1

접힌 구조 역시 하나의 α-나선과 여러 개의 β-가닥으로 구성되어 있습니다.
In[]:=
BioMoleculePlot3D[foldedBioMol,ImageSize->Small]
Out[]=
하지만 여기서 확인할 수 있듯이, AI가 접은 구조에서 더 긴 나선은 결정 구조보다 두 개의 잔기만큼 짧으며, 73번, 74번, 75번 잔기는 α-나선 구조를 형성하지 않는다는 점을 확인할 수 있습니다.
In[]:=
foldedBioMol["Helices"]
Out[]=
A{{39,49}}
AI가 접은 모델에서는 두 개의 β-가닥이 소실된 것으로 나타납니다.
In[]:=
foldedBioMol["Sheets"]
Out[]=
A{{6,8},{16,18},{25,27},{55,60},{65,67},{83,85},{88,92}}
그렇다면, 이 구조 예측의 정량적인 접힘은 얼마나 우수할까요? ESMAtlas 서비스는 원자 단위의 신뢰도를 계산하며, 이 값은 BioMolecule 객체의 "BFactors" 속성에 저장됩니다. 개별 값은 0에서 1 사이의 범위를 가지며, 값이 높을수록 예측된 3차원 위치에 대한 신뢰도가 높음을 의미합니다. 다음은 처음 다섯 개 잔기의 원자에 대한 신뢰도 값입니다.
In[]:=
foldedBioMol["BFactors"]["A"]//Take[#,5]&
Out[]=
{{0.73,0.76,0.79,0.7,0.76,0.65,0.6,0.62},{0.84,0.85,0.85,0.8,0.82,0.71,0.65,0.66},{0.9,0.91,0.91,0.89,0.9},{0.92,0.92,0.93,0.91,0.92,0.84,0.8,0.78,0.74},{0.93,0.94,0.94,0.93,0.93,0.9,0.89}}
이러한 값을 활용하여 접힌 서열의 전반적인 신뢰도를 계산할 수 있습니다. 구체적으로는 원자별 신뢰도 값의 제곱 평균 제곱근(RMS)을 구함으로써 전체 구조 예측의 신뢰도를 정량적으로 평가할 수 있습니다.
In[]:=
confidence[bm_BioMolecule]:=Sqrt@Mean@Flatten[bm["BFactors"]["A"]^2]
In[]:=
confidence[foldedBioMol]
Out[]=
0.818817
이 값은 상당히 높은 편이기 때문에, 해당 구조는 실험적으로 얻은 구조와 “가깝다”고 볼 수 있습니다. 그리고 정확한 수치 비교는
MoleculeAlign
을 기반으로 한 프로토타입 함수인 BioMoleculeAlign을 사용하여 수행할 수 있습니다.
In[]:=
alignment=BioMoleculeAlign[bioMol,foldedBioMol,"Backbone",All]
Out[]=
TransformationTransformationFunction
-0.476971
-0.804336
-0.35432
25.0947
Å
-0.276896
-0.245089
0.929118
15.6046
Å
-0.834163
0.541272
-0.105817
18.991
Å
0
0
0
1.
,Error
1.3834
Å
,BioMoleculeBioMolecule
Type: Peptide (predicted)
Chains: 1

백본 원자 간의 RMS 차이(RMSD)가 1.38 Å이라는 점은 꽤 양호한 결과입니다. 시각적으로도, 예측된 접힌 구조가 실험 구조와 상당히 유사함을 확인할 수 있습니다. 예상대로, 가장 큰 편차는 단백질의 N-말단과 C-말단 부위에서 나타납니다.
In[]:=
Show[BioMoleculePlot3D[bioMol,ColorRules->({_->Darker@Green})],BioMoleculePlot3D[alignment["BioMolecule"],ColorRules->({_->Lighter@Red})],ImageSize->Medium]//Legended[#,SwatchLegend[{Darker@Green,Lighter@Red},{"Experimental","AI folded"}]]&
Out[]=
Experimental
AI folded
접힘 정확도에 대한 보다 폭넓은 관점에서의 개요를 얻기 위해, 우리는 PDB 웹사이트에서 다음 조건에 해당하는 단백질을 검색했습니다. 95~105개의 잔기를 가진 단일 사슬 단백질, X선 회절법(x-ray diffraction)으로 구조가 결정된 것, 그리고 최종 해상도가 2.0 Å 이하인 구조입니다.
이 검색을 통해 총 175개의 항목 ID를 얻을 수 있었습니다 (공개 데이터베이스는 지속적으로 갱신되므로, 사용자에 따라 결과는 달라질 수 있습니다).
이제 각 구조를 가져와 전체 서열을 접고, 접힘에 대한 신뢰도를 계산한 뒤, 실험적으로 결정된 구조와의 RMSD를 구해보겠습니다. 하지만, 이 간단해 보이는 이 작업을 진행하기 전에, 우선 해당 ID 목록을 정리할 필요가 있습니다.
생물학은 본래 복잡하며, 특히 실험 데이터를 다룰 때는 더욱 그렇습니다. 현재 PDB에는 약 23만 개에 달하는 실험적으로 규명된 구조가 등록되어 있으며, 이들 중 상당수는 높은 품질을 자랑합니다. 앞서 진행한 검색에서 해상도가 낮은 구조 (> 2.0 Å)는 미리 걸러냈지만, 그 외에도 처리해야 할 잠재적인 문제가 여러 가지 존재합니다.
우선, 데이터베이스는 완벽하지 않습니다. 검색 조건에서 “protein entities”만을 지정했음에도 불구하고, 올리고당과 결합된 단백질이 일부 결과에 포함 되었습니다. 이러한 구조는 사슬 유형이 "Branched"로 표시되어 있습니다.
따라서, 이 두 개의 항목은 목록에서 제외하도록 하겠습니다.
두 번째로, Meta AI의 단백질 접힘 모델은 500종이 넘는 알려진 자연 발생 아미노산 가운데 극히 제한된 일부만을 포함하는 서열만을 허용합니다. 이 중 다수는 실제 PDB에 등록된 단백질 구조에서 발견되기도 합니다. DNA에 의해 암호화되는 단백질 생성 아미노산은 총 21종이며, ESMFold는 이 중 20종만을 지원합니다 (셀레노메티오닌은 예외적인 아미노산으로 취급되기 때문입니다).
아미노산은 종종 세 글자 약어로 표현되는데, 예를 들어 알라닌은 Ala, 트립토판은 Trp로 표기합니다. 더 간결하게 표현하기 위해, 생물학자는 한 글자 코드도 사용하며(단백질 생성 아미노산에만 해당), 아래 표에 그 예시가 나와 있습니다.
한 글자 코드를 이용해 필터를 구성할 수 있습니다.
앞서 PDB에서 가져온 APP 서열에 대해 이 필터를 적용해 보겠습니다.
지금까지는 아무 문제 없이 잘 진행되었습니다. 합성 펩타이드 5V63는 베타-아밀로이드 단백질의 올리고머화 연구를 위해 제작되었으며, 오르니틴, 사르코신, 아이오도페닐알라닌을 포함하고 있습니다. 따라서 이 서열은 필터 테스트에서 실패해야 합니다.
좋습니다! 이제 검색 결과를 필터링해 보겠습니다.
세 번째로, X선 결정학도 완벽하지 않습니다. 많은 결정체가 이상적이지 않고 결함을 포함하고 있습니다. 단백질 결정에서 흔히 발생하는 결함 중 하나는 무질서 현상으로, 단백질의 일부 영역이 모든 단위 세포에서 동일한 방식으로 결정화되지 않는 경우를 말합니다. 이 현상은 전자 밀도가 흐려지는 효과를 가져오며 (실제로 전자가 X선을 산란시키기 때문입니다), 이로 인해 원자의 정확한 위치를 파악하기 어렵게 만듭니다. 이러한 무질서는 주로 단백질 사슬의 양 끝 부분에서 발생하지만, α-나선(α-helices)과 β-가닥(β-strands) 사이의 루프 구간에서도 나타날 수 있습니다.
단백질 접힘 결과를 보다 유의미하게 비교하기 위해서는, 전체 서열보다 관찰된 잔기 수가 적은 항목은 제외하는 것이 좋습니다. 첫 번째 항목인 1A68은 모델링된 단량체 수가 적은 것으로 보아, 관찰되지 않은 잔기가 포함되어 있음을 알 수 있습니다.
전체 목록을 처리하여 관찰된 잔기 수가 동일한 항목만을 선별한 결과, 최종 검색 결과 목록을 얻을 수 있었습니다.
마지막으로, 이제 본격적인 분석을 진행할 수 있습니다. 즉, 서열을 접고 예측 구조를 실험적 구조와 비교하는 작업입니다.
다음 입력값은 식별이 쉽도록 갈색 배경으로 스타일링하여 위에서 언급한 분석의 저자 원본 결과를 불러오는 데 사용됩니다.
대부분의 예측된 접힌 구조는 실험 구조와 RMSD가 4 Å 이하로 매우 잘 일치합니다.
전반적으로 결과는 꽤 양호하게 나타났습니다. 접힘 신뢰도가 0.75 미만일 때는 큰 RMSD가 예상되지만, 예상 밖의 이상치는 신뢰도가 0.75 이상임에도 불구하고 RMSD가 약 5 Å 이상으로 나타났습니다. 이들은 과연 무엇일까요?
구조 4J4C는 3EZM의 G51P 돌연변이로, 51번 잔기 위치의 글리신이 프롤린으로 치환된 형태입니다. 두 구조 모두 머리-꼬리(head-to-tail) 형태로 얽힌 이량체입니다. 생체분자의 “assembly” 정보를 활용하여 이 이량체를 시각화할 수 있으며, 이때 각 이량체의 절반은 파란색, 나머지 절반은 노란색으로 표시됩니다.
ESMFold 모델은 입력 서열이 단량체 구조임을 가정하기 때문에, 이렇게 얽힌 이량체 구조에는 적합하지 않아 예측이 실패하는 것이 당연합니다.

초기 무작위 서열

한 글자 코드를 사용하는 것은 무작위 서열을 생성하거나 조작하는 데에 편리합니다.
다음은 100개의 잔기로 구성된 무작위 서열입니다.
다음 입력값은 식별이 쉽도록 갈색 배경으로 스타일링하여 위에서 언급한 분석의 저자 원본 결과를 불러오는 데 사용됩니다.
서열을 접으면, 앞서 본 것처럼 BioMolecule 객체가 생성됩니다.
보시다시피, 이 구조는 이차 구조 요소를 전혀 가지지 않으며, 자연적으로 존재하는 단백질처럼 보이지도 않습니다.
잔기는 N-말단에서부터 파란색, 초록색, 노란색, 주황색을 거쳐 마지막으로 C-말단에서는 빨간색으로 표시되었습니다.

적합도

예측된 접힘 구조에 대해 잔기 간 거리 분포는 계산할 수 있지만, Baker 팀이 사용한 것처럼 모든 단백질에 대해 평균적인 배경 분포 (예: PDB 데이터)를 가지고 있지 않기 때문에, 적합도로 사용할 발산도를 계산할 수 없습니다.
하지만 모든 것이 불가능한 것은 아닙니다. 앞서 살펴본 것처럼, 접힌 구조에 대한 전체 신뢰도를 계산할 수 있으며, 이는 적합도 평가에 적절히 활용될 수 있습니다. 예상할 수 있듯이, 이 무작위 서열에 대한 예측 접힘의 적합도는 다소 낮게 나타납니다.

잔기 돌연변이

다음으로 해야 할 작업은 서열을 돌연변이시키는 것입니다. 우선 서열 내에서 돌연변이가 일어날 위치를 무작위로 선택한 후, 해당 위치의 아미노산을 다른 아미노산으로 교체합니다.
다음 입력값은 식별이 쉽도록 갈색 배경으로 스타일링하여 위에서 언급한 분석의 저자 원본 결과를 불러오는 데 사용됩니다.
96번 위치의 발린(valine)이 알라닌(alanine)으로 치환되었습니다. 즉, V96A 돌연변이를 생성한 셈입니다. 이 변이가 구조에 어떤 영향을 미쳤는지 살펴보겠습니다.
흥미롭게도, 돌연변이의 영향은 완전히 국소적이지 않았으며, 돌연변이가 일어난 지점(짧은 빨간색 α-나선)에서 멀리 떨어진 위치에 세 개의 α-나선이 새롭게 형성되었습니다. 그렇다면, 이러한 구조적 변화는 전체 적합도의 상승으로 이어질까요, 아니면 감소로 이어질까요?

시뮬레이션 기반 어닐링 최적화

적합도, 즉 예측된 구조에 대한 신뢰도는 소폭 감소하였습니다. 이 돌연변이를 수용하기 위한 메트로폴리스 기준(Metropolis criterion)에 따라 결정되며, 이는 다음과 같이 계산됩니다.
변화를 수용할지 여부를 판단하는 테스트는 다음과 같습니다.
따라서 적합도가 소폭 감소했음에도 불구하고, 이 변화는 수용될 수 있습니다.
앞서 작성한 코드를 하나의 함수로 통합하여 서열 최적화에 사용할 수 있습니다. ESMAtlas 서비스는 일정 시간 내에 사용자가 호출할 수 있는 API 호출 횟수에 제한을 두고 있으나, 구체적인 기준은 공개되어 있지 않습니다. 이에 따라, 이러한 제한에 대응하기 위해 일시 정지 메커니즘을 코드에 포함시켰습니다. 또한, API 호출은 다른 사용자의 사용량에 따라 속도가 느려질 수 있으므로, 진행 상황을 모니터링할 수 있는 기능도 함께 포함하였습니다.
다음은 진행 상황 모니터 출력 예시입니다.
이 개념 검증 실험을 관리 가능한 수준으로 유지하기 위해, 1,000회 반복만 수행하도록 하겠습니다.
다음 입력값은 식별이 쉽도록 갈색 배경으로 스타일링하여 위에서 언급한 분석의 저자 원본 결과를 불러오는 데 사용됩니다.

최적화 결과

아주 훌륭합니다! PDB에 이와 유사한 서열을 가진 구조가 존재할까요?
아니오, 없습니다. 그렇다면 UniProt 데이터베이스는 어떨까요? 수동으로 검색을 진행한 결과, 한 건의 일치가 발견되었습니다. 다음은 BLAST 원본 출력의 일부입니다.
>TR:A0A106BVQ6 A0A106BVQ6_THIDE 3-isopropylmalate dehydratase large subunit
OS=Thiobacillus denitrificans OX=36861 GN=leuC PE=3 SV=1
Length=467
​
Score = 35.0 bits (79), Expect = 9.7
Identities = 17/45 (38%), Positives = 23/45 (51%), Gaps = 0/45 (0%)
​
Query 2 DYVILRPYYSQDPSIDSSNFWWCGFHGATQDVFHRRIFINATKTD 46
DYV RPY + + D + WW H VF R + ++ATK D
Sbjct 242 DYVKGRPYSPKGAAWDKAVAWWNTLHSDADAVFDRVVELDATKID 286
이 최적화를 통해 우리가 배울 수 있는 것은 무엇일까요? 아래는 최적화가 진행됨에 따라 적합도가 어떻게 향상 되었는지를 보여줍니다.
전체 반복 중 상당 부분에서는 서열에 변화가 일어나지 않았습니다.
다음은 적합도의 변화가 어떻게 진행되었는지 보여줍니다(변화가 없었던 구간의 0 값들은 생략되었습니다).
다음은 최적화 과정 동안 돌연변이가 발생한 위치를 보여줍니다.
다음은 잔기 위치별 변이 발생 빈도 분포입니다.
다음의 12개 잔기 위치(6, 8, 46, 53, 62, 64, 69, 71, 82, 83, 96, 98)는 변이가 일어나지 않았습니다. 이는 해당 위치가 선택되지 않았거나, 돌연변이가 적합도에 부정적인 영향을 준다고 판단되어 메트로폴리스 기준을 통과하지 못했기 때문입니다. 이 문제를 해결하려면 반복 횟수를 늘리는 것이 가장 좋은 방법이며, Baker 연구팀은 40,000회 반복을 사용했습니다.
아미노산 구성은 어떻게 변화했으며, 최종 분포는 어떻게 되었을까요?
최종 서열에서 아이소류신(I), 아르기닌(R), 트레오닌(T)이 가장 많이 등장했으며, 메티오닌(M)은 완전히 사라졌습니다.
접힘 구조의 기하학적 형태는 어떻게 변화했을까요? 반복 과정에서 등비수열에 따란 선택한 10개의 예시를 골라 접힘 구조를 예측해보겠습니다.
정렬된 구조의 RMSD 값을 그래프로 나타내면, 샘플 내 각 쌍 구조 간의 유사도를 대략적으로 파악할 수 있습니다.
이제 구조를 살펴보겠습니다. 아래 그래프에서는 잔기가 예측 신뢰도에 따라 색깔로 구분되어 있습니다. 각 패널의 첫 번째 숫자는 접힘 구조의 전체 신뢰도를 나타내며, 두 번째 숫자는 반복 단계입니다.
전체 신뢰도가 약 0.7에 도달했을 무렵, 접힘 구조가 안정화되었다고 볼 수 있습니다.
접힘 구조의 변화를 평가하는 또 다른 방법으로는 잔기 간 접촉 지도를 활용하는 것이 있습니다. Baker 연구팀이 관찰한 바와 같이, 초기에는 접촉 지도가 흐릿하지만 최적화가 진행되면서 점차 선명해집니다.
호기심에 최적화된 서열을 수동으로 trRosetta 서버에 제출해 보았습니다. 다음은 템플릿을 활용해 예측된 접힘 구조와 전체 신뢰도입니다.
trRosetta 모델은 원자 위치에 대한 신뢰도를 0에서 100까지의 척도로 제공하며, 각 접힘 구조의 전체 신뢰도는 그리 높지 않습니다.
접힘 보고서에는 다음과 같은 언급이 포함되어 있었습니다.
◼
  • 모델의 신뢰도는 매우 낮습니다. 이 모델은 딥러닝 기반 제약 조건을 활용한 de novo 접힘 방식으로 구축되었기 때문입니다.
  • ◼
  • 이는 trRosettaX를 이용한 단일 서열 접힘 결과이며, 유의미한 서열 상동체가 발견되지 않았기 때문입니다 (uniclust30_2018_08 데이터베이스 기준).
  • 우리의 ESMAtlas가 예측한 최적화 구조와 trRosetta가 생성한 구조를 비교해 보면 정렬 RMSD 값을 기준으로 볼 때 두 구조는 크게 유사하지 않습니다.

    5,000 Iterations

    다음 입력값은 식별이 쉽도록 갈색 배경으로 스타일링하여 위에서 언급한 분석의 저자 원본 결과를 불러오는 데 사용됩니다.
    이번 반복은 이전 반복의 단순한 연장이 아닙니다. 비록 두 반복 모두 동일한 초기 무작위 서열과 동일한 랜덤 상태에서 시작했지만, 이번 반복에서는 온도 감소의 반감기가 더 길게 설정되었기 때문에, 메트로폴리스 기준이 다르게 작동하는 순간부터 경로가 달라지게 됩니다. 이러한 차이는 두 반복에서의 적합도를 비교해 보면 분명해집니다.
    최종적으로 최적화된 서열은 더 짧은 반복에서 얻어진 서열과 전혀 유사하지 않습니다.
    아미노산 분포 또한 상당히 다르게 나타났으며, 특히 페닐알라닌(F), 히스티딘(H), 프롤린(P), 트립토판(W)과 같은 몇몇 아미노산은 더 이상 포함되어 있지 않습니다.
    그렇다면, 이 서열의 접힘 구조는 어떻게 생겼을까요?
    전부 하나의 긴 α-나선 구조입니다! 프롤린(Proline) 잔기가 없다는 점을 고려하면, 이러한 결과는 놀랍지 않습니다. 프롤린은 고리 구조를 가지고 있어서 ϕ 각의 회전을 제한하며, 일반적으로 해당 위치에서 단백질 골격에 굴곡(kink)을 만들어냅니다. 따라서 프롤린 잔기가 전혀 없으면, 나선 구조에 굴절이 생기지 않아 회전 없이 일직선으로 이어지는 나선 구조가 형성됩니다.
    아래의 그래프는 최종 접힘 구조의 전체적인 위상이 비교적 이른 시점에 도달함을 보여줍니다. 짧은 반복에서 보았던 것처럼, 반복의 약 40% 지점에서 접힘의 신뢰도가 약 0.75에 도달하면서 이러한 구조가 형성되기 시작합니다.

    10,000 Iterations

    다음 입력값은 식별이 쉽도록 갈색 배경으로 스타일링하여 위에서 언급한 분석의 저자 원본 결과를 불러오는 데 사용됩니다.
    세 번의 반복 동안 적합도 진화 과정은 아래에 나타나 있습니다. 5,000회와 10,000회 반복에서는 매우 높은 신뢰도를 가진 서열이 생성되었지만, 삽입된 그래프에서 보듯이 아직 최대 신뢰도에 완전히 수렴하지는 않았습니다.
    잔기 위치의 샘플링 빈도는 짧은 5,000단계 반복보다 약 두 배 정도 높지만, 분포는 더 넓게 퍼져 있습니다.
    게다가, 전체 잔기 위치 중 단 15%만이 모든 아미노산을 적어도 한 번씩 경험했으며(아래 그래프에서 모두 초록색인 열), 어떤 아미노산도 모든 잔기 위치에서 최소 한 번씩 나타난 적은 없습니다(행이 모두 초록색인 경우는 없음, 알라닌만 거의 해당). 따라서 적절한 어닐링(annealing)을 위해서는 베이커가 수행한 것처럼 20,000단계 또는 심지어 40,000단계까지 반복하는 것이 필요할 수 있습니다.
    여러 아미노산이 다시 사라진 것을 확인할 수 있으며, 특히 프로린이 그 중 하나입니다.
    최종 서열은 다음과 같습니다.
    프로린이 완전히 없는 것으로 예측된 또 다른 전 구간 α-나선 접힘입니다. 두 서열은 얼마나 유사한가요?
    두 서열 사이에는 어느 정도 유사성이 있지만, 그리 높지는 않습니다. 그렇다면 왜 프로린이 전혀 없는 서열이 이번 최적화 결과로 나왔는지 그 이유를 알아볼 수 있을까요?
    각 잔기 위치에서 프로린으로의 치환이 성공할 확률은 얼마일까요? 이 확률을 계산하려면, 프로린이 없는 서열과 각 프로린 치환 서열의 접힘 신뢰도(전체 접힘 신뢰도)를 비교해야 합니다.
    또한 해당 단계에서의 온도 값도 필요합니다.
    마지막으로 확률입니다.
    우리는 많은 잔기 위치에서 성공 확률이 매우 낮다는 것을 확인할 수 있지만, 여전히 확률이 1인 위치도 상당수 존재합니다. 실제로 프로린은 이후 단계에서 다시 등장하기도 하나, 결국에는 사라집니다. 프로린이 마지막으로 사라진 단계는 5885입니다.
    이 단계에서 프로린을 복원할 확률을 계산하는 과정은 다음과 같습니다.
    따라서 이 시점에서는 프로린을 서열에 다시 도입하는 것이 훨씬 더 어려워졌고, 결국 모든 α-나선 형태로 접히는 서열이 만들어지게 된 것입니다.
    접힌 서열에 잔기별 신뢰도를 사용하여 색상 코드를 적용하였으며, 동일한 잔기별 신뢰도를 변이 시 잔기 선택에 가중치로 사용할 수 있습니다.
    잔기 위치 가중치 집합을 선택적으로 받을 수 있는 리팩터링된 변이 함수는 다음과 같습니다.
    1,000회 반복 최적화에서 얻은 최적화된 서열을 입력으로 하여, 가중치 없이 수행한 변이는 다음과 같습니다.
    신뢰도 기반 가중치는 다음과 같이 계산됩니다.
    다음은 동일한 랜덤 상태에서 시작하여, 해당 가중치를 적용한 돌연변이 예시입니다.
    sequenceSimulatedAnnealing 함수에 신뢰도 기반 가중치를 사용할 수 있는 옵션을 추가할 수 있습니다(코드 변경 부분은 파란색으로 강조 표시됨)
    다음 입력값은 식별이 쉽도록 갈색 배경으로 스타일링하여 위에서 언급한 분석의 저자 원본 결과를 불러오는 데 사용됩니다.
    가중치가 적용된 최적화에서의 적합도의 시간 경과는 가중치가 없는 경우와 대체로 비슷합니다. 최종 적합도에서의 차이가 유의미한지 여부는 즉시 판단하기 어렵습니다.
    놀랍게도, 메트로폴리스 기준을 만족한 돌연변이 수가 현저히 적었습니다.
    이는 아마도 최종적으로 낮은 적합도를 설명하는 이유일 것입니다. 오른쪽 그래프에서 서열의 C-말단 끝(잔기 100)에서 돌연변이가 더 자주 발생하는 경향이 나타나는데, 이는 서열 끝 부분의 잔기 구조에 대한 특유의 낮은 신뢰도 때문입니다. 다른 10,000단계 최적화에서는 이 현상이 훨씬 더 명확하게 나타났습니다.
    두 최종 서열 간에는 거의 유사성이 없습니다.
    다행히도, 접힌 서열은 다른 형태를 가지고 있습니다.
    다시 말해, 공개된 단백질 데이터베이스에는 유사한 서열이 없습니다.
    UniProt 데이터베이스에서 4건의 히트를 찾았으며, 그중 가장 좋은 결과는 E-점수 3.4로, 그다지 우수하지는 않았습니다.
    >TR:A0A8J3MJ45 A0A8J3MJ45_9ACTN Hydrolase OS=Catellatospora sp. TT07R-123 OX=2733863
    GN=Cs7R123_19000 PE=4 SV=1
    Length=252
    ​
    Score = 36.2 bits (82), Expect = 3.4
    Identities = 21/67 (31%), Positives = 33/67 (49%), Gaps = 10/67 (15%)
    ​
    Query 26 MVTEIGF----LLGVWETTGSWESVLLECKIGCDNIDH------CGLIGSGSEASLSVAF 75
    +V+ IGF LL WE TG ++++L ++GC D CG++ E +L +
    Sbjct 152 VVSNIGFDIRPLLDAWELTGLCDAIVLSYEVGCIKPDQKIFLRACGMLAVDPERTLMIGD 211
    ​
    Query 76 KTADTNA 82
    AD A
    Sbjct 212 TPADAGA 218
    아미노산 코드의 서열(1차 구조)만으로 시작해 단 한 번의 과정으로 현실적인 3차원 단백질 구조(3차 구조)를 얻을 수 있다는 점은 정말 놀랍고 매우 만족스럽습니다. 대규모 언어 모델(LLM)의 등장은 진정으로 노벨상에 어울릴 만한 업적이며, 우리가 이렇게 쉽게 그 거인의 어깨 위에 올라설 수 있다는 사실은 숨이 멎을 정도로 경이롭습니다.
    우리는 또한 실험 데이터가 다루기 까다로울 수 있다는 점도 배웠습니다. 훌륭한 과학을 수행하기 위해서는 세심한 부분까지 주의를 기울이고, 특정 결과가 왜 나왔는지 끊임없이 질문하는 자세가 필요합니다. 진행 과정에서 우리는 가설을 세우고 그것을 검증해 나갔습니다.
    우리는 이제 겨우 계산생물학의 표면을 살짝 훑은 것에 불과하며, Wolfram 언어를 통해 훨씬 더 깊이 탐구할 수 있을 것입니다.
    냉각 속도를 높이거나 낮추는 것은 어떤 영향을 미칠까요? 베이커 그룹에서 사용한 것처럼 우리는 온도의 반감기를 전체 반복 횟수의 1/8로 설정했습니다. 다만, 우리는 연속적인 냉각 방식을 사용한 반면, 그들은 단계별 냉각 방식을 사용했습니다.
    시스테인 잔기 사이에 이황화 결합(disulfide bridges)을 포함하는 단백질이 많습니다. 이 특징을 무작위 서열 생성과 이후의 돌연변이 과정에 어떻게 반영할 수 있을까요? 또한, ESMAtlas가 이러한 위상학적 제약을 가진 서열도 접을 수 있을까요?
    다른 최적화 목표로는 어떤 것이 있을 수 있을까요? 우리는 지금까지 접힘의 신뢰도를 최적화했습니다. 그렇다면 특정한 형태나 나선과 시트의 조합을 목표로 최적화하려면 어떻게 해야 할까요? 또한, 효소의 활성 부위나 수용체의 결합 포켓을 최적화하는 방법은 무엇일까요?

    chainResidueAtom

    BioMoleculeAlign