다양한 스토리를 담고 있는 연재를 만나보세요.
[여우원숭이가 읽어주는 오늘의 과학기술] 엑셀 자동 변환이 망친 유전체 연구
Bio통신원(여원)
소위 퀀트 투자가 유행한 것도 이제는 몇 년 전 이야기입니다만, 저도 정량분석을 주식 투자에 응용해 보겠다고 이것저것 시도한 적이 있었습니다. 본격적인 코드 작업을 하기 전에 테스트를 하려고 엑셀로 간단한 작업을 하고 있었는데 종목 코드 때문에 엉뚱한 문제가 생기더라고요. 예컨대 삼성전자의 종목 코드인 005930을 엑셀 칸에 입력한 다음 엔터를 치면, 엑셀은 이것을 '숫자'로 인식해서 앞에 붙은 00을 떼어버리고 5930이라고 변환해서 입력하곤 합니다. 간단한 해결책으로는 크게 두 가지가 있는데요, 첫 번째는 해당 열의 서식을 통째로 '텍스트'로 지정해서 자동 서식을 막는 거고, 두 번째는 코드를 입력할 때 작은따옴표 한 개를 앞에 둬서 '005930으로 입력해서 엑셀이 입력을 여섯 자리의 텍스트로 인식하게 하는 거죠.
이 정도면 작은 해프닝의 수준입니다만, 엑셀 자동 변환은 유전학 분야에서는 제법 심각한 문제를 일으키기도 합니다. 유전자의 이름을 축약해서 표기한 유전자 기호(gene symbol)을 엑셀에 입력했을 때 제멋대로 포맷이 바뀌어서 저장되곤 하거든요. 2004년에 처음으로 이 현상을 보고한 논문[1]이 발표되었는데, 예컨대 엑셀에 DEC1을 입력하면 "12월 1일"로 변환되고, OCT4를 집어넣으면 "10월 4일"이 되었다는 겁니다.
대규모 데이터를 보조자료(supplementary information) 형태로 보고하는 일이 점점 많아지면서 유전자 이름의 오류는 갈수록 늘어나고 있습니다. 오스트레일리아의 유전학자 마크 지만(Mark Ziemann) 박사가 2016년에 발표한 논문[2]에 의하면, 2005년부터 2015년까지 18개의 학술지에 발표된 유전학 연구논문 중 엑셀 스프레드시트 형태의 자료를 첨부한 논문 3,600편 중 약 20%에서 이런 오류가 발견되었다고 해요.
유전자 이름의 표준화를 담당하는 휴고 유전자 명명법 위원회(HUGO Gene Nomenclature Committee, HGNC)에서는 이 논문의 보고를 받아들여 2017년에 대대적으로 유전자 기호 명명법을 업데이트했습니다. SEPT4를 SEPTIN4로 바꾸고, MARCH1을 MARCHF1으로 바꾸는 등 가급적 자동 변환 때문에 문제가 생기지 않도록 처리한 거죠. 유전자 기호가 바뀌어서 생길 연구 현장의 혼란에도 불구하고 이 문제를 해결하는 게 더 중요하다고 판단한 겁니다.
하지만 지만 박사가 2021년에 발표한 후속 연구[3]에 의하면 상황은 개선되는 조짐이 보이지 않습니다. 2014년 이후 발표된 논문 11,000편을 대상으로 한 이번 연구에서는 문제 있는 논문의 비율이 31%로 오히려 올랐거든요. 게다가 자동 변환 문제는 2017년에 그랬듯 유전자 기호를 바꾼다고 해결되지 않으리라는 증거도 찾아냈습니다.
예를 들어, "AGO2"라는 유전자는 어떤 스프레드시트에서 "8월 2일"로 변환되었습니다. "AUG"도 아닌데 왜 이런 일이 일어났을까요? 이탈리아어, 스페인어, 포르투갈어에서 8월은 Agosto로 씁니다. 엑셀이 사용하는 언어에 이들이 들어 있으면 영어 사용자는 짐작할 수 없는 오류가 생기는 거죠. 비슷하게 "MEI01" 유전자가 "5월 1일"로 변환된 사례가 있었는데, 네덜란드어에서 5월을 Mei로 쓰기 때문으로 보입니다. 모든 언어 사전을 다 뒤져서 해당 단어를 금지하지 않으면 해결할 수 없는 문제인 거죠.
더 골치 아픈 사례도 있습니다. "JUN-1"이 "5월 31일"이 되었는데, 연구진의 짐작에 의하면 유전자 기호에 들어 있는 하이픈을 마이너스 기호로 인식했고, 6월 1일에서 1을 빼어 5월 31일이 된 것 같다고요. (엑셀이 내부적으로 날짜를 정수형으로 저장하기 때문에 생기는 현상입니다) 대략이나마 원인을 짐작할 수 있는 경우뿐 아니라, 원인을 짐작하기 어려운 자동 변환 사례도 물론 많이 발견되었고요.
흥미롭게도, 임팩트 팩터가 높고 인용이 많이 되는 저명한 저널이라고 해서 유전자 기호 오류가 잘 잡히는 것도 아니며 오히려 더 빈번하게 발생한다는 경향도 보고되었습니다. 아마 저명한 학술지에 투고한 논문일수록 보조자료를 방대하게 작성하는 관행 때문인 것 같은데, 예컨대 <Nature Communications> 같은 경우에는 모든 그래프와 차트의 원천자료(raw data)를 가능한 경우 모두 제출할 것을 권장하거든요. 이 모든 데이터를 철저하게 검수하는 건 저자에게도 리뷰어에게도 쉽지 않은 일이다 보니 보조자료의 크기가 커짐에 따라 유전자 기호 오류도 늘어나는 모양입니다.
엑셀이 아주 강력하고 다루기 편한 프로그램인 건 맞습니다만, 기능이 추상화가 심하게 되어 있고 변환 과정의 기록을 제대로 남기지 않기 때문에 사용자가 의도하지 않은 오류가 자주 발생하는 데다 나중에 오류의 원인을 추적하기도 어렵습니다. 2020년 10월에는 영국 공중 보건국(Public Health England)이 엑셀 때문에 큰 망신을 산 일이 있었습니다. 코로나19 확진자를 추적하고 집계하는 과정에서 약 16,000명의 자료가 소실되어 중앙 관리 시스템에 입력되지 못한 해프닝이었는데요, 현장에서 사용하던 마이크로소프트 엑셀 소프트웨어의 버전이 너무 오래되어 xls 확장자로 자료를 저장하고 있었고 이 포맷에서 허용하는 최대 행 수(65,536행)를 초과하는 바람에 확진자 기록이 누락된 거죠. 보건국의 후속 보도에 따르면 누락된 정보를 전부 찾아내서 다시 시스템에 업로드하는 데는 성공했다고 합니다만.
경력이 긴 학자들은 시행착오를 겪으며 이런 문제에 많이 시달려 봤기 때문에 작은따옴표를 추가한다거나, 전체 데이터의 포맷을 텍스트로 강제 지정한다거나 하는 해결책을 갖고 있습니다만 유전학 분야에 새로 진입한 신진 학자나 대학원생에게 이런 노하우를 빠짐없이 전달한다는 건 쉬운 일이 아니지요. 엑셀의 사용을 금지하고 Python이나 R 등 스크립트 언어의 사용을 강제한다고 해결될 일도 아닌 것이, 그러면 많은 저자들은 그냥 엑셀에서 작업을 한 다음에 그 결과를 텍스트 파일로 변환해서 제출할 겁니다. 이 경우에도 자동 변환 오류는 걸러지지 않고, 단순히 xlsx 확장자의 파일에서 txt 확장자로 옮겨갈 뿐이겠지요. 재미없고 원론적으로 들리겠지만, 분석 방법론을 지금보다 훨씬 상세하게 보고하도록 권하는 한편 재현성 검증을 출판 단계에서 더 까다롭게 하는 수밖에 없을 겁니다.
*참고 자료
[1] B. R. Zeeberg et al. Mistaken Identifiers: Gene name errors can be introduced inadvertently when using Excel in bioinformatics, BMC Bioinformatics 5, 80 (2004).
[2] M. Ziemann et al. Gene name errors are widespread in the scientific literature
, Genome Biol. 17, 177 (2016).
[3] M. Abeysooriya et al. Gene name errors: Lessons not learned, PLoS Comput. Biol. 17, e1008984 (2021).
[4] J. Vincent, Excel spreadsheet error blamed for UK’s 16,000 missing coronavirus cases, The Verge (2020).
본 기사는 네티즌에 의해 작성되었거나 기관에서 작성된 보도자료로, BRIC의 입장이 아님을 밝힙니다. 또한 내용 중 개인에게 중요하다고 생각되는 부분은 사실확인을 꼭 하시기 바랍니다.
[기사 오류 신고하기]