2017년 8월 18일 금요일

커피용품 구입 - 드립포트와 탬퍼

드디어 오랜 숙원사업을 해결하였다. 0.7 리터 들이 핸드드립용 포트와 탬퍼(직경 50 mm)를 구입한 것이다. 핸드드립이면 핸드드립이고 에스프레소면 에스프레소지 왜 서로 어울리지 않는 물품을 같이 구입한 것일까?


지난달에 아들이 선물로 사준 가정용 에스프레소 머신(구글플러스 포스트)이 연이은 쇼핑의 출발점이 되었다. 에스프레소에 적합한 수준의 고운 커피가루를 낼 수 있는 전동 그라인더(드롱기 KG79)에 이어서 에스프레소 머신에 기본으로 갖춰져 있으나 너무나 부실한 플라스틱 탬퍼를 대체할 물건까지.

이것이 전부가 아니다. 원래 핸드밀로 커피를 직접 갈아서 드리퍼에 내려 마신지는 꽤 오래 되었다. 속이 좀 부담스럽다 싶으면(위장이 별로 좋은 편이 아님) 한동안 끊었다가, 단맛이 끌리면 커피믹스만 먹다가를 반복하다가 이번에 에스프레소 머신을 장만하면서 핸드드립을 좀 더 제대로 하겠다는 욕심이 생겼다. 그동안은 드립포트가 없어서 전기포트로 물을 끓인 뒤 직접 내렸기 때문이다. 드립포트가 꽤 비싼 물건이라고만 생각하고 있었는데 이번에 탬퍼를 고르면서 인터넷을 뒤져보니 적당한 가격대의 것들도 꽤 많아서 주저함 없이 함께 구입을 하게 된 것이다. 이러다가 온도계까지 사게 되는 것은 아닌지 모르겠다.

에스프레소 커피보다는 핸드드립커피를 만들 때 더 많은 변수가 존재하는 것 같다. 사람마다 내리는 방식이 다 다르겠지만 몇 가지 원칙은 지키면서 나만의 방법을 확립해 나가야 되겠다. 가령 커피가루의 일정한 분쇄 정도 유지, 30초간 불리기, 드립 총 시간 지키기(3분) 등이다. 유튜브에 워낙 많은 핸드드립 동영상이 있으니 지금까지처럼 대충 만들지 말고 제대로 한번 해 보련다.

2017년 8월 16일 수요일

숫자가 크게 나오는 카시오 전자시계는 무엇이 있을까?

지난주에 구입한 카시오 G-Shock DW-5600(블로그 글 링크)는 가격도 저렴하지만 가볍고 기능적으로 손색이 없는 매우 튼튼한 손목시계이다. 200 미터 방수가 되는 이 시계를 착용한 채로 이제는 샤워를 하거나 물놀이를 해도 안심이다.

며칠 동안 사용하면서 느낀 불편한 점이 딱 한가지가 있으니, 바로 숫자 표시가 약간 작다는 것이다. 지구상에 존재하는 무수한 전자손목시계와 비교하여 더 작다는 것은 결코 아니다. 매우 표준적인 크기의 액정 디스플레이를 갖고 있지만 이제 본격적인 노안에 직면한 나에게는 돋보기 안경을 쓰지 않은 상태에서 시각을 확인하기가 아주 조금 불편하다. 어떤 면에서는 잘 디자인된 아날로그 시계의 시인성이 훨씬 낫다고도 할 수 있다. 대신 맨눈으로 아날로그 시계에 마련된 날짜와 요일을 읽는 것은 매우 어렵다.

숫자가 조금 더 크게 표시되는 전자손목시계는 무엇이 있나? 카시오의 지샥 제품군에는 썩 마음에 드는 것은 없다. TIMEX에서는 Ironman 시리즈에 이러한 시계가 많다. 열심히 달리는 도중에 시각을 확인하려면 당연히 숫자가 크게 표시되는 시계가 유리하다. 하지만 일상생활용으로는 너무 튀는 디자인이다. 구글에서 digital watches with large numerals라는 검색어로 찾으면 숫자가 크게 나오는 시계를 많이 만날 수 있다. 그러나 알려지지 않은 브랜드가 많아서 그다지 내키지는 않는다. 이 검색어가 완벽한 것도 아니다. 왜냐하면 아날로그 시계이면서 숫자 자체가 큰 것들도 섞여서 나오기 때문이다. 이런 것은 내가 원하는 것이 결코 아니다.

기왕에 맛을 들인 카시오 제품 중 점잖은 모양을 갖춘 것으로 숫자가 크게 표시되는 것은 무엇이 있을까?

A178WA. 바로 이거다! 카시오의 클래식 라인 제품 중 하나다. 방수나 충격 방지와는 거리가 먼 일반용 시계라서 가격은 지샥보다 훨씬 싸다. 정장용으로도 손색이 없는 시계다. 시곗줄은 당연히 통줄이 아니다. 일명 '손석희 시계'로 알려진 A168WA와 매우 유사하다. 위로 잡아늘인듯한 숫자가 좀 어색할 수도 있다. 디자인 측면에서는 A168WA가 더 완벽하다고 생각한다.
그림 출처: http://www.casio.com/products/watches/classic/a178wa-1av
A178WA의 숫자 표시가 다른 표준적인 전자손목시계에 비하여 월등히 큼은 명백하다. 그러나 검색을 통해서 찾은 다음 모델들(스포츠 시계에 가깝다)은 어디까지나 웹브라우저를 통해서 판단한 것이므로 실물은 어떠할지 알 수 없다. 흥미로운 것은 오늘 소개한 6종의 카시오 시계는 전부 10년 사용 가능한 전지를 쓴다는 사실이다. 그 원리가 무엇인지 매우 궁금하다. 링크는 전부 카시오 미국 사이트에서 딴 것이다.
  • W96H(카시오 한국어 사이트에서는 W-96H로 소개되었고 이하 같음)
  • W201(카시오 한국어 사이트에는 없음)
  • W800H
  • HDD600
국내의 지타임코리아 사이트를 검색하면 나오는 F-200W는 카시오 미국 사이트에는 없는 모델이다. 

그러면 또 시계를 사려고...? 그건 아니다. 올해에는 이미 세 개나 되는 시계를 사지 않았나? 내년쯤 생각해 볼 이이다.

Roary에서 Harvest suite를 거쳐 NASP(North Arizona SNP Pipeline)에 이르기까지

하나의 종(species)에 속하는 박테리아의 유전체로부터 얻은 시퀀싱(또는 조립물) 결과를 서로 비교하는 일은 요즘 매우 흔한 분석 작업이 되었다. 특히 유전체역학(genomic epidemiology)에서는 필수적인 과정이다. 구글에서 genomic epidemiology라는 검색어를 넣으면 가장 먼저 뜨는 웹사이트는 덴마크 공과대학(Technical University of Denmark)의 Center for Genomic Epidemiology이다. 이 연구센터에서 중점을 두는 것은 당연히 감염병을 일으키는 박테리아이다. 물론 용어의 해석 범위에 따라서는 인간 유전체를 중요시하는 입장도 가능하다(서울대학교 보건대학원 유전체역학 연구실 웹사이트 참조).

역학(疫學)이란 인구집단에서 병원 원인을 연구하는 학문이다. 물리학의 한 분야인 力學, 주역의 괘를 해석하여 음양 변화의 원리와 이치를 연구하는 학문인 易學(이것이 진정한 학문인가?)과는 다르다. 우연히 발견한 글인 역학자가 노벨상을 받을 수 없는 이유도 한번 읽어보자.

감염병의 역학조사와 병원체 genome sequence를 어떻게 연결하여 감염성 질환에 대처할 것인가? 이에 대해서는 2014년 Genome Biology에 실렸던 리뷰 논문인 Epidemiologic data and pathogen genome sequences: a powerful synergy for public health를 참조하자. 이 논문에 의하면, 감염병을 연구하는 역학자의 기본 질문은 이러하다.

  1. Is there an outbreak?
  2. Where, when and how did a pathogen enter the population of interest?
  3. How quickly is the number of infections from the pathogen growing (that is, what are the epidemic dynamics)?
  4. How is the pathogen spreading through the population?
  5. What genes or genotypes are associated with the pathogen's virulence or other phenotypes of interest?

Pathogen genomics는 이러한 질문에 대해 답을 할 수 있는 매우 중요한 근거를 제시한다. 물론 오늘의 포스팅에서는 더 깊게 논의하지는 않겠다.

내가 다수의 병원체 샘플에 대한 whole-genome sequencing data를 이용한 분석, 즉 genotyping(SNP-based라고 좁혀서 이야기해도 좋다)과 resistance gene finding 등을 실무에서 처음 접하게 된 것은 작년 하반기였다(참고로 Sanger sequencing은 1991년 무렵, 대용량 genome sequencing은 2000년부터 해 왔음). 당시에는 결핵균의 일루미나 시퀀싱 raw data가 출발점이었다. Reference mapping 기반의 방법과 assembly 기반의 방법 사이에서 고민을 하다가 결국은 일본에서 개발한 TGS-TB(Total Genotyping Solution for Mycobacterium tuberculosis, 현재 버전 2)라는 매우 유용한 웹사이트를 찾아내는 것으로 일단락되었다. 그러나 이 작업 중에 CLC Genomic Workbench의 Microbial Genomics Module(typing and epidemiology 기능)을 구입하게 되었고, Sanger Institute의 Roary라는 도구도 알게 되었다.

Roary는 원래 pan genome 분석을 위한 도구이다. 유전자의 염기서열을 포함하는 GFF3 파일을 input data로 하여(즉 annotated genome sequence가 필요) core gene과 accessory gene을 집계하고, 이로부터 multiple sequence alignment까지를 해 준다. 다양한 2차적인 플롯을 만들 수 있는 중간 결과물도 제공하는 것이 특징이다. 단, sequencing raw data는 다루지 못한다. SNP을 추출하거나(snp-sites) phylogenetic tree를 그리는 일(fasttree)은 별도로 실시해야 한다.

다음으로 알게 된 소프트웨어는 매릴랜드 대학교의 Harvest suite이다. 이것은 core genome alignment와 visualization까지를 할 수 있다. 입력물은 assembled genome sequence로서  annotation은 필요하지 않다. 분석에 투입할 유전체는 >=97% ANI를 충족하는 가까운 것들이어야 한다. MUM에 기반한 locally collinear block(LCB) 계산 및 SNP 검출을 해 주기에 실행 속도가 매우 빠른데, Parsnp(rapid core genome multi-alignment) 커맨드 한 줄로 모든 분석이 끝난다. 더욱 좋은 것은 Gingr이라는 visualization tool이 포함된다는 점이다. 다음은 시험적으로 생성한 분석 결과이다. 왼쪽에는 SNP-based tree가, 오른쪽에는 SNP map이 보인다.


Gingr은 standard alignment format을 수용하는 일반적인 용도의 viewer로도 쓰일 수 있다. 패키지에 포함된 harvesttools를 병용하면 사용하여 다음과 같은 다양한 파일 포맷간의 전환이 가능하다. 
그림 출처: http://harvest.readthedocs.io/en/latest/content/gingr/types.html
마지막으로 살펴볼 것은 North Arizona SNP pipeline, 즉 NASP이다. 이 도구는 raw sequencing read와 assembly를 가리지 않고, 다양한 aligner와 SNP caller를 활용할 수 있으며, monomorphic 및 polymorphic site를 검출 가능하고, job management system을 채용하는 것을 특징으로 한다. NASP는 2016년에 bioRxiv에 먼저 공개되었다가 신생 학술지인 Microbial Genomics(MGen)에 같은 해 출간되었다. 그러나 내 눈에 뜨인 것은 이틀전이다.

만약 long read data가 input data라면 어떻게 할 것인가? 가능하다면 오류가 적은 genome assembly를 만들어서 적당한 pipeline에 투입하는 것이 바람직할 것이다. 이제는 long read를 만들어내는 기술이 PacBio이 유일한 것이 아니라 Oxford nanopore sequencing까지 늘어났으니 점점 공부할 것이 많아진다...

2017년 8월 13일 일요일

여름 휴가 동안 읽은 책


리모델링을 마치고 재개장한 도서관 자료실에서 신간 서적을 고르는 것은 언제나 즐거운 일이다. 이번 여름 휴가 동안 읽으려고 대여한 책을 오늘 반납하기 전에 이에 대한 기록을 남겨두려 한다. 우리지역 도서관에서는 한 사람이 다섯 권의 책을 2 주 동안 대출할 수 있다(대출과 대여의 차이). <큐레이션>에 대해서는 지난번 글 면도기 큐레이션에서 잠시 소개하였었다.

<검색, 사전을 삼키다(정철 지음)>은 네이버, 다음을 거쳐서 카카오에서 웹사전을 만드는 편찬자의 글이다. 웹 서비스를 제공하는 회사에서는 기존에 만들어진 사전 컨텐츠를 가져다 가공을 하여 대중에게 제공한다. 그러나 이는 사전의 개정판을 만드는 일 - 표제어를 고르고, 새로 부여된 의미를 부여하는 등 - 과는 다른 일이다. 종이사전은 말할것도 없고 잠깐 동안 학생들의 필수품이 되었던 전자사전도 이제는 완전히 물러났다. 이제 누구에게 뭔가를 물어본다는 것은 실례가 되는 시대가 되고 말았다. 일단 휴대폰을 꺼내서 '검색'을 먼저 해 보면 웬만한 어위에 대한 뜻은 다 나오니까 말이다. 그러나 웹 어학사전에 내가 찾는 단어의 뜻이 나온다고 해서 안심해서는 안된다. 왜냐하면 현재 통용되는 뜻을 충실히 반영하도록 항상 개정된 상태의 정보가 아닐 수도 있기 때문이다. 검색이 사전을 삼켰지만, 잡아먹힌 그 날로 '죽은' 사전을 그대로 유통해서는 안된다. 그러나 경제 논리를 따르자면 현실적으로 어려운 점이 무척 많다. 상세하게 소개된 어학 및 백과사전의 역사와 현실, 그리고 문제점을 파악하게 해 준 좋은 책이었다.

<위험한 역사시간(이주한 지음)>은 '우리 역사를 외면하는 한국사 교과서의 실체를 밝힌다'라는 부제가 붙은 책이다. 그 동안 식민사관에 대해서 어렴풋한 관심은 있었지만 책을 통해서 심도있게 들여다 본 일은 없었다. 해방 이후 어떤 사학자들이 소위 어떤 인물들에 의하여 '강단사학'이 형성되고 우리 역사에 대한 어떠한 부정적인 유산을 남겼는지를 이제 알 수 있었다. 물론 이 저자가 주장하는 바에 대해서 부정적인 시각이 없는 것은 아니지만 우리 역사의 여명기를 반드시 한반도 안으로만 좁혀서 생각하는 것은 옳지 않을 수도 있다.

원래 한반도에는 구석기 시대가 없다는 것이 통념이었다. 그러다가 공주 석장리 유적이 발굴되면서 우리나라에도 구석기 시대에 사람이 살았다는 것이 밝혀졌다. 하지만 어디에선가 읽은 글에서는 석장리 시대에 살던 사람이 현재 우리나라 사람의 조상이 아니라고 하였다. 그러나 그렇게 보는 합리적인 근거가 있는가? 이주한의 책을 살펴보면 그 사람들이 멸망했거나 다른 곳으로 이주했다는 증거가 발견되지 않는 이상 과거에 이 지역에 살던 사람들이 계속 이 곳에 살아남았다고 보는 것이 타당하다고 밝혔다. 이 땅에 오래 전부터 사람이 살았고, 그 사람들이 세계 다른 어느곳과 견주어 뒤떨어지지 않은 (앞선 상태라면 더욱 좋을 것이다) 문명 수준을 갖고 있기를 바라는 것은 매우 자랑스런 현상이나, 이는 합리적인 가설, 그리고 유물과 유적을 통한 철저한 검증을 통해 뒷받침되어야 할 것이다.

<스노든 게이트: 원제 No place to hide(글렌 그린월드 지음, 박수민 및 박산호 옮김)>는 정말 충격적이었다. 911 테러 이후 자국민 보호를 앞세운 미국 국가안보국 NSA는 전세계를 대상으로 무차별적인 정보 수집을 실시하였고('프리즘 프로젝트'), 이는 젊은 기술자 에드워드 스노든의 용감한 폭로에 대해 세상에 드러나게 되었다. 인권이든 자유든 죽은 뒤에는 아무런 소용이 없다는, 소위 애국자법의 옹호자들에 대해서 우리는 무엇을 주장해야 하는가? 컴퓨터에 보안 프로그램을 설치하는 것조차 어려워하던 저널리스트가 어떻게 하여 내부 고발자를 만나서(이는 자신과 접촉하려면 보안을 위해 컴퓨터에 여러 프로그램을 깔라고 하였었다) 온갖 위협 속에 이를 기사화하게 되는지, 보수 언론과 정부는 이를 어떻게 방해하는지(심지어 저자의 동성 배우자를 테러와 관련된 얼토당토않은 이유를 내세워 공항에서 억류하기까지 하였다) 그 과정을 긴박감 속에 잘 묘사하였다. 언론정보학을 전공하는 아들에게도 꼭 읽어보라고 권하고 싶은 책이다.

2017년 8월 10일 목요일

카시오 G-SHOCK 손목시계(DW-5600E)를 구입하다


오늘 구입한 카시오 DH-5600(왼쪽)과 평소에 즐겨 착용하는 오리엔트 FEM7P007B9.
지난 주말, 실로 오랜만에 계룡산 동학사 계곡을 찾아 더위를 식혔다. 울창한 숲길은 그 자체로도 시원하지만, 계곡으로 내려가서 손과 발을 물에 담그고 있노라면 자연 그대로의 에어콘이 따로 없다는 생각이 든다. 물놀이를 하면서 아쉬웠던 것은 갖고있는 손목시계는 방수 기능이 충분하지 않아서 손을 물에 적시기 전에 시계를 풀어야 했다는 점이다.

시계의 방수 성능에 대해서 알기 쉽게 정리한 글이 있어서 소개해 본다. 무려 10년 전의 글이다!

30미터 방수 시계인데도 왜 물이 샐까? - 시계의 방수에 대해

나에게는 30 m 방수와 50 m 방수가 되는 시계가 각각 하나씩 있고, 20년을 넘게 차면서 이제 방수 성능을 보장하지 못하는 오래된 것도 두개 쯤이 있다. 물론 오래된 것 중의 하나는 결혼 예물 시계이다. 험악한 환경에서 부담없이 찰만한 저렴한 시계를 하나 구입하는 것이 좋겠다는 결론을 내리고 인터넷 검색에 들어갔다. 우레탄 시계줄이 달린 전자시계가 가장 적당해 보였다.

꽤 오랫동안 TIMEX Ironman Triathlon을 착용한 적이 있다. 아래 사진은 예전 포스팅 '시계는 사도 시간은 살 수 없네'에서 소개한 2014년 당시의 내 시계들이다. 여기에서 세번째에 위치한 물건이 바로 Ironman이다. 본체의 코팅이 다 벗겨지고 지금은 겉부분의 플라스틱이 다 삭아서 뜯겨져 나갔다. 그럼에도 불구하고 사용하는 동안 이 시계의 만족도는 매우 높았다. 오랫동안 쓰면서도 시계줄은 한번도 끊어지지 않았었다. 카시오 손목시계를 몇 번 사용하면서 주기적으로 끊어진 시계줄을 갈아주어야 했던 것에 비하면 매우 의외의 경험이었다.


마구 굴리는 용도라면 전자시계를 능가할 것이 없다. 이번에는 어느 회사의 제품으로 할까? 카시오 지샥(G-Shock) DW-5600 시리즈가 내 눈에 들어왔다. 카시오의 연구원인 이베 키쿠오가 부모님으로부터 선물로 받은 손목시계를 떨어뜨려서 완전히 부숴진 것을 보고 충격에 강한 시계를 만들었다는 결심을 하여 1981년 개발에 착수, 1983년 첫 출시를 한 것이 지샥의 시작이라고 한다. 내충격성과 200 m 방수라면 나의 용도로는 충분하다. DW-5600은 기본형 모델('Standard Digital')로서 다른 지샥 제품보다는 크기가 가장 작은 편에 속해서 부담이 없다. 디자인 역시 지나치게 튀지 않아서 정장이든 캐쥬얼이든 어떤 복장과 상황에서도 무난히 어울리는 모델이다. 지샥은 5600으로 시작해서 결국은 5600으로 돌아간다는 말도 있지 않은가? 조금 더 투자하면 기능도 많고 획기적인 디자인의 시계를 고를 수도 있지만 대부분 본체 직경이 50 mm를 훌쩍 넘어가서 부담스러웠다. 시계가 너무 크면 겨울에 손목부분이 조여지는 겉옷을 입을 때 무척 불편하다. DW-5600과 마지막까지 각축을 벌였던 모델은 G-9100('Gulfman')이었다. DW-6900와 DW-9052도 유력한 후보였었다.  지나치게 크거나 표시가 복잡하고 비싼 것은 당초에 고려 대상이 아니었다.

시계의 크기가 아담한 대신 가장 고민스러웠던 것은 요즘 노안이 심하게 와서 숫자가 잘 보일까 하는 점이었다. 정말 잘 한 결정일까? 직접 물건을 보고 구입하는 것이 아니라서 약간의 모험을 하지 않을 수는 없는 터였다. 이틀 전 인터넷으로 주문하여 오늘 드디어 물건을 받았다. 검은색 종이 상자를 여니 독특한 디자인의 원기둥형 캔 안에 시계가 들어있었다. 아담한 크기와 단순한 사용법이 매우 마음에 들었다(3229 모듈 설명서 PDF 파일). 그러나 표시되는 숫자의 크기가 약간 작다. TIMEX Ironman에 비하면 시인성이 숫자 크기가 확연히 작다. 윗면에 인쇄된 글자들은 어차피 제대로 보이질 않는다.

다음에는 돌핀 시계(공식 공급처)를 한번... 돌핀 시계에 대한 추억은 없지만.


2017년 8월 9일 수요일

이미지로만 구성된 이메일 메시지 혹은 웹콘텐츠의 문제점

간혹 업무용 메일 계정을 통하여 학술행사 안내문을 받는다. 연구를 주요 업무로 하고 있으니 유익한 행사는 아닌지 눈여겨보게 된다. 예를 들면 이런 것이다. 어제 받았으니 아주 최신의 것이다.

보기에는 매우 좋다. 인쇄하여 우편으로 배포할 안내문의 원본 이미지를 적절히 줄여서(아마 실제 인쇄용으로 쓰이는 AI 파일 등은 해상도가 높아서 그대로 보내면 너무 크게 보일 것으로 생각된다) 이메일로 발송한 것으로 여겨진다. 그러나 무엇이 문제인가? 메일의 내용을 검색하지 못한다는 것이다. 만약 우편함에서 나중에 이 메시지를 찾으려면 메일의 제목 혹은 발송자 이름(주소)만을 대상으로 검색이 이루어질 것이다. 발표자나 제목 등은 검색을 하지 못한다.

전세계 최고 수준의 인터넷 속도를 자랑하는 나라에서 이메일이나 웹페이지 내용에 이미지가 많은 것은 별로 문제가 되지 않는다. 하지만 이미지에 담긴 텍스트를 찾아서 검색하는 기술이 아직 보편적이지 않은 실정에서 지나치게 이미지로만 만들어진 콘텐츠는 문제가 있다고 본다.

옥션, 11번가, 지마켓 등에서 상품의 상세설명 페이지를 클릭해 보자. 화려하고 상세한 이미지와 설명... 그러나 모든 텍스트는 전부 이미지에 박혀있는 상태이다. 심지어 여러 판매자가 같은 상품을 파는 경우 상세설명 이미지 역시 동일한 경우가 많다. 아마 제품 공급처에서 전문 디자이너를 통해서 만든 이미지를 복수의 판매자에게 그대로 제공한 것일게다.

'우리나라에는 이러한 문제가 있는데 외국은 그렇지 않다'라는 분위기의 글을 쓰는 것이 참 싫다. 시각에 따라서는 그게 문제가 아니라 우리나라의 현실에 따라 최적화 된 결과일 수도 있기 때문이다. 

이러한 불편한 마음을 갖고서 이번에는 이베이를 접속해 본다. 다 그런 것은 아니지만, 이미지는 이미지요 텍스트는 텍스트이다. 잘 디자인된 아름다운 브로셔를 컴퓨터 화면에서 그대로 보듯이 나타내주지는 않으니 웹페이지 내에서 특정 단어를 찾는 것이 아주 용이하다.

당초에 설정한 제목과는 약간 멀어지더라도 하고 싶은 말을 해야 되겠다. 보기에 좋은 것(엄밀히 말하면 윗사람이 흡족해하면서 'OK'할 가능성이 높은 형식의 문서)을 만드는데 우리 스스로가 너무 길들여진 것은 아닐까? 이러한 의도가 가장 극명하게 나타나는 것은 공문서가 아닐까 싶다. 공문서는 화려함과는 거리가 멀다. 하지만 큰 글씨(나도 노안이 오다보니 이건 반갑다), 지나치게 많은 표(효과는 어느 정도 있으나 작성자에게는 부담이 된다), 짧은 포인트 위주의 개조식 문체 등. 그리고 현재 통용되는 공문서의 형식 자체도 난 마음에 들지 않는다. 컴퓨터 앞에 앉으면 이미 만들어진 HWP 문서 양식을 열어야 되는 공무원에게는 물론 선택의 여지가 없을 것이다.

최종 결재자 - 물론 돈을 지불하는 사람으로서의 정당한 권한 내의 일이라면 할 말은 없지만 - 의 마음에 들 문서를 만들 것이 아니라, 실제로 그 문서를 최종적으로 읽을 사람의 편의성을 생각하는 문서 작성을 위해 노력하는 것이 더 나을 것이다.

2017년 8월 8일 화요일

PacBio의 HDF5 raw data file을 NCBI SRA에 등록하는 요령

일루미나 장비에서 생산한 sequencing raw data(fastq file)을 SRA에 올리는 일은 하도 여러번 경험을 해서 과장을 좀 보태면 눈을 감고도(!) 할 수 있을 수준이 되었다. 반면 PacBio의 raw data를 등록하려면 약간의 요령이 필요하다. 장비에서 제공하는 데이터 파일의 구성이 다른데다가 이를 전부 다 SRA에 밀어넣을 필요가 없기 때문이다. 오늘의 포스팅에서는 이를 정리하여 보고자 한다.

먼저 PacBio의 GitHub 사이트에서 제공하는 문서 Submitting PacBio data to the SRA를 읽어보는 것도 좋을 것이다. SRA submission에 대해서 아직 개념을 잡기 어려운 상태라면 NCBI가 제공하는 공식 문서인 SRA Submission Quick Start를 먼저 정독해 보자. 다른 submission과 달리 SRA가 약간 혼동스런 이유는 아마도 제출을 위한 창구가 두 곳 존재한다는 것일지도 모르겠다. 첫번째는 submission portal을 통한 것(아마도 이것이 공식 창구에 해당할 것이다), 그리고 두번째로는 SRA submission tracking and management 웹페이지를 통한 것이다. 후자에서는 상세한 데이터의 추가와 수정 등이 가능하다. 만약 하나의 library에 대한 multiple run 결과를 제출하고자 한다면 후자의 웹사이트를 쓰는 것이 바람직할 것이다. 대신 첫번째 사이트는 metadata file을 이용하여 자료 특성을 기술한 뒤 실제 파일을 업로드하게 되어있다.

시퀀싱 센터에서는 보통 하나의 SMRT cell에 대하여 하나의 zip file로 묶은 결과물을 제공한다. 압축을 풀면 다음과 같이 두 개의 파일과 Analysis_Results라는 서브디렉토리가 생긴다. 파일 이름의 앞부분에 붙어있는 매우 긴 문자열은 하나의 SMRT cell에서 유래한 모든 파일에 대해서 동일한데 이를 여기에 일일이 쓰는 것은 번거로우므로 "RUN_ID'로 치환하였다.
RUN_ID_s1_p0.mcd.h5
RUN_ID_s1_P0.metadata.xml*
RUN_ID의 실제 사례:  m150614_005233_42244_c100830662550000001823182410291540

그러면 Analysis_Results 서브디렉토리로 내려가 보자. 여기에는 총 10개의 파일이 있다. 모든 것들을 총괄할 것처럼 보이는 .bas.h5 파일이 하나, 그리고 .bax.h5 + .subreads.fasta + .subreads.fastq 파일이 총 세 묶음 존재한다.
RUN_ID_s1_p0.1.bax.h5*
RUN_ID_s1_p0.1.subreads.fasta
RUN_ID_s1_p0.1.subreads.fastq
RUN_ID_s1_p0.2.bax.h5*
RUN_ID_s1_p0.2.subreads.fasta
RUN_ID_s1_p0.2.subreads.fastq
RUN_ID_s1_p0.3.bax.h5*
RUN_ID_s1_p0.3.subreads.fasta
RUN_ID_s1_p0.3.subreads.fastq
RUN_ID_s1_p0.bas.h5*
이렇게 많은 파일 중에서 실제로 SRA 등록에 필요한 것은 .metadata.xml, .bas.h5, 그리고 3 개의 .baxh5 파일이다(별표로 표시). 이 파일의 이름들을 다음의 SRA metadata file에서 filename, filename2, filename3...에 기재하면 된다. 5개의 파일을 하나로 묶어서 압축을 하여 .tar.gz을 만들어서 업로드해도 된다. 아마도 Illumina paired read의 제출 시에는 filename에 READS_1.fastq를, filename2에 READS_2.fastq를 지정했었을 것이다.


2017년 8월 3일 목요일

면도기 큐레이션

유성구 구즉도서관이 3개월의 리모델링을 마치고 지난 7월 26일에 재개관을 하였다. 전에는 자료실이 좁아서 빼꼭한 서가 사이에서 책을 고르기가 쉽지 않았었다. 이제는 자료실 공간도 훨씬 넓어지고 편하게 독서를 할 수 있는 책상과 의자도 많아져서 대전 시민으로서 세금을 낸 보람을 모처럼 느끼게 되었다.

휴가 기간 동안 읽으려고 고른 책 중의 하나가 바로 마이클 바스카 저/최윤영 옮김의 <큐레이션>이다. 큐레이션이라고 하면 보통 미술관 등에서 작품을 고르고 전시하는 일을 말한다. 큐레이션은 원래 '보살피다' 혹은 '돌보다'라는 뜻을 가진 라틴어 curare에서 유래했다고 한다. 그러나 현재 큐레이션은 모든 분야에서 양질의 콘텐츠를 선별, 조합하여 특별한 의미를 부여하고 가치를 재창조하는 행위를 뜻하는 것으로 확장되었다(허핑턴포스트코리아 HUFF BOOKS). 지나친 선택의 자유가 오히려 사람들에게 어려움으로 다가오는 요즘 - 오죽하면 '선택 장애'라는 말까지 나오겠는가? - 가짓수는 적더라도 잘 선별된 아이템만을 접하면 우리는 오히려 편안함을 느낀다. 이를 다른 방면으로 적용하자면 인터넷 공간에 올릴 사진과 글을 정성스럽게 다듬는 행위도 큐레이션인 것이다. 이 책에 의하면 큐레이션의 핵심 활동은 선택배치이다.

마트에 생필품을 사러 가서도 우리는 항상 선택의 어려움에 직면한다. 비슷비슷한 물건들이 왜 이렇게 많은가? 어떤 것은 용량별 단가를 같이 표시하여 선택에 도움을 주기도 한다. 그러나 관련된 물건 여럿을 함께 묶은 기획 상품(예를 들어 면도기, 교체용 면도날, 그리고 면도용 크림) 앞에서는 어쩔 도리가 없다. 도대체 무엇을 근거로 판단해야 한단 말인가?

남자에게는 면도기가 그런 존재이다. 훨씬 더 많은 선택 앞에 직면한 여성과 주부에게는 좀 미안하지만... PB 상품을 제외하면 메이저 면도기 제조사는 질레트, 도루코, 쉬크 세 곳뿐이지만 마트의 진열대 앞에서 나는 늘 좌절하고 만다. 그 이유는 다음과 같다.

  1. 교체용 면도날은 의외로 비싸다.
  2. 교체용 면도날은 한 회사에서도 여러 모델이 나오고, 포장 단위도 천차만별이다.
  3. 면도날의 호환성도 제각각이다.
  4. 면도날만 여러개 사려고 하다가 면도기 본체까지 끼워진 제품이 상대적으로 더 싸다는 현실을 발견한다.
  5. 면도기 본체는 그다지 내구성이 높지 않다. 따라서 교체용 날만 추가로 사러 왔다가 4번 현실을 발견하고 동시에 본체가 많이 낡았다는 사실에 직면하면 면도기+면도날 제품을 사야 할 것만 같은 고민에 빠진다.
  6. 3번 현실을 생각하면 쓰던 면도기 모델(혹은 제조사)에 집착할 이유가 하나도 없다. 그런데 이상하게도 다른 회사 제품에는 손이 잘 가지 않는다.
나는 그동안 우리나라에서 시장 점유율이 가장 낮은 쉬크 제품을 애용해 왔다. 울트라 - 프로텍터 - 쿼트로 - 하이드로 등 출시 순서대로 꾸준히 사용을 해 왔고, 종종 도루코의 것을 쓰기도 하였다. 질레트는 한번도 쓴 일이 없다. 마지막까지 쓰던 쉬크 하이드로의 면도날이 너무 무뎌져서 잘 들지 않는 상태가 되었지만, 새 면도날(면도기?)을 고르는 일은 결코 쉽지 않았다. 지난 일주일 동안 총 네 곳의 상점(마트 두 번, 동네 수퍼마켓 두 번)을 들른 끝에 오늘 겨우 도루코의 PACE XLII('세계최초' 6중날, 날은 2 개 포함) + PACE 7 II 면두날 2 개(이건 7중날이다!) 묶음 제품을 골랐다. 처음에는 사용하던 쉬크 하이드로에 맞는 교체용 날 묶음을 살 생각이었으나 면도기 본체의 실리콘 손잡이 부분에 슬슬 검정색 곰팡이가 피어오르는 것을 보니 본체 또한 새것으로 바꾸고 싶은 충동이 일었던 것이다. 



그러면 왜 도루코였나? 면도기 브랜드 중에서 PB 제품을 제외하면 가격이 제일 저렴하고 또 국산품 애용의 측면도 있었다. 이걸 다 쓰면 아마도 다시 쉬크로 돌아가지 않을까 싶다.

습식 면도기를 오래 쓰려면 눕힌 상태로 보관하라고 한다. 칫솔통에 그냥 세워서 꽂아두면 본체 자루의 끝부분에 물이 맺히면서 냄새가 나기 시작하고 이어서 곰팡이가 생긴다. 이런 이유로 벼려진 면도기 본체가 여럿 된다. 차라리 실리콘과 금속, 플라스틱 등의 복합재료를 쓰지 말고 그냥 금속으로만 만들면 세적하기도 쉬울텐데... 그러나 이는 제조사가 원치 않을 것이다. 교체용 면도날뿐만 아니라 본체도 이따금 새로 사지 않을 수 없는 '적당한' 만큼의 내구성을 갖는 것이 미덕일 것이다. 

안전면도에 대한 이미지 검색결과

예전에는 위 그림과 같은 안전면도기(이미지 링크)가 공중목욕탕 샤워기 앞에 쇠사슬로 매달려 걸려 있었다. 지금 생각하면 상상도 할 수 없는 일이다. 어지간히 숙련되지 않으면 얼굴을 베어 피를 보기 일쑤인 면도기를 여럿이 돌아가면서 쓰다니! 하지만 난 똑똑히 기억한다. 이보다 더 심한 일도 있었던 것을. 초등학교(70년대 당시 용어로는 국민학교)에 다니던 시절, 여러 학생이 유리 주사기 하나로 돌아가면서 예방접종을 맞지 않았던가? 

여기서 잠깐! 당시에 주사바늘을 소독이나 했었나? 지금 웹을 검색해 보면 알콜램프를 이용하여 주삿바늘을 소독했었다고 한다. 그래서 '불주사'라는 명칭이 나왔다는... 그러나 내 기억으로는 '불주사'는 특유의 불룩한 흉터를 남기던 BCG만을 가리키는 것 같았는데? 해마다 여름이 되면 공포의 대상이었던 장티푸스-콜레라-뇌염 예방주사를 맞을 때 항상 소독용 알콜램프가 따라왔었나? 아닌 것 같은데?

부여 나들이 - 백제 왕흥사(王興寺)

올해의 여름 휴가 기간에는 근처 도시를 당일치기로 둘러보면서 시간을 보내는 중이다. 이틀 전(8월 1일 화요일) 아무 계획도 없이 부여를 찾았다. 전날부터 대전지역에 내린 폭우는 이날 아침까지 이어져서 오늘도 그날 집에 있어야 할지 걱정을 하다가 내 마음을 아는지 오래지 않아 비가 그쳤다.

이맘때쯤이면 궁남지의 연꽃을 즐길 수 있으리라는 기대를 품고 가벼운 마음으로 차를 몰고 부여로 향했건만 연꽃은 이미 많이 진 상태였다. 부여서동연꽃축제도 연꽃이 한창인 시기에 맞추어 이미 7월 16일에 끝난 상태였다. 그러나 휴가철답게 사람들이 꽤 많아서 차량들 틈새에 어렵사리 주차를 해야만 했다. 연꽃 이외에도 다양한 수생식물들이 있었다. 장미와 백합 조화를 너무 많이 꽂아놓은 것(이것은 심었다고 할 수 없으므로)이 조금 아쉬웠다. 아마 밤 늦은 시간에 방문했더라면 비록 만들어진 꽃이지만 요즘 유행인 야간 조명에 맞추어서 꽤 멋있는 장면을 연출했을 것으로 믿는다.


궁남지의 전체적인 모습을 구글 지도를 통해서 알아보았다. 포룡정이 있는 중앙의 연못은 직경이 약 140미터 정도이다. 울창한 연밭 사이를 거닐다보면 미로와 같은 구조 사이에 길을 잃기 쉽다. 그럴땐 고개를 들고 주변을 둘러보면 포룡정과 높다란 전통 그네의 기둥을 발견할 것이다.

https://www.google.co.kr/maps/@36.2692759,126.9092678,16.5z


구드래 음식특화거리에 위치한 <구드래돌쌈밥>에서 점심을 먹었다. 잘 알려진 관광지 식당이라서 늘 손님이 많다. 손님이 많으니 아무래도 번잡함은 피할 수 없다. 우리 가족은 이 식당에 늘 평균 이상의 점수를 주는 편이다. 그러나 관광지 식당의 특성상 사람마다 이 식당에 대한 평은 좀 엇갈린다.  주문 착오로 약간 비싼 돌솥밥을 먹게 된 것이 오히려 좋았다.

다음으로 향한 곳은 국립부여박물관. 몇년 전 아들과 함께 이곳을 찾았던 그날은 우산도 없이 폭우를 만나서 홀딱 젖은 채로 다음 목적지로 향해야 했었다. 당시의 코스는 아마 궁남지-부여박물관-백제군사박물관과 계백묘(논산)이었던 것으로 기억한다.

국립부여박물관 기획전시관에서는 특별전 <왕흥사 - 청유년에 창왕을 다시 만나다>이 열리고 있었다. 왕흥사는 백마강변에 있었던 절로 삼국사기와 삼국사기에 여러차례 기록된 절이라고 한다. 2000년부터 여러 차례 발굴조사가 시작되어 명문이 새겨진 기와, 한 쌍의 치미, 사리기 등 다채로운 유물이 발견되었다. 이 절은 백제 27대 왕인 창왕(위덕왕)이  서기 577년 창건하여 고려시대까지 이어져 왔다. 창왕은 사비로 천도를 하고 백제의 중흥을 이룬 한 성왕의 아들이기도 하다. 일본으로 건너가 쇼토쿠 태자의 스승이 된 아좌태자가 바로 창왕의 아들이다.


왕흥사터에서 발견된 유물, 사람 얼굴 모양이 새겨진 상태이다.



사리장엄에 새겨진 명문에 의하면 왕흥사는 위덕왕이 죽은 왕자를 위해 세운 절이라고 한다. 우리나라에서 가장 오래되고 완전한 상태의 사리기 일체가 목탑터에서 발굴된 것도 놀라운 일이지만, 역사서에는 자세히 나오지 않았던 왕흥사의 창건 연유까지 밝혀진 것도 더욱 놀랍다. 왕궁이 위치한 부소산성에서 강을 건넌 곳에 왕흥사를 지은 것도 늘 아들을 그리워하던 아버지 위덕왕의 애틋한 마음이 고스란히 담긴 것이 아닐까. 세상에서 가장 큰 슬픔은 자식을 잃은 부모의 슬픔일 것이다. 부모님을 뒤로하고 2012년 1월 갑작스레 세상을 떠난 처제를 생각하면 그 커다란 슬픔을 아주 조금은 이해할 수 있을 것 같다.

이제 터만 남은 왕흥사는 우리나라의 문화재 발굴조사 역사상으로도 큰 의미가 있겠지만, 개인적으로는 박물관 전시 관람 후 이렇게 숙연한 마음을 갖게 된 것은 처음이다.

2017년 7월 31일 월요일

영화 덩케르크 관람기

요즘 화제가 되는 영화는 단연 <군함도>이다. 스크린 독과점이라는 불편한 사실이 엄연히 존재하지만, 비교적 최근까지 세계에 잘 알려지지 않았던 일제강점기의 비인간적 강제징용을 전세계에 알리려는 노력은 분명히 중요한 일이다. 그러한 측면에서는 이렇게 많은 관객이 이 영화를 선택한다는 것은 제작자의 입장에서는 분명히 성공이라 할 수 있다. 제작비가 워낙 많이 들어서 누적관객수가 손익분기점을 넘어가려면 아직 좀 더 기다려야 할 것이다.

 출처: 나무위키
그러는 사이에 영화 <덩케르크>가 상영되는 스크린은 확 줄어들었다('됭케르크'라고 표기하는 것이 맞다고 한다). 군함도가 아직 개봉하기 전의 주말에 이 영화를 볼 수 있었던 것이 다행이다. 전쟁을 소재로 하는 영화이지만 엄밀히 말하면 열흘이 채 되지 않는 기간 동안 34만명이나 되는 영국군을 본토로 철수시키는 극적인 사건을 생존과 구출이라는 측면에서 마치 다큐멘터리 영화와 같은 시각으로 그려내었다.

내가 본 전쟁영화 중에서 기억에 남는 것이 무엇이 있나? 전투 장면의 세밀함과 스케일 측면에서 항상 걸작으로 취급받는 '라인언 일병 구하기(1998)'를 언급하지 않을 수가 없는데 이 영화가 벌써 개봉된지 20년 가까운 시간이 흘렀다. 극장에서 보지 못한 것은 매우 아쉽다. 최근 영화로는  '퓨리(2014)'  정도가 있겠다. 우연히 EBS 방송을 통해 보았던 스티브 매퀸 주연의 '샌드 페블스(산파블로라고 해야 정확할까? 1966)', '머피의 전쟁(1971)'도 무척 인상깊었다.

크리스토퍼 놀란 감독은 우리나라에서도 인기가 많아서 일단은 믿고 보는 사람도 많은 반면 이에 대한 반감도 적지 않아서 이른바 '빠'와 '까'기 공존하는 것 같다. 우리나라에서는 '빠'가 조금 더 많다고나 할까? 나는 놀란의 작품을 아직 골고루 보지는 못하였다. '메멘토'도 비교적 최근에 보았고, '다크 나이트'와 '인터스텔라' 그리고 이번의 '덩케르크'기 전부이다. 나는 영화를 그렇게 분석적으로 보는 편은 아니지만 '인터스텔라'에서 느꼈던 음악이나 카메라 시점 등의 분위기가 '덩케르크'에서도 많이 느껴졌다.

전쟁 속의 역사적 사건을 모티브로 삼았다고 해서 '라이언 일병 구하기'를 비교 대상으로 삼아서는 곤란하다. 이 영화는 사실적이고 현란란 전투신이 핵심은 아니니까. 전투에 지친 두 눈에서 이미 불타는 투지와 용맹함은 사라진지 오래인 군인들은 오로지 살아서 조국으로 돌아가기 위해 처절한 '생존 투쟁'을 벌인다. 살기 위해서 비겁함과 부끄러움은 감내해야만 했다. 자신들을 실어갈 구축함을 넓은 해변가에서 하염없이 기다리지만 독일군의 공격으로 희생자는 늘어만 간다. 그러나 위험을 무릅쓰고 영국 민간인들이 저마다 작은 배를 이끌고 덩케르크 해안에 도달했을때 감동을 하지 않은 관객은 아마 없었을 것이다. 같이 출격한 동료를 모두 잃고 연료까지 다 떨어졌지만 끝까지 적기를 격추하여 영국군들의 구출에 큰 도움을 주고 결국 당당히 독일군에 잡히는 스핏파이어 조종사, 영국군을 성공적으로 철수시키고도 해안에 남아서 프랑스군을 돕겠다고 선언한 지휘관, 큰아들을 전쟁에서 잃고도 다른 군인들을 구하기 위해 온갖 고생을 하면서 기어이 덩케르크 해안까지 온 뱃주인...

살아 돌아온 군인들은 이기고 돌아오지 못함에 부끄러워했지만 영국 시민들은 이들을 배척하지 않고 따뜻하게 맞아주었다. 이들은 결국 전열을 가다듬고 다시 유럽 대륙으로 진격하는 밑거름이 되었다고 한다.

덩케르크가 영국판 애국주의 영화인가? 그럴 수도 있다. 반면 서사를 포기하고 스펙터클로만 승부를 했다는 평도 있었다. 대영제국의 기치 아래 용맹하게 싸운 인도군의 활약이 배제되었다는 의견도 들린다. 그러나 나에게는 충분히 볼 가치가 있는 영화였다.

2017년 7월 30일 일요일

멋진 도시, 전주

전주 한옥마을이 연간 천만명 가까운 관광객이 찾는 명소가 되었다. 개선할 점, 부작용 등을 논하기에 앞어서 젊은 사람들이 자발적으로 이곳에 구름과 같이 몰려든다는 것은 일단 긍정적으로 볼 일이다. 2016년도 집계에 의하면 965만명이 전주를 찾았고, 이 중에서 무려 330만명이 수도권에서 온 사람들이다. 물론 수도권에 대한민국의 가장 많은 사람이 살지만, 수도권에서 전주까지 접근하는 것이 썩 쉽지는 않은 상황에서 이렇게 많은 사람이 찾는다는 것은 반가운 일이다. 바르셀로나 람블라 거리보다 못할 것이 무엇인가?

대전에 사는 우리 식구들은 전주를 자주 찾는 편이다. 단순히 한옥마을의 북적거림(마치 판타지 사극 속에 들어온 느낌)과 다채로운 길거리 음식이 좋아서, 혹은 전주국제영화제를 즐기기 위해. 실제로 영화제에서 표를 구입하여 영화를 본 것은 올해가 처음이다. 방문 횟수가 잦아지면서 이제는 한옥마을에서만 머물지 않고 전주의 아름다음과 멋스러움을 찾아서 행동 반경을 넓히고 있다.

어제는 국립전주박물관과 바로 곁에 있는 전주역사박물관에서 일정을 시작하였다. 한옥마을 근처의 동학혁명기념관은 예전에 들렀었지만 박물관은 처음이었다. 그리 넓지 않은 규모이지만 옥외에 이전 복원한 각종 무덤과 석물이 눈길을 끌었다. 특별전시로서 침몰선에 실렸던 고려 사람들의 꿈을 재미있게 보았다. 국립중앙박물관에서 상설전시되는 신안 해저유물과  목포의 국립해양문화재연구소 목포해양유물전시관에서 만난 고려선 말고도 이런 유물이 있는 줄은 몰랐다. 고려시대에 남도의 귀한 물건을 싣고 개경으로 향하던 배가 난파되어 청자를 비롯한 갖가지 유물을 바닷속에 남기게 된 것이다. 고군산군도는 당시 서해안 바닷길의 중요한 요충지였다고 한다. 고려때 우리나라를 들른 송나라 사신이 남긴 기록에 의하면 고군산군도에 숭산행궁이 있었다고 하고 최근 발굴조사에 의해 최고급 청자편과 건물터 등이 발견되었다고 하니 정말 이곳이 중요한 곳이었던 모양이다. 고려 임금님의 여름 휴양지? 개경에서 멀리 군산 앞바다까지 행차를 하셨던 말인가?




국립전주박물관 바로 곁에는 전주역사박물관이 자리잡고 있다. 전체 5층 규모이지만 층고가 높지 않아서 5층부터 걸어내려오면서 편하게 관람을 하였다.


전주시에서는 2016년 전주의 정신 '꽃심', 즉 대동, 풍류, 올곧음 그리고 창신의 4대 정신을 대내외에 선포하였다고 한다. 이런 종류의 사업을 얼핏 관 주도의 재미없는 일로 여기기 쉬운데, 천년 역사의 도시 전주가 하는 일은 역시 남다르게 느껴졌다.


차를 몰고 향한 다음 목적지는 당연히 한옥마을이다. 노상 주차장까지 이미 차량이 꽉 들어차 있어서 안내표지판을 보고 치명자산 성지 근처의 임시주차장으로 향했다. 임시주차장은 당연히 무료이고, 한옥마을까지 무료 셔틀이 운영되고 있어서 편리하게 이를 이용하였다. 관광객들을 배려하는 전주시의 정책에 감사를...

우리 가족이 즐겨찾는 현대옥에서 오징어 튀김과 국밥을 맛있게 먹고 인근을 돌아다녔다. 이곳은 한옥마을인가, 한복마을인가? 제대로 된 고증을 거치지 않은 한복을 마구잡이로 빌려준다는 비판이 없지는 않지만 이제는 명절때에도 잘 입지 않는 한복을 이처럼 일년내내 대중화시킨 한옥마을의 공로를 인정하지 않을 수 없다. 그리고 길거리 음식 냄새와 쓰레기로 정신이 없었던 이삼년전과 비교하자면 분명히 질서가 많이 잡히고 차분해진 것을 느끼게 된다.  전주시와 시민, 상인들 모두의 노력에 의해 이런 성과가 조금씩 나타난 것이라 생각된다.



마지막으로 들른 곳은 TV로도 소개가 많이 되어 잘 알려진 남부시장 내의 청년몰이다. 생존을 위해 일에 매몰되지 말고 삶의 여유를 느낄만큼 적당히 벌고 아주 잘 살자는 표어가 이색적이었다. 휴가철이라 그런지 문을 닫은 가게가 많은 것이 아쉬웠다. 다음에는 야시장을 제대로 즐길 수 있는 시간에 방문을 해야 되겠다.







전주는 900년 견훤이 후백제를 세우면서 정한 도읍지라고 한다. 지난 금요일 tvN의 인기프로 '알쓸신잡' 마지막회에서 만약 과거로 돌아가 같이 식사를 하고 싶은 사람을 꼽아보라는 사회자 유희열의 질문에 소설가 김영하가 위화도 회군을 하던 당시의 조선 태조 이성계를 만나고 싶다고 하였다. 비록 이성계가 전주에서 나거나 자란 것은 아니지만 전주와 이성계는 뗄래야 뗄 수가 없는 곳이다. 태조의 어진을 모신 경기전이 전주에 있고, 이성계가 1380년 운봉 황산(현재 남원시 근방)에서 왜구를 무찌르고 자신의 고조부가 살던 곳에 드러 축하잔치를 연 곳이 바로 오목대가 아닌가. 황산대첩은 조선 건국으로 이어지는 매우 의미가 깊은 사건이었다.

전주 방문을 계기로 견훤과 태조 이성계에 대한 관심이 갑자기 고조되었다. 하나 더 추가하자면 동학 혁멍까지. 이럴 줄 알았으면 사극이라도 좀 열심히 시청할 것을...

미처 다루지 못한 전주 관련 글감: 한벽굴(한벽터널), 한벽당, 아중역 

2017년 7월 28일 금요일

지나친 높임말

나는 우리나라의 지나친 서열 중심 문화가 자유롭고 창의로운 발상을 막는다고 믿는 사람이다. 유교 문화가 과연 계속 우리가 지켜나가야 할 가치있는 유산인가? 여기에는 많은 논란이 있을 것이다. 유교 문화가 발상지에서 점점 퍼져나가면서 동아시아의 대륙 끝인 우리나라에 와서 점점 형식화되고 극단으로 치달았다고 나는 생각한다. 이것이 오히려 바다를 건너 일본으로 건너가서 유연함을 얻었다고나 할까?

'너 몇살이야?'
'어디다 대고 반말이야?'
'나는 빠른 ##년 생인데...'

처음 만나는 사람끼리 생년월일을 서로 공개하여 서열을 정하는 일, 강연이나 교육 자리에 가면 뒷자리부터 사람이 채워지는 일, 질문이 있느냐고 물으면 다들 잠잠한 일, 이것 전부가 우리 고유의 문화에서 왔다고 생각한다. 우리사회의 전통적인 인간관계에서는 이것이 질서요 능률이었다. 그러나 수평적 관계에서 자유롭게 토론하는 분위기의 사회가 집단 지성의 힘을 발휘하고 문제를 극복하는 창의적인 발상을 돕는 요즘, 이를 조금씩 극복해 나가야 하지 않을까? 한번 생각해 보자. 우리말에 진정한 2인칭 대명사 또는 호칭이 존재하는지를. '너'란 말을 대신하여 쓸 수 있는 대명사가 뭐가 있는가? 바로 앞에 있는 사람을 높고 '갑돌씨는.. 을숙이는...'이라고 3인칭적인 표현으로 에둘러 부르는 경우는 있다. 하지만 '너'를 과연 보편적으로 쓸 수 있는가? 아주 친한 동갑나기 친구나 자녀, 동생이 아니고서 대화 중에 '너'를 쓸 수는 없다. '너'라고 불렀다고 싸움이 나는 일이 아주 흔한 것이 우리 사회 아닌가? 사회를 이루는 가장 기본적인 단위는 나와 너다. 눈앞의 사람과 대화를 하면서 상호 존중을 하면서 평등하게 부를 수 있는 2인칭 대명사가 없다는 것은 비극이다.

참고: 나무위키 - 한국의 존비어 문화

다음으로는 지나친 높임말의 잘못된 사용에 대해서 논해보자.

'천원이세요'
'이렇게 하시면 되세요'

이것 역시 잘못된 존댓말의 사례이다. 이것이 전부가 아니다. 언젠가부터 다음과 같은 표현이 너무 많이 보여서 불편함을 느끼게 된다.

'내일 방문 드리고자..'

'드리다'는 (1) '주다'의 존대말이기도 하고 92) 존대의 뜻을 나타내는 보조용언이기도 하다. 이런 관점에서 보면 '방문 드린다'는 말은 맞지 않는다. '방문'을 주겠다는 뜻은 아니니 (1)의 용법도 아니요, 방문이라는 명사가 용언은 아니니 (2)의 활용법도 아니다.  '내일 방문하겠습니다'라고 말하는 것조차 예의를 다 못갖춘 말이라는 생각이 든다면 차라리 '내일 찾아뵙겠습니다' 정도가 더 나을 것이다.

이하는 나중에 추가한 글이다.

다른 사례를 좀 더 찾아보았다. '추천드린다'라는 표현도 요즘 종종 보인다. 종합해 본다면 우리말에 널리 있는 '~한다'를 '~드린다'가 조금씩 대체해 나간다는 생각이 들었다. 원래 '~해 드린다'가 가장 정확한 용법일 것이다. 따라서 이 표현은 '추천합니다' 혹은 '추천해 드립니다' 정도가 가장 적당하다.  그런데 어느새 '해'가 빠져버린 것이다. 왜 이런 과도한 공대 표현이 많아진 것일까? 내 생각은 이렇다. 현대 사회에서 1:1로 사람을 직접 대면하는 관계는 현저히 줄어든 반면(커피숍 등에서 주문을 받고 계산을 치르는 직원과 대면하는 것은 예외) 인터넷이나 소셜 미디어를 통해 불특정 다수와 예전과는 다른 방식의 대화를 하는 일이 크게 늘면서 어떤 형식을 통해서 예절을 갖추려는 노력이 이렇게 표현된 것이 아닐까? 즉, '이런 표현(상투적인, 혹은 심지어 잘못된?)만 붙이면 높임말이 되는거야'라는 의도가 표출된 것일지도 모른다. 예의를 지킨다는 측면에서는 바람직하겠지만, 어떻게 보면 예의라는 이름으로 장식된 마음의 거리(경계, 혹은 벽)를 미리 두고서 상대를 대하려는 심리가 작동한 것이 아닐까?

2017년 7월 23일 일요일

요즘 TV 프로그램 유감

곳곳에 설치된 카메라가 연예인의 일상을 촬영한다. 몰래 설치한 카메라가 아니니 대본 없이 자연스런 행동이 나올 것을 기대하는 것은 무리이다. 더군다나 찍히는 대상은 연예인 아닌가? 이를 적절히 편집하고 요란한 효과음과 자막을 입힌다(1). 그 다음 촬영된 연예인의 가족과 같은 관계자가 (1)을 둘러보면서 한마디씩 거들면서 온갖 리액션을 한다(2). 최종적으로 방송되는 결과물은 (1)과 (2)가 적절히 뒤섞인 혼합물이다.

오늘은 이런 류의 프로그램을 보는 아내에게 제발 그런 것좀 보지 말라고 짜증을 냈다. 마치 연예인들의 자연스런 일상을 시청자들이 '엿보기'하는 것처럼 짜여진 프로그램이지만 과연 여기에 진실이 얼마나 숨어있을까? 도저히 일상 생활이라 보기 어려운 기행이 나날이 반복된다. 출연자가 작가 및 PD와 같이 모여서 이번 회에서는 어떤 새로운 모습을 영상으로 담을지 회의를 하지 않고서 도저히 저런 내용이 나오기 어렵다는 생각이 점점 더 많이 든다.

한술 더 떠서 이제는 연예인과 유명인들의 자제가 나오는 프로그램까지 등장하였다. 20대는 훌쩍 넘었을 출연자들이 네팔로 가서 예전 같으면 충분히 혼자서 감당할만한 일을 하지 못해 쩔쩔매고, 이를 본 부모는 아이들이 불쌍하다며 눈물이 글썽거릴 지경으로 안타까와한다. 연예인도 이제는 대물림하는 시대이다. 결국 연예인의 자녀 중 연예인 지망생들이 카메라에 잡힐 기회가 더 많은 것이다.

세트장이 아닌 집이나 여행지를 배경삼아 결국은 만들어진 행동, 팔릴만한 '연기'를 하고 있다고밖에는 말할 수 없다. 시청자들에게는 이를 진실로 믿게 만들면서.

2017년 7월 21일 금요일

유성 금호고속 버스 터미널에서 잠시 상념에 젖다

서울에 친구를 만나러 갔다가 돌아오는 아내를 맞으러 퇴근 후 유성 금호고속 터미널로 향했다. 버스 전용 차로의 위력인가? 금요일 퇴근 시간임에도 불구하고 정확히 두 시간이 걸려서 버스가 도착하였다. 오히려 직장에서 유성쪽으로 나가는 시내 교통이 더 복잡해서 아내의 도착시간에 맞추지 못할까 걱정을 했다. 이비가 짬뽕 본점에 들러 혼자 저녁을 먹고 터미널 주차장에 차를 세웠다. 차량 자동 인식 시스템이 갖추어지면서 주차 요금이 15분당 500원으로 올랐다. 서울에서 오후 6시 15분, 20분, 30분에 출발한 차들이 줄줄이 도착하고 있었다. 서울과 유성을 오가는 승객이 정말 많은 모양이다.


내가 고향인 서울을 떠나 대전에서 생활을 하게 된지도 이제 반평생 이상의 시간이 흘렀다. 대전은 '충청남도' 대전시에서 이제는 인구가 150만명을 넘는 어엿한 광역시로 승격을 하였고 현대적인 건물과 아파트가 도시 전역을 뒤덮게 되었지만 유성 5일장이 열리는 장대동 근처는 다른 지역과 비교하여 그다지 많이 변하지 않았다.

주말을 서울에서 보내고 다시 버스를 타고 일요일 저녁무렵 대전에 돌아올 때면 왜 그렇게 마음이 허전했는지... 1987년 당시에는 돈 3천원이면 서울 집에 갈 수 있었다. 30분 간격으로 다녔던 호남선 서울-유성 광주고속(현재 금호고속) 간 고속버스비는 2,270원, 그리고 강남 고속버스 터미널에서 이문동 집까지 가는 좌석버스비가 500원이었다. 유성에서 출발한 차가 도착을 해야 청소를 하고 다시 하행선 배차를 할텐데, 일요일 저녁이면 종종 길이 막혀서 차가 늦게 도착하고 덩달아서 유성으로 내려가는 버스의 출발도 늦어지고는 하였다. 결혼을 하고 대전을 본거지로 삼게 되면서 이 터미널을 이용할 일은 현저히 줄어들었다. 요즘은 서울 출장을 갈 때 주로 KTX를 이용하는 편이다.

이제 유성 금호고속 터미널은 나에게는 더 이상 이별의 시작을 알리는 장소는 아니다. 과거의 비좁던 일반버스에 비해 지금은 훨씬 쾌적한(그러나 비싼) 우등 고속이 훨씬 많이 배차되고 있고, 터미널 건물도 신축되어서 이용객들에게 편의를 제공하고 있다. 그래도 어둠이 깔린 무렵 오랜만에 버스 터미널에 나와서 시간을 보내고 있으려니 잠시 외로운 마음이 밀려왔다. 이별이 아니라 만남을 위해 나간 것임에도 불구하고.

2017년 7월 18일 화요일

감동의 소프트웨어 circlator

이전 포스팅:  Circlator: 세균 유전체 서열을 원형으로 만들기

링크를 찾느라 다시 글을 읽는 도중 제목과 본문에서 잘못된 철자를 발견하였다. 이 프로그램의 이름은 순환을 시킨다는 뜻의 circulator가 아니라 원형을 만든다는 신조어인 circlator였다. 뒤늦게 원본 글을 수정하였지만 글의 주소 및 Google+에 자동 공유된 글 발췌본은 고칠 수가 없다.

Circlator의 주된 기능은 원형 replicon에서 유래한 contig로서 양 끝이 이미 중복되거나, 혹은 추가적인 assembly를 통해서 메워질 수 있는 약간의 gap을 해결하는 것이다. 그런데 다음 그림의 (C)에 해당하는 기능도 주목할만하다. read의 길이가 plasmid의 길이를 훨씬 상회하면서 결과적으로는 plasmid의 서열이 반복되는 비정상적인 길이의 contig가 만들어지는 일이 있는데, 이를 정확한 구조로 정리해 주는 것이다.

Genome Biology201516:294
DOI: 10.1186/s13059-015-0849-0 (그림 1)
CLC Genomics Workbench의 유료 플러그인 "Genome Finishing Module"에서 PacBio long read 데이터를 교정/조립/이를 이용한 contig 연결 등이 가능하므로 가끔 이 기능을 사용하고는 하였다. 그러나 circlator 수준으로 원형 contig의 말단 중복을 제거하고 심지어는 dnaA gene 위치를 기준으로 재조정까지 자동적으로 해 주지는 못한다. 설치와 사용법 역시 매우 간단하여 감탄에 감탄을 거듭하고 있다. 영국의 Sanger Institute가 제공하는 미생물 유전체 데이터 처리용 소프트웨어 중에서 Artemis와 더불어 어쩌면 가장 유용하게 쓸 프로그램의 하나가 될지도 모르겠다. 2015년에 나온 유용한 소프트웨어를 이제 접하게 된 것이 안타까울 따름이다.

시퀀싱 데이터는 과거의 일회적으로 만들어졌지만 새롭게 쏟아져 나오는 tool을 활용하여 분석하면 더 나은 결과를 얻는 일이 종종 벌어진다. 더욱 재미있는 현실은 내 데이터를 주무르다가 새롭고 유용한 도구를 발견하는 것이 아니라, 외부에서 의뢰한 데이터를 분석하면서 오히려 더욱 열심히 새 도구를 찾게 되고 이것이 오히려 발전의 기회가 된다는 것이다. 그러니 더욱 감사할 일이 아닌가?

[수정 사항]

Circlator가 하나로 만들지 못한 염색체를 CLC의 Genome Finishing Module에서 성공적으로 재구성하였다. PacBio long read correction 방법 및 연결 방법이 다르니 그럴 수 있다. 물론 마무리는 다시 circlator로 하였다. 상호 보완적으로 쓰일 수 있음을 염두에 두도록 하자.

2017년 7월 17일 월요일

기내에서 본 영화 세 편

외국으로 떠나는 비행기 안에서 시간을 때우기에 가장 좋은 일은 영화를 보는 것이다. 특히 기내에서 잠을 잘 이루지 못하는 편인 나는 영화를 즐겨보고는 한다. 이번에 FEMS 2017 참석을 위해 인천-바르셀로나를 왕복하면서 총 세 편의 영화를 보았다. 귀국하는 비행기는 현지 시간으로 밤 늦게 출발하였기에 몇 번에 걸친 쪽잠을 자는데에는 성공하였다.

우연의 일치였지만 이번에 본 영화는 단순한 오락 영화가 아니라 전부 묵직한 메시지를 전하는 것들이었다. 내가 안고 있는 개인적인 고민 및 우리 사회가 처한 현실과도 잘 맞아떨어지는 그런 의미있는 영화를 본 셈이다.

첫번째 영화 히든 피겨스. 유색인종에 대한 인종차별이 극심하던 1960년대(게다가 여성에 대한 차별까지), NASA에서 근무한 세 명의 흑인 여성의 실화를 바탕으로 만든 영화이다. 각자가 처한 환경은 조금씩 달랐지만 저마다의 방법으로 차별을 극복하고 조직 내에서 꼭 필요한 과학기술자가 되기 위하여 노력하는 모습이 너무나 감동적이었다. 스스로의 운명을 단호하게 개척해 나간다면 면에서 그들은 진정한 리더였다. 나는 요즘 진정한 리더십이 무엇인가에 대한 고민을 많이 하고 있다. 직장 조직 내에서의 내 형편을 아는 사람은 나의 이러한 고민이 의아하게 느껴질지도 모른다. 그러나 반드시 부하 직원을 거느리고 상급자로서 무슨 직함을 갖고 있어야만 리더가 되는 것이 아니다. 큰 꿈을 가지고 어려움을 극복해 나가면서 능동적으로 삶을 개척해 나가고, 이러한 모습이 다른 사람에게 긍정적인 영향을 미친다면 그것이 곧 리더 아니겠는가? 

두번째 영화 파운더. 패스트푸드 프랜차이즈의 대명사로 여겨지는 맥도날드 왕국이 만들어지는 과정을 그려나간 영화이다. 1951년생인 마이클 키튼(현재 65세)이 52세의 세일즈맨 레이 크록 역할을 하는 것은 약간 아쉬웠다. 아무리 분장을 잘 했어도 세월의 흔적이 얼굴에서 느껴지니 말이다. 패스트푸드점의 핵심 아이디어를 낸 것은 맥도날드 형제였지만 그들은 몇 번의 시행착오 끝에 사업을 더욱 확장하지는 않기로 마음을 먹고 있었다. 그들은 잘 팔리는 음식으로 매뉴를 단순화하여 질 좋은 제품을 빠른 시간에 내놓는 것에만 집중하며 외길을 걸어온 것이다. 크록은 끈질긴 설득 끝에 기어코 프랜차이즈 사업권을 따냈으며 가맹점주로부터 수익금의 일정 비율(당시 1.5%)를 받는 것에 만족하지 않고 일종의 부동산 임대업으로 사업의 구조를 근본적으로 변화시켰다. 즉 본사에서 매장을 차릴 땅을 구입한 뒤 점주에게 임대함으로써 계약이 지속되는한 수익을 계속 발생시키는 것이었다. 이 영화에서 인간적인 면이나 도덕적인 면은 추구해야 할 가치에서 약간 벗어나 있는듯하다. 결국 맥도날드사의 '파운더'로 기억되는 것은 크록이지 맥도날드 형제가 아니었다. 성장하지 않는 기업은 결국 도태되어야만 할 것인가? 많은 것을 생각하게 하는 영화였다.

세번째 영화 나, 다니엘 블레이크. 상영 시간은 100분에 불과한 짧은 영화지만 너무나 '능률화'된 영국 복지 시스템의 틈바구니에서 철저히 소외되어 급기야는 사회적 살인과 다를바없는 죽음을 맞는 서민의 힘겨운 삶을 그렸다. 이것이 2016년 현재 영국 사회의 모습이라니 충격을 금할 수 없었다. 한국 사회는 이것과 무엇이 다른가? 복지 시스템을 필요로 하는 사람들은 전부 노력이 부족하여 도태되어야만 하는 짐짝과 같은 사람들일까? 돈 많은 사람들이 낸 세금에 의존하는 비생산적인 사람들인가? 우리는 나 혼자만 잘 되면 되는 사회, 약자에 대한 배려나 연대라는 가치에는 도무지 관심이 없고 각자 알아서 생존하기 위해 발버둥치는 사회의 나락으로 점차 떨어지고 있는 것은 아닐까?

2017년 7월 14일 금요일

스페인 출장을 마치며(FEMS 2017)

7월 들어서는 도통 블로그에 글을 쓰지 못하였다. 스페인 발렌시아에서 열린 유럽 미생물학회연합(FEMS) 학회에 참석하느라 일주일 넘게 국외에 있었기 때문이다. 노트북 컴퓨터와 대여한 휴대용 와이파이기기를 가져왔으나 바르셀로나에서는 매우 원활히 인터넷 접속이 된 반면 학회 개최지인 발렌시아에서는 도무지 제대로 신호를 잡지 못하였다. 모든 일정을 마치고 바르셀로나로 돌아오니 다시 인터넷이 연결되었다. 오랜만에 컴퓨터를 꺼내어 글을 쓰는 중이다.

미국의 ASM에 비교할 바는 아니지만 FEMS 역시 상당히 규모가 큰 행사라서 예닐곱개의 학술 세션이 동시에 진행된다. 따라서 듣고 싶은 심포지엄이 동시에 열리면 어느 하나만을 골라야 하는 아쉬움이 따른다. 이번에는 내가 속한 센터의 중점 연구분야와 가장 관계가 깊은 antimicrobial resistance에 대한 발표를 중심으로 강연장을 찾아다녔다. 2년전 네덜란드 마스트리히트에서 열렸던 FEMS 학회와 마찬가지로 현대 미생물학은 host-microbe interaction, microbiome, antimicrobial resistance and persistence, metagenomics 등이 주류가 됨을 확실히 느낄 수 있었다. 물론 white biotechnology와 synthetic biology 역시 무시할 수 없다. 이번 학회에서는 요즘 대단히 관심을 불러일으키는 CRISPR-Cas9 기술에 대한 별도의 세션도 마련되었다.


다만 한가지 아쉬운 점은 한국사람들이 너무 많이 참석했다는 점이다. 참가국에 제한을 두고 있지 않다 하더라도 엄밀히 말하자면 FEMS Comgress는 "European microbioloist"의 학술행사인 것이다. 개최국인 스페인에서 가장 많이 참여한 것은 당연하다. 그런데 연구 수준이나 인구 규모를 감안하더라도 일본이나 중국에 비해서 월등히 많은 한국인이 참여한 것은 적절하지 못하다. 만약 단 몇명의 한국인이라도 공식으로 심포지움에 초청이 되어 구두발표를 했다면 이러한 부끄러움은 덜했을 것이다. 이렇게 많은 한국인들이 지구 반대편에서 열리는 유럽인들의 학술행사에 단지 포스터 발표만을 위해서 참석했다는 것은 이번 행사가 스페인이라는 유명 관광국가에서 열렸기 때문은 아니었을까?

나 역시 포스터를 전시를 겸하여 먼 출장길을 떠나온 사람으로서 같은 부끄러움을 느낀다. 그러나 학회 개막 강연부터 마지막날까지 어느 하다도 거르지 않고 꼼꼼하게 모든 강연을 듣고 메모와 사진촬영을 해 가면서 정말 알뜰하게 시간을 보내기 위해서 애를 썼다. 그나마 다행인 것은 제출된 포스터 초록 중 우수한 것을 선발하여 짧은 시간이나마 직접 발표를 하는 poster presenttion 시간을 제공하였는데, 이 중에 한국인이 몇 명은 포함되었다는 것이다. 

한국인 연구자들이 학회에 참석하여 제대로 일정에 집중하지 않는다는 것은 어제 오늘의 일이 아니다. 더구나 학회가 열리는 곳이 유명 관광지라면 이 문제는 더욱 심하다. 만약 내가 여기에서 보고 느낀 것을 정말 솔직하게 글로 기록한다면 앞으로 국외 학술대회는 최소한 구두발표를 하는 것으로 초청되어야만 출장이 허용되는 것으로 강화되는 근거가 될까봐 더 이상 자세하게는 쓰지 못하였다. 하지만 우리 모두가 진지하게 고민하고 반성을 해야 할 것이다.  

발렌시아 소로야 역. 바르셀로나까지는 Euromed로 3시간 정도 걸린다.
많은 고민거리와 도전과제를 남긴 출장도 이렇게 끝이 나고 있다. 출장 보고서를 쓰려면 또 고생을 해야 할 것 같다. 메모한 자료를 언제 다 정리한담...





2017년 7월 5일 수요일

Dell PowerVault MD1200에 파일 옮기기

올해 야심차게 구입한 Dell PowerVault MD1200 DAS(Direct Attached Storage)에 파일들을 입주(?)시키는 중이다. rsync 명령어를 사용하여 매우 게으른 파일 전송을 하고 있다. 벌써 며칠째 복사를 하는지 모르겠다. 이것도 병렬로 진행하면 조금 빠르게 복사되었을지도 모른다. 파일 소스와 DAS가 서로 다른 건물에 떨어져 있어서 그런 것인지... 비록 낡은 장비이지만 Dell PowerEdge R910 서버도 이제 DAS라는 제대로 된 식구를 만난듯하다.
출처: http://www.dell.com/ae/business/p/powervault-md1200/pd (MD1200)
시놀로지 NAS에 이어서 이제 DAS를 처음으로 경험해 본다. 파일 전송이 끝나면 NAS의 HDD는 6 TB짜리로 교체할 예정이다. NAS는 이더넷에 물려서 사용하는 대용량 저장장치라고 한다면, DAS는 특정 서버에 인터페이스 카드를 통해서 직접적으로 접속하여(=direct attached) 종속적으로 사용하는 대용량 저장장치다. 따라서 직접 연결된 서버 입장에서는 매우 빠른 속도로 파일 접근이 가능하다. 외부의 서버에서는 NFS를 통해서 접근을 하면 된다. NAS는 웹 브라우저를 통해서 관리를 하면 된다.

서버 전원을 내리고 켤 때 특별히 해 줄 일도 없다.

나의 짧은 경험으로는 SGI 서버의 외양이 가장 아름다왔다. Dell은 단순하면서도 현대적인 이미지를 풍긴다. 반면 HP는... 마치 벽지를 바르지 않은 방, 페인트를 칠하지 않은 집과 같은 느낌이다. 서버를 겉모습으로 평가한다니 정말 우스운 일이지만. 게대가 항상 서버실에 두고 사용하니 아무리 모습이 미려해도 자주 만날 기회가 없지 않은가?

대학원때 잠시 접했던 SGI Indy 워크스테이션이 생각나는 저녁이다. 추억의 컴퓨터가 하나 둘 생각난다. 더미 터미널로 접속하여 유닉스 시스템을 처음으로 배웠던 MicroVAX, 그리고 SSM-16.

에스에스엠 식스틴! 이걸 기억하는 사람이 있을까? 지금은 관련 자료를 거의 찾을 수 없고 1983년에 국내 학회에서 발간한 강좌 자료집에 실렸던 글만이 보인다(SSM-16 Computer의 구조와 특징). PDF 파일을 다운로드해 보았다. 타자기로 친 인간적인 글자를 얼마만에 보는 것인가? 16비트 프로세서 중 가장 '강력한' 모토롤라사의  MC 68000 마이크로프로세서(그러나 실습을 할 때면 늘 느렸다), 최대 8 M Byte의 주기억용량... 그렇다. 당시에 PC의 메모리를 1 M로 늘리기 위해서 얼마나 많은 비용을 들여야 했던가. 파일의 일부를 캡쳐하여 소개한다.


제조 당시의 모습 그대로 작동이 되는 컴퓨터를 전시하는 박물관이 있으면 참 좋겠다는 생각이 든다. 과거의 OS 또는 게임 등을 가상머신 혹은 에뮬레이터를 통해 구동하는 것은 흔히 볼 수 있는데 반하여 오래된 하드웨어를 재가동하는 것은 그러나 매우 어려운 일일 것이다. 70년대 생산된 포니 승용차를 굴리는 것과 비슷한 일이니까 말이다.

Circlator: 세균 유전체 서열을 원형으로 만들기

세균의 염색체는 원형 구조를 이루고 있다. 간단히 말하자면 목걸이, 훌라후프, 도우넛... 그런 것을 연상하면 된다. 둥근 지구에 끝과 시작이 없듯이 세균의 염색체 역시 그러하다. 다만 편의상 복제 원점(oriC, 보통은 chromosome replication initiation protein인 DnaA의 유전자의 upstream 영역)을 시작 위치로 정한다.

대장균 K-12 MG1655의 유전체 서열은 그러나 이러한 기준을 따르지 않는다. 왜냐하면 Hfr strain(donor)에 의한 conjugation 과정에서 recipient cell로 넘어가는 염색체 부분을 genetic map에서의 시작점(그래서 단위가 분, 즉 시간이다)으로 삼았기 때문이다. 그래서 NCBI에 등록된 대장균 K-12 MG1655(NC_000913.3)의 첫번째 유전자는 dnaA가 아니라 thrL이다. 각 Hfr strain은 F factor가 삽입된 위치가 다르므로 conjugation으로 전달되기 시작하는 위치는 서로 다르다.

엄밀히 따지자면 야생형 대장균 K-12에서 MG1655까지 이르는 계보 상에는 Hfr strain이 존재한 적이 없다. 이미 고인이 된 Barbara J. Bachmann의 대장균 족보(PDF 원본)에서 8번 챠트를 살짝 빌려왔다.

역사적인 conjugation 실험을 통해서 초보적인 수준의 유전체 지도를 얻었던 당시, donor로 사용한 strain이 수용체 세포로 밀어넣기 시작하는 염색체 부분에 바로 threonine 생합성 오페론이 있었을 뿐이다. 이때 사용한 균주가 MG1655의 직계 조상은 아니었던 것이다. 정확하지는 않지만 아마도 HfrH(Hayes) strain이 아닌가 한다. 이를 확인하려면 1953년에 나온 논문을 뒤져야 하는데... 다음 그림을 보면 HfrH가 염색체를 어디부터 transfer하는지를 잘 보이고 있다.




어찌되었든 아무리 최신의 long read를 사용한 genome sequencing 방법을 동원한다 하여도 얻어지는 contig는 하나의 긴 선형 구조를 할 수밖에 없다. 이것이 원형의 염색체에서 유래했다면 선형 서열의 시작과 끝 부분에는 당연히 중복이 존재할 것이다. 이를 조금이라도 성의있게 다듬어서 논문으로 보고하자면 최소한 시작이나 끝 부분 어느 하나의 겹치는 염기서열을 제거해야 할 것이고, 더 정성을 들이자면 dnaA 유전자가 첫번째 유전자로 위치하도록 서열을 조정하는 일이 필요하다.

예전에는 sequence alignment tools을 적당히 사용하여 contig 말단의 겹침을 확인하고 수작업으로 최종 정리를 하였었다. 말단의 겹침을 시각적으로 나타내는 도구(Gepard)가 있는가하면, 이러한 후작업 요령이 친절하게 웹문서로 나오기도 하였다(동영상 튜토리얼; Circularizing and trimming). 상당한 뒷북이지만 2015년 Genome Biology에는 아예 circularization을 자동으로 수행하는 도구인 Circlator라는 소프트웨어를 소개하는 논문이 나오기도 하였다.

'이러한 도구가 있으면 편리하지 않을까?'

대부분의 것들은 이미 누군가에 의해서 해결이 된 상태이다. 나는 검색을 통해서 이를 잘 찾아내어 쓰기만 하면 된다. 세상은 참 고맙고 편리하다. 그러면 '나'라는 연구자는 도대체 여기에 무엇을 기여해야 한단 말인가?



2017년 6월 25일 일요일

세상에서 가장 간단한 스피커 지연회로

인켈에서 제조한 P878이라는 미니 컴포넌트 시스템의 리시버 앰프부(RX878)를 3년 전에 중고로 구입했다가 즉시 반품한 일이 있다(당시 올린 글). 출력과 스피커 사이를 연결하는 릴레이가 노후하여 접촉 불량이 있어났던 것이다. 이는 오래된 앰프 기기에서 흔히 발생하는 문제이다. 이 릴레이가 음질을 열화시킨다고 주장하는 사람들도 간혹 있다. 스피커를 연결하는 선재가 음질을 좌우한다는 진지한 논의는 정말 그 기원이 오래되었고, 심지어 전원부의 퓨즈도 중요하다고 한다. 물론 나는 여기에 동의하지는 않는다.

스피커 보호회로의 필요성은 크게 두 가지 정도로 생각할 수 있을 것이다. 하나는 증폭 소자가 망가져서 단락이 일어나면 출력쪽에 갑자기 DC 대전류가 흘러서 스피커의 보이스코일이 파손되므로 이를 감지하며 짧은 시간 안에 스피커쪽으로 가는 연결을 끊는 것이다. 또 하나는 전원이 들어온 뒤 몇 초가 지난 뒤에 스피커가 연결되게 하는 단순한 지연 회로이다. 앰프에 따라서는 전원을 켜거나 끈 직후 스피커에서 '퍽'하는 popping noise를 발생하는 것이 있다. PC용 증폭 스피커를 사용하는 사람은 아주 흔하게 경험하는 현상이다. 이 잡음이 실제로 스피커를 망가뜨리게 되는 일은 없지만,  분명히 기분 좋은 소리는 아니다. 발생 원인이 의외로 매우 다양하여 이를 근본적으로 없애기는 어렵다. 대신 스피커측 연결을 단순히 지연시키는 회로를 추가하여 해결할 수 있다.

출력 트랜스포머를 사용하는 앰프에서는 증폭부에서 심각한 고장이 발생해도 스피커까지 영향을 미치는 일은 거의 생기지 않는다. 그리고 칩앰프의 증폭 소자는 다양한 오류 상황에 대처할 수 있는 자체 보호회로를 내장하고 있는 경우가 많다. 하지만 팝 노이즈까지 항상 없애주는 것은 아니다.

집에서 사용하는 자작 앰프(산켄 SI-1525HD 칩 사용)는 팝 노이즈가 꽤 크다.  책상위에서 쓰는 소출력 스피커에서는 참을 수 있을 정도이지만 대출력 스피커를 연결하여 전원을 넣으면 상당한 타격감의 큰 소리가 우퍼에서 발생한다. 시판되는 스피커 보호회로 또는 지연회로 보드(예: FK650; 알리엑스프레스에는 훨씬 다양한 제품이 있음)를 구입하여 사용할 것을 여러번 고민해 보았으나 전원을 인가할 적당한 방법이 없다는 것이 문제였다. 스피커 보호회로 보드는 보통 정류회로를 내장하고 있어서 12~16 V 정도의 교류 전압을 연결하면 된다. 그러나 내 앰프에 들어있는 파워 트랜스포머는 두 조의 0-18 V 출력 단자만 제공하기에  스피커 보호회로를 구동하기에 적당하지 않다. 무엇이 문제인가? 앰프보드에서는 양전원이 필요하므로 파워트랜스포머의 출력을 직렬로 연결하여 +18 V 0 V -18 V를 만들었으니 이중에서 한쪽 절반만에서 선을 뽑아서 18 V를 만들면 양전원의 균형이 깨질 것이다. 만약 이 문제가 해결된다고 해도 18 V를 스피커 보호회로 구동에 맞게 강하시키는 것도 쉬운 일이 아니다. 오히려 스피커 보호회로를 위한 파워 트랜스포머를 하나 더 다는 것이 더 나을 수도 있다.

그래서 아주 단순한 방법을 택하였다. 스피커로 가는 출력선측에 4P 스위치를 달아버리는 것이었다. 아래 사진에서 보였듯이 볼륨 조절 놉 바로 왼쪽에 보이는 검정색 로커 스위치가 바로 그것이다. 망가진 외장 HDD의 전원부에서 적출한 파워 스위치를 재활용하였다.


이보다 더 간단한 - 그러나 성가신 - 스피커 지연회로는 있을 수가 없다. 


2017년 6월 20일 화요일

Oxford Nanopore sequencing, 기껏 조립을 했더니 박테리오파지 람다였다

어제 세 번째의 ONT(Oxford Nanopore Technologies) 시퀀싱을 실시하였다. 최초의 두 번은 lambda control DNA에 대한 것이었고 이번에는 실제 세균 유전체 DNA를 가지고 만든 라이브러리였(다고 믿었)다. 어제 오후 3시쯤에 러닝을 시작하였으니 48시간의 표준 러닝을 마치려면 하루를 더 기다려야 한다.

MinKNOW 실행 화면을 보면 실제로 DNA가 통과하는 구멍, 즉 'strand'로 표시되는 nanopore의 수가 그렇게 많지 않다. 특히 하루를 넘어가면서 얻어지는 read의 수가 줄어드는 것이 확연히 드러났다. 48시간 러닝에 대한 전형적인 read의 수 혹은 염기쌍의 수는 얼마라고 이야기하는 것이 가능할까? 초창기에 나온 어떤 논문에서는 매 4시간마다 라이브러리를 리필하라는 말까지 있지만 ONT community에서 아직 이와 관련한 정보를 찾지는 아니하였다.

러닝 수 22시간쯤이 경과했을 때, fast5 파일을 다른 위치에 복사하여 base calling을 한 뒤 reference mapping을 실시하였다. 이 샘플은 예전에 일루미나로 시퀀싱을 한 적이 있어서 200개 수준의 contig 서열을 확보한 상태이다. 플라스미드와 트랜스포존 등이 많아서 contig의 수가 불가피하게 많다.

 Mapping 및 QC는 NanoOK를 사용하였다. PDF report를 열어보니 성적이 너무 나쁘다. 어떻게 된 것일까? 내가 알고 있는 세균의 유전체 염기서열이 맞나? 2 kb짜리 read를 아무거나 하나 선택하여 NCBI에서 BLASTN을 해 보았다. 결과는 전혀 예상하지 못한 것이었다. 박테리오파지 람다의 유전체 서열이 나오는 것 아닌가?  Percent identity는 93% 수준이었다.

De novo assembly를 하면 정확한 진단이 될 것 같았다. Canu를 사용하여 조립을 하니 약 47 kb 크기의 contig가 떡하니 나왔다. 같이 만들어진 3 kb 짜리 contig는 depth도 낮고 서열 자체도 GTT의 반복이라서 의미 없는 서열로 판단된다.

이번에는 람다 DNA 서열을 reference로 하여 다시 NanoOK을 실행해 보았다.  Reference  전체가 depth > 30 수준으로 잘 매핑되었다. 아마도 라이브러리를 만든 연구원이 실제 세균 샘플 DNA와 람다 콘트롤 DNA를 혼동하여 서로 바꾸어서 실험을 한 것 같다.

어떻게 해야 하나의 flowcell에서 러닝을 하여 좀 더 많은 read를 얻을 수 있을까? ONT community에 잠복하여 다른 사용자들이 올린 글과 답변을 전부 읽어봐야 되겠다.

2017년 6월 18일 일요일

영화 <악녀>를 보다

흥행의 보증수표, 톰 형이 주연하는 미이라를 볼 것인가, 새로운 여전사(실사 영화로 말하자면)인 원더우먼을 볼 것인가? 최종 선택은 한국 영화인 '악녀'였다. 잔혹한 싸움 장면이 워낙 많아서 옆자리의 아내는 보는 내내 고개를 돌리고 있다시피 하였다. 영화는 낮 1시가 조금 지나서 끝났는데, 점심으로 무엇을 먹어야 할지 약간은 고민이 되기도 하였다. 여담이지만 식욕을 떨어뜨리는 영화라면 '곡성(2016)'이 더하면 더했지 덜하지는 않았다.


김옥빈이 연기한 킬러 '숙희'는 최소한 시각적으로는 여러모로 스칼렛 요한슨이 연기한 블랙 위도우를 떠올리게 한다. 일부러 그런 효과를 노린 것인지는 알 수 없다. 밀라 요보비치(영화 '레지던트 이블')을 연상하는 사람도 있겠으나 나는 그 영화를 제대로 본 적이 없어서 뭐라고 말하기는 어렵다. 권력 기관의 철저한 훈련을 통해 만들어진 여성 킬러로서 그저 지시에 의해서 충실하게 살인을 행하는 인간 병기라면 물론 '니키타(1990)'가 원조의 자리를 차지할 것이다.


영화의 시작 부분에서 악녀 '숙희'가 혼자 건물로 침투해 들어가서 수십명의 남자들을 해치우는 장면은 정말 대단했다. 5분 동안 약 70명을 죽였다고 하던가? 마지막 한 사람을 끝장내면서 건물 밖으로 떨어져 사뿐히(그건 아니고 아마 기진맥진했다고 보는 것이 맞을듯) 착지하는 장면 역시 블랙 위도우의 전투 장면을 연상하게 하였다.


아마 이 영화를 본 많은 사람들은 다른 유명한 영화의 여러 장면들을 떠올릴 것이다. 죽을 운명이나 다름없다가 정부 비밀 조직에 의해 킬러로 다시 태어나는 장면은 뤽 베송의 '니키타'를, 긴 칼을 이용한 거침없는 액션신은 쿠엔틴 타란티노의 '킬 빌'을, 초반 1인칭 시점의 장면은 비교적 최근 영화인 '하드코에 헨리'를. 이 영화들과 다른 점은 멜로적인 요소가 상당히 많이 섞였다는 것이다. 겉으로 풍기는 이미지 - 검은색 타이트한 복장 - 은 분명히 블랙 위도우를 떠올리게 하지만 섹시함은 그다지 강조되지 않았다.

롯데 시네마의 영화 평점은 오늘 현재 7.5(10점 만점), 예매율은 4위이다. 일부 조연급 배우들의 연기가 약간 어색하고, 스토리 자체도 완벽하지는 않다. 냉혹한 살인기계인 숙희를 움직인 원동력은 복수와 딸을 지키기 위한 모성애, 그리고 사랑으로 위장하여 자기를 한갖 수단으로만 취급한 중상(신하균 분)에 대한 배신감을 오간다. 그녀를 둘러싼 인물 중 진실된 남자는 단 한사람이었다. 더 언급하면 스포일러가 될지 모르니.. 마지막 장면은 결국 개인적 차원의 복수를 마무리하는 것으로 끝나지만, 기왕이면 자기를 이용하여 이렇게 만든 국가적 권력에 대한 응징까지 이어졌더라면 좋았을 것이다. 중상의 조직이 개인적인 것인지 국가 차원의 것인지는 잘 알기 어렵지만, 이것도 포함해서다.

여러가지로 아쉬운 점도 있고 기성 영화의 장면이 자꾸 떠오르는 것은 피할 수 없으나 정성들여 만든 액션 신이 모든 것을 용서하게 만든다. 이만하면 잘 만든 영화라고 평한다.

2017년 6월 17일 토요일

CentOS 7의 첫경험

CentOS 7이 처음 나온 것은 2014년 7월이니 벌써 만으로 3년 가까운 시간이 흘렀다. ISO 파일을 내려받아 DVD-ROM을 구운 것은 바로 어제이고, 이를 컴퓨터에 처음으로 설치한 것은 오늘 오전이다(글을 쓰는 동안 자정이 지났으니 하루씩을 더해야 정확할 것이다). 나는 그동안 몇 대의 서버에서 CentOS 6을 주력으로 사용해 왔다. OS를 재설치하고 숙달하기 위해 노력하는 것은 상당히 번거로운 일이라서 CentOS 7을 접하는 것을 계속 미루고만 있었다.  귀찮음 이외에도 CentOS 7에서 달라진 것이 꽤 많아서(비교표) 관리자 입장에서는 신경을 쓸 것이 많다는 소문을 들어온 터라 지레 겁을 먹고 있었던 것도 사실이다. 엄밀하게 말하자면 나 혼자서 쓰는 서버들이고 복잡한 설정이 필요한 서비스를 하는 것도 아니기에 이 부분은 그렇게 마음에 담아둘 일은 아니었다.

OS의 업그레이드를 처음으로 생각하게 된 것은 일년쯤 전에 맞닥뜨렸던 python과 gcc의 버전 문제였다. 생명정보학쪽에서는 상당히 많은 유틸리티들이 파이썬으로 제공되는데, CentOS 6에 기본으로 따라오는 파이썬 2.6으로는 돌아가지 않는 것들이 점점 많아지는 추세이다. Linuxbrew 혹은 pyenv를 설치하면 상위 버전의 파이썬을 설치할 수는 있다.

하지만 최근 일주일 동안  nanopore sequencing 데이터의 분석용 프로그램을 검토하다가 이제는 CentOS를 버전 7로 올려야 되겠다고 결심을 하게 되었다.  Nanopore sequencing raw data(.fast5 file)를 직접 다루는 poretools가 제대로 작동하지 않는 것을 알게 된 것이다.  이 프로그램은 파이썬 2.7 이상에서 돌아가므로, pyenv를 통해서 먼저 해당 버전의 파이썬을 갖춘 다음 poretools를 실행해 보았다.  Basecalling(Albacore를 먼저 실행해서 .fast5 내부에 baseball 정보를)이나 기타 다른 수치 추출은 잘 되지만, QC와 관련한 plot을 그려내는 명령을 실행하면 파이썬의  Tk configuration이 제대로 되지 않았다는 에러 메시지가 나온다.

구글을 검색해 보고 인실리코젠 김형용 수석 개발자에게도 문의하여  tcl-devel/tc-devel(우분투에서는 다른 이름) 및 tkinter라는 패키지를 설치하면 된다는 정보를 접하여 몇 번 이를 그대로 따라서 해 보았지만 파이썬은 여전히 똑같은 메시지를 출력하였다. 한동안 시행착오를 겪으면서 알아낸 것은 yum은 시스템에 기본적으로 설치된 파이썬 버전과 동일한 tkinter만을 설치한다는 것이었다. 즉 내가 아무리 pyenv를 통해서 파이썬 2.7을 설치해 봐야 CentOS 6에서는 tkinter-2.7을 깔 수가 없는 것이었다.  tkinter-2.7은 CentOS 7용 패키지이고, 당연히 파이썬 2.7을 요구한다.

사실은 어제 DVD-ROM을 들고 서버를 숨겨둔(?) 방에 갔다가 기기에서 발생하는 열기로 너무 더워서 일단은 포기하고 사무실에 있는 다른 컴퓨터에 CentOS 7을 설치하여 테스트를 하는 것으로 전략을 수정하였다. 집에서 사용하다가 최근에 퇴역한 Dell Inspiron 660s가 테스트를 위한 희생양이 되었다. CentOS 7을 설치한 뒤 뒤이어 필요한 rpm과 poretools를 깔았다.  poretools 설치 과정에서 의존성 패키지를 자동으로 다 깔아주지를 못해서 간간이 pip를 돌려야 했다. 최종 결과는 성공적이어서 poretools를 이용하여 QC plot들이 잘 만들어졌다.  pyenv로 약간 높은 버전의 파이썬을 설치한 뒤 이를 배경으로 poretools를 깔았다. 여기서도 그림을 잘 만들어 냄을 확인하였다.

우분투나  Mac에 비교할 바는 아니지만  CentOS의 Genome Desktop 환경도 꽤 쓸만하다고 느꼈다. 아무리 선호하는 리눅스가 있다고 해도 다른 배포판(Ubuntu vs. CentOS)과 버전(CentOS 6 vs. CentOS 7)을 조금씩은 다 같이 다루어 보는 것이 유리함을 알게 해 준 경험이었다.

서버실 - 원래 용도와는 거리가 있지만 - 에는 냉방 시설이 없음에도 불구하고 올해 초에 한 대의 서버를 옮겨두었으니 컴퓨터들이 벌써 시작된 더위를 잘 버텨낼지 걱정이 된다. 온도 체크용으로 디지털 온도계를 하나 갖다 두었다.

2017년 6월 15일 목요일

Oxford Nanopore sequencing 매핑 및 시각화 연습

Real data로 매핑한 결과를 보이면 정말 좋겠으나 첫 nanopore sequencing 경험은 이를 도저히 시퀀싱이라고 부를 수 없는 처참한 결과로 끝나고 말았다. 그래서 안타깝지만 PoreCamp2016에서 사용한 에볼라바이러스 교육자료를 가지고 연습을 해 보았다.

처음으로 만들어낸 .fast5 파일에서 basecalling을 하는 것부터 쉽지 않았다. Metrichor(EPI2ME desktop agent를 통한)의 basecalling을 이제 별로 의미가 없는 것 같다. ONT 고객상담실에서도 Albacore를 사용하라고 했으니 말이다. 이것이 nanopore sequencing의 공식적인 basecaller가 되어가는 느낌이다. MinKNOW에서는 live basecallig을 하지 않는 이상(1D sequencing에서만 가능) fast5 파일 내에 염기서열 정보가 존재하지 않는다. Albacore는 이를 읽어들여서 fastq 형태의 파일을 만들기도 하고, 염기서열 정보를 새겨넣은 fast5 파일을 만들기도 한다. poretools로 QC를 하려면 염기서열 정보가 들어간 fast5 파일이 필요하다.

poretools는 매우 감동적인 도구이다. 다양한 diagnostic plot을 만들어내는 것은 물론이거니와 각종 집계와 fastq/fasta 파일 추출(basecall 결과가 수록된 fast5로부터)도 가능하기 때문이다. 그렇지만 진단용 그림을 뽑아내려면 Tcl/Tk 및 tkinter라는 것과 관련한 파이썬 설치 문제가 보통 복잡한 것이 아니다. CentOS 6.x에서 어떻게 해서든 설치를 해 보고 싶었지만(pyenv 환경) 결국은 실패하고 MinKNOW가 깔린 우분투 서버에서 겨우 성공하였다. 이것은 추후에 다시 한번 진지하게 도전해 볼 영역으로 남겨두겠다. 어쩌면 poretools을 계기로 하여 CentOS 7로 넘어가거나 혹은 Docker를 쓰는 단계로 넘어가게 될지도 모른다. Docker의 기본 개념은 여기에서 잘 설명하고 있다.

PoreCamp 교육 자료에 나온대로 ENA에서 자이레 에볼라바이러스의 MinION raw data를 몇 개 다운로드하였다. 임의로 하나를 골라서 pass 서브디렉토리 아래의 fast5 파일로부터 fasta 서열을 뽑아내었다. 다음은 poretools stats의 결과이다.
total reads 20787total base pairs 21,929,768mean 1054.98median 1013min 288max 3711N25 1060N50 1019N75 981
이를  bwa로 매핑을 하여 bam 파일로 출력, 소팅과 인덱싱을 한다. samtools 0.1.18과 1.2를 번갈아 사용하였지만 다음의 명령이 소팅 단계에서 도무지 먹지를 않는다.
bwa mem -x ont2d EM_079517.fasta Ebola2D.fasta | samtools view -bS - | samtools sort -o Ebola2D.sorted.bam -
samtools sort의 용법이 내가 알던 것과 약간 다르다. 구글을 열심히 뒤져서 이해해보려고 무던히 노력을 했지만 속 시원한 설명은 별로 없고 samtools sort 명령어 문법은 기괴하다('bizarre')는 글과 이를 수정하겠다는 개발자의 글만 발견할 수 있었다. samtools를 1.4.1로 업그레이드하여 모든 문제를 해결하게 되었다.

다음으로는 매핑 결과를 직접 눈으로 살펴보았다. tablet이나 IGV 등 몇 가지 솔루션이 있지만 나는 CLC Genomics Workbench를 이용하였다. track으로 전환한 다음 reference sequence(역시 track으로 전환)과 함께 track list를 만들어서 확대해 보았다. ONT 특유의 insertion error가 많이 보이지만 reference와 잘 맞는 consensus sequence를 볼 수 있다.
이번주 안에 실제 데이터를 이용한 성공적인 nanopore sequencing 결과를 보고 싶었는데 벌써 목요일이 다 지나가고 있다.

개발도구와 라이브러리의 버전 문제로 인하여 CentOS 7의 도입을 정말 진지하게 고민해 볼 시점이 되었다. 피할 수는 없는 대세이지만, 관리자 측면에서 너무나 많은 것이 변해서 공부를 하려면 또 얼마나 애를 먹게 될지...

2017년 6월 13일 화요일

GRUB를 이용한 리눅스 멀티부팅 꼼수 부리기

멀티부팅은 일반적으로 서로 다른 OS(예: 리눅스와 윈도우즈)를 하나의 컴퓨터에서 운영하기 위해서 쓰인다. 때로는 동일한 OS를 서로 다른 버전으로 각자 설치해 놓고 이를 선택하여 부팅하는 용도로 쓸 수도 있다.

멀티부팅을 능수능란하게 쓰려면 OS의 설치 순서가 매우 중요하다. 특히 리눅스와 윈도우를 선택적으로 부팅하려면 윈도우를 먼저 깔고 나서 리눅스를 나중에 설치한 뒤, 리눅스의 GRUB를 통해서 OS를 선택하는 것이 불문율로 여겨지고는 한다.

오늘 나는 매우 엉뚱한 시도를 해 보았다. 지난 5년간 사무용(윈도우 7)으로 쓰이다가 일선에서 물러난 데스크탑 컴퓨터가 하나 있다. 오래된 Xeon CPU에 수퍼마이크로 마더보드로 구성된, 나름대로 서버급의 컴퓨터이다. 여기에는 우분투 12.04를 설치하여 이따금 PhyloPythiaS+(PPSP) 구동용으로 사용하였다. PPSP 또는 PPS+는 metagenomic read의 taxonomic binning 프로그램이다. 최신 우분투를 기반으로 한다면 모니터의 해상도를 최적화하여 훨씬 편리하게 컴퓨터를 쓸 수 있겠지만 우분투 12.04에서 PPSP를 설치하는 것이 가장 편리하기에 개발자가 권장하는 환경을 그대로 맞추어 사용한 것이다.

얼마 전부터 Oxford Nanopore sequencing을 접하게 되면서 MinION 구동을 위한 컴퓨터가 필요하게 되었다. 바로 어제까지는 노트북 컴퓨터(윈도우 10)에 필요한 프로그램들을 깔아서 연습삼아 사용을 해 오고 있었으나 화면도 너무 작고 약간 답답한 감이 없지 않아서 우분투가 깔린 데스크탑을 사용할 생각을 조금씩 하던 중이었다. MinION 구동 프로그램은 컴퓨터의 하드웨어 성능을 좀 가리는 편이다. 그래서 Xeon CPU에 메모리 16 GB가 장착된 데스크탑에 눈이 가기 시작하였다. 여기에는 이미 우분투 12.04가 설치된 상태이고, MinION을 구동하려면 14.04가 필요하다. 어찌할 것인가? 이미 우분투 12.04가 설치된 디스크에 상위버전의 우분투를 덮어쓰지 않는 조건으로 설치를 하려니 파티션 등 문제가 복잡해진다. 아예 속 편하게 하드 디스크를 분리한 다음 새 디스크(사실은 쓰던 것)을 단독으로 연결하여 우분투 14.04를 설치하였다. 그 다음 MinION 구동에 필요한 프로그램(MinKNOW, EPI2ME Desktop Agent, Albacore basecaller)를 설치하고 configuration test를 성공적으로 진행하였다.

MinION이 연결된 모습.
그러면 필요한 OS 버전에 따라서 하드 디스크 연결을 바꾸어가면서 부팅을 할 것인가? 불가능하지는 않지만 너무나 번거로운 일이다. 디스크 두 개를 전부 연결하고 Grub 설정을 어떻게든 하면 일반적인 멀티부팅과 같은 환경이 조성될 것으로 기대하고 AskUbuntu 사이트를 뒤져서 나와 비슷한 상황에 대한 질문과 대답을 검색하여 보았다.

두 개의 하드디스크를 연결하고 무작정 어느 한쪽 우분투로 부팅을 한 뒤 sudo grub-update라고만 입력하면 될 것만 같은 생각이 들기 시작하였다.

그래, 한번 해 보는 거야. 디스크가 망가질 일은 없으니.

기대는 완벽하게 들어맞았다. 커넥터 연결, 부팅, 그리고 명령어 한줄로 모든 것이 끝났다. 기본 부팅은 우분투 14.04로 되었고, grub를 업데이트한 뒤 재부팅을 하니 너무나 낯익은 grub 화면이 뜨는 것이었다. 오늘도 이렇게 잔기술 하나를 익혔다.

실험 진화에서 유래한 여러 분리균주(동일 조상 유래)의 연구를 NCBI BioProject에 등록하는 요령

가톨릭대학교와 중앙대학교에 근무하는 동료들과 같이 수행한 공동 연구 성과가 최근 Microbial Cell Factories 저널에 게재 승인을 받았다. 대장균 W3110에 어떤 외래 유전자를 도입하여 chemostat에서 장기간 배양하여 얻은 변이주의 특성을 유전체 서열 해독을 포함하여 탐구한 것이 주된 내용이다. 대장균을 매일 플라스크에서 계대배양하면서 진화의 궤적을 추적하는 이른바 long-term experimental evolution(LTEE)은 미국 미시건주립대의 리처드 렌스키 교수로부터 시작되어 많은 생명과학자들에게 영감을 주었다. 프로젝트의 공식 웹사이트는 여기이다. 우리 연구 그룹에서는 chemostat라는 멋진 장비를 사용하고 있지만 아직도 많은 연구실에서는 50 ml 들이 삼각 플라스크(배지는 10 ml이 들어있음)에 1:100(v/v)으로 이전 배양액을 옮기는 고전적인 방법으로 실험을 진행하고 있다. 이렇게 하면 하루에 약 6.67 세대가 진척되는 것으로 계산이 된다. 물론 플라스크는 하나만 쓰는 것이 아니다. REL606(Ara-)과 REL607(Ara+) 2개의 클론을 각각 6개의 플라스크에 나누어 계대배양을 시작했으니 총 12개의 집단이 각자 다른 방식으로 진화를 해 나가는 것이다. 1980년대에 실험을 시작하여 40,000 세대에 이르렀을때 막 대중화의 길로 접어든 next-generation sequencing 기법을 접목하여 실제 유전체 서열 상의 변화와 fitness의 변화가 보조를 맞추어 나가지 않는다는 논문이 2009년 Nature에 실렸었다(Genome evolution and adaptation in a long-term experiment with Escherichia coli). 나도 이 논문에 공저자로 참여하였던 것을 매우 기쁘게 생각하고 있다.

그러면 글 도입부에서 소개한 원래의 이야기로 돌아가보자. 진화 실험을 개시한 원균주와 변이균주의 유전체 시퀀싱 raw data를 NCBI의 SRA(sequence read archive)에 등록하려 한다. 하나의 원균주에서 유래한 여러 샘플의 데이터를 어떻게 등록하는 것이 현명한지를 논하려는 것이 오늘 포스팅의 주제이다. 나는 지금까지 단일 미생물 유전체 프로젝트(monoisolate)만을 NCBI에 등록해 왔었다. 하지만 실험 진화에서는 서로 '직계' 혹은 '사촌' 관계에 있는 여러 isolate에 대한 유전체 시퀀싱을 하게 된다. 이를 하나의 BioProject로 묶는 것이 자연스럽지 않을까?

우선 서열 데이터베이스와 논문의 연결 관계를 간단하게 적어보도록 한다. 생물학적 서열을 새로 발견하여 이를 논문에서 다루려면(예: 신종 미생물의 유전체 해독 논문) 서열 자료가 DDBJ/ENA/GenBank와 같은 공공 데이터베이스에 등록이 되어 발급받은 accession number를 논문에 적시해야 한다. Microarray나 RNA-seq과 같은 발현 관련 데이터는 GEO에 등록을 해야 한다. 그러나 이번 연구의 경우는 일종의 resequencing 개념으로서 contig나 scaffold 형태로 서열을 제공할 필요는 없고 다만 논문의 본문에서 표 형태로 어떤 변이가 발생했는지를 언급하는 것으로 충분하다. 대신 sequencing raw data를 등록하여 공개하면 이를 활용하려는 다른 연구자에게 도움이 될 것이다.

렌스키 교수는 작년에 50,000 세대째를 맞는 대장균의 유전체 진화를 다룬 대규모 연구tjd과를 Nature에 발표하였다(Temp and mode of genome evolution in a 50,000-generation experiment). 2016년은 렌스키 교수가 환갑을 맞는 해이기도 하니 그 의미가 남달랐을 것이다. 12개의 집단에서 뽑은 총 264개나 되는 변이균주을 일루미나 장비로 시퀀싱을 하여 분석을 하고 또 이를 전부 NCBI에 등록을 하려니 정말 손이 많이 가는 일이었을 것이다. 우선 BioProject는 어떻게 등록이 되어있는지를 찾아보았다. 논문에서는 long-term evolution experiment with E. coli(PRJNA294072)를 언급하였는데 이는 실제로는 umbrella project이고 그 아래에 총 11개의 정규 BioProject가 존재한다. 가장 많은 데이터(224개의 SRA experiments와 BioSample)을 포함하는 PRJNA295605가 바로 작년의 Nature 논문에 직접적으로 관련된 것으로 보인다. Project scope는 monoisolate이지만 200개가 넘는 균주의 유전체 시퀀싱 데이터가 하나의 프로젝트 아래에 개별적인 biosample과 SRA experiment로 존재하는 것이다.

다음으로는 연세대학교에서 등록한 Acinetobacter baumannii 유전체 시퀀싱 데이터를 살펴보자. 이 연구는 실험 진화와는 무관하며, 환자에서 개별적으로 분리한 blaOXA-23 함유 Acinetobacter 균주에 대한 유전체 시퀀싱 결과를 등록한 것이다. BioProject PRJNA380857의 scope는 multisolate로 선언되어 있고 총 13개의 assembly가 각자 별도의 BioSample 정보화 함께 보여진다. 그렇다면 multiisolate는 어떤 경우에 선택하는 것이 옳은가? BioProject FAQ에서는 다음과 같이 설명하였다.

  • 단일 종에서 유래한 여러 개체 혹은 스트레인을 비교하는 것이 목적이라면 multiisolate를 선택하라.
  • 서로 다른 종을 연구하는 것이라면 multispecies를 선택하라.
  • DNA 혹은 RNA source가 여러 개체에서 온 것이라 해도 그 목적이 단일 genome 혹은 transcriptome의 assembly라면 monisolate를 선택하라.
이 지시를 충실히 따르자면 렌스키의 50,000 세대 유전체 연구를 위한 BioProject는 monoisolate가 아니라 multiisolate가 되는 것이 맞다. 그러면 이 글의 맨 처음에서 소개한 우리 연구 그룹의 시퀀싱 데이터는? Multiisolate로 정의한 단일 BioProject 아래에서 두 개의 BioSample과 SRA experiment(조상 균주 및 변이 균주 각각에 해당)을 선언하여 SRA 데이터 파일을 등록하면 되는 것이었다. 그러나 나는 완전히 두 개의 BioProject를 만들고 말았다. 하나의 BioProject에 복수의 BioSample이 연결될 수 있다는 것을 미처 몰랐기 때문이다. NCBI에 일단 등록한 데이터는 그 어떤 요청을 해도 수정을 해 주므로 일단은 이것을 믿어보지만, 처음부터 단일 바이오프로젝트로 묶었다면 연구의 개요 전체를 좀 더 쉽게 파악할 수 있었을 것이다. 각 균주에 대한 시퀀싱 프로젝트를 개별 바이오프로젝트로 등록할 당시에는 나중에 umbrella bioproject로 묶어줄 것을 요청할 생각을 했었던 것이 사실이다. 하지만 단일 유형(raw sequencing data)의 소량 데이터로만 구성된 바이오프로젝트를 umbrella로 묶는다는 것은 격이 맞지 않는 일이다.






2017년 6월 9일 금요일

CLC Genomics Workbench - Microbial Genomics Module의 유용한 기능(workflow)

MGM이라고도 줄여서 부르는 CLC Genomics Workbench의 microbial genomics module(매뉴얼)은 꽤 가격이 나가는 유료 모듈이다. 평소에 이 모듈이 제공하는 몇가지 툴을 이용하여 분석을 진행해 오다가 오늘부터 본격적으로 workflow를 이용한 분석 작업에 빠져들게 되었다. 연속적으로 수행해야 하는 도구의 입력과 출력을 서로 연결하여 입력물과 출력물을 정의하는 것으로 만들어지는 워크플로우는 잘만 다루면 번거로운 작업을 정말 편하게 할 수 있다. 이미 만들어진 워크플로우를 쓰는 것은 매우 쉬우나, 사용자의 요구에 맞추어 새로 작성려면 익숙해지기까지 약간의 노력을 필요로 한다. 이번의 분석 작업을 계기로 워크플로우의 신규 작성과 수정에 관한 경험을 쌓지 않을까 기대를 하고 있다.

물론 이런 마음가짐을 갖기 직전에는 '왜 이렇게 편한 것을 진작에 익혀서 쓸 생각을 하지 못했을까!'하는 안타까운 마음이 있었다.

100건이 넘는 어떤 감염성 세균 유전체의 MiSeq sequencing data를 가지고서 트리를 그리고 여기에 메타데이터를 입혀서 적당히 장식을 하는 것이 이번 과업의 목표이다. 늘상 하듯이 mapping을 하고 variant를 추출하여 SNP tree를 그려 놓은지는 꽤 시간이 지났다. 메타데이터를 CLC에서 다루는 것이 아직 익숙하지 않아서 이를 가장 나중에 해야 할 일로 미루어 놓은 것이 현명하지 못한 선택이었다. CLC의 기능을 이리저리 살펴보니 메타데이터 테이블을 잘 정의하여 놓은 뒤 분석 작업을 시작하는 것이 훨씬 현명하다는 생각이 들었다.

이러한 분석 기능은 NGS core tools를 제외하면 전부 MGM의 Typing and Epidemiology(beta) 섹션에 포함되어 있다. 구글을 뒤지면서 적당한 튜토리얼이 없는지를 찾아보았다. Typing and epidemiological clustering of common pathogens (beta)이라는 튜토리얼을 찾아서 천천히 읽어보았다. 아니? 필요한 모든 작업 컴포넌트를 한번에 실행할 수 있는 워크플로우가 이미 존재하는 것 아닌가?


Type Among Multiple Species를 쓰면 되는 것이었다. 시퀀싱 샘플이 다양한 종으로 이루어진 것은 아니니 몇 개 종의 representative genome만을 골라서 reference DB를 만들고, 필요한 MLST scheme과 resistance gene을 받아 놓은 다음 튜토리얼에 나온 그대로 설정만 하면 간단하게 모든 작업이 이루어진다. 단, 트리를 그리는 것은 이 결과를 가지고 따로 실행하면 된다. 그리고 설명과는 다르게 Type a Known Species 워크플로우를 실제로 열어보면 de novo assembly - find resistance로 이어지는 가지는 포함되지 않았다. 이는 내가 직접 수정하면 될 것이다. 다음 그림은 Type Among Multiple Species 워크플로우 전체의 다이어그램이다. 상당히 복잡한 모습이 마치 DB schema를 보는 듯하다. 그 존재를 전혀 모르고 있었던 Local Realignment(in NGS core tools)가 두번이나 연속하여 실행된다. InDel & Structural Variant를 먼저 찾은 뒤 이를 참조하여 두번째의 alignment를 하는 것이다. 만약 내가 재래식(?) 작업 방법만 고집했다면 이러한 탁월한 기능이 존재하는지를 아예 모르고 살았을지도 모른다.



30분 정도 작업이 진행된 지금 5개째의 샘플에 대한 분석이 진행되는 중이다. Result metadata table에 결과가 차곡차곡 쌓여 나가는 것이 재미있다. 주말이 지나면 모든 샘플에 대한 결과가 나올 것으로 예상한다. 오염된 샘플에 대한 사전 정보를 이미 갖고 있으므로 실제 워크플로우의 결과를 비교해 보면 흥미로울 것이다.

Oxford Nanopore sequencing 첫 시도는 실패로 끝나다

오랜 기간 준비를 하여 큰 기대를 갖고서 첫 샘플을 올렸다. 그러나 결과는 처참한 실패였다. 2D lambda control experiment kit(SQK-LSK208)로 만든 것이라서 소중한 실제 샘플을 허무하게 낭비하지는 않았다. 모든 여건이 최적의 상태는 아니었다. 필요한 반응액과 소모품 등이 Oxford Nanopore에서 권장하는 '바로 그것'은 아니었다. 그렇다 하더라도 데이터 처리 쪽에서는 나름대로 오래 공부를 하여 준비하느라고 애를 썼는데 아직도 그 과정에서 아리송함을 갖고 있다는 것이 내 자존심을 많이 건드렸다.

Oxford Nanopore Technologies라는 회사명을 줄여서 ONT라고 부른다. 실험 노트 파일을 열어보니 OTN으로 잘못 타이프를 한 것이 눈에 뜨였다. OTN, OTZ, OTz. OTL... 어디서 많이 본 약자이다. 아, 그렇구나! 좌절한 모습을 영문자로 표현한 것이었다. 바로 지금 나의 모습을 그대로 보여주는 문자열이다.

다양한 배리에이션은 여기에서: http://moyaa44.blogspot.kr/2011/02/otl.html
EPI2ME desktop agent가 돌아가는 방식도 아직 완벽하게 이해하지 못한 상태이다. 처음에 Input Directory를 개별적인 run folder로 설정하는 바람에 새로운 시퀀싱 결과가 생성되어도 이를 자동적으로 업로드하지 못하는 우스꽝스런 상황이 되고 말았다. 문제는 이것을 고칠 방법을 모르겠다는 것이다. 그저 단순하게 C:\data\reads로만 해 두면 될 것을.

Live basecall은 1D 시퀀싱에서만 지원한다고 하여 basecall 없이 fast5 파일을 만들었다. Metrichor(EPI2ME) 서비스를 통한 basecall을 하지 않았다 해도 다른 방법으로 어떻게든 될 것이라 생각을 했던 것이다. 그래서 third party basecaller로는 잘 알려진 poretools를 리눅스에 설치하여 fast5 파일을 공급하니 유효한 시퀀스가 전혀 없다고 나온다. 이런? 프로그램 설치를 잘못했나? 패키지에 포함된 샘플 read에 대해서는 결과가 잘 나오니 그렇게 말하기는 어려웠다. 이번에는 ONT 커뮤니티 사이트에서 보급하는 basecaller인 Albacore를 설치하여 MinION을 구동한 윈도우 10 컴퓨터에서 실행을 하여 fastq 파일을 뽑아내었다. 하나의 pore를 DNA 가닥 하나가 통과하면서 얻어진 염기서열 정보에 해당하는 하나씩의 fast5 파일 여러개를 묶어서 fastq file하나가 만들어지는 것은 꽤 마음에 든다. 얻어진 Fastq file을 CLC로 임포트하여 read length 분포와 quality를 보았다. 처참하다! Lambda DNA sequence에 대한 매핑 결과는 물론 말할 것도 없다. Nanopore sequencing read에 좀 더 특화된 mapper를 쓰지 못한 탓도 있겠지만 근본적으로 이건 시퀀싱이 아니다!

다음으로는 EPI2ME에 업로드한 결과가 어떻게 되었는지를 살펴보았다. 웹사이트에서는 아예 리포트가 나오질 않았고, 다운로드한 read는 전부 fail 디렉토리에 존재한다. 이걸 보면 input directory를 띨띨하게 만들긴 했어도 클라우드쪽이 분석 작업은 잘 돌았다는 뜻이다. 그러나 결과는 매우 좋지 않다! poretools를 이용하여 fast5 파일 내에서 염기서열 이전의 정보를 뽑아내 보았으나 아무것도 반환되는 값이 없다. 

Albacore가 사기를 치지는 않았을 것이니 분명히 미약하나마 염기서열 신호가 나온 것으로 여겨진다. 다만 멀고 먼 최적화의 길이 앞에 펼쳐져있을 따름이다. 좀 더 경험이 쌓이면 MinKNOW 작동 화면만 보고서도 '아, 이번 러닝은 망했구나!'하고 판단이 될 것이다. 국내에는 대리점도 아직 없고, Nanopore community에 직접 질문을 올려서 다른 사용자가 답을 주기를 기다려야 하는 현실에서 troubleshooting을 하기란 참으로 난감하다. 이러한 여건에서 어떻게 KAIST 조병관 교수팀에서는 이미 1년 전 Scientific Reports에 Analysis of the mouse gut microbiome using full-length 16S rRNA amplicon sequencing이라는 논문을 냈는지 신기하기만 하다. 

수십년 전 대학원생 시절로 돌아가서 최초의 plasmid prep을 하다가 깨진 염색체 DNA만 길게 끌린 전기영동 사진을 얻은 기억을 되살리자. 누구나 실수는 할 수 있는 법이니...

2017년 6월 12일에 추가한 글


양질의 시퀀싱 결과를 만들어냈다는 자랑스런 글을 보니 배가 아프다! 이러다가 long read 만들기 경연대회라도 열리는 것은 아닌지?

2017년 6월 4일 일요일

건반을 고치고 싶다(6) - 부품의 배송이 늦어지다

Korg X2 music workstation의 LCD 표시창에 맞게 절단된 EL 백라이트를 구매하면서 예비용으로 10x10cm의 EL sheet를 구동 회로와 함께 알리익스프레스에서 구매하였다(링크).  만약 먼저 구매한 백라이트에 문제가 있으면 이것을 크기에 맞게 잘라서 사용할 생각이었다. 배송이 너무 늦어서 혹시 분실된 것이 아닌지 걱정이 들 무렵에 겨우 배달이 되었다. 다음의 배송 추적 기록을 보자.


5월 17일에 셴젠 우체국(코드명 CNSZXA, 전체 코드는 여기 참조)에 도착한 물품은 5월 31이 되어서야 한국에 들어왔다. 우편물이 비행기 안에서 14일씩 있었을 것 같지는 않다. 아마 Shenzhen 우체국 창고 어딘가에서 한동안 대기하고 있다가 뒤늦게 비행기를 타고 온 것이 아닐까 한다.

그러면 Fatar keyboard controller를 고치기 위한 rubber key contact(링크)는 비슷한 시기에 ebay에서 주문을 넣었음에도 불구하고 아직도 오질 않는다. 나의 ebay 경험으로는 아무리 길어도 18일 정도면 물건이 도착하였었다. 이 물품은 5월 10일 미국 아리조나 세도나의 USPS 사무실에 접수되어 5월 13일에 LA까지 온 것으로 되어있다. 배송 상태는 여전히 IN TRANSIT이다. 예상 배송 기한은 이미 지난지 오래되었다.

아직 LA의 USPS 사무실에 처박혀 있는지, 아니면 비행기를 타고 오는 중인지, 혹은 재수가 없어서 선편으로 오는 것인지 알 수가 없다. 우편물 등급은 가장 싸지만 매우 느린 First-Class Package International Service 되겠다. 판매자에게 배달이 너무 늦다고 불평을 했더니 최대 4-6주 정도 기다려 달라는 답장을 받기는 했었다.

혹시 분실된 것은 아닐까? 인터넷을 뒤지면 터키, 독일, 폴란드 등 다양한 국가에서 비슷한 물품을 판매한다. 분실된 것이 확실하면 환불을 요청하고 차라리 다른 곳에 다시 주문을 내고 싶은 마음이 굴뚝같다.