[논문리뷰] TransGEM : a molecule generation model based on Transformer with gene expression data

coticoger·2026년 6월 12일

연구 배경

약물 연구개발은 비용이 많이 들고, 과정이 복잡하며, 성공률이 낮다.
이를 해결하기 위해 AI 기반 de novo 약물 설계가 활용되고 있다.

De novo 약물 설계는 자동화된 방식으로 넓은 화학 공간을 탐색하여 새로운 화합물을 생성하는 방법이다.

기존 de novo 약물 설계 접근의 한계

리간드 기반 de novo 약물 설계

리간드 기반 de novo 약물 설계는 기존에 알려진 구조적 리간드 정보를 바탕으로 새로운 분자를 생성한다. 하지만 이 방법은 기존 리간드 정보에 크게 의존하기 때문에, 생성된 분자가 기대되는 물성에서 벗어나거나 실제 생물활성이 부족한 경우기 많다

수용체 기반 de novo 약물 설계

수용체 기반 de novo 약물 설계는 표적 단백질 정보, 특히 표적 단백질의 3차원 구조 정보에 크게 의존한다. 하지만 신종 질병의 경우 표적 단백질이 아직 규명되지 않은 경우가 많고, 일부 복합 질환에서는 표적 단백질이 명확히 결정되지 않았거나 구조가 해석되지 않은 경우가 있다. 따라서 리간드 기반 및 수용체 기반 방법만으로는 다양한 질병 상황에 적용하는 데 한계가 있다.

표현형 기반 약물 발견과 유전자 발현 데이터

초기 약물 R&D는 표현형 기반 약물 발견, 즉 PDD에 초점을 맞추었다.
표현형 기반 접근은 특정 표적 단백질 정보가 없어도 세포나 생물학적 상태의 변화를 바탕으로 약물을 탐색할 수 있다는 장점이 있다.

이때 유전자 발현 프로파일은 세포의 생물학적 표현형을 나타내는 정보로 활용될 수 있다.
따라서 유전자 발현 데이터를 이용하면 질병 상태와 약물 반응 사이의 관계를 학습하여 새로운 분자를 생성할 수 있다.

기존 유전자 발현 기반 분자 생성 연구의 한계

기존 연구에서는 GAN, AAE, VAE, fragment-based generative model 등이 유전자 발현 데이터로부터 새로운 분자를 생성하는 데 사용되었다.

그러나 많은 연구가 유전자 knockout 전사체 프로파일을 기반으로 분자를 설계하였다.
이러한 knockout 전사체 프로파일로부터 생성된 분자들은 표적 유전자의 알려진 억제제와 뚜렷한 상관성이 부족한 것으로 나타났다.

즉, 유전자 발현 데이터를 사용하더라도 생성된 분자가 실제 표적 생물활성과 충분히 연결되지 못하는 문제가 있었다.


TransGEM 제안

TransGEM은 Transformer 기반의 표현형 기반 de novo 약물 설계 모델이다.
이 모델은 질병 관련 유전자 발현 데이터만을 이용하여 특정 질병에 대해 치료 잠재력을 가진 drug-like 분자를 생성하는 것을 목표로 한다.

TransGEM은 기존 연구와 달리 LINCS level 5 데이터가 아니라 상대적으로 안정적인 level 3 데이터를 사용한다.

또한 유전자 발현 차이값을 모델에 직접 입력하지 않고, 유전자 발현 차이값에 특화된 임베딩 방법을 적용한다. 이를 통해 유전자 발현 변화 정보를 더 효과적으로 표현하고, 분자 구조와 유전자 발현 정보 사이의 관계를 학습한다.

마지막으로 TransGEM은 분자를 생성하는 과정에서 질병 관련 유전자에 더 높은 attention을 할당할 수 있으며, 이러한 유전자들은 해당 질병의 잠재적 치료 표적으로 해석될 수 있다.

Encoder

Encoder는 두 개의 정보를 입력으로 받는다. cell line 정보와 gene expression difference values 이다.

Cell line Embedding

vc=linear(Onehot(C))v_c = linear(One-hot(C))

one-hot encoding으로 표현한 cell line 정보를 linear layer에 넣어 dd차원 벡터를 생성한다

Gene expression Embedding

vc=Linear(femb(E))v_c = Linear(f_{emb}(E))

이때 중요한 부분은 fembf_{emb} 이다. 논문에서는 총 4가지 방법을 제시하였으며, 이 중 10-fold-binary 방식이 가장 좋았다고 한다.

1. value

femb(ei)=eif_{emb}(e_i)=e_i

gene expression 값을 그대로 사용하는 경우

2. one-hot

femb(ei)=concat(emb1,emb2,emb3)f_{emb}(e_i) = concat(emb_1, emb_2, emb_3)
  • emb1={1,if ei>00,if ei0\mathrm{emb}_1 =\begin{cases}1, & \text{if } e_i > 0 \\0, & \text{if } e_i \leq 0\end{cases}
  • emb2=One-hot(ei)\mathrm{emb}_2 = \mathrm{One\text{-}hot}\left(\left|\lfloor e_i \rfloor\right|\right)
  • emb3=One-hot(eiei×10)\mathrm{emb}_3 =\mathrm{One\text{-}hot}\left(\left|e_i - \lfloor e_i \rfloor\right| \times 10\right)

ei\left|\lfloor e_i \rfloor\right|
eie_i가 -7.4라고 하자. 그러면 ei\lfloor e_i\rfloor는 소수점이 제거된 -7이 되고, 절대값을 씌워 최종 값은 7이 된다. 즉 정수 부분만을 나타낸다

eiei×10\left|e_i-\lfloor e_i\rfloor\right|\times 10는 소수 부분 0.4만 남기고 10을 곱해 4를 생성한다.

3. binary

femb(ei)=concat(emb1,emb2,emb3)f_{emb}(e_i) = concat(emb_1, emb_2, emb_3)
  • emb1={1,if ei>00,if ei0\mathrm{emb}_1 =\begin{cases}1, & \text{if } e_i > 0 \\0, & \text{if } e_i\leq 0\end{cases}
  • emb2=Pad(Binary(ei),5)\mathrm{emb}_2 =\mathrm{Pad}\left(\mathrm{Binary}\left(\left|\lfloor e_i \rfloor\right|\right),5\right)
  • emb3=Pad(Binary(eiei×10),4)\mathrm{emb}_3 =\mathrm{Pad}\left(\mathrm{Binary}\left(\left|e_i - \lfloor e_i \rfloor\right| \times 10\right),4\right)

binary는 생성한 숫자를 이진수로 바꿔준다. Pad(\cdot, 5)는 0을 넣어서 길이를 5자리로 만들라는 뜻

4. 10-fold-binary

femb(ei)=concat(emb1,emb2)f_{emb}(e_i) = concat(emb_1, emb_2)
  • emb1={1,if ei>00,if ei0\mathrm{emb}_1 =\begin{cases}1, & \text{if } e_i > 0 \\0, & \text{if } e_i\leq 0\end{cases}
  • emb2=Pad(Binary(ei×10),9)\mathrm{emb}_2 =\mathrm{Pad}\left(\mathrm{Binary}\left(|e_i| \times 10\right),9\right)

마지막으로

G0=FNN(Linear(Concat(vc,ve)))G_0 = FNN(Linear(Concat(v_c,v_e)))

를 통해 유전자 발현 정보 G0G_0를 생성한다.

Molecular Embedding

기존 처럼 SMILES를 사용하지 않고 SELFIES 방식을 사용한다.
LICNS 1000 데이터베이스에 존재하는 모든 고유한 SELFIES를 토큰으로 분리하고, 이러한 토큰들을 기반으로 사전을 구축한다.

따라서 주어진 분자 MMLL개의 토큰의 집합 M=(t1,t2,...,tL)M =(t_1,t_2,...,t_L)으로 표현이 될 수 있다.
분자 임베딩 레이어를 통해 분자 MMM0RL×dM_0\in R^{L\times d}로 임베딩될 수 있으며, 여기서 LL은 분자 MM에 포함된 토큰의 수를 나타내고, dd는 임베딩 차원을 나타낸다

M0=Embed(M)M_0 = Embed(M)

Transformer decoder and attention matrix

Transformer decoder는 앞에서 생성된 유전자 발현 정보 G0G_0와 분자 임베딩 정보 M0M_0를 통합하는데 사용된다.

NN개의 디코더 레이어로 구성되며 각 디코더 레이어는 masked multi-head self-attention layer, multi-head attention layer, 그리고 FNN layer로 구성된다.

각 레이어에는 residual connection과 layer normalization이 적용된다.

NN개의 디코더 레이어를 통해 유전자 발현 정보 G0G_0와 분자 임베딩 정보 M0M_0VNV_N으로 통합된다.

분자 임베딩 VN1V_{N-1}NN번째 디코딩 레이어의 multi-head self-attention layer를 통해 VN1V'_{N-1}로 업데이트된다.

이후 VN1V'_{N-1}과 유전자 발현 정보 G0G_0NN번째 디코더 레이어의 muti-head attention layer를 통해 VNV'_N으로 통합된다. 즉 gene expression condition을 반영한 molecule representation이 된다.

VN1=VN1+Attention(VN1,VN1,VN1)VN=VN1+Attention(VN1,G0,G0)V'_{N-1} = V_{N-1} + Attention(V_{N-1},V_{N-1},V_{N-1}) \\ V'_N = V'_{N-1} + Attention(V'_{N-1},G_0,G_0)

마지막으로 VNV'_N은 FNN을 통해 VNV_N으로 업데이트된다

VN=VN+FNN(VN)V_N = V'_N + FNN(V'_N)

Generator and loss

Transformer 디코더의 출력 VNV_N은 생성기에 의해 분자를 재구성하는 데 사용된다.

M^=Softmax(Linear(VN))\hat{M} = Softmax(Linear(V_N))

여기서 M^=(t^1,t^2,...,t^L)\hat{M} = (\hat{t}_1,\hat{t}_2,...,\hat{t}_L)은 재구성된 분자를 나타낸다.

모델 학습의 목적은 이 분자에 의해 perturbation된 세포주의 유전자 발현 정보를 통해 원래 분자를 재구성하는 것이다. 따라서 모델의 손실 함수는 재구성된 분자 M^\hat{M}과 원래 분자 MM 사이의 KL divergence로 공식화 된다

Loss=KL(M,M^)1Li=1Ltilogtit^iLoss = KL(M,\hat{M}) - \frac{1}{L}\sum^L_{i=1}t_ilog\frac{t_i}{\hat{t}_i}

0개의 댓글