[ GBM 공동 연구 교수님의 cancer astrocyte vs normal astrocyte 간 구별 ]
<aside>
https://github.com/Mathbiomed/scICE
paper와 github 링크
</aside>
<aside>
두 단계 필터링 진행 (이때 필터링 기준은 사용자가 설정)
유전자: 유전자별 최소/최대 발현량 + 유전자별 최소 세포 수 (e.g. 15개 이하의 셀에서 발현된 유전자 제거)
세포: 세포별 최소/최대 발현량 + 세포별 최소 유전자 수, 미토콘드리아 유전자, 리보좀 단백질 유전자, 최대 유전자 수 제한 (e.g. 200개 이하의 유전자를 발현하는 셀 제거)
⇒ 필터링된 gene expression matrix 얻고, 최종적으로 빈 열까지 제거
전처리 결과: 필터링된 유전자의 평균 발현량이 낮은 유전자→ 높은 유전자 순으로 정렬된 행은 유전자 이름, 열은 cell type으로 구성된 dataframe
example.jl에서 pre_df = scLENS.preprocess(ndf)
(line 28)
<aside>
sclens_embedding = scLENS.sclens(pre_df,device_=cur_dev)
(line 30)차원축소된 데이터에서의 cell 간 거리를 기반으로 UMAP 생성.
UMAP 임베딩(저차원 공간) 결과 위에 각 셀 간의 근접도 계산해서 KNN 그래프 ****생성 (셀 간 인접 관계 연결) → 이 그래프를 기반으로 clustering 후보 수행
(다음 단계에서 Leiden clustering 시 KNN 그래프를 input으로 하여 클러스터 찾음)
example.jl에서 scLENS.apply_umap!(sclens_embedding)
(line 33)