5 minute read

연구 개요

박테리아 내부의 박테리오파지 단백질의 기능 분류를 위해 UniProt50(bacteria taxon) 데이터와 ESM-2 8M 모델 임베딩을 활용해 보았습니다.

지식 그래프 구축을 위해 UniProt 데이터를 노드로 추가하고, 임베딩 데이터를 사전 연산하여 벡터 검색이 가능하도록 준비했습니다.

커스텀 데이터로는 일반적으로 파지 영역을 탐색하고, 단백질 기능을 분석하는 도구인 Phastest 를 활용해 얻어낸 파지 영역 단백질을 이용합니다.

연구 상세

GNN이 단백질 기능 유추에 적합하다고 판단된 이유는, 생물 아미노산 서열에서 번역된 단백질 서열은 조립 순서와 유사한 순서를 가지게 되어 특정 기능 단백질의 주변 영역에서 아미노산 서열 차이보다 안정적인 기준으로 단백질 기능을 사용할 수 있기 때문입니다.

이 경우 동일 종 내의 돌연변이로 인한 아미노산 서열 차이가 생겨도 전체 영역의 기능 변화가 없는 한 주변 단백질과의 관계를 이용해 기능을 유추할 수 있습니다.

ESM-2 를 이용한 단백질 임베딩 벡터를 1차 필터로 사용한 이유는, 아미노산 서열만으로 단백질 관계를 유추하기에 서열 정보의 변동성이 크기 때문입니다.

임베딩 벡터를 사용해 잘 알려진 단백질 정보를 벡터 데이터베이스에 저장 후 분석 대상 단백질의 유사 클러스터를 찾아 GNN의 관계 정보로 사용합니다.


  • 커스텀 데이터 필드
    • DNA 시퀀스
    • DNA 시퀀스 길이
    • DNA 시작 위치
    • DNA 종료 위치
    • 커스텀 기능 주석(타겟 기능에 대한 주석 정보)

임베딩 벡터를 이용한 클러스터 매칭에 사용된 데이터베이스는 UniProt50 전체를 대상으로 합니다.

주요 타겟 기능은 rbp 이고, rbp 기능은 tail_fiber 하위에 속하는 기능으로 박테리아 표면과 상호작용하는 부위를 의미합니다.

커스텀 데이터 단백질은 서로 앞뒤 관계를 가지고 있습니다. (IS_NEXT_TO, IS_PREVIOUS_TO)

커스텀 데이터의 단백질에 대해 ESM-2 모델의 임베딩을 활용해 UniProt 데이터에서 유사도 상위 50개의 클러스터를 탐색합니다. (유사도 임계값 0.97)

이후 50개의 클러스터 내에서 커스텀 데이터의 시퀀스 길이 대비 0.8 ~ 1.2 배수의 시퀀스를 후보군으로 추려냅니다.

추려진 클러스터를 유사도 기준으로 정렬 후 상위 5개의 클러스터 노드를 커스텀 데이터 노드와 관계짓습니다.(IS_SIMILAR_TO)

연구 결과

학습 후 평가 결과를 보면, unknown 클래스 불균형에도 불구하고 tape_measure, j, portal_protein 등의 서열 변동이 적은 단백질 유추 성능이 기대됩니다.

Unknown 클래스에서 알려진 기능 단백질을 추가 분류하고, 임베딩 사이즈를 키우는 등의 조정으로 더 나은 성능을 기대할 수 있습니다.

커스텀 데이터에서 라벨링 된 기능이 100개 미만인 경우 유추 성능이 매우 낮은 것을 보완하기 위해 대규모 파지 데이터 및 박테리아 데이터를 이용한 사전 학습이 동반된다면 개별 기능 유추 성능 향상을 기대할 수 있습니다.


  precision recall f1-score support
unknown 0.94 0.93 0.93 8881
rbp 0.65 0.57 0.65 535
tape_measure 0.59 0.82 0.68 215
holin 0.59 0.52 0.55 161
j 0.66 0.90 0.76 151
tail_sheath 0.52 0.88 0.65 157
integrase 0.83 0.55 0.66 137
polymerase 0.77 0.59 0.67 39
helicase 0.00 0.00 0.00 51
terminase 0.55 0.83 0.66 205
portal_protein 0.86 0.72 0.79 112
capsid 0.49 0.48 0.48 287
endolysin 0.26 0.06 0.10 94
primase 0.00 0.00 0.00 1
tail_fiber 0.00 0.00 0.00 12

  precision recall f1-score support
accuracy     0.87 11038
macro avg 0.51 0.52 0.50 11038
weighted avg 0.87 0.87 0.86 11038

precision : 정답으로 예측한 것 중, 실제 정답인 비율

recall : 실제 정답 중, 정답으로 예측할 비율

f1-score : $2 \times \frac{(precision \times recall)} {(precision + recall)}$