본문 바로가기
데이터 사이언스

AI를 이용한 신약개발 경진대회: IRAK4 IC50 활성값을 예측

by 빛나는존재 2024. 9. 16.

About 신약개발 경진대회 

한국제약바이오협회에서 주최하는 신약개발 경진대회가 있다. 주제는 IRAK4 IC50 활성값을 예측하는 모델 개발하는 것으로, 자가면역질환을 해결하기 위한 약물을 개발하는 것이 목적인듯 하다. 학습용 데이터 size 1952이며 놀랍게도 Kaggle 과는 달리 feature 에 대한 설명이 아예 안나와있다. 그냥 알아서 다들 도메인지식으로 변수명만 보고 유추 하는건가 싶다.

 

‘IRAK4 IC50 활성값에 대한 도메인 지식 (NCBI 자료 참고)

IRAK4 의 의미

IRAK4full name interleukin 1 receptor associated kinase 4 , 면역반응에 있어 중요한 역할을 수행한다. gene mutation이 발생하면 Recurrent IPD (Invasive Pneumococcal Disease) 폐렴균에 감염되는 원인이 되기도 한다.

IC50 이란 물질이 최대 inhibitory(활성 저해) 효과의 절반을 발휘하게 되는 농도를 뜻한다 (라고 해석했지만 나도 무슨 말인지는 정확히는 모르겠다. 활성 저해하는 최대치의 절반에 해당하는 농도..?) 특정 생화학적 기능을 저해하는 물질의 potency (강력한 정도)를측정한 것이라고 이해하면 될 것 같다. (Wikipedia 참고)

활성값을 예측한다는 것의 의미

후보 화합물이 binding을 하는 농도 (단위: micro mol)를 예측한다는 것인데 낮을수록 좋다. 예를 들어 1nano mol이라고 하면 이렇게나 낮은 농도에서 binding 을 할 수 있다는 impact를 줄 수 있다. 활성/비활성의 경계는 100 micro mol이라고 한다. 100 micromol active 하다고 보기 어려울정도로 높다고 인식 되며 이거보다는 작아야 하고 이왕이면 nano 단위가 좋다는 인식이 있다고 한다 (신약개발 3일 부트캠프에서 배웠던 내용)

 

참고할만한 Baseline code

Dacon 사이트에 들어가서 참가 접수하고 데이터를 다운로드 받을 수 있다. 그리고 Template 이 되는 Code 도 제공해주니 이것도 참고 하면 좋을 것 같다. 코드공유 탭에 들어가면 Baseline code 가 기본적으로 제공이 되는데 이를 참고 삼아서 더 나은 코드를 만들면 되는 것 같다.

Baseline code 에서의 흐름은 다음과 같다.

1.     Smiles data finger print 로 전환하기

2.     Train data finger print 에 해당하는 column 붙이기

3.     Train data 를 대상으로 모델 학습 시키기

3.     Validation data를 대상으로 학습된 모델을 이용하여 Random forest IC50 값 예측

 

Baseline code 에서는 단순히 고전적인 방식인 Random forest 머신러닝 기법으로 예측했으며 어떠한 hyperparameter tuning 도 거치지 않았다.

이것을 내 식대로 더 최적화 된 모델로 만들기 위해서는

1.     머신러닝을 쓴다고 하면 Optuna 등으로 hyperparameter 최적화 시키는 방법 적용

2.     딥러닝의 neural network 활용. Pytorch nn.sequential 을 이용하여 딥러닝 학습

3.     기타 도메인 지식 이용하여 feature engineering 하기

 

등등의 부가적인 작업이 필요할 것이다.

반응형