Drug/Computer-Aided Drug Discovery

Enrichment Factor

Novelism 2022. 3. 13. 14:47

 

Enrichment factor (EF)는 약물 가상 탐색에서 성능 평가를 할 때 사용하기 적절한 지표입니다. 

약물의 유효성을 예측하여 스코어를 주는 메서드가 있을 때, Enrichment Factor는 다음과 같습니다.

 

$$EF=\frac{\text{precision}}{\text{active rate}}$$

이때, \(\text{precision}=\frac{\text{True Positive}}{\text{Positive}}\), \(\text{active rate}=\frac{\text{Active}}{\text{Total Number}}\) 입니다. 

즉, Enrichment factor는 전체 분자 중에서 active의 비율에 비해서 선별된 분자들 중에서 active의 비율이 얼마나 증가하는가를 보여주는 지표입니다. EF가 1보다 크다면, 선별 능력이 있는 것이고, 1 근처의 값이라면 선별 능력이 없는 것이고, 0 근처라면. 역으로 inactive를 선별하였다고 볼 수 있습니다.

 ROC_AUC 같은 지표들도 사용하긴 하지만, EF는 가상 스크리닝에서 현실적인 성능을 좀 더 잘 보여줍니다.

 왜냐하면, 가상 스크리닝을 진행한 후, 스코어 순으로 분자를 선택하기 때문입니다. 

EF를 사용할 때는, 상위 몇 개의 분자를 선택한다는 의미로 뒤에 % 값을 같이 붙이는 경우가 많습니다.

예를 들어 EF 1%라면, 스코어 기준으로 상위 1% 개의 분자만을 선택하였을 때의 EF입니다. 

일반적으로 선별 능력이 좋은 메서드는 score가 높을수록 true positive의 비율이 높다면, EF 1%는 EF10 %에 비해서 높고, EF 0.1%는 EF1%보다 높습니다. 하지만, Vina score의 경우, 스코어가 매우 높은 영역에서 false positive가 많이 나타나는 경우도 있습니다. 

 스크리닝을 진행할 라이브러리의 분자는 수만에서 수억 단위인데, 가상 스크리닝으로 선택하려는 분자는 보통 10~100, 많아야 1000개 정도입니다. 

 

Enrichment factor는 얼마나 되어야 적절한 메서드라 할 수 있을까요? 

다양성이 높은 스크리닝 라이브러리에서 분자 1000개 중 1개 정도가 active라고 가정하면, (active rate = 0.001) 

10만 개 분자를 가상 스크리닝 해서 100개의 분자를 선별했고, 그 100개의 분자에 대한 실험 결과 10개의 active 분자가 발견되었다면, precision은 0.1입니다. 

이 경우 EF 0.1% 은 100입니다. 100개씩이나 선별해서 실험해주면 참 좋겠습니다. 제가 전에 물질을 선별했던 프로젝트에선 실험을 10개 정도밖에 안 했습니다. 

 

참고로 DUD-E dataset의 경우, DOCK이나 Vina의  EF 1% 는 평균 10 근처입니다. 

EF 0.1%이 EF1%보다 높을 것이라 기대할 순 있어도, 10배나 높기는 어렵습니다. 

 

 pharmacophore model과 docking을 함께 사용할 경우 EF가 급격하게 상승합니다. 하지만, 이 수치를 그대로 믿는 것은 좋지 않습니다. DUD-E는 ChEMBL active 분자를 기반으로 만들었는데, 이들은 유사성이 매우 높기 때문입니다. 더 다양한 분자들에 대한 선별을 해야 할 경우 DUD-E 데이터셋에 수준의 선별능력을 기대하긴 어렵습니다.