제2회 신약개발 AI 경진대회 Tableau EDA

2024. 9. 24. 21:28Tableu

IC50_nM 값의 분포 분석

목적: 화합물들의 활성 정도를 파악하고, 값들의 분포를 시각화.

방법:

  1. 상단 메뉴에서 "시트 1"을 클릭하여 새로운 시각화 시트를 연다.
  2. "IC50_nM" 필드를 "열 선반"으로 드래그한다.
  3. "IC50_nM" 필드를 다시 선택하고, "측정값"으로 설정된 경우 "차원"으로 변경한다.
  4. "IC50_nM" 필드를 "행 선반"으로 드래그하고, "COUNT" 또는 "CNT" 집계 함수를 적용한다.
  5. 자동으로 생성된 막대 그래프를 통해 IC50_nM 값의 분포를 확인한다.

 

plC50 값의 분포 분석

목적: plC50 값의 분포를 확인하고, IC50_nM과의 관계를 이해.

 

  • 새로운 시트를 연다.
  • "plC50" 필드를 **"열 선반"**으로 드래그한다.
  • "plC50" 필드를 **"차원"**으로 설정한다.
  • "plC50" 필드를 **"행 선반"**으로 드래그하고, "COUNT" 집계 함수를 적용한다.
  • 히스토그램 또는 막대 그래프로 분포를 시각화한다.
  • IC50_nM 분포와 비교하여 plC50 값의 특성을 파악한다.

 

 

1. 분자 특성 추출

RDKit과 같은 화학 정보학 라이브러리를 사용하여 SMILES로부터 분자 특성을 추출한다.

  • 예시 특성:
    • 분자량 (MolecularWeight)
    • 로그 P 값 (LogP)
    • 수소 결합 수용체 수 (NumHAcceptors)
    • 수소 결합 공여체 수 (NumHDonors)
    • 극성 표면적 (PolarSurfaceArea)

방법:

  1. RDKit 라이브러리를 설치하고, 파이썬 환경에서 SMILES 문자열을 읽어 분자 특성을 추출하는 스크립트를 작성한다.
  2. 스크립트에서 각 SMILES 문자열에 대해 다음과 같은 특성을 계산하고 CSV 파일로 저장한다:
    • 분자량
    • 로그 P 값
    • 수소 결합 수용체 수
    • 수소 결합 공여체 수
    • 극성 표면적
  3. CSV 파일에 기존의 "IC50_nM", "plC50" 값도 포함하여, 전체 데이터를 통합한다.

2. 분자 특성 데이터 불러오기

Tableau에서 새로운 데이터 소스로 위에서 생성한 CSV 파일을 불러와 분석을 진행한다.

  1. 새로운 데이터 소스를 열고, 분자 특성이 포함된 CSV 파일을 불러온다.
  2. 데이터를 확인하여 "MolecularWeight", "LogP", "NumHAcceptors", "NumHDonors", "PolarSurfaceArea"와 기존 "IC50_nM", "plC50" 값이 제대로 로드되었는지 확인한다.
  3. 데이터를 시각화하여 분자 특성과 IC50 값 간의 관계를 분석할 수 있다.

분자 특성과 IC50_nM 간의 관계 분석

목적:

각 분자 특성이 IC50_nM 값에 미치는 영향을 시각적으로 분석하여, 화합물의 활성에 어떤 분자적 요인이 영향을 미치는지 파악하는 것이다.

방법:

  1. 새로운 시트를 연다.
  2. 예를 들어, "MolecularWeight" (분자량) 필드를 **"열 선반"**으로 드래그한다.
  3. "IC50_nM" 필드를 **"행 선반"**으로 드래그하고, 집계 함수를 "평균" 또는 **"중앙값"**으로 설정한다.
  4. 그래프 유형"라인 그래프" 또는 **"산점도"**로 설정하여, 분자량에 따른 IC50_nM의 변화를 시각화한다.
    • 산점도는 개별 데이터 포인트를 시각적으로 표현할 수 있으며, 분포와 경향을 파악하기 좋다.
    • 라인 그래프는 전체적인 경향을 쉽게 확인할 수 있다.

 

산점도와 추세선 활용하기

  1. 새 시트 생성:
    • 분자 특성(예: Molecular Weight)을 열 선반에, IC50_nM 값을 행 선반에 드래그하여 **산점도(Scatter plot)**를 만든다.
  2. 추세선 추가:
    • 시각화 화면에서 그래프를 오른쪽 클릭한 후 **"추세선 추가"**를 선택한다.
    • 추세선을 추가하면서 상관계수를 계산하고, Tableau가 제공하는 추세선 정보를 통해 R² 값을 확인할 수 있다.
    • R² 값은 두 변수 간의 설명력을 나타내며, 상관관계가 있는지 간접적으로 확인할 수 있다.

 

클러스터링 분석

목적:

유사한 분자 특성을 가진 화합물 그룹을 식별하고, 각 그룹별로 IC50_nM 값의 차이를 분석하여 화합물의 활성을 파악하는 것이다.

방법:

  1. 새로운 시트를 연다.
  2. 분석에 사용할 여러 분자 특성(예: MolecularWeight, LogP, NumHAcceptors, NumHDonors, PolarSurfaceArea)을 **"마크 카드"**의 "특성" 영역에 추가한다.
    • 특성들이 클러스터링에 영향을 미칠 수 있도록 다양한 분자적 특징을 추가하는 것이 중요하다.
  3. 상단 메뉴에서 "분석" → **"클러스터"**를 선택한다.
  4. 클러스터 수를 지정할 수 있으며, 지정하지 않으면 Tableau에서 자동으로 적절한 클러스터 수를 결정한다.
    • 클러스터 수를 수동으로 지정하는 경우, 적절한 그룹 수를 선택해 최적의 분류를 시도할 수 있다.
  5. 클러스터가 생성되면 각 클러스터를 색상 또는 형태로 시각화하여, 유사한 특성을 가진 화합물 그룹이 어떻게 나뉘는지 확인한다.
  6. IC50_nM 필드를 "행 선반" 또는 **"마크 카드"**에 추가하여, 각 클러스터 그룹 내의 IC50_nM 값의 분포를 시각화하고 분석한다.
    • 이를 통해, 특정 클러스터가 더 높은 활성(낮은 IC50 값)을 갖는지 여부를 확인할 수 있다.
  7. 각 클러스터 그룹의 분자 특성IC50_nM 값 간의 상관관계나 특성을 분석하여, 특정 분자 구조가 화합물 활성에 미치는 영향을 이해한다.

 

활성 수준에 따른 그룹화

목적: IC50_nM 값에 따라 화합물을 고활성, 중간활성, 저활성으로 분류하여 비교.

방법:

  1. 새로운 계산 필드를 생성:
    • **"활성 수준"**이라는 이름의 필드를 생성하고, 다음과 같은 조건문을 입력:
IF [IC50_nM] <= 100 THEN "고활성"
ELSEIF [IC50_nM] > 100 AND [IC50_nM] <= 1000 THEN "중간활성"
ELSE "저활성"
END

 

  • "활성 수준" 필드를 **"열 선반"**에 드래그.
  • "IC50_nM" 필드를 **"행 선반"**에 드래그하고, 집계 함수를 **"COUNT"**로 설정.
  • 막대 그래프를 통해 각 활성 수준별 화합물 수를 비교.
  • 각 그룹의 평균 분자 특성을 추가로 분석하여 특징을 파악.