8장. Supplementary Table과 Document를 ingest 하는 방법

논문 한 편에서 실제로 다시 쓰이는 것은 본문 문장보다 표인 경우가 많다. 유전체 연구에서 메타분석을 하려면 여러 논문의 유전자 목록이 필요하고 그 목록은 그림 안에 요약된 몇 개를 빼면 전부 보충 자료의 표에 있다. 코호트의 인원 구성, 세포 유형별 표지 유전자, 차등 발현 결과, 실험 조건별 처리 시간도 마찬가지다. 앞의 장들이 다룬 흐름은 원문 PDF에서 정리 문서로, 정리 문서에서 위키 페이지로 가는 한 방향이었다. 보충 자료는 나중에 계산의 입력으로 다시 열리므로 그 흐름에 얹히지 않는다.

지식 층과 자원 층의 구분

보충 자료는 별도의 폴더가 소유한다. 원문 PDF를 두는 자리에 함께 두지 않는 이유는 두 가지다. 첫째는 세기 위해서다. 논문 한 편에 보충 파일이 스무 개 붙는 경우가 드물지 않고 그것들이 같은 폴더에 있으면 논문이 몇 편인지 셀 수 없다. 3장에서 본 폴더 분리가 이 필요에서 갈라져 나왔다. 둘째는 성격이 다르기 때문이다. 원문에서 정리 문서로 이어지는 층은 그 논문이 무엇을 주장하는지를 나른다. 보충 자료 층은 다시 쓰이는 데이터를 나른다. 두 층에서 하는 일이 다르므로 찾는 방법도 달라야 한다. 주장을 찾을 때는 개념과 질문으로 찾고 데이터를 찾을 때는 어느 논문의 어느 표인지로 찾는다.

자원 층이 실제로 쓰이는 자리는 두 가지다. 하나는 본문의 어떤 수치를 확인하는 일이다. 그림 설명에 인용된 값이 보충 자료의 표에만 있는 경우가 흔하고 본문에서 그 값을 근거로 쓰려면 표를 열어야 한다. 다른 하나는 분석의 입력으로 넣는 일이다. 유전자 목록, 차등 발현 표, 코호트 표, 세포 유형 대응표는 계산에 들어간다. 두 용도 모두 원문을 읽어 요약하는 작업과 겹치지 않는다. 이 층의 파일은 원문 PDF를 대신하지 않는다. 출판사에 따라 논문 전체를 보충 파일로 한 번 더 배포하는 경우가 있는데 그 파일이 있어도 인용하고 읽는 것은 원문 자리의 PDF다. 이 책이 근거로 삼은 위키에는 보충 자료를 가진 논문이 376편 있고 각 편마다 폴더 하나가 있다.

표가 논문의 본체인 경우

일부 논문에서는 보충 자료의 표가 논문의 기여 그 자체다. 대형 저널의 Resource 형식 논문과 그에 준하는 형식이 여기 해당한다. 이런 논문에서 본문은 표가 무엇이고 어떻게 만들었는지를 설명하는 글이고 다른 연구자가 실제로 가져다 쓰는 것은 표다. 이 논문들을 본문만 읽고 정리하면 정리 문서는 만들어지지만 그 논문에서 얻을 것은 얻지 못한 상태로 남는다. 그림에서 유전자 목록을 찾으려다 실패하는 일도 여기서 생긴다. 그림에는 대표적인 몇 개만 이름이 붙어 있고 전체 목록은 표에 있기 때문이다. 그래서 이런 논문은 처음부터 표를 일급으로 다룬다. 원문을 읽고 정리 문서를 쓰는 작업과 별개로, 어떤 표가 있고 각 표의 열이 무엇인지를 확인해 기록해 둔다. 그 기록이 없으면 반년 뒤에 유전자 목록이 필요할 때 어느 논문의 어느 파일에 있었는지를 다시 찾아야 한다.

보충 자료를 자동으로 모으는 방법

보충 자료를 내려받는 일은 손으로 하면 지치는 작업이다. 논문마다 출판사가 다르고 보충 자료가 있는 위치도 다르고 여러 파일이 각각 다른 링크로 걸려 있다. 논문 마흔 편에서 표를 모으려면 마흔 번 페이지를 열고 링크를 눌러야 한다. 이 작업은 판단이 거의 들어가지 않고 반복만 많으므로 에이전트에게 맡기기 좋다. 화면을 직접 조작할 수 있는 도구를 쓰면 논문 페이지를 열고 보충 자료 영역을 찾아 파일을 내려받는 일까지 자동으로 진행된다. 여기서 사람이 정해 주어야 하는 것은 대상 논문 목록과 내려받은 파일을 어디에 어떤 이름으로 둘지다. 자동으로 모으는 작업에서 가장 자주 어긋나는 것이 파일 이름이다. 출판사가 붙이는 이름에는 논문 정보가 들어 있지 않으므로 내려받은 파일을 논문별 폴더에 넣지 않으면 어느 파일이 어느 논문의 것인지 며칠이면 알 수 없게 된다.

따라해보기

아래 블록은 AI 도구의 채팅창에 그대로 붙여 넣는 프롬프트다. 보충 자료를 모을 때 세션에 주는 요청은 다음 정도면 된다.

아래 논문들의 보충 자료를 내려받아 달라.
<논문 목록 또는 DOI 목록>

각 논문마다 papers-supplementary/{논문-파일명}/ 폴더를 만들고
출판사가 준 파일 이름을 바꾸지 말고 그대로 그 안에 넣어 달라.

내려받은 뒤 논문마다 다음을 표로 보여 달라.
- 파일 이름과 크기와 형식
- 그 파일이 실제로 무엇을 담고 있는지 한 줄
- 표 파일이면 열 이름 목록

내려받지 못한 논문은 왜 못 받았는지 함께 적어 달라.
접근 권한이 없는 것과 보충 자료가 아예 없는 것을 구분해 달라.

마지막 두 줄이 중요하다. 보충 자료가 없는 논문과 있는데 받지 못한 논문은 다음에 할 일이 다르다. 앞의 것은 다시 시도할 이유가 없고 뒤의 것은 다른 경로로 구해야 한다. 둘을 구분하지 않으면 두 경우 모두 없는 것으로 기록되고 나중에 그 논문의 표가 필요해졌을 때 애초에 없었던 것으로 판단하게 된다. 받지 못했다는 사실 자체를 남기는 방식도 정해 두었다. 폴더는 만들고 기록만 남긴 채 비워 둔다. 폴더가 있는데 파일이 없으면 그 논문에 보충 자료가 있다는 것을 알면서 아직 확보하지 못했다는 뜻이고 폴더가 없으면 확인하지 않았다는 뜻이다. 두 상태를 구분해 두어야 빈자리가 눈에 보인다.

파일 이름이 알려 주지 않는 것과 manifest

출판사가 붙인 보충 파일 이름은 대체로 내용을 알려 주지 않는다. 압축 파일 하나에 스물여덟 개의 파일이 들어 있고 각각이 서로 다른 표인 경우도 있다. 파일 목록만 보고는 어느 것이 유전자 목록이고 어느 것이 코호트 표인지 알 수 없다. 그래서 논문마다 목록 문서를 하나씩 둔다. 이 문서에는 논문의 제목과 저널과 식별자, 보충 자료가 놓인 폴더, 그 논문의 위키 페이지, 파일 수, 그리고 이 자료가 무엇인지를 한두 문장으로 적는다. 그 아래에 다시 쓸 만한 파일이 무엇이고 그 안에 무엇이 들었는지를 적고 데이터가 아닌 것이 섞여 있으면 그것도 적는다. 압축 파일에 편집 프로그램이 남긴 잠금 파일 같은 부스러기가 함께 들어 있는 경우가 실제로 있고 그것을 데이터로 착각해 열어 보는 시간이 반복된다.

목록 문서를 논문마다 따로 두는 이유는 검색 때문이다. 한 파일에 모두 적으면 그 파일이 수백 줄이 되고 유전자 목록이 있는 논문을 찾을 때 그 안에서 다시 훑어야 한다. 논문별로 나누어 두면 위키의 검색이 그 문서를 하나의 결과로 돌려주고 결과에서 곧바로 보충 자료 폴더와 논문 페이지로 갈 수 있다. 이 문서를 어디에 두는지도 정해져 있다. 지식 층 안에 두지 않고 자원 층 옆에 둔다. 지식 층은 논문이 무엇을 주장하는지를 담는 자리이고 어느 파일에 무엇이 들었는지는 그 논문의 주장이 아니기 때문이다. 목록 문서를 손으로 썼는지 도구가 만들었는지도 함께 적는다. 손으로 쓴 것은 압축을 풀어 안을 본 사람이 있다는 뜻이고 자동으로 만든 것은 파일 이름과 크기만 본 것일 수 있다.

Reporting Summary에서 살릴 것과 버릴 것

일부 저널은 논문마다 정해진 서식의 보고 요약 문서를 함께 낸다. 앞쪽은 통계 항목을 체크하는 빈 서식이라 아무 정보가 없다. 뒤쪽은 저자가 직접 채운 부분이고 여기에는 논문 어디에도 없는 것들이 들어 있다. 표본 수를 정한 근거가 된 검정력 분석, 특정 개체를 제외한 이유, 무엇을 무작위화하고 무엇을 가렸는지, 사용한 소프트웨어의 판, 코드 저장소 주소, 참여자의 연령 범위와 성별 구성이 그렇다. 방법을 따라 하거나 설계를 비교할 때 필요한 정보가 대체로 여기에 있다. 그래서 규칙이 두 갈래로 되어 있다. 문서 자체는 자원 층에 보존하고 앞쪽의 빈 서식은 정리 문서와 위키 페이지에 들어가지 못하게 막는다. 채워진 부분의 사실은 출처를 밝히고 인용해도 된다.

이 구분은 두 번의 실수를 겪고 나서 정해졌다. 논문 PDF 끝에 붙은 보고 요약이 통째로 추출되어 정리 문서 두 편에 들어갔고 체크 항목의 상투구가 본문처럼 남았다. 2026년 7월 28일에 빈 서식 부분을 걷어내고 채워진 답만 남겼다. 반대 방향의 실수도 있었다. 그보다 이틀 앞선 정리 작업에서 행정 문서를 걷어내는 규칙을 넓게 적용해 보고 요약 27건을 포함한 45개 파일을 지웠다. 지운 파일은 되살릴 수 없지만 같은 문서가 논문 PDF 끝에도 붙어 있는 경우가 많아 필요해지면 원문에서 그 쪽만 다시 떼어낼 수 있다. 2026년 7월 28일에 최근 논문 40편을 표본으로 확인했더니 참고문헌 뒤에 이 문서가 붙어 있는 것이 14편이었다. 추출할 때는 그 서식이 시작되기 전에서 쪽 범위를 끊어 상투구가 정리 문서에 닿지 않게 한다.

보관하지 않는 문서

보충 자료로 함께 내려받아지지만 남기지 않는 문서가 있다. 심사 과정에서 오간 문서와 결정 통지서, 그리고 저자가 아무것도 채우지 않은 빈 점검표가 여기 해당한다. 앞의 것들은 논문의 연구 내용을 담지 않고 심사자와 편집자의 판단을 담는다. 뒤의 것은 채워지지 않았으므로 담긴 정보가 없다. 판정이 애매한 경우도 있다. 실제 내용이 있는 보충 문서가 자기 파일 목록 안에서 그 점검표의 이름을 언급하는 경우인데, 이것은 진짜 보충 자료이므로 남긴다. 판정할 때는 저자가 쓴 내용이 그 안에 있는지를 본다. 앞 절에서 본 지나친 정리가 이 기준을 이름으로 잡았을 때 일어났다. 이름에 특정 단어가 들어가면 지우는 방식은 빠르지만 그 단어가 들어간 문서 가운데 저자가 채운 것이 섞여 있다.

압축 파일 안에 들어 있는 것

보충 자료는 압축 파일 하나로 오는 경우가 많고 그 안에는 데이터가 아닌 것이 함께 들어 있다. 편집 프로그램이 파일을 열어 두었을 때 만드는 잠금 파일, 운영체제가 폴더마다 남기는 설정 파일, 압축을 만든 사람의 컴퓨터에서 딸려 온 부스러기가 그렇다. 이름이 특이해서 열어 보게 되고 열어 보면 아무것도 없다. 압축을 풀 때 이런 것들을 폴더에 그대로 쏟아 놓지 않는다. 파일 수가 늘어나면 목록 문서에 적어야 할 것이 늘고 그 문서를 읽는 사람이 다시 걸러 내야 한다. 목록 문서에 이런 부스러기가 있다는 사실을 한 줄로 적어 두면 다음 사람이 같은 파일을 다시 열어 보지 않는다.

압축 안의 파일이 표인 경우에는 열 이름까지 적어 둔다. 파일 이름이 표1, 표2로만 되어 있으면 어느 것이 유전자 목록이고 어느 것이 코호트 표인지 알 수 없고 반년 뒤에 필요한 것을 찾으려면 다시 전부 열어야 한다. 열 이름 목록은 짧고 그 표가 무엇인지 거의 다 알려 준다. 유전자 기호와 로그 배수 변화와 조정된 유의확률이 열로 있으면 그것은 차등 발현 결과이고 시료 식별자와 나이와 성별과 진단이 있으면 코호트 표다. 이 목록을 적어 두는 데 드는 시간은 논문마다 몇 분이고 적지 않으면 그 몇 분이 그 표가 필요해질 때마다 되돌아온다. 여러 논문에서 같은 종류의 표를 모을 때도 이 목록이 먼저 쓰인다. 열 이름을 비교하면 그 표들을 하나로 합칠 수 있는지가 합치기 전에 판정된다.

남의 파일과 내가 만든 파일

같은 폴더 안에 출판사가 준 파일과 직접 만든 파일이 섞이면 나중에 구분되지 않는다. 그림의 한 부분을 잘라 이미지로 만든 것, 보충 자료의 표를 가공해 만든 결과, 다른 곳에서 받아 온 파일이 여기 해당한다. 그래서 최상위에는 출판사가 준 파일만 두고 직접 만든 것은 이름을 붙인 하위 폴더로 내린다. 논문 PDF에서 떠낸 화면과 잘라낸 그림은 한 자리에, 계산해서 만든 결과는 다른 자리에 둔다. 출판사가 준 것이 아닌데 하위 폴더에 넣기 애매한 파일이 남으면 그것이 어디서 왔는지 적은 문서를 같이 둔다. 이 구분이 필요한 이유는 인용할 때 달라지기 때문이다. 가공해서 만든 결과는 그 논문의 저자가 만든 것이 아니므로 입력은 논문을 인용하고 가공한 결과는 자기 작업을 밝힌다. 목록 문서에도 어느 파일이 직접 만든 것인지 적는다. 잘라낸 그림만 들어 있고 출판사 데이터는 하나도 없는 폴더가 실제로 있고 그 사실을 적어 두지 않으면 없는 표를 찾는 사람이 생긴다.

보충 자료가 있는지 미리 아는 법

논문마다 보충 자료를 확인하러 가는 일은 그 자체로 시간이 든다. 어떤 논문에는 표가 스무 개 붙어 있고 어떤 논문에는 아무것도 없으며 열어 보기 전에는 알 수 없다. 실제로는 단서가 있다. 본문에서 보충 표를 가리키는 표현이 몇 번 나오는지를 세면 그 논문이 표에 무엇을 얼마나 실었는지가 대체로 드러난다. 결과 절마다 보충 표를 가리키는 논문은 표가 본체에 가깝고 방법 절에서 한 번만 가리키는 논문은 시료 목록 정도가 붙어 있다. 이 세는 일은 원문을 추출한 뒤에 자동으로 할 수 있으므로 논문을 넣을 때 함께 기록해 두면 나중에 표가 필요할 때 후보를 좁힐 수 있다.

확인하지 못한 것을 없는 것으로 적지 않는 규칙이 여기서도 적용된다. 보충 자료가 아예 없는 논문과 있는데 확보하지 못한 논문은 다음에 할 일이 다르다. 앞의 것은 다시 시도할 이유가 없고 뒤의 것은 다른 경로로 구해야 한다. 그래서 후자는 폴더와 목록 문서를 만들고 비워 둔 채로 남긴다. 폴더가 비어 있는데 목록 문서가 있으면 그 논문에 보충 자료가 있다는 것을 알면서 아직 구하지 못했다는 뜻이고 어떻게 해서 비게 되었는지도 그 문서에 적어 둔다. 논문에 보충 자료가 아예 없다는 것이 확인되었을 때만 폴더와 목록 문서를 함께 지운다. 이 규칙이 생기기 전에 빈 폴더 네 개가 지워진 적이 있고 그중 하나에 실제로 보충 자료가 있었다면 그 사실을 다시 발견할 방법이 없다.

표를 분석 입력으로 쓰기

큰 표를 PDF에서 뽑으려는 시도는 대체로 실패한다. 5장에서 본 대로 두 추출기 모두 표의 칸 구조를 제대로 복원하지 못하고 한쪽은 칸이 빈 표 모양의 격자까지 만들어 낸다. 실제로 쓸 수 있는 방법은 보충 자료의 표 파일을 직접 읽는 것이다. 표 계산 프로그램 형식으로 배포된 파일은 열과 행이 그대로 살아 있으므로 그 파일을 프로그램으로 열어 필요한 열만 꺼내면 된다. 이 차이는 크다. PDF의 표를 재구성하려고 애쓰는 시간과, 같은 내용을 담은 원본 파일을 여는 시간은 비교가 되지 않는다. 그래서 표가 필요한 논문에서는 보충 자료를 먼저 확인하고 표 파일이 있으면 PDF의 그 표는 읽지 않는다.

표에서는 목록과 실험 조건을 함께 꺼낸다. 처리 농도와 시간, 배양 조건, 사용한 항체와 그 희석 비율, 시퀀싱 깊이, 사용한 소프트웨어의 판과 매개변수가 다음 분석의 변수가 된다. 여러 논문에서 같은 항목을 꺼내 나란히 놓으면 조건이 얼마나 다른지가 보이고 그 차이가 결과의 차이를 설명하는 경우가 있다. 두 논문의 결과가 어긋날 때 그것이 진짜 모순인지 조건의 차이인지를 판단하는 일이 1장에서 말한 어려운 일이었는데 그 판단의 재료가 대체로 여기에 있다. 자기 실험을 설계할 때도 같은 표를 쓴다. 비슷한 실험을 한 논문 다섯 편의 조건을 한 표로 모으면 어느 값이 그 분야의 관행이고 어느 값이 그 논문의 선택인지가 구분된다. 꺼낸 값은 종합 문서에 모은다. 논문 한 편의 조건은 그 논문의 정보이고 다섯 편을 나란히 놓은 표는 그 자체가 하나의 판단이기 때문이다.

자동 수집이 막히는 곳은 대체로 파일 이름이다. 출판사가 붙인 이름에는 논문 정보가 없고 어느 논문의 것인지는 그 이름 안에 박힌 식별자나 저널 코드로만 맞출 수 있다. 그 코드가 없는 형식이 섞여 들어오면 대응은 사람의 판단으로 넘어간다. 형식 자체가 판정을 어렵게 만드는 경우도 있다. 논문과 보충 자료를 하나로 묶어 배포하는 파일은 원문 PDF의 사본처럼 보여서 중복으로 지워질 후보가 되는데 2026년 7월 28일에 네 건을 실측해 보니 세 건이 원문보다 쪽수가 많았다. 한 건은 81쪽 대 44쪽이었고 45쪽부터가 보충이었으므로 그 파일을 지웠으면 보충 자료를 잃는 것이었다. 정리 규칙을 이름으로 잡았을 때 실제로 사고가 났다. 2026년 7월 26일에 넓은 규칙 하나로 45개 파일이 지워졌고 그중 27건이 보고 요약이었다. 지운 것은 되살릴 수 없었지만 같은 문서가 논문 PDF 뒤에 붙어 배포된 경우가 많아서 다시 떼어낼 수 있었고 그 뒤로는 파일 안에 저자가 쓴 내용이 있는지를 보고 판정한다.