윤서가 검사실 모니터에서 딸의 이름을 지운 것은 새벽 3시였다. 국립유전체센터 5층 분석실. 형광등이 꺼져 있었고, 모니터 세 대의 빛만 윤서의 얼굴을 비추고 있었다. 키보드 위에서 손가락이 멈춰 있었다. 화면에는 세대 유전자 스크리닝 시스템의 관리자 콘솔이 열려 있었다. 검체 번호 2051-09-3847. 이름: 한서연. 관계: 직계 후손. 판정: 활성화 양성.
윤서는 의자를 뒤로 밀었다. 바퀴가 바닥의 타일 홈을 지나며 덜컹거렸다. 분석실 창 밖으로 서울 야경이 보였다. 9월의 공기가 창틀 사이로 스며들었다. 윤서는 손등으로 이마를 문질렀다. 땀이 묻어났다. 에어컨이 꺼져 있었다. 야간에는 센터 건물 전체의 냉방이 중단됐다.
세대 유전자 검열법이 시행된 것은 4년 전이었다. 코로나 팬데믹으로부터 3세대 뒤, 감염자 후손의 2퍼센트에서 바이러스 유전자가 활성화되기 시작했다. 바이러스가 남긴 역전사 유전자가 인간 게놈의 7번 염색체에 삽입되어 있다가, 3세대 만에 메틸화 패턴이 바뀌면서 발현된 것이었다. 활성화된 유전자는 새로운 표면 단백질을 만들었다. 면역계가 그 단백질을 외래 항원으로 인식했다. 자기 세포를 공격하기 시작했다. 자가면역 폭주. 초기 증상은 관절통과 피부 발진이었고, 진행되면 장기 섬유화로 이어졌다. 발현 후 평균 생존 기간 8.2년. 첫 발현 사례가 보고된 것은 7년 전이었다. 대전의 한 종합병원. 28세 여성이 원인 불명의 자가면역 질환으로 입원했다. 관절이 부었다. 피부에 붉은 반점이 퍼졌다. 기존의 루푸스나 류머티즘과 유사했지만 항체 패턴이 달랐다. 유전체 분석에서 7번 염색체에 알려지지 않은 삽입 서열이 발견됐다. 역전사 바이러스의 흔적이었다. 그 서열이 활성화되어 표면 단백질을 생산하고 있었다. 환자의 조부가 2020년 코로나 확진자였다. 3세대. 연구진이 추적 조사를 시작했다. 비슷한 사례가 전국에서 나타나기 시작했다. 모두 조부모 세대가 코로나 감염자였다. 첫해 47명. 다음 해 318명. 그다음 해 2,100명. 기하급수적이었다.
정부는 검열법을 만들었다. 출산 전 태아의 7번 염색체를 스크리닝하여 활성화 가능성을 판정한다. 양성이면 출산 금지 대상으로 등록된다. 등록된 태아는 출산할 수 없다. 법의 공식 명칭은 '세대간 유전체 안전관리법'. 언론은 검열법이라 불렀다. 윤서가 스크리닝 시스템의 판정 알고리즘을 설계한 사람이었다. 7번 염색체의 삽입 위치, 메틸화 패턴의 변이율, 3세대 발현 확률을 계산하는 모델. 윤서의 이름이 논문에 있었고, 알고리즘의 특허에 있었고, 법 조문의 기술 부록에 있었다. 윤서가 알고리즘을 완성하기까지 18개월이 걸렸다. 삽입 위치만으로는 발현 여부를 예측할 수 없었다. 같은 위치에 삽입되어도 메틸화 패턴에 따라 발현 확률이 달라졌다. 윤서는 발현자 3,200명의 유전체를 분석해 패턴을 분류했다. 12개의 메틸화 변이 유형. 각 유형별 발현 확률. 가장 높은 유형이 97.1퍼센트. 가장 낮은 유형이 11.3퍼센트. 법이 정한 양성 기준은 발현 확률 60퍼센트 이상이었다.
서연은 윤서의 딸이었다. 스물세 살. 임신 14주. 남편 민우와 결혼한 지 1년이 안 됐다. 서연은 임신 사실을 알고 울었다. 기쁨이었다. 윤서에게 전화해서 말했다.
“엄마, 나 아기 생겼어.”
윤서의 손에서 휴대폰이 미끄러질 뻔했다. 서연의 외조부 — 윤서의 아버지 — 가 2021년 코로나에 감염됐다. 회복했지만 폐에 후유증이 남았다. 5년 전에 세상을 떠났다. 3세대. 윤서의 아버지에서 윤서로, 윤서에서 서연으로, 서연에서 서연의 아이로. 윤서는 서연이 임신했다는 말을 듣는 순간 7번 염색체를 떠올렸다. 서연이 산부인과에서 스크리닝 검사를 받은 것은 일주일 전이었다. 검사 결과는 센터의 시스템으로 자동 전송된다. 모든 산부인과가 연결되어 있었다. 결과는 24시간 내에 시스템에 등록되고, 등록된 순간부터 법적 효력이 발생한다. 양성 판정이 등록되면 보건당국이 산모에게 서면 통보를 보낸다. 통보일로부터 7일 이내에 임신 종결 일정을 잡아야 한다. 기한을 넘기면 과태료가 부과되고, 3개월을 넘기면 형사 처벌 대상이 된다. 4년간 이 절차를 거부한 산모가 14명 있었다. 한 산모가 기자회견을 열었다.
“내 아이가 아플 확률이 94퍼센트라고요? 6퍼센트의 가능성은요? 6퍼센트를 위해 태어날 권리는 없는 건가요?”
기자회견은 뉴스에 나왔다. 여론이 잠시 흔들렸다. 하지만 같은 주에 활성화 발현 환자가 사망했다. 31세. 장기 섬유화로 인한 다발성 장기 부전. 여론이 다시 법 쪽으로 기울었다. 그중 8명이 기소됐다. 나머지 6명은 기한 내에 임신을 종결했다. 윤서가 시스템을 만든 사람이므로 관리자 권한이 있었다. 검체 번호로 검색하면 결과가 나왔다.
활성화 양성. 확률 94.3퍼센트.
윤서는 모니터를 봤다. 커서가 이름 필드에서 깜빡이고 있었다. 한서연. 세 글자. 윤서가 그 이름을 지운 것은 이름을 삭제한 것이 아니었다. 검체 번호와 이름의 연결을 끊은 것이었다. 시스템에서 검체 3847은 여전히 양성이지만, 그 검체가 한서연의 것이라는 정보가 사라진 것이었다. 익명의 양성 결과. 서연의 이름과 연결되지 않은 숫자.
윤서의 손이 키보드에서 떨어졌다. 손가락 끝이 차가웠다. 모니터의 빛이 손등을 비추고 있었다. 윤서는 손을 봤다. 이 손으로 알고리즘을 짰다. 이 손으로 딸의 기록을 지웠다.
아침 8시에 센터에 출근한 김재호가 윤서의 자리를 지나갔다. 분석실 부실장. 윤서보다 3년 뒤에 팀에 합류한 사람이었다.
“어제 야근했어요?”
재호가 물었다. 윤서의 자리에 커피잔이 두 개 놓여 있었다. 둘 다 비어 있었다.
“논문 수정.”
윤서가 말했다. 모니터에는 유전체 분석 프로그램이 열려 있었다. 관리자 콘솔은 닫혀 있었다.
“3분기 스크리닝 현황 보고서 마감이 금요일이에요. 신규 양성 건수 정리해야 하는데.”
“알았어.”
재호가 자기 자리로 갔다. 의자에 앉으면서 모니터를 켰다. 윤서는 재호의 등을 봤다. 재호는 시스템을 신뢰했다. 윤서가 만든 알고리즘을 신뢰했다. 재호가 논문 발표 때 말한 적이 있었다.
“이 알고리즘이 없었으면 활성화 양성자가 태어나서 8년 뒤에 죽는 걸 지켜봐야 했을 겁니다.”
발표장에서 박수가 쏟아졌다. 윤서는 박수를 들으며 단상에 서 있었다. 1만 2,400명이 태어나지 못했다. 그 숫자가 성과였다. 태어나지 못한 1만 2,400명. 태어났다면 성장기를 지나 20대에 관절이 붓기 시작할 사람들. 30대에 피부에 반점이 퍼질 사람들. 8.2년의 평균 생존 기간 안에 장기가 굳어갈 사람들. 윤서의 알고리즘이 그들을 미리 걸러냈다. 윤서는 모니터를 봤다. 3분기 보고서. 신규 양성 건수. 검체 3847이 양성 건수에 포함되어 있었다. 이름이 없는 양성 건. 보고서에는 숫자만 올라간다. 몇 건. 이름은 올라가지 않는다. 하지만 등록 시스템에 이름이 없으면, 보건당국이 해당 산모에게 통보를 보낼 수 없다. 통보가 없으면 출산 금지 조치가 발동되지 않는다. 서연은 아이를 낳을 수 있다.
윤서는 커피잔을 들었다. 비어 있었다. 내려놓았다. 책상 서랍을 열었다. 서랍 안에 서연의 초음파 사진이 있었다. 서연이 이틀 전에 가져다준 것이었다. 사진 속의 형체는 아직 사람의 모양이 아니었다. 14주. 머리와 몸의 경계가 흐릿했다. 초음파 사진 하단에 날짜와 주수가 인쇄되어 있었다. 윤서는 사진을 서랍에 다시 넣었다. 사진 옆에 서연이 어렸을 때 사진이 있었다. 서연이 다섯 살 때 놀이터에서 찍은 사진. 서연이 웃고 있었다. 그 옆에 윤서의 아버지가 서 있었다. 아버지가 서연의 손을 잡고 있었다. 아버지의 폐 안에 바이러스의 흔적이 잠들어 있던 시절. 아무도 모르던 시절. 윤서는 서랍을 닫았다.
점심시간에 서연에게서 전화가 왔다. 윤서는 센터 건물 옥상에서 전화를 받았다. 옥상에는 바람이 불고 있었다. 옥상 바닥의 콘크리트가 햇볕에 데워져 있었다. 윤서는 에어컨 실외기 옆에 섰다. 실외기의 팬이 돌아가고 있었다. 바람 소리와 팬 소리가 섞였다.
“엄마, 검사 결과 언제 나와?”
서연의 목소리가 전화기 너머로 들렸다. 밝은 목소리. 걱정이 묻어 있지 않은 목소리.
“아직 처리 중이야.”
“오래 걸려?”
“좀 걸릴 수 있어.”
바람이 윤서의 머리카락을 흩트렸다. 옥상 난간 너머로 도시가 보였다. 아파트 단지. 학교. 병원. 저 아래 어딘가에서 서연이 전화를 하고 있었다.
“엄마, 나 어제 태동 느꼈어.”
서연의 목소리가 달라졌다. 부드러워졌다.
“진짜?”
“응. 배 안에서 뭔가 움직이는 느낌. 아주 약하게.”
윤서는 난간을 잡았다. 금속이 햇볕에 데워져 있었다.
“좋겠다.”
윤서가 말했다. 목소리가 갈라지지 않도록 힘을 줬다.
“결과 나오면 바로 알려줘. 건강하겠지?”
“응.”
전화가 끊겼다. 윤서는 휴대폰을 주머니에 넣었다. 난간에 기대 서 있었다. 바람이 불었다. 윤서의 눈이 건조해졌다. 바람 때문이었다. 윤서의 아버지가 코로나에 걸렸을 때, 윤서는 대학원생이었다. 병원에 면회가 금지돼 있었다. 아버지와 통화만 했다. 아버지의 기침 소리가 전화기 너머로 들렸다. 회복 후에도 아버지는 계단을 오르면 숨이 찼다. 폐 섬유화. 바이러스의 흔적이 아버지의 폐에 새겨져 있었다. 아버지가 돌아가신 뒤 윤서는 아버지의 유전체를 분석했다. 7번 염색체의 삽입 서열을 처음 발견한 것은 그때였다. 아버지의 세포에서는 휴면 상태였다. 발현하지 않았다. 윤서의 유전체에도 같은 삽입 서열이 있었다. 역시 휴면. 서연에게도. 4세대인 서연의 아이에서 깨어난 것이었다.
오후 2시. 윤서는 자기 알고리즘의 소스 코드를 열었다. 7번 염색체 삽입 위치 검출 모듈. 메틸화 패턴 분석 모듈. 3세대 발현 확률 계산 모듈. 윤서가 5년 전에 작성한 코드. 코드의 주석에 윤서의 이니셜이 적혀 있었다. 확률 94.3퍼센트는 이 코드가 산출한 숫자였다. 윤서는 코드를 내려다봤다. 이 코드가 전국의 태아를 판정하고 있었다. 4년간 양성 판정을 받은 태아가 1만 2,400명이었다. 그중 출산에 이른 건 0건. 법이 막았다. 윤서의 알고리즘이 법의 눈이었다.
윤서는 코드 위에 손을 올렸다. 확률 모델의 가중치를 바꾸면 94.3퍼센트가 달라질 수 있었다. 메틸화 패턴의 임계값을 0.02만 올리면 서연의 검체는 음성으로 바뀐다. 0.02. 소수점 아래 두 자리. 그 숫자를 바꾸면 서연만이 아니라 전국의 판정 기준이 바뀐다. 양성이었던 사람이 음성이 되고, 음성이었던 사람이 양성이 될 수 있다. 윤서는 손을 내렸다. 그것은 할 수 없었다. 0.02를 바꾸면 전국의 기준이 바뀐다. 양성이 음성이 되는 사람이 수백 명 생긴다. 그중 일부는 실제로 활성화가 일어날 사람이다. 태어나서 자라서 20대에 관절이 붓고 피부에 반점이 퍼지고 장기가 굳는 사람. 윤서는 그 사람들의 유전체 데이터를 분석한 적이 있었다. 데이터 뒤에 사람이 있었다. 얼굴은 몰랐지만 염색체 서열은 알았다.
이름을 지운 것과 코드를 바꾸는 것은 달랐다. 이름을 지운 것은 서연 하나를 숨긴 것이었다. 코드를 바꾸는 것은 시스템 전체를 왜곡하는 것이었다. 윤서는 그 차이를 알았다. 차이를 아는 것이 위안이 되지는 않았다.
수요일. 재호가 윤서의 자리로 왔다.
“3분기 양성 건수 정리했는데, 검체 하나가 이상해요.”
윤서의 손이 마우스 위에서 멈췄다.
“뭐가?”
“3847번. 양성인데 신원 연결이 안 돼 있어요. 산부인과 전송 기록에는 있는데 시스템에서 이름이 빠져 있어요.”
윤서는 모니터를 봤다. 화면에 유전체 분석 프로그램이 열려 있었다.
“전송 오류일 수 있어. 산부인과 쪽에 재전송 요청해.”
“그렇게 할게요.”
재호가 돌아섰다. 두 걸음. 멈췄다.
“근데 이상한 게, 전송 로그에는 정상 수신이라고 돼 있거든요. 시스템에 들어온 다음에 이름이 빠진 거예요.”
윤서는 재호를 봤다. 재호가 윤서를 보고 있었다. 재호의 눈이 무언가를 묻고 있었다. 직접적으로 묻지는 않았다. 아직은.
“로그 확인해 볼게.”
윤서가 말했다. 재호가 고개를 끄덕이고 자기 자리로 갔다. 윤서는 모니터를 봤다. 손가락이 키보드 위에 있었다. 움직이지 않았다. 재호가 로그를 확인하면 수정 시각이 나온다. 새벽 3시 14분. 야간에 센터에 있었던 사람은 윤서뿐이다. 보안 기록에 출입 시각이 찍혀 있다. 재호가 거기까지 추적할지는 몰랐다. 재호는 꼼꼼한 사람이었다. 시스템의 빈틈을 찾는 것이 재호의 일이었다.
목요일 저녁. 서연이 윤서의 집에 왔다. 현관문이 열리고 서연이 들어왔다. 슬리퍼를 신고 거실로 왔다. 배가 아직 많이 나오지 않았다. 14주. 서연이 식탁에 앉았다.
“결과 아직이야?”
“응.”
“늦는 거 아니야? 다른 사람들은 일주일 안에 나온다던데.”
윤서는 부엌에서 물을 따르고 있었다. 물이 컵에 차는 소리가 났다.
“처리량이 많아서 밀렸어.”
서연이 컵을 받았다. 한 모금 마시고 내려놓았다.
“민우가 이름 지었어. 남자면 하진, 여자면 하율.”
윤서의 손이 식탁 위에서 멈췄다.
“벌써?”
“14주인데 뭐. 빠른 건 아니지.”
서연이 웃었다. 윤서는 서연의 얼굴을 봤다. 서연의 얼굴에는 윤서 아버지의 흔적이 있었다. 눈 모양. 코의 각도. 3세대 전 사람의 얼굴이 3세대 뒤 사람의 얼굴에 남아 있었다. 유전자만이 아니었다. 윤서는 서연의 맞은편에 앉았다. 식탁 위에 초음파 사진이 놓여 있었다. 서연이 새로 가져온 것. 16주 사진. 이전 사진보다 형태가 뚜렷했다. 머리, 몸, 팔. 서연이 사진을 가리켰다.
“여기 손가락이 보여. 다섯 개.”
윤서는 사진을 봤다. 흐릿한 윤곽 안에 작은 손이 보였다. 다섯 개의 손가락. 윤서의 시야가 흐려졌다. 눈을 깜빡였다.
“건강하게 자라고 있네.”
윤서가 말했다. 목소리를 고르게 유지했다.
“엄마, 결과 나오면 정상이겠지?”
서연이 윤서를 봤다. 서연의 눈이 윤서를 똑바로 보고 있었다.
“응.”
윤서가 대답했다. 거짓말이었다. 94.3퍼센트의 확률로 서연의 아이는 활성화 양성이었다. 윤서가 만든 알고리즘이 그렇게 말하고 있었다. 윤서가 만든 법의 눈이 서연의 아이를 보고 있었다.
서연이 돌아간 뒤 윤서는 식탁에 앉아 있었다. 초음파 사진이 식탁 위에 놓여 있었다. 16주. 다섯 개의 손가락. 윤서는 사진을 집어 들었다. 사진이 가벼웠다. 종이 한 장의 무게. 그 안에 담긴 것의 무게와 맞지 않았다.
금요일. 보고서 마감일. 윤서는 센터에 일찍 출근했다. 7시. 지하철에서 내려 센터 건물까지 걸었다. 센터 건물 1층 로비에 검열법 시행 4주년 포스터가 걸려 있었다. 포스터 하단에 윤서의 이름이 기술 자문으로 적혀 있었다. 윤서는 포스터를 보지 않고 엘리베이터에 탔다. 분석실에 아무도 없었다. 복도의 형광등이 센서에 반응해 하나씩 켜졌다. 윤서의 발소리가 빈 복도에 울렸다. 서연에게서 온 문자를 봤다. 새벽에 온 것이었다.
“엄마 오늘 결과 나와? 민우가 자꾸 물어봐.”
윤서는 문자에 답장하지 않았다. 휴대폰을 주머니에 넣었다. 윤서는 관리자 콘솔을 열었다. 검체 3847. 이름 필드가 비어 있었다. 재전송 요청은 아직 처리되지 않았다. 산부인과에서 재전송이 오면 이름이 다시 연결된다. 그러면 서연의 이름이 시스템에 다시 올라간다. 보건당국에 통보가 간다. 출산 금지 조치가 발동된다.
윤서는 모니터 앞에 앉아 있었다. 선택지는 두 가지였다. 하나, 재전송 기록을 차단한다. 산부인과의 재전송이 시스템에 도달하지 못하도록 수신 필터를 조작한다. 서연의 이름은 영구적으로 연결되지 않는다. 둘, 아무것도 하지 않는다. 재전송이 오면 이름이 복원된다. 시스템이 정상 작동한다. 법이 작동한다.
윤서는 의자에서 일어났다. 분석실을 나왔다. 복도를 걸었다. 비상구를 지나 계단을 올라갔다. 옥상 문을 열었다. 아침 공기가 차가웠다. 9월 말. 해가 막 떠오르고 있었다. 서울의 동쪽 하늘이 주황색이었다. 윤서는 난간에 기대 도시를 내려다봤다. 빌딩 사이로 한강이 보였다. 강물이 아침 햇빛을 받아 반짝이고 있었다. 저 아래 어딘가에 서연이 있었다. 아침잠을 자고 있을 시간이었다. 배 안에 16주짜리 생명을 품은 채.
윤서의 휴대폰이 울렸다. 재호였다.
“실장님, 산부인과에서 3847 재전송 왔는데요. 확인 좀 해주세요.”
“알았어.”
전화를 끊었다. 윤서는 옥상에 서 있었다. 해가 건물 사이로 올라오고 있었다. 주황색 빛이 윤서의 얼굴에 닿았다. 따뜻했다. 윤서는 눈을 감았다. 3초. 바람이 불었다. 머리카락이 이마에 닿았다.
윤서는 옥상 문을 열고 계단을 내려갔다. 5층. 분석실 문을 열었다. 재호가 자기 자리에 앉아 있었다. 모니터를 보고 있었다. 윤서는 자기 자리에 앉았다. 관리자 콘솔을 열었다. 검체 3847. 재전송 대기 상태. 수신 확인 버튼이 화면에 떠 있었다. 버튼을 누르면 이름이 복원된다. 누르지 않으면 24시간 후 자동 폐기된다. 자동 폐기는 윤서가 설계한 기능이었다. 의료 데이터의 무기한 보관을 방지하기 위한 조항. 윤서가 4년 전에 직접 코드를 작성했다. 그 코드가 지금 윤서에게 24시간을 주고 있었다. 자동 폐기되면 재전송 기록 자체가 사라진다.
윤서는 화면을 봤다. 수신 확인 버튼. 한서연. 검체 3847.94.3퍼센트.
재호가 윤서의 뒤를 지나갔다. 커피를 타러 가는 길이었다. 재호의 발소리가 멀어졌다. 복도의 정수기 소리가 들렸다. 분석실에 윤서 혼자였다.
윤서는 마우스를 움직였다. 커서가 수신 확인 버튼 위에 올라갔다. 손가락이 마우스 버튼 위에 있었다. 누르면 서연의 아이는 태어나지 못한다. 누르지 않으면 윤서의 시스템에 구멍이 생긴다. 4년간 1만 2,400건의 판정을 내린 시스템. 그 시스템의 설계자가 자기 딸의 결과를 숨겼다는 사실이 드러나면 시스템 전체의 신뢰가 무너진다. 1만 2,400명의 양성 판정이 의문에 부쳐진다. 법의 근거가 흔들린다.
윤서의 손가락이 마우스 버튼에서 떨어졌다. 윤서는 의자를 뒤로 밀었다. 서랍을 열었다. 초음파 사진을 꺼냈다. 16주. 다섯 개의 손가락. 윤서는 사진을 모니터 옆에 세워 놓았다. 사진 속의 손과 화면 속의 숫자가 나란히 보였다. 94.3퍼센트와 다섯 개의 손가락.
윤서는 콘솔 창을 닫지 않았다. 수신 확인 버튼을 누르지도 않았다. 의자에 앉은 채 모니터를 봤다. 화면의 빛이 윤서의 얼굴에 닿아 있었다. 분석실 창으로 아침 햇빛이 들어오기 시작했다. 햇빛이 키보드 위에 닿았다. 윤서의 손이 빛 안에 있었다. 이 손으로 알고리즘을 짰다. 이 손으로 1만 2,400명의 판정을 만들었다. 이 손으로 딸의 이름을 지웠다. 이 손이 지금 아무것도 누르지 않고 있었다. 모니터의 빛과 창의 빛이 섞였다. 윤서의 손이 무릎 위에 놓여 있었다. 24시간이 남아 있었다.