Claude Science 사용기(RNA-seq 데이터 분석)

AI와 함께하는 생명과학 연구 · 2편

안녕하세요, 테라입니다.

"분석한 결과가 나왔습니다."

회사에서 항암제를 처리한 암세포의 전사체를 분석하던 시절, 이 말을 하기까지가 늘 오래 걸렸습니다. 데이터에 맞는 분석 도구를 고르고, 설치하고, 조건을 맞추고, 돌리고, 다시 확인하고. 그런데 막상 분석 결과를 건네고 나면 그때부터 다른 일이 시작됐습니다. 이 변화가 생물학적으로 무엇을 뜻하는지, 우리가 기대한 방향과 맞는지, 다음에 무엇을 확인해야 하는지.

분석이 끝난 자리에서 연구가 시작되는 셈이었습니다.

지난 글에서 Anthropic·OpenAI·Google이 내놓은 연구용 AI 환경을 이름부터 정리했습니다. 그때 하나를 약속드렸습니다. 문서만 읽지 않고 직접 돌려보겠다고요.

그래서 Claude Science로 공개 RNA-seq 데이터를 찾고, 분석하고, 해석까지 시켜봤습니다. 오늘은 그 과정에서 무엇이 되었고, 어디서 멈춰 서서 다시 물어야 했는지 이야기하려고 합니다.


데이터를 찾는 일부터 대화로 시작했습니다

먼저 이런 취지로 요청했습니다.

첫 요청 (요지)

"폐암 세포주에 약물을 처리하고 시간에 따라 유전자 발현을 비교한 공개 RNA-seq 데이터를 GEO에서 찾아줘. 실험 조건이 분명하고 대조군이 있는 것으로."

Claude Science는 GEO에서 후보 세 건을 골라 실험 조건을 정리해 왔습니다. 그중 하나를 골랐습니다. GSE307424, 폐암 세포주(NCI-H1693)에 PRT3789라는 약물을 처리하고 6시간·48시간·72시간에 유전자 발현을 측정한 18개 표본입니다. 원시 시퀀싱 파일(FASTQ)부터 처리한 것은 아니고, 공개된 유전자 발현표를 그대로 썼습니다.

예전에는 데이터를 찾는 일, 파일을 내려받아 표본 정보를 맞추는 일, 분석 환경을 꾸리는 일이 전부 따로였습니다. 이번에는 한 프로젝트 안에서 대화로 이어졌습니다. 파일을 내려받아 입력값과 표본표를 확인하고, R과 DESeq2가 설치된 전용 환경을 준비하고, 어느 표본이 튀는지 보는 품질 점검, 처리군과 대조군의 발현 차이, 특정 표본 하나를 빼면 결과가 흔들리는지 보는 민감도 분석까지.

처음 43,236개였던 유전자는 발현이 낮은 것을 걸러내고 16,400개가 분석에 남았습니다. 48시간과 72시간에서는 각각 7,045개와 7,230개 유전자가 유의하게 달라졌습니다. 6시간은 928개였습니다.

품질 점검 그림 하나를 그대로 옮겨옵니다. 그림 제목까지 Claude Science가 한국어로 붙여준 것입니다.

그림 1. Claude Science가 만든 주성분 분석(PCA). 파란색이 약물 처리군, 회색이 대조군이고 모양이 처리 시간입니다. 6시간(네모)은 두 군이 섞여 있고, 48시간(세모)과 72시간(동그라미)은 오른쪽 아래로 처리군이 따로 모입니다. 약물 효과가 시간이 지나며 커진다는 첫 인상은 이 그림에서 얻었습니다.

그리고 결과표와 그림만이 아니라 코드, 환경 정보, 입력 파일까지 한 묶음으로 보관됐습니다. 다른 사람이 계산 과정을 되짚어볼 수 있다는 뜻입니다. 지난 글에서 "실행 기록이 남는 기능은 되짚기의 출발점이지 보증은 아니다"라고 적어두었는데, 그 출발점은 확인한 셈입니다.


계산은 다시 돌려도 같았습니다

보증이 아니라고 했으니 되짚어봐야 했습니다.

이 부분은 제가 따로 쓰는 Codex에게 맡겼습니다. 보관 묶음을 받아 같은 입력과 같은 코드로 기존 환경에서 다시 실행하게 했습니다.

품질 점검 결과 파일 4개는 바이트 단위로 일치했습니다. 차등발현 검정표는 일부 셀에서 백만분의 몇 수준의 미세한 차이가 있었지만, 유의·비유의 판정이 바뀐 유전자는 0개였습니다.

"같은 재료로 같은 요리를 하면 같은 맛이 난다"는 것까지는 확인한 겁니다.

다만 여기서 선을 하나 그어야 합니다. 계산이 재현된다는 것과, 실험 설계가 적절하고 해석이 옳다는 것은 다른 이야기입니다. 재료가 좋은지, 요리법이 맞는지는 아직 아무것도 말해주지 않습니다.


결과표 다음이 진짜 시작이었습니다

제가 더 궁금했던 건 그 다음이었습니다. 회사에서도 늘 결과가 나온 뒤가 문제였으니까요.

그래서 이렇게 요청했습니다.

해석 요청 (요청 맥락에 맞게 요약한 내용)

"이 결과에서 생물학적으로 중요한 발견을 골라줘. 각 발견을 실제 수치와 연결해서 설명하고, 네 해석과 맞지 않는 결과도 함께 살펴줘. 그리고 다음에 무엇을 연구하면 좋을지 제안해줘."

보고서는 두 가지 흐름에 주목했습니다. 후반 시점(48·72시간)에서 항원 처리·제시와 관련된 유전자들이 올라가고, 증식과 관련된 유전자들이 내려간다는 것이었습니다. 예를 들어 항원 펩타이드를 운반하는 TAP1은 6시간에 log2 기준 0.46이던 변화가 48시간에 3.24, 72시간에 3.28까지 커졌습니다. 보고서는 이를 바탕으로 "약물의 작용과 세포 상태 변화가 어떤 관계인지"를 묻는 후속 질문을 제시했습니다.

표의 숫자가 연구 질문으로 이어지는 과정이 보였습니다.


B2M 앞에서 멈췄습니다

그렇지만 설명이 매끄럽다고 근거의 범위까지 정확한 것은 아니었습니다.

B2M이라는 유전자가 있습니다. 항원 제시에 관여하는 MHC class I 복합체를 이루는 구성 요소입니다. 이 유전자는 세 시점 모두에서 통계적으로 유의한 변화가 없었습니다.

처음 보고서는 이걸 "변화가 없다"로 읽었습니다. 그리고 한 걸음 더 나가서, 세포 표면의 항원 제시가 실제로 늘어났다는 해석에 반하는 근거로 썼습니다.

여기서 걸렸습니다.

"유의하지 않다"와 "변화가 없다"는 다릅니다. 앞의 것은 "이 데이터로는 차이를 확신할 수 없다"는 뜻이고, 뒤의 것은 "차이가 없다"는 단정입니다. 게다가 이번에 측정한 것은 mRNA입니다. 세포 표면에 단백질이 얼마나 있는지는 재지 않았습니다. 측정하지 않은 것을 근거로 삼을 수는 없습니다.

그래서 이 취지로 검토를 요청했습니다.

검토 요청 (요지)

"B2M이 유의하지 않다는 결과를 '변화 없음'으로 해석한 근거가 뭐야? 그리고 우리가 측정한 건 mRNA인데, 세포 표면 항원 제시에 대한 결론에 이 결과를 쓸 수 있어?"

보고서는 그 주장을 철회했습니다. 측정한 mRNA와 측정하지 않은 단백질·세포 표면 기능을 구분해서 다시 썼습니다.

비슷한 수정이 하나 더 있었습니다. 이번에는 그림 제목이었습니다.

그림 2. Claude Science가 만든 표본 간 거리 히트맵. 노란색일수록 가깝습니다. 대각선 근처에 3×3 노란 블록이 보이니 제목처럼 읽힙니다.

제목은 "동일 처리·시점 표본이 서로 가장 가깝다"입니다. 그런데 거리 행렬의 숫자를 직접 보면 예외가 3개 있었습니다. 48시간 대조군 1번의 가장 가까운 이웃은 72시간 대조군이었고, 6시간 대조군 1번과 처리군 3번도 각각 다른 군의 표본이 가장 가까웠습니다. 그림을 보면 맞는 말 같고, 표를 보면 다른 말이 됩니다. 재확인을 요청하자 "18개 중 15개"로 범위를 고쳐 적었습니다.

민감도 분석 그림도 같은 종류였습니다.

그림 3. 대조군 표본 하나를 뺐을 때(세로축)와 18개 모두 썼을 때(가로축)의 유전자 16,400개 효과 크기 비교. 제목은 "48시간에서만 미세하게 달라진다"입니다.

전체 상관은 세 시점 모두 0.98 이상이니 제목이 틀린 말은 아닙니다. 하지만 효과 크기가 크게(log2 기준 1 이상) 달라진 유전자를 세어보면 6시간 1개, 48시간 25개, 72시간 1개였습니다. 평균적으로 안정적이라는 말과 개별 유전자가 모두 안정적이라는 말은 다릅니다. 이 그림에서 특정 유전자 하나의 결론을 내리려면 따로 확인해야 했습니다.

무엇을 고쳤고 어떤 한계가 남는지 기록하는 모습을 보면서, 이 블로그에서 여러 번 했던 말이 떠올랐습니다.

"AI의 첫 응답은 대화의 시작이라는 것."

이메일 초안을 다듬을 때도, 프롬프트를 고칠 때도 그랬습니다. 연구 데이터 앞에서는 그 말의 무게가 다릅니다. 첫 응답을 그대로 받아 적으면 "B2M은 변하지 않았다"는 문장이 논문 초고에 들어갑니다. 거기서 한 번 되물었기 때문에 그 문장이 빠졌습니다.

솔직히 적어두자면, 수정 뒤에도 남은 것이 있습니다. 후속 실험 두 가지로 알 수 있는 범위를 넓게 말하거나, 통계적으로 "이 정도 변화가 있었다면 검출됐을 것"이라고 확정적으로 표현하는 부분입니다. 이번 테스트는 그 상태까지 관찰하고 마쳤습니다. 지적을 받고 고치는 능력과, 처음부터 타당한 판단을 스스로 내리는 능력은 따로 봐야 했습니다.


이 경험의 조건을 밝혀둡니다

이 글이 "Claude Science면 분석이 끝난다"로 읽히면 안 되기 때문에, 조건을 분명히 적습니다.

저는 대학원에서 생물정보학을 전공했고 회사에서 전사체 분석을 해왔습니다. 작업 중 단계마다 승인하거나 되물었습니다. 보고서를 Codex에 공유해 설계와 표현을 따로 검토하게 했고, B2M 검토 요청도 그 검토에서 나온 지적을 바탕으로 했습니다. 아무 개입 없이 끝난 시험도, 처음 분석하는 사람이 혼자 해낸 사례도 아닙니다.

데이터셋도 하나입니다. 이 경험으로 모든 연구에 일반화하기는 어렵습니다. 예전 방식과 시간을 나란히 재지 않았기 때문에 "몇 배 빨라졌다"고도 말할 수 없습니다. 마지막 해석 보고에 새로 들어간 계산 파일은 독립적으로 재검증하지 않았으므로, 그 정확성까지 확인했다고 할 수는 없습니다. 다른 회사 제품과 같은 데이터로 비교한 것도 아닙니다.

그래도 제가 체감한 변화는 있었습니다. 도구를 잇고 환경을 맞추고 결과를 뽑는 부담이 줄어든 만큼, 연구 질문과 해석 쪽에 머무는 시간이 늘었습니다. 회사 시절 "분석이 끝난 자리에서 연구가 시작된다"고 느꼈던 그 지점에, 훨씬 빨리 도착한 느낌이었습니다.


마무리

정리하면 이렇습니다.

  1. 공개 데이터를 찾는 것부터 품질 점검, 차등발현 분석, 해석 초안까지 한 대화 안에서 이어졌고, 코드와 환경이 남아 다른 사람이 계산을 재현할 수 있었습니다.
  2. 해석 초안은 표의 숫자를 연구 질문으로 바꿔주었지만, "유의하지 않음"을 "변화 없음"으로 읽거나 그림 제목이 데이터보다 한 발 앞서가는 근거 범위의 오류가 있었고, 되물었을 때 고쳐졌습니다.
  3. 연구자 한 사람의 개입과 별도 검토가 들어간 단일 사례입니다. 초보자가 혼자 같은 수준으로 할 수 있는지, 얼마나 빨라지는지는 아직 모릅니다.

이번 테스트에서 저에게 남은 것은 도구의 평가보다 질문 목록이었습니다. AI와 함께 데이터를 다룰 때 연구자가 놓지 말아야 할 질문들입니다.

결과표를 받은 뒤 스스로에게 묻는 네 가지

  1. 이 데이터가 내 연구 질문에 맞는 조건으로 만들어졌는가?
  2. 지금 측정한 것은 정확히 무엇인가? (mRNA인가, 단백질인가, 기능인가)
  3. 결과가 내 설명과 다를 때, 설명을 바꿀 것인가 근거를 다시 볼 것인가?
  4. 다음 실험은 어떤 설명과 어떤 설명을 구분해 줄 수 있는가?

분석 도구를 익히는 일과 별개로, 나온 결과를 자기 연구에 어떻게 쓸지 배우는 과정이 어떤 모습이어야 할지 궁금해졌습니다. 이 시리즈에서 계속 살펴보려고 합니다.

여러분은 AI가 내놓은 첫 해석 앞에서, 어떤 질문이 떠오르셨나요?

이 글은 2026년 9월 14~16일 Claude Science(0.1.47) 사용 기록을 바탕으로 썼습니다. 사용자의 판단과 Codex의 검토가 개입한 단일 사례이며, 제품 간 성능 비교나 초보자의 독립 수행 시험은 아닙니다. 사용한 데이터는 GEO GSE307424의 공개 유전자 발현표입니다.


다음 글을 가장 먼저 받아보세요

AI와 함께하는 생명과학 연구 시리즈, 다음 편도 이메일로 먼저 보내드립니다.

구독하기 →
TerraComes

AI와 함께 일하는 방식을 배우는 곳

댓글

이 블로그의 인기 게시물

AI가 쓴 '기계적인 글'을 내 말투로 바꾸는 프롬프트

AI한테 계속 물어봤는데 왜 답이 엉뚱할까 — 대화의 주도권을 바꾸는 한 문장