프로테오믹스 데이터 전처리: 결측값 처리의 모든 것
질량분석 기반 프로테오믹스 데이터의 결측값 처리 방법을 총정리합니다. MNAR vs MAR 구분, 대체 방법 비교, 실전 워크플로우와 주의사항을 다룹니다.
프로테오믹스에서 결측값이 유독 골치 아픈 이유
질량분석(Mass Spectrometry) 기반 프로테오믹스 데이터를 처음 받아보면 다들 놀랍니다. 결측값이 데이터의 30~50%를 차지하는 경우가 흔하거든요. RNA-seq에서는 상상하기 어려운 수준이죠.
문제는 이 결측값이 랜덤하게 빠진 게 아니라는 겁니다. 프로테오믹스 결측에는 크게 두 가지 유형이 있어요:
-
MCAR/MAR (Missing Completely/At Random) — 기술적 이유로 랜덤하게 검출 안 된 경우
-
MNAR (Missing Not At Random) — 발현량이 너무 낮아서 검출 한계 아래인 경우
이 두 유형을 구분하지 않고 일괄 처리하면 결과가 완전히 왜곡될 수 있습니다. 제가 실제로 겪은 건데, MNAR 결측을 단순 평균으로 대체했더니 차등 발현 분석에서 실제로는 의미 있는 단백질 수십 개가 사라져 버렸습니다.
결측 유형 판별하기
일단 내 데이터의 결측이 어떤 패턴인지 파악하는 게 첫 번째입니다. 간단한 방법들이 있어요:
-
결측값 히트맵 — 샘플별, 단백질별로 결측 패턴을 시각화하면 구조적 패턴이 보입니다
-
발현 강도 vs 결측 비율 — 산점도를 그렸을 때 저발현 단백질에 결측이 몰려 있으면 MNAR 가능성이 높습니다
-
Little's MCAR test — 통계적으로 MCAR 여부를 검정할 수 있습니다 (R의 naniar 패키지)
결측값 처리 방법 총정리
1. 필터링 (가장 보수적)
결측 비율이 너무 높은 단백질은 아예 제거합니다. 보통 전체 샘플의 50~70% 이상에서 검출된 단백질만 남기는데, 이 기준은 실험 설계에 따라 조절해야 합니다. 그룹 내 70% 이상 검출 기준을 쓰면 그룹 특이적 단백질도 살릴 수 있어요.
2. 단순 대체법
-
0 또는 최솟값 대체 — MNAR에 적합하지만, 분포를 심하게 왜곡할 수 있음
-
행/열 평균 대체 — MCAR에만 적합, MNAR에 쓰면 과대추정 위험
-
MinProb — 1% 분위수 근처에서 랜덤 샘플링. MNAR 전용으로 많이 쓰입니다
3. 통계 기반 대체법
-
KNN imputation — 비슷한 발현 패턴의 단백질로부터 추정. MAR에 효과적
-
MissForest — 랜덤 포레스트 기반. 성능이 좋지만 계산 비용이 높음
-
QRILC — 왼쪽 절단 분포를 가정한 방법. MNAR에 특화
4. 혼합 접근 (추천)
현실적으로 가장 좋은 방법은 MCAR/MAR과 MNAR을 분리해서 각각 다른 방법을 적용하는 겁니다. R의 DEP 패키지나 msImpute가 이 접근을 지원합니다.
제가 실제로 쓰는 워크플로우는 이렇습니다:
-
결측 패턴 시각화로 MNAR vs MAR 대략 판별
-
그룹 내 결측 비율 기반 필터링 (그룹 내 70% 이상 검출)
-
저발현 결측 → MinProb 또는 QRILC
-
나머지 결측 → KNN 또는 MissForest
-
대체 전후 분포 비교로 검증
흔한 실수와 팁
-
정규화 전에 대체하세요 — 순서가 바뀌면 정규화가 왜곡됩니다
-
대체 후 분포를 꼭 확인하세요 — density plot으로 원본과 대체 후 분포를 비교하는 습관을 들이세요
-
sensitivity analysis를 하세요 — 서로 다른 대체 방법으로 결과가 얼마나 바뀌는지 확인하면 결과의 robustness를 판단할 수 있습니다
-
결측 대체 방법을 Methods에 꼭 명시하세요 — 리뷰어들이 점점 까다롭게 봅니다
프로테오믹스 결측값 처리는 귀찮지만, 여기서 대충 넘어가면 다운스트림 분석 결과 전체가 흔들릴 수 있습니다. 시간을 들일 가치가 충분한 단계예요.
관련 읽을거리
- 💊 비타민D 부족이 만성피로의 원인? 혈액검사로 확인하세요 — Genobalance
- 🧠 뇌의 가소성: 우리 뇌는 왜 평생 변화하는가 — K-Brain Map
- 💻 AI 기술 동향: 핫 스타트업부터 윤리적 논쟁까지 — BRIC