유전자나 단백질 자료를 연결할 때는 이름만 맞추는 대신 각 데이터베이스의 식별자를 이용한다. 그래도 변환이 항상 단순하지는 않다. 한 식별자가 여러 항목에 연결되거나, 예전 버전에서 쓰던 식별자가 더는 같은 방식으로 쓰이지 않을 수 있다. 결과 파일이 문제없이 열렸다는 사실만으로 연결이 올바르다고 보기는 어렵다.
이 작업에서는 어떤 변화까지 허용할지 먼저 정하고, 확인하지 못한 결과는 다음 분석으로 넘기지 않는 규칙을 만들었다. 그 규칙을 실행하는 동반 코드와 원고도 함께 준비했다.
바뀌어도 되는 것과 남아 있어야 하는 것
변환 전후에 열 이름이 맞는지만 확인해서는 놓치는 일이 있다. 값이 비어 있다는 표시가 원래의 문자열을 삼켜 버리거나, 여러 연결 중 하나만 남으면서 관계가 줄어들어도 파일의 모양은 멀쩡할 수 있다. 어떤 자료의 어느 버전을 읽었는지와 함께, 변환 후에도 유지돼야 할 의미를 적어 둘 필요가 있다.
나는 이 조건들을 변환 ‘계약’으로 정리했다. 여기서 계약은 법률 문서가 아니라 프로그램이 확인할 약속이다. 식별자의 종류와 자료 버전, 빠진 값의 처리, 연결 관계처럼 변환 과정에서 지켜야 할 조건을 정하고, 결과가 조건을 만족하는지 검사하도록 구성했다.
멈출 때 이유도 남기기
Fail-closed는 검증할 근거가 부족하거나 조건을 위반했을 때 결과를 일단 통과시키지 않는 방식을 뜻한다. 사용할 수 없는 결과를 다음 단계에서 발견하는 대신, 변환 결과를 확정하기 전에 멈추고 어떤 조건에서 문제가 생겼는지 남기도록 했다. 그래야 멈춘 이유를 살펴본 뒤 자료나 규칙을 고칠 수 있다.
이 규칙이 확인하는 범위도 명확해야 한다. 미리 적어 둔 조건을 검사하는 코드가 생의학적 의미 전체를 알아서 판단하는 것은 아니다. 내부에서 정한 사례에 대한 시험과 실제 다른 연구 환경에서의 검증을 구분했고, 오류를 모두 찾는다거나 현장의 부담을 줄였다는 식으로 성능을 확장하지 않았다.
원고 이후에 필요한 근거
2026년 9월 4일 편집 결정으로 해당 투고는 종료됐고, 9월 5일에는 추가 검증 근거가 필요한 후속 작업을 보류한 기록을 남겼다. 변환 규칙과 코드는 보존하고 있지만, 현재 진행 중인 심사나 현장 적용 성과로 소개하지 않는다.
다음 보강에는 실제 외부의 오류 사례와 비교 가능한 작업 과정이 필요하다. 아직 공개하지 않은 오류 사례와 성능 수치는 원고의 미공개 범위로 유지하며, 확인된 근거를 넓힐 수 있을 때 후속 작업을 이어갈 예정이다.
