제2회 신약개발 AI 경진대회 Tableau EDA
2024. 9. 24. 21:28ㆍTableu
IC50_nM 값의 분포 분석
목적: 화합물들의 활성 정도를 파악하고, 값들의 분포를 시각화.
방법:
- 상단 메뉴에서 "시트 1"을 클릭하여 새로운 시각화 시트를 연다.
- "IC50_nM" 필드를 "열 선반"으로 드래그한다.
- "IC50_nM" 필드를 다시 선택하고, "측정값"으로 설정된 경우 "차원"으로 변경한다.
- "IC50_nM" 필드를 "행 선반"으로 드래그하고, "COUNT" 또는 "CNT" 집계 함수를 적용한다.
- 자동으로 생성된 막대 그래프를 통해 IC50_nM 값의 분포를 확인한다.
plC50 값의 분포 분석
목적: plC50 값의 분포를 확인하고, IC50_nM과의 관계를 이해.
- 새로운 시트를 연다.
- "plC50" 필드를 **"열 선반"**으로 드래그한다.
- "plC50" 필드를 **"차원"**으로 설정한다.
- "plC50" 필드를 **"행 선반"**으로 드래그하고, "COUNT" 집계 함수를 적용한다.
- 히스토그램 또는 막대 그래프로 분포를 시각화한다.
- IC50_nM 분포와 비교하여 plC50 값의 특성을 파악한다.
1. 분자 특성 추출
RDKit과 같은 화학 정보학 라이브러리를 사용하여 SMILES로부터 분자 특성을 추출한다.
- 예시 특성:
- 분자량 (MolecularWeight)
- 로그 P 값 (LogP)
- 수소 결합 수용체 수 (NumHAcceptors)
- 수소 결합 공여체 수 (NumHDonors)
- 극성 표면적 (PolarSurfaceArea)
방법:
- RDKit 라이브러리를 설치하고, 파이썬 환경에서 SMILES 문자열을 읽어 분자 특성을 추출하는 스크립트를 작성한다.
- 스크립트에서 각 SMILES 문자열에 대해 다음과 같은 특성을 계산하고 CSV 파일로 저장한다:
- 분자량
- 로그 P 값
- 수소 결합 수용체 수
- 수소 결합 공여체 수
- 극성 표면적
- CSV 파일에 기존의 "IC50_nM", "plC50" 값도 포함하여, 전체 데이터를 통합한다.
2. 분자 특성 데이터 불러오기
Tableau에서 새로운 데이터 소스로 위에서 생성한 CSV 파일을 불러와 분석을 진행한다.
- 새로운 데이터 소스를 열고, 분자 특성이 포함된 CSV 파일을 불러온다.
- 데이터를 확인하여 "MolecularWeight", "LogP", "NumHAcceptors", "NumHDonors", "PolarSurfaceArea"와 기존 "IC50_nM", "plC50" 값이 제대로 로드되었는지 확인한다.
- 데이터를 시각화하여 분자 특성과 IC50 값 간의 관계를 분석할 수 있다.
분자 특성과 IC50_nM 간의 관계 분석
목적:
각 분자 특성이 IC50_nM 값에 미치는 영향을 시각적으로 분석하여, 화합물의 활성에 어떤 분자적 요인이 영향을 미치는지 파악하는 것이다.
방법:
- 새로운 시트를 연다.
- 예를 들어, "MolecularWeight" (분자량) 필드를 **"열 선반"**으로 드래그한다.
- "IC50_nM" 필드를 **"행 선반"**으로 드래그하고, 집계 함수를 "평균" 또는 **"중앙값"**으로 설정한다.
- 그래프 유형을 "라인 그래프" 또는 **"산점도"**로 설정하여, 분자량에 따른 IC50_nM의 변화를 시각화한다.
- 산점도는 개별 데이터 포인트를 시각적으로 표현할 수 있으며, 분포와 경향을 파악하기 좋다.
- 라인 그래프는 전체적인 경향을 쉽게 확인할 수 있다.
산점도와 추세선 활용하기
- 새 시트 생성:
- 분자 특성(예: Molecular Weight)을 열 선반에, IC50_nM 값을 행 선반에 드래그하여 **산점도(Scatter plot)**를 만든다.
- 추세선 추가:
- 시각화 화면에서 그래프를 오른쪽 클릭한 후 **"추세선 추가"**를 선택한다.
- 추세선을 추가하면서 상관계수를 계산하고, Tableau가 제공하는 추세선 정보를 통해 R² 값을 확인할 수 있다.
- R² 값은 두 변수 간의 설명력을 나타내며, 상관관계가 있는지 간접적으로 확인할 수 있다.
클러스터링 분석
목적:
유사한 분자 특성을 가진 화합물 그룹을 식별하고, 각 그룹별로 IC50_nM 값의 차이를 분석하여 화합물의 활성을 파악하는 것이다.
방법:
- 새로운 시트를 연다.
- 분석에 사용할 여러 분자 특성(예: MolecularWeight, LogP, NumHAcceptors, NumHDonors, PolarSurfaceArea)을 **"마크 카드"**의 "특성" 영역에 추가한다.
- 특성들이 클러스터링에 영향을 미칠 수 있도록 다양한 분자적 특징을 추가하는 것이 중요하다.
- 상단 메뉴에서 "분석" → **"클러스터"**를 선택한다.
- 클러스터 수를 지정할 수 있으며, 지정하지 않으면 Tableau에서 자동으로 적절한 클러스터 수를 결정한다.
- 클러스터 수를 수동으로 지정하는 경우, 적절한 그룹 수를 선택해 최적의 분류를 시도할 수 있다.
- 클러스터가 생성되면 각 클러스터를 색상 또는 형태로 시각화하여, 유사한 특성을 가진 화합물 그룹이 어떻게 나뉘는지 확인한다.
- IC50_nM 필드를 "행 선반" 또는 **"마크 카드"**에 추가하여, 각 클러스터 그룹 내의 IC50_nM 값의 분포를 시각화하고 분석한다.
- 이를 통해, 특정 클러스터가 더 높은 활성(낮은 IC50 값)을 갖는지 여부를 확인할 수 있다.
- 각 클러스터 그룹의 분자 특성과 IC50_nM 값 간의 상관관계나 특성을 분석하여, 특정 분자 구조가 화합물 활성에 미치는 영향을 이해한다.
활성 수준에 따른 그룹화
목적: IC50_nM 값에 따라 화합물을 고활성, 중간활성, 저활성으로 분류하여 비교.
방법:
- 새로운 계산 필드를 생성:
- **"활성 수준"**이라는 이름의 필드를 생성하고, 다음과 같은 조건문을 입력:
IF [IC50_nM] <= 100 THEN "고활성"
ELSEIF [IC50_nM] > 100 AND [IC50_nM] <= 1000 THEN "중간활성"
ELSE "저활성"
END
- "활성 수준" 필드를 **"열 선반"**에 드래그.
- "IC50_nM" 필드를 **"행 선반"**에 드래그하고, 집계 함수를 **"COUNT"**로 설정.
- 막대 그래프를 통해 각 활성 수준별 화합물 수를 비교.
- 각 그룹의 평균 분자 특성을 추가로 분석하여 특징을 파악.
'Tableu' 카테고리의 다른 글
분야별대시보드만들기 [유튜브 데이터] (4) | 2024.09.01 |
---|---|
분야별 대시보드 만들기 [네이버 금융 데이터] (0) | 2024.09.01 |
분야별 대시보드 만들기 [공공데이터 중 인구수 데이터] (2) | 2024.09.01 |
우수한 대시보드 구성하기 (1) | 2024.09.01 |
데이터 시각화를 더 돋보이게 만드는 요소 (0) | 2024.09.01 |