2017년 10월 28일 토요일

독서 기록 - 이주하는 인간, 호모 미그란스(조일준 저)

독서 기록을 쓰려면 책을 바로 옆에 두고 뒤적거리면서 기억이 남는 부분을 다시 찾아보아야 하는데 하필이면 오늘이 반납 마감일이라서 도서관에 가서 책을 돌려주어야만 했다. 미리 찍어 놓은 표지 사진, 기억, 그리고 인터넷의 자료를 보고 더듬더듬 글을 적어보도록 하자.


호모 미그란스[Homo migrans]는 유희하는 인간(호모 루덴스), 물건을 만드는 인간(호모 파베르) 등과 같이 이주하는 속성을 지닌 인간의 특성을 빗대어 만든 말이다. 현생 인류를 일컫는 호모 사피엔스 사피엔스[Homo sapiens sapiens]처럼 생물종에 대한 학명은 아닌 것이다. 이 책의 부제는 '인류의 이주 역사와 국제 이주의 흐름'이다. 앞부분은 아프리카에서 발생한 인류가 전 대륙에 퍼지는 과정과 역사를 뒤흔들고 국가를 형성한 주요 민족의 이동 과정(게르만족, 훈족, 몽고 등)을 다루었고 뒷부분에서는 신대륙의 발견과 아메리카 대륙으로의 유럽인 이동, 노예 무역, 원주민 문제 등에 대한 내용을 싣고 있다. 특히 후반부에서는 전쟁이나 핍박을 피해서 불가피하게 삶의 터전을 떠나는 난민 문제를 집중적으로 다루었다. 내전과 테러, 생활고를 피해서 중동과 아프리카를 떠난 난민을 수용하는 문제로 유럽은 매우 어려운 처지에 놓인 상태이다. 터키 해안에서 숨진 채 발견된 3살 꼬마 난민 아일란 쿠르디에 관한 기사는 전 인류의 책임에 대한 경종을 울려 주었지만 아직도 문제 해결의 길은 멀다. 최근에는 해수면 상승 등 기후 변화에 따라서 고향을 떠나야 하는 사람들도 난민의 범주에 포함되는 추세라고 한다.

이주는 창조적 활동을 추구하는 인류의 본성에 의한 것일 수도, 생존을 위한 현실적인 목적에 의한 것일 수도 있다. 전자에 해당하는 인류는 Homo nomad이다. 이 책의 서론에서 밝히고 있듯이 자크 아탈리가 제시한 개념인 호모 노마드는 유랑자가 아니라 자유롭게 옮겨다니는 창조적 신인류이다. 아탈리의 주장을 인용해 보자. 저자 조일준은 교류와 확장 없이 동질 집단끼리 한 곳에 머무는 정주 사회는 혁신과 발전을 기대하기 힘들다고 부연하였다.
600만 년 인류사에서 정착민의 역사는 고작 0.1%에 해당하는 시기였다... 국가는 노마드의 행렬을 잠시 멈추게 하는 오아시스 역할 이상을 할 수 없었다... 신인류의 대안은 노마드의 세계에서 찾아야 한다. 그들은 불, 언어, 종교, 민주주의, 시장, 예술 등 문명의 실마리가 되는 품목을 고안해냈다. 반명 정착민이 발명해낸 것은 고작 국가와 세금, 그리고 감옥뿐이었다.
그러나 현실은 어떠한가? 국가가 생기고 국경이 그어지면서 인류의 자유로운 이주는 많은 제약을 수반하고 있다. 이주민을 받아들이는 나라의 시민들은 이주민들이 안보를 위협하고 자국민의 일자리를 그들이 빼앗아감을 우려하여(연구 결과는 이를 딱히 입증하고 있지도 못하다) 배척하기 일쑤이다. 특히 오랜 역사를 통해 '단일 민족'을 유지하며 살아온 것에 남달리 자부심을 갖는 우리나라에서는 기본적으로 배타성이 강한데다가 국내로 들어오는 이주민을 받아들인 역사가 너무 짧아서 모든 사회 구성원들이 원만하게 합의한 이주민 대책이 아직 세워지지 못한 상태이다. 마이너리티인 그들(이 용어는 차별과는 관계가 없다)이 고향 나라의 문화를 유지하면서 그들의 동질성을 유지하게 배려할 것인지, 혹은 우리나라의 문화에 동화되게 만들 것인지도 심각하게 고민해야 한다. 명절에 '외국인 며느리'를 불러서 한국 고유의 명절 음식 만들기를 배우게 하는 것도 과연 올바른 정책일까?

현대 사회에서 자유로운 이동은 한낱 이상에 불과한 일일지도 모른다. 이주와 관련한 자유의 범주는 매우 넓다. 현재 살고 있는 국가를 떠날 수 있는 자유, 다른 나라로 입국할 수 있는 자유, 그 나라에서 주거할 수 있는 자유, 그리고 다시 고국으로 돌아올 수 있는 자유. 그러나 현실은 어떠한가? 전 세계에서 가장 많은 사람들이 가고싶어 하는 나라 미국에서는 교통안전국(TSA)의 지침을 강화함에 따라 2017년 10월 26일부터 미국으로 가는 비행기를 타려는 한국인들은 국내 공항의 출국 수속 카운터에서 사전 인터뷰를 거쳐야 하고 비행기 탑승 전 기내 수하물 검사를 추가로 받아야 하기 때문이다. 이제는 미국행 비행기를 타려면 공항에 최소 5시간 전에 도착을 해야 할 판이다.

이주라는 행위는 생존을 위해 불가피하게 택해야 하는 면도 있지만 큰 결단을 요구하는 행위임에는 틀림이 없다. 한 왕조가 500년 이상 유지되고 외국 민족의 유입이 '거의' 유입되지 않아서 순수한 혈통을 유지했다는 것이 이제는 더 이상 자랑만일 수는 없다. 다양성은 현 시대를 살아가는데 이제 반드시 필요한 요소가 되었기 때문이다.

최근 읽은 책 <슈퍼피셜 코리아>에서도 지적했듯이 우리끼리만을 강조하는 순혈주의 사회에서는 빠른 결정과 위계에 따른 질서가 장점으로 나타날 수는 있어도, 다양한 사람들 - 이주를 통해 들어온 - 을 포용하며 번영을 추구해야 하는 현대 사회에서는 더 이상 적합하지 않을지도 모른다.

2017년 10월 26일 목요일

J. H. Clippinger의 강연 <제4차 산업혁명과 바이오산업 트렌트>와 그 뒷이야기

어제 개최되었던 2017 바이오 미래 포럼에서 미국 MIT 미디어랩 '교수'인 J. H. Clippinger 교수의 강연이 있었다. Clippinger(클리핀저? 클리핑거? 클리핑어?)는 대전광역시에서 주최하는 세계과학 문화포럼 2일차 글로벌 강연에서도 가장 먼저 강연을 했었다. 강연 내용은 요즘 국내에서 꽤 주목을 받는 주제에 관한 것이라서 기억이 남는 슬라이드를 몇 장 촬영해 보았다. '제4차산업혁명'은 잘못된 용어이고, '바이오혁명'이라고 하는 것이 옳다면서 강연을 시작하였다. 아마도 모임의 성격에 맞춘 서비스를 한 것일지도 모르겠다.


가장 인상깊었던 슬라이드. '데이터는 물이다'




MIT 미디어랩은 워낙 유명한 연구소가 아니던가. 그래서 그 곳에 한국인 학생이 있다는 것만으로도, 최연소 박사가 배출되었다는 것으로도 화제가 되지 않던가(뉴스). 그래서 과연 그 웹사이트에는 Clippinger가 어떻게 소개되어 있는지 궁금하였다. 그런데... 그저 Human Dynamics 그룹의 방문 연구자라고만 나온 것 아닌가(링크). 그것 한 줄 말고는 연구 분야나 약력에 관한 아무런 소개가 없었다. 그렇다면 그를 MIT 미디어랩 교수라고 소개하는 것은 과장이 심한 것이 아닐까?

도대체 그는 어떤 사람인가? 구글에서 Clippinger, J.H. Clippinger 또는 J. H. Clippinger로 검색을 하였으나 마땅한 정보가 나오질 않았다. 그러나 이미지 검색 결과로 들어가니 그의 사진을 어렵지 않게 찾을 수 있었다. 이를 클릭했더니 John Henry Clippinger, Jr.를 표제어로 하는 위키피디어의 페이지(링크)가 나온다. 그런데 여기를 보면 맨 위에 '이 글은 고아(orphan)다'라는 설명이 있다. 위키피디아 내 다른 페이지에서 이 페이지를 연결하는 링크가 하나도 없다는 뜻이다. 이건 좀 이상하다. 저명한 석학이라면서 위키피디아 안에서 Clippinger라는 인물을 언급한 다른 페이지가 하나도 없다니! 그리고 인물을 소개하는 위키피디아 페이지라면 맨 상단에 있어야 할 한 줄 요약('그는 ...이다')가 없이 그저 초기 생애, 학력 그리고 경력만 소개된 상태이다. 위키피디아는 누가 책임을 지는 것이 아니라 일반 대중의 자발적 참여에 의해서 만들어 지는 것이므로 해당 문서가 완벽하지 않은 것에 대해 누구에게 따질 수는 없는 노릇이다. 그러나 예를 들어 레이 커즈와일을 위키피디아에서 검색해 보자.

Raymond "RayKurzweil (/ˈkɜːrzwl/ KURZ-wyl; born February 12, 1948) is an American author, computer scientist, inventor and futurist.

아니면 작년에 돌아가신 앨빈 토플러를 찾아보자.

Alvin Toffler (October 4, 1928 – June 27, 2016) was an American writer, futurist, and businessman known for his works discussing modern technologies, including the digital revolution and the communication revolution, with emphasis on their effects on cultures worldwide.

바로 첫 문장에서 해당 인물이 어떤 사람인지를 명쾌하게 정의하고 있지 않은가?

이제 구글 검색창에서 그의 full name인 John Henry Clippinger를 치니 꽤 많은 페이지가 나온다. 그의 저서 중 A crowd of one: the future of individual identity(2007)이 가장 잘 알려진 것 같고, 서평도 나쁘지는 않다. The biology of business: natural laws of business(1998)에는 John Henry Clippinger III로 나온다. 영미권의 이름에서 2세, 3세는 살아있는 직계 가족 기준이라고 한다. 그래서 3세였던 그가 같은 이름을 쓰는 조부의 사망 후 2007년에는 2세가 된 것이다. 이에 대한 설명은 다음을 참조하라(How to use Jr, Sr, II, III, etc). 행사장에서 배부한 자료집의 이력사항을 보니 여러 조직을 설립하고 자문 역할을 한 것으로 나타나 있었고, He is also a Research Scientist at the MIT Media Lab이라고 명시되어 있었다(관사 'a'가 빠져서 내가 삽입하였다). LinkedIn의 프로필을 보면 그의 현재 경력 사항을 가장 자세하게 볼 수 있다.

내가 보기에 그는 대학에서 인공지능(예일대학교, 학부)과 컴퓨터 공학(펜실베니아 대학, 석사 및 박사)를 전공한 사람으로서 미래 기술 예측에 식견을 갖춘 사업가 - '스위치 토큰(swytch token) 사업에 힘을 쏟는 - 및 저술가라고 보는 것이 더 적당하다. 그의 이번 방한은 (사)유엔미래포럼 박영숙 대표가 힘을 쏟은 것으로 보인다(현장에서 그를 안내하고 적극적으로 사진을 찍는 것을 보았으므로). 미래예측포탈 '인데일리'의 공지사항을 보면 Clippinger의 국내 강연 일정이 빼꼭하게 소개되어 있으니 말이다. 다른 기사를 찾아보니 파이낸셜 코리아와 미래창조과학부가 지난 6월에 공동개최한 모바일코리아 포럼에서도 강연을 한 것으로 나온다. 세계적 미래학자께서 일년에 두차례나 한국을 방문하여 강연을 한 것을 보니 어지간한 지한파가 아닌지 모르겠다. 그가 설립자로서 가장 왕성하게 활동하는 Token Commons Foundation에는 박영숙 대표도 보인다(링크).

정말 흥미로운 일이다. 구글에서 swytch tocken으로 검색을 하면 나오는 정보는 극히 적다. 그런데 '클리핑거' '클리핀저' 또는 '스위치토큰'이라는 국문으로 검색을 해 보라. 그의 국내 강연 소식, 다음달에 ICO(initial coin offering)을 앞두고 있는 스위치토큰 사업 설명에 관한 국문 페이지가 줄줄줄 나온다. 세계적인 석학이자 미래학자를 나만 모르고 있는 것인가? 아니면 그가 내세우는 가상화폐 시스템의 가치를 유독 우리나라에서만 알아보고 있다는 뜻인가? 그래서 수원시는 (사)유엔미래포럼과 공동으로 신재생에너지의 확산 및 보급을 위해 스위치토큰을 추진한다는 것인지?(수원 소식 링크). 정말 모르겠다.

2017년 10월 24일 화요일

EndNote X8 오류 '범위를 편집할 수 없습니다'의 해결

EndNote는 논문을 쓸 때 참고문헌을 정리하는 프로그램이다. 처음에는 MS 워드에서만 작동이 되었지만, 이제는 한/글(HWP)에서도 사용 가능한 것 같다(링크). 오픈오피스나 리브레오피스에서도 아마 될 것으로 생각되지만 사용법을 알아보지는 않았다. 현재 내가 사무실에서 쓰는 것은 EndNote 버전 X8이다.

일반적으로 본문 중에서 참고문헌은 [1], (2), (Jeong et al., 2009) 처럼 인용하고, 글의 맨뒤에 참고문헌의 서지사항을 목록으로 붙인다. EndNote에서 말하는 citation은 앞의 것, reference는 뒤의 것을 의미한다. 즉 'Edit & Manage Citation(s)', 'Edit Library Reference(s)'라는 메뉴에서 이것이 즉각적으로 무엇을 의미하는지 알아야 한다.

지난주부터 MS Word 2013로 논문을 쓰면서 EndNote가 말썽을 부리기 시작하였다. 여러 citation이 모인 상태에서 공백을 제거하면 하나의 [] 혹은 ()내에 묶이는 것이 정상이다.
This is the first line [1] [2]. And this is the second line [3].
이 문장에서 [1]과 [2] 사이에 커서를 위치시키고 공백을 없애면 EndNote는 자동적으로 다음과 같이 포매팅을 한다.
This is the first line [1, 2]. And this is the second line [3].
그런데 공백을 지우기만 하면 '범위를 편집할 수 없습니다'라는 에러가 나는 것이다. 어라, 왜 이러지? 편집 취소를 하면 citation이 날아가거나, 혹은 reference 항목에서 해당 문헌이 INVALID한 것으로 바뀌고, 심지어 워드가 작동하지 않고 먹통이 되거나 하는 것이었다. 정말 큰 문제가 아닐 수 없다.
This is the first line [1] [2] [3] [5].
이렇게 원고를 써서 투고를 할 수는 없지 않은가. 도대체 이유가 뭘까? EndNote 버전을 X7로 낮추어도 보고, 구글에서 한글로 이 에러 메시지에 대한 검색도 해 보았지만 해결 방안을 찾을 수가 없었다. 그래서 에러 메시지를 영문으로 바꾸어서 구글링을 해 보았다. endnote cannot edit range라고. 그랬더니 어떤 웹페이지가 하나 나왔다. 2017년 9월 19일에 작성된 최신 글이다.

http://community.thomsonreuters.com/t5/EndNote-General/quot-Cannot-edit-range-quot-in-X7-and-X8/td-p/136101

내용에 따르면 Mendeley Desktop developmental version의 워드용 Add on이 문제라는 것이다. 여기에 나온 설명에 따라서 워드의 파일->옵션->추가 기능으로 가 보았지만 Mendeley와 관련한 기능을 어떻게 삭제하는지 알 수가 없었다. 분명히 추가 기능 목록에는 보이는데 무력화시킬 방법을 모르겠다. 그렇다면 반대로 접근하자. Mendeley Desktop의 Tools로 가서 Uninstall Word Plugin을 실행하였다. 그랬더니 비로소 오류가 사라졌다. 만세! 아마도 citation manager 역할을 하는 두 프로그램이 Word라는 동일 환경에서 충돌을 한 것 같다.

Mendeley의 워드용 plugin은 도대체 무슨 기능을 하는가? What is Citation Plugin?에 따르면 EndNote와 유사한 citation manager인 것으로 보인다. EndNote가 유료인 반면 Mendeley는 무료로 쓸 수 있다. 과학기술 논문을 쓰는 연구자 입장에서는 EndNote를 워드와 연동하여 쓰는 것이 더 중요하므로, Mendeley의 plugin은 제거해야만 했다. 왜냐하면 대부분의 참고문헌 형식용 스타일 파일은 EndNote용으로 제공되기 때문이다. 아마도 Mendeley의 다음번 업데이트 버전에서는 오류가 해결될지도 모른다. 나에게 Mendeley Desktop은 논문 PDF 파일의 정리용으로, 그리고 웹사이트와 연동하여 나의 학술 실적 프로필과 발표 논문을 소개하는 용도로 충분히 잘 쓰이고 있으니 굳이 Word에서 citation manager로 이를 쓸 필요는 없다.

혹시 나와 비슷한 문제로 고생을 하는 분이 있거든 이렇게 하여 해결해 보시길!
 

[PacBio sequencing] HGAP version 확인하기

HGAP(hierarchical genome-assembly process, Nature Methods 2013년도 논문)은 PacBio data를 nonhybrid 방식, 즉 일루미나와 같은 short read의 도움 없이 스스로 교정을 하여 유전체를 조립하는 프로그램의 이름이다. SMRT Analysis(링크)는 PacBio에서 배포하는 소프트웨어 묶음으로서 SMRT Portal(브라우저 기반의 애플리케이션), SMRT Analysis API, SMRT View 등을 포함한다. 물론 가장 중요한 요소는 SMRT portal일 것이다.

SMRT portal에서 하는 일은 다음과 같다.

  • Align reads to a reference and call variants
  • Assemble reads into a de novo genome(HGAP이 여기에 포함된다)
  • Analyze RNA-sequencing data
  • Perform DNA-methylation analysis
나는 총 5대의 리눅스 서버에 SMRT analysis를 각자 설치해 놓았다. 주로 분석하는 대상이 미생물이라서 데이터의 용량이 그다지 크지 않고(한번에 1~3개 정도의 SMRT cell에서 유래한 데이터를 조립), 또 매일같이 분석을 하는 것이 아니라서 클러스터 환경에서 돌아가도록 설치하지는 않았다. 부끄러운 이야기지만 클러스터(Oracle Grid Engine)를 다루는 것에도 별로 익숙하지도 못하다. 실제로 경험을 해보니 성능이 제각각인 노드 몇 개를 묶은 상태에서는 가장 느린 노드에서 작업이 끝나질 않아서 원하는 실행 속도 단축이 이루어지지 않았다. 아마도 이러한 상황에 맞게 클러스터를 커스터마이징할 수도 있겠지만 거기까지는 하고 싶지 않다.

현재 설치된 SMRT analysis는 2.3.0이다(설치 매뉴얼). 아래 그림은 Dell PowerEdge R910 서버에 깔린 모습이다. Xeon E7540x4(총 24 core), 메모리 256 GB의 아주 소박한(지금 기준으로는) 서버이다. 그래도 올해에 DAS(PowerVault MD1200)을 달아서 만성적인 저장소 부족 문제는 해결하였다. 아무 탈없이 3년만 더 돌아가길 바라는 심정으로...


de novo assembly를 할 때에는 RS_HGAP_Assembly.2(optimized for quality)와 RS_HGAP_Assembly.3(optimized for speed) 중 적당한 것을 골라서 사용한다. 그런데 어느날 갑자기 '이게 HGAP 버전으로는 몇이지?'하는 의구심이 들었다. SMRT analysis 버전을 따라가는 거였던가? 아니면 RS_HGAP... 프로토콜 맨 뒤의 번호가 버전 번호였던가? 모든 궁금증은 HGAP in SMRT Analysis라는 웹문서를 보면서 해소되었다. 즉, SMRT Analysis 2.3에는 HGAP.2와 HGAP.3가 같이 들어있는 것이다. 예전에 읽었던 문서였는데 이를 까맣게 잊고 있었다.
  • RS_HGAP_Assembly.2 = HGAP.2
  • RS_HGAP_Assembly.3 = HGAP.3 (SMRT Analysis 2.2에서 처음 등장)
  • HGAP.1: deprecated in SMRT Analysis 2.2

올해에는 Oxford Nanopore Sequencing을 좀 더 경험했어야 하는데 그렇지 못한 상태로 벌써 10월이 끝나가고 있다!

2017년 10월 21일 토요일

독서 기록

일주일 동안 총 다섯 권의 책을 읽었고 지금은 여섯 번째의 책 <이주하는 인간, 호모 미그란스>를 읽는 중이다. 왼쪽 위부터 시계 방향으로 간단히 느낀 점을 적어본다


나와 세계 Comparing human societies

<총, 균, 쇠>로 유명한 제레드 다이아몬드의 저서이다. 왜 어느 국가는 부유하고 어떤 국가는 가난한가? 개인의 위기가 국가의 위기와는 어떻게 다른가? 사회과학의 매력과 중요성 그리고 어려움을 일곱 부분으로 나누어 설명한 책이다. 우리 사회가 직면한 세 가지 유형의 문제로서 저자가 제시한 것은 지구의 기후변화, 불평등, 그리고 인간에게 중요한 위치를 차지하는 환경자원의 관리 문제이다. 특히 청소년에게 꼭 추천하고 싶은 책이다.

섹스, 폭탄 그리고 햄버거 Sex, bombs, and burgers

부제는 '전쟁과 포르노, 패스트푸드가 빚어낸 현대 과학기술의 역사'이다. 지난 9월에 읽었던 <휴먼 3.0: 미래 사회를 지배할 새로운 인류의 탄생(독서 기록)>의 저자인 과학기술 전문기자 피터 노왁이 2010년에 낸 책이다. 한국어판은 2012년에 나왔다. 포르노르래피, 전쟁, 패스트푸드 등 인류가 만들어낸 것 중에서 그다지 칭송하고 싶지 않은 것들이 이제 우리에게 없어서는 안될 기술로 자리잡게 된 경위를 재미있게 서술하였다. 특히 맥도날드의 창립과 발전 과정은 영화 <파운더(감상 기록)>을 이미 보았던 터라 더욱 흥미있었다. 바비 인형이 기원은 원래 여자 아이들과는 상관이 없었다는 것을 누가 알았겠는가? B급 SF 영화에 관심이 많은 아들에게 추천하고 싶다. 126쪽을 인용해 보자.
(B급 영화라는) 용어는 1920년대와 1930년대 장편 극영화에 덧붙인 부가 영상을 가리키는 말이었다. 그러다 1950년대에 할리우드 아웃사이더들이 만드는 저예산 영화와 동의어가 되었다. 그들은 대개 군에서 촬영 기법을 배운 사람들로서 전시에 개발된 기술을 사용했다. B급 영화로 인기를 얻은 첫 번째 장르는 공상과학물과 공포물이었다.

하얀 석탄

부제는 '지진·미세먼자가 두려운 시민 필독서/바른 에너지 정책을 위한 국민 교양서'이다. 저자는 소설가 이대환이다. 문재인 정부가 들어서면서 탈원전을 향하여 에너지 정책에 중대한 전기가 마련되는가 싶더니 신고리 5·6호기 공론화위원회에서는 바로 어제 공사 재개를 정부에 권고하기로 했다. 온실가스와 미세먼지 발생의 주범으로 많은 사람들이 외면하고 있는 석탄이지만 최신 기술을 접목하면 미래 에너지원으로서 - 사실은 가장 역사가 깊은 에너지원 중 하나이지만 - 가치가 있을 것이라는 주장이다.

슈퍼피셜 코리아

스탠포드대학교의 사회학과 교수인 신기욱의 저서이다. 부제는 '화려한 한국의 빈곤한 풍경'이다. 우리나라는 불안을 원동력 삼아 질주하는 사회요, 관계의 범위를 넓혀가는 네트워킹이 아니라 출신, 학벌, 배경 등 공통 관심사를 찾아내면서 폐쇄적인 관계로 오히려 범위를 좁혀 나가는 수퍼 네트워크 사회이다. 되는 일도 없고 안 되는 일도 없는, 하면 안되는 일을 최소로 금지하는 것이 아니라 할 수 있는 일이 규정에 있지 않으면 못하는 답답한 사회이다. 트럼프 미국 대통령이 5월에 동북아 3국을 방문하면서 한국에서 1박만을 한다고 왜 그렇게 호들갑인가? 그렇다. 저자의 주장대로 미국은 한국에 그렇게 큰 관심이 없다고 보는 것이 맞을지도 모른다. 우린 더 이상 고래 사이에 낀 새우가 아니며, 충분히 '돌고래' 수준의 독자적인 행동을 해도 될 수준의 나라이다. 어찌되었든 우리가 지금까지 꾸려왔고 또 후손들에게 물려주어야 할 나라 아닌가? 이 사회를 활기와 창의가 넘치는 사회로 만들 수 있는 가능성은 얼마든지 있다.

대한민국을 위한 겸손한 제안

80년대 초반 MBC 카메라 출동 기자로 언론인 생활을 시작한 이상로의 저서이다. 부제는 '부유하고 강한 나라가 되는 비결'이다. 약간은 자유주의적 시각에서 더 부유한 대한민국을 만들기 위한 파격적이고도 엉뚱한 제안을 실은 책이다. 예를 들자면 실 거주 목적과 투기적 목적으로 부동산을 보유하는 것을 구별하지 말고, 투기적 목적으로 큰 이익을 실현했다면 여기에 합당한 세금을 매겨서 공공의 목적으로 쓰면 된다는 것이다. 쌀 과잉 공급 문제를 대처하기 위하여 논을 국가가 매입하여 골프장 등으로 운영하되 식량이 부족해질 때를 대비하여 1년 이내에 논으로 되돌릴 수 있게 하자는 것(과연 가능한 일인지는...) 등.

오늘 오후 나의 모습이다. 던킨 도너츠 테라스에서 쿨라타를 마시기에는 조금 쌀쌀하였다.

정해영. 2017년 10월 21일 KAIST에서.




2017년 10월 20일 금요일

Strain, clone and species

어제 Bacillus에 속하는 세균 한 건의 BioProject/BioSample/Genome/SRA 4종 세트를 NCBI에 등록하였다. 매번 느끼는 일이지만 submission portal에 접속을 해보면 사용자 인터페이스가 아주 조금씩 바뀐 것을 알 수 있다. 정보 등록 작업에서 만날 수 있는 여러 상황들을 배려하면서 - 하지만 그러한 이유로 결코 복잡해지지는 않는다 - 웹 인터페이스가 능률적으로 변하고 있는 것이다. 한두 번 경험해 보면 다른 설명자료는 필요가 없이 그 웹페이지 안에서 어떻게 입력을 하고 다음 단계로 넘어가야 하는지 충분히 이해할 수 있다. 별다른 정보는 하나도 없으면서 일단 상단에 이미지부터 띄우고 보는 우리 주변의 웹사이트는 반성을 좀 해야 된다.

예전에는 제출자가 만든 annotation 정보가 없다 하더라도 command line tool을 이용하여 .sqn file을 만들어서 SequinMacroSend에서 파일을 전송해야 했다. 하지만 지금은 submission portal에서 FASTA file을 올리고 필요한 부가 정보를 제공하면 끝이다. 새로운 등록 시스템이 서비스를 개시하여도 과거의 인터페이스(SequinMacroSend)를 즉각 폐쇄하지 않는다는 것 역시 좋은 점이라 생각한다.

등록한 미생물의 BioProject 페이지를 방문해 보았다. taxonomy link를 클릭하니 rank는 species로 나타난다. no rank, 즉 strain이 되어야 하는 것 아니었나? 아마도 BioProject의 target 등록 창에서 스트레인 이름 없이 'Genus species'로만 입력을 해서 그런 것으로 생각되었다. 입력창의 형식은 다음과 같다. 맨 위의 Organism name 창에는 최하위 레벨로는 species까지만 적도록 되어있다. 만약 여기에 Genus species strain_name 또는 Genus species strain:strain_name으로 기재했다면 자동으로 NCBI TaxID 역시 strain 수준에 맞추어 발급되지 않았었을까?


그래서 bioprojecthelp로 이메일을 보내어 이를 strain level로 만들어 달라고 요청하였다. 그랬더니 strain level의 TaxID는 더이상 발급하지 않는것으로 정책이 바뀌었다는 답장이 왔다. 하긴 너무나 많은 개별 (미생물) strain의 유전체 정보 등록 요청이 쇄도하닌 그럴 수밖에 없었을 것이다.
Regarding your request to assign the organism name and TaxID at the strain level, NCBI policy has changed and strain-level TaxIDs are no long assigned, as long as the species is designated. If you are uncertain of the species, our Taxonomy team will assign a TaxID for organism name "'Bacillus sp. P-10"; otherwise, it will remain as currently assigned.
이렇게 정책이 바뀐 것에 대한 공지가 있었지 않았을까? 구글링을 해 보니 2014년도 Standard In Genomic Sciences에 Toward richer metadata for microbial sequences: replacing strain-level NCBI taxonomy taxids with BioProject, BioSample and Assembly record라는 글이 실린 것을 발견하였다. 초록 전문을 인용해 보자.
Microbial genome sequence submissions to the International Nucleotide Sequence Database Collaboration (INSDC) have been annotated with organism names that include the strain identifier. Each of these strain-level names has been assigned a unique ‘taxid’ in the NCBI Taxonomy Database. With the significant growth in genome sequencing, it is not possible to continue with the curation of strain-level taxids. In January 2014, NCBI will cease assigning strain-level taxids. Instead, submitters are encouraged provide strain information and rich metadata with their submission to the sequence database, BioProject and BioSample.
그렇다! 이미 3년 전부터 이렇게 바뀐 제도를 실행하고 있었던 것이다. Strain 수준의 생명체 샘플에 대해서는 더 이상 taxID를 부여하지 않되(어차피 여기에 딸린 정보량도 많지 않다) 대신 BioProject와 BioSample 등록을 통해서 풍부한 메타데이터를 제공받겠다는 뜻이렸다. 주목할만 한 사실은 정책이 새로 바뀌었어도 기존에 있던 자료는 건드리지 않는다는 것이다. 즉 과거에 strain 수준으로 이미 발급된 taxID를 전부 없애거나 상위 랭크의 species로 변경하지 않음을 의미한다.

Strain인가 isolate인가?

Different isolates can be the same strain, but different strains can not be the same isolate. (참고 사이트)
만약 자연계에서 어떤 미생물을 분리했다면 적당한 isolate 이름을 붙이게 된다. 이는 이미 보고된 해당 생명종의 어느 strain에 속할 수도 있고, 새로운 strain에 속할 수도 있다. 사실은 isolate 이름에 해당하는 식별자를 strain에 갖다붙이는 일이 대단히 흔한데, 엄밀하게 따지자면 strain은 taxonomy 관점에서 붙이는 체계이다. Bergey's manual에서는 'A strain is made up of the descendants of a single isolation in pure culture and usually is made up of a succession of cultures ultimately derived from an initial single colony'라고 정의하였다.

Strain, clone and species: comments on three basic concepts of bacteriology

이것은 구글 검색을 통해 찾은 논문의 제목이다. Genomics의 시대가 도래하면서 유성생식을 하지 않는 원핵생물의 species 구별 방법에 대해서 많은 진전이 있었다. 이 논문은 2000년도에 발표된 것이라서 이러한 사항을 수용하고 있지는 못하지만, strain의 개념이 역사적인 맥락에서 어떻게 형성되어 왔는지, 또 taxonomy sense의 strain과 자연계에서의 strain에 대해서도 충실히 설명하고 있는 자료이다. 본 논문에서 예로 든 것은 전부 clinical bacteriology에 해당하는 것이지만, 다른 분야의 미생물학에도 그대로 적용될 수 있다.

2017년 10월 18일 수요일

새롭게 공부하는 RNA-seq data analysis

늘 세균의 genome(sequencing & analysis)만 편식하다가 인체 세포주에서 유래한 RNA-seq data를 건드릴 기회가 생겼다. 아주 드물게 진핵생명체의 RNA-seq data를 다룬 경험이 있지만 워낙 빈도가 적어서 기법을 숙달할 만한 수준에는 조금 부족했었다. 좋은 기회라고 생각하고 데이터를 들여다보기 시작하였다.

라이브러리 제작과 시퀀싱, 기초 분석은 (주)이바이오젠에서 수행한 것이다. Lexogen이라는 회사의 QuantSeq 3' mRNA-seq library prep kit(workflow 그림 설명)를 사용하여 시퀀싱 라이브러리를 만든 뒤 Illumina NextSeq 500(data sheet PDF file)에서 75nt SE 시퀀싱을 한 것이다. 둘 다 내게는 생소한 키트요, 장비가 아닐 수 없다. 왜냐하면 늘 TruSeq 라이브러리 제작 키트를 사용하면 만든 genomic library를 HiSeq 2500 아니면 MiSeq으로 시퀀싱을 한 결과를 받아서 이용했기 때문이다. 그것도 아니면 PacBio RSII였으니까.

2016년 3월에 있었던 이바이오젠의 QuantSeq 실험분석 할인행사 광고를 보자. 이것이 일루미나의 TruSeq standard total RNA에 비교하여 어떤 장점이 있을까? 3'-end를 좀 더 능률적으로 잡아낸다는 것(그래서 gene counting에 유리), 그리고 단편화된 mRNA도 시퀀싱이 가능하다는 것, 비용이 저렴하다는 것 등이다. Transcript의 3'-end에 집중하므로 alternative splicing/isoform을 검출하지는 못하지만, 발현체의 정량적 분석에서는 매우 좋은 키트라고 한다. 일루미나의 TruSeq 키트에서는 stranded mRNA kit가 아닌 경우에는 poly(A) tail을 활용하지 않는다(그림 설명 - 일루미나의 공식 웹사이트는 아니지만 친절하게 잘 설명함). 따라서 한 transcript에 대하여 여러 fragment가 생기고, 이는 발현값을 결정하는데 어려움으로 작용한다.

일루미나의 NextSeq 500은 또 무엇인가? NextSeq 시리즈는 벤치탑 형태의 시퀀싱 장비이다. 웹사이트에 따르면 "The first high-throughput benchtop sequencer"라고 자랑스럽게 소개하였다. 그러면 MiSeq은 benchtop sequencer가 아닌가? 현존하는 일루미나의 benchtop sequencer 3 종(MiniSeq, MiSeq, 그리고 NextSeq)을 비교한 웹사이트를 둘러보면 그럭저럭 이해는 간다. Throughput 측면에서 MiSeq은 진핵생물의 유전체/전사체 시퀀싱을 할 수준이 안된다. 지금 내가 매만지고 있는 QuantSeq 라이브러리의 시퀀싱 결과물은 총 6개의 fastq 파일인데 전부 합치면 10,099,183,772 bp / 132,883,997 seqs; 76.0 bp average이다. 약 10 기가베이스페어, 1억3288만 read나 된다. HiSeq이라면 모르겠지만 MiSeq으로는 감당이 될 수준이 아니다. 그래서 미생물과 진행생물의 시퀀싱을 골고루 서비스하려는 회사에서 선택한 장비인 것으로 생각된다. HiSeq은 아무래도 production scale sequencer로서 가격이 비싸기 때문일 것이다. 그런데 재미있는 것은 benchtop sequencer와 production-scale sequencer 양쪽 카테고리에 NextSeq이 전부 걸쳐있다. 앞으로 내가 시퀀싱 장비를 직접 구입할 일은 없겠지만, 응용 분야에 맞추어 일루미나 장비를 고르고 싶다면 sequencing platform comparison tool 웹사이트를 방문하면 된다.

2014년에 NextSeq 시리즈(500)가 HiSeq X Ten과 같이 출시되었을 때 이를 MiSeq 및 HiSeq과 비교한 글이 있어서 소개하고자 한다.

How dose NextSeq 500 compare with MiSeq and HiSeq?

반면에 7 reasons why the NextSeq 500 is a strange choice라는 글도 있었다. 이 글이 씌여진 것은 2014년이니 이미 3년이나 지난 지금은 상황이 어떻게 변했는지 살펴보는 것도 재미있을 것이다.

우연하게 접한 일이 돌이켜보니 많은 의미가 있던 것으로 평가를 내리게 되는 일이 적지 않게 생긴다. 그래서 내가 '기회'라는 말을 참 좋아한다.

Fold change를 표현하는 방법

생명과학 연구에서 유전자 발현량을 두 조건에 대하여 서로 비교하고자할 때 fold change(FC)를 많이 이용한다. 이 수치는 DEG(differentially expressed gene)을 찾는데 매우 중요한 의미를 갖는다. FC의 정의는 비교 조건(treatment)의 값을 기준 조건(control)의 값으로 나누는 것이다.
FC = treatment / control
두 조건의 값이 같으면 당연히 FC = 1이다.

그런데 두 발현량의 비율을 FC로 표현하는 것에는 몇가지 불편한 점이 따른다. 첫째는 기준 조건의 값이 0일 경우이다. 수학에서 분모가 0인 것은 대단히 좋지 못한 상황이 된다. 만약 FC를 엑셀에서 계산한다면 어떻게 할 것인가? researchgate, seqanswers, biostars 등에는 이에 대한 질문과 꽤 심도있는 대답이 오고가기도 한다. 0을 실험에서 나올 수 없는 값으로 보는 견해도 있고(따라서 아주 작은 숫자로 치환한다든지), 아예 높은 값을 대입하는 사람도 있다고 한다. 실제 세계에서는 모든 조건의 값에 0을 더한 뒤(나중에 log2 transform을 해야 할 일도 있으므로) 모든 조건의 값을 합했을때 일정 값에 미치지 않는 row(=gene)을 제거해버리기도 한다. 예를 들어서 9개 조건의 RNA-seq 데이터를 매트릭스 형태로 합친 다음, 동일 row의 값을 다 더했을때 6이 되지 않으면 그 유전자는 제거하는 것이다.

FC = treatment/control라는 수식을 그대로 따르면 1을 기준으로 너무나 비대칭적인 값을 얻게 된다는 것도 문제이다. 즉 control < treatment이면 FC는 1보다 큰 값을 가지며 그 범위도 매우 넓다. 그러나 control > treatment 이면? 0 < FC < 1이 되어 너무 좁은 범위에 FC가 분포하게 된다. 이를 해결하는 방법 중 하나는 FC를 그대로 쓰지 않고 log2(FC)로 전환하는 것이다. 단 FC = 0인 것은 적절히 제거를 하든지 전처리를 해야 한다.

FC에 밑이 2인 log를 씌우면 대칭적인 값을 얻음과 동시에 음수(-)가 나올 수도 있다. 설명하자면 다음과 같은 것이다.

log2(FC) = 1, 2, 3이면 control에 비하여 treatment가 2배, 4배(22), 8배(2).
log2(FC) = 0이면 control과 treatment는 같다.
log2(FC_ = -1, -2, -3이면 control에 비하여 treatment가 1/2배, 1/4배(2-2, 1/8배(23).

2, 3...이면 22배, 23배로 표현되는 것이 불편한가? 숫자 그대로 2배, 3배를 원하는가? 이런 사람에게는 다른 방식으로 FC를 표현하면 된다. control < treatment이면 FC의 원래 정의(treatment/control)를 그대로 따른다. 그러나 control > treatment라면 새로운 FC, 즉 new FC = - 1/FC를 쓰는 것이다. 이렇게 정의하면 new FC = -2, -3, -4는 control이 treatment에 비하여 2배, 3배, 4배 많다는 뜻이다. 굉장히 자연스럽고 직관적인 표현이다.  대신에 이렇게 정의한 FC는 -1 .. 0 .. 1 범위의 값은 갖지 않는다. 정확히 말하자면 control = treatment일 때에 FC = 1이 되겠지만, 여러 replicate의 값을 normalize한 뒤 평균을 구하면 각 조건 그룹의 값이 완전히 똑같아지는 일은 잘 일어나지 않는다.

CLC Genomics Workbench에서는 FC를 바로 이런 방식으로 표현한다. 매뉴얼의 원문을 그대로 인용해 본다.
  • Fold Change (original values). For a two-group experiment the 'Fold Change' tells you how many times bigger the mean expression value in group 2 (treatment) is relative to that of group 1 (control). If the mean expression value in group 2 is bigger than that in group 1 this value is the mean expression value in group 2 divided by that in group 1. If the mean expression value in group 2 is smaller than that in group 1 the fold change is the mean expression value in group 1 divided by that in group 2 with a negative sign. Thus, if the mean expression levels in group 1 and group 2 are 10 and 50 respectively, the fold change is 5, and if the and if the mean expression levels in group 1 and group 2 are 50 and 10 respectively, the fold change is -5. Entries of plus or minus infinity in the 'Fold Change' columns of the Experiment area represent those where one of the expression values in the calculation is a 0. For experiments with more than two groups, the 'Fold Change' column contains the ratio of the maximum of the mean expression values of the groups to the minimum of the mean expression values of the groups, multiplied by -1 if the group with the maximum mean expression value occurs before the group with the minimum mean expression value (with the ordering: group 1, group 2, ...). (원문 링크)

2017년 10월 17일 화요일

RStudio Cheat Sheets

사오 년쯤 전에 KOBIC 차세대생명정보교육을 통해서 처음으로 R을 배우기 시작했을 때, 작은 종이에 R 활용 시 유용하게 쓸 수 있는 팁을 인쇄하여 배포한 것을 받은 기억이 있다. R을 아주 가끔씩 사용하지만 절대적인 빈도가 높지는 않은 편이라 기본적인 사용법을 종종 잊어버려서 불편함을 느낄 때, 이 쪽지가 남아있었으면 참 좋겠다는 생각을 하고는 했다.

그것과 똑같은 것은 아니지만 인터넷을 돌아다니다가 RStudio Cheat Sheet라는 것을 발견하였다. 잘 알려진 콩글리시로 말하자면 '컨닝 페이퍼'에 해당하는 셈이다. 여러 상황에서의 R 사용법을 요약하여 그림과 함께 PDF 파일로 만든 것이다. Apply 함수, 데이터 임포트, 데이터 시각화 등 빠르게 참조하여 실무에 활용하기에 매우 좋은 주제를 알기쉽게 설명한 자료인 것이다.


독학, 교습, 단기강좌 등을 통해서 체계없이 R을 공부한 결과는 대단히 만족스럽지 못하다. 이제는 R Cookbook과 같은 자료를 참고하여 내가 원하는 분석을 할 수 있을 것으로 자부하면서도 때로는 너무나 기본적인 활용법에 무지함에 스스로 놀라기도 한다. 어쩌면 더욱 중요한 것은 문법이나 라이브러리의 사용법이 아니라 데이터 구조 및 처리/통계적 분석/시각화에 대한 확고한 개념일지도 모른다. 이번에는 도서관에서 교양서적을 빌리면서 국문으로 된 신간 R 입문서도 한 권 빌렸다. 한번에 처음부터 끝까지 훑으면서 내가 미처 파악하지 못했던 기본적인 활용법을 정리하기 위함이다.

내가 주로 활용하는 R 관련 자료들을 펼쳐 보았다. 인터넷에서 돌아다니는 PDF 파일을 인쇄한 것이 대부분이다. 간혹 O'Reilly 등에서 단행본으로 나오던 책의 PDF 파일이 통째로 인터넷에 돌아다니는 것을 보게 되는데, 이를 다운로드하여 다른 곳에 배포하지 않고 개인적으로 활용하는 것이 현행법에 혹시 저촉되는 것은 아닌지 모르겠다.


R에서도 권장하는 스타일이 있을 것이다. assignment operator(할당 연산자)로서 =와 <- 1.4.0="" p="">

2017년 10월 16일 월요일

가장 흔하게 오마주되는 시계들

오마주 시계는 디자인과 로고까지 그대로 빼다박은 모조품(가짜, 짝퉁, 짭, 짜가, 레플리카, 이미테이션...), 즉 의도적으로 정품 시계와 같은 물건처럼 보이도록 만든 제품과는 분명히 다른 도덕적 우위에 있다고 말할 수 있다. 그래도 시계 관련 포럼에서는 늘 회자되는 뜨거운 주제임에는 틀림없다. 오마주 시계를 사느니 세이코나 시티즌의 경제적인 모델(독자적인 디자인)을 구입하겠다는...

오랜 기간 동안 오마주 대상이 된다는 것은 그만큼 디자인적으로 완벽하다는 뜻이 아닐까? 예를 들어 우리나라에서 유달리 인기가 높은 롤렉스 서브마리너를 생각해 보자(관련 뉴스: 롤렉스 서브마리너는 왜 스테디셀러일까?). 국내에서 이 모델은 '섭마'라는 애칭으로도 불린다. 1953년에 처음 출시된 서브마리너는 아직까지도 그 기본 디자인으로부터 그다지 변하지 않았으며(참고: 롤렉스 시계의 역사: 1953-1967) 원래 목적에 맞게 이것을 차고 바닷속 깊이 잠수를 하든, 캐쥬얼한 복장을 하든, 정장을 하든 어떤 상황에서도 무난하게 잘 어울리는 스타일로서 수많은 다이버 시계의 원형이 되었다. 그래서 '최고의 다이버 워치 10선(the 10 best affordable diver watches of 201X, best affordable dive watches, best dive watches under $1000...)'류의 글을 검색하면 롤렉스 서브마리너와 유사한 시계가 줄줄 나온다. 롤렉스 서브마리너는 남자라면 누구나 한번쯤 갖고싶어하는 유려한 스타일의 명품 시계지만 정품의 가격은 너무나 비싸다. 그래서 이를 오마주한 시계가 시중에는 수도 없이 많고, 오마주까지는 아니더라도 롤렉스 서브마리너의 스타일을 따른 시계는 더욱 많다.

https://www.flickr.com/photos/hypophyse/4356626643
롤렉스 서브마리너 5512(재사용 가능 이미지)
모든 남성이 한번쯤은 입맛을 다시는 롤렉스 서브마리너는 1천만원을 훌쩍 넘는 고가의 시계라서 나 같은 서민은 꿈도 꾸기 어렵다. 미도, 오리스, 티쏘, 프레드릭 콘스탄드, 또는 해밀턴처럼 현실 범위 내의 시계는커녕 앞으로 내 일생에 실구매가가 30만원을 넘는 시계를 사게 될 날이 올 것 같지는 않다. 대신 10만원-20만원 수준의 오마주 시계를 한두 개 구입하여 호기심을 충족시키기는 것은 충분히 가능할 것이다. 그러다가 누적 금액이 30만원을 넘길지도 모른다! 그러니 앞의 다짐은 이렇게 바꾸면 어떨까?

앞으로 내 일생에 2년 누적 시계 관련 지출이 30만원을 넘기지 않도록 한다.

이렇게 선언하면 굉장히 소박한 수준의 취미생활이 되고 만다. 물론 이를 빠져나갈 방법은 얼마든지 있다. 이 규정의 실행 개시 일자를 계속 뒤로 미루면 된다.

best (or top) homage watches라는 키워드 조합으로 구글을 검색해 보았다. 검색 결과 중 가장 마음에 드는 두 사이트를 고른 뒤 어떤 시계가 순위에 올라왔는지를 인용해 본다. 각각에서 공통적으로 제시한 시계 4개는 굵은 글씨로 표현하였다.

Top 5 Watches & Their Homage Alternatives
Five Famous watches and their Homage Alternatives

  • Rolex Submariner Date
  • Audemars Picuet Royal Oak
  • Omega Seamaster
  • Breitling Navitimer
  • Rolex Daytona
  • Panerai Luminor
이렇게 역사적으로 유명한 시계의 저렴한 오마주를 파는 곳은 어디일까? 또 어떤 브랜드 명칭을 달고 있을까? 심심풀이로 조사를 해 보았다. 다음은 홈페이지를 통해서 직접 구매가 가능한 오마주 시계의 사이트들이다. 여기서 저렴하다는 말의 의미는 150달러 내외에서 고를만 한 제품을 갖추었음을 뜻한다. 세계의 공장인 중국이란 나라가 없었으면 이런 가격에 이 정도 품질의 기계식 시계를 만나는 것은 쉽지 않다. 가격대가 높은 높은 Steinhardt와 Christopher Ward는 이 범주에 넣지 않았다. EPOSDeep Blue도 마찬가지이다. 모든 오마주 시계, 특별히 롤렉스 서브마리너와 유사한 것들의 종합 조사를 하려는 목적이 아니니 말이다.

Parnis

이런 류의 시계 제조에서는 매우 잘 알려진 곳이다. 특히 파네라이의 오마주인 Parnis Manina Militare 47mm PVD 1950이 두번째 링크에 소개되었다.

Alpha

오메가 씨마스터의 오마주 제품이 괜찮은 듯. 별로 흔하지 않은 롤렉스 익스플로러의 오마주도 꽤 갖추고 있다. 혹시 오메가를 압도하기 위해 알파라는 이름을 지은 것은 아닌지?

Phoibos

2016년에 사업을 시작한 신생 브랜드. 1천미터 다이버 워치와 같은 고품질의 제품을 판매. 150 달러 미만의 것은 300M dive watch 카테고리의 쿼츠 제품분이다.

Tiger Concept

커스터마이제이션용 부품도 판매함.

dajiwatch

여기는 Corguet, Debert, Parnis, BLIGER, Ossnar, Neiton, GARTON 등 다양한 브랜드 제품과 부품을 판매한다. 어디까지가 오마주이고 어디부터가 고유 디자인인지는 잘 모르겠다.

Tisell

국내 브랜드. 부품을 중국에서 직접 조달하여 검수 후 제작하여 판매하는 곳으로 알고 있다. 국내외에서 꽤 호평을 받았지만 유달리 안티도 많은 듯.

기타 브랜드(ebay, aliexpress, amazon에서 구입 가능)

Invicta, Reginald, Steel Bagelsport 등. 인빅타를 이런 시계와 같은 등급에 놓는 것은 실은 적합하지 않다.

사면 안되는 것

Winner의 서브마리너. 이십 몇 달러의 오토매틱 시계가 국내로 수입되는 과정에서 설명서와 함께케이스에 담기면서 72,800원에 팔린다. 케이스는 스테인리스 스틸이 아니고 크롬(혹은 니켈?)을 도금한 황동이라서 날카로운 것에 긇히면 벗겨진다. 구입처 홈페이지에는 스테인리스 스틸이라고 기재해 놓았다.

이상의 것 중에서 특별히 관심을 갖고 있는 것은 Alpha(Rolex Explorer homage, 국내의 사용기; 또는 Omega Plane Ocean homage black bezel or orange bezel), Tiger Concept의 62630 (Rolex Daytona Homage, Epson 쿼츠 무브먼트 사용, 국내의 사용기), Debert(at http://dajiwatch.com/)의 나일론 스트랩을 끼운 예쁜 Omega Seamaster homage(item code DT-024 or DT-025, 아마존의 상품평) 정도이다. 전부 Miyota 무브먼트를 사용하였기에 성능은 그런대로 만족할 만한 수준이 될 것으로 생각한다. 단 방수성능이나 마감에 대해서는 지나치게 큰 기대를 하지 않는 것이 좋을지도 모른다. 다이버 시계로서 전반적인 품질에 만족하려면 여기에 나열한 오마주 시계가 아닌 최소한 세이코 SKX007/009/013이나 오리엔트 Mako/Ray 정도는 되어야 할 것이다.

2017년 10월 12일 목요일

FASTQ 파일에서 목록에 없는 read를 추출하기

수십만 read 이상이 수록된 Fastq 파일에서 특정 read만을 추출하고 싶을 때가 있다. 추출해야 할 read의 ID가 별도의 텍스트 파일(read.list)에 들어있다면 seqtk을 사용하여 다음과 같이 실행하면 된다.
seqtk subseq in.fastq read.list > out.fastq
이번에는 반대의 경우를 생각해 보자. read.list에 없는 read만을 in.fastq 파일에서 추출하려면? read.list를 읽어서 read ID를 key로 삼는 해쉬를 만든 뒤, in.fastq를 읽어들여서 존재하지 않는 read ID를 만나면 이것을 4줄 단위로 출력하는 펄 스크립트를 짜야 하나? 일단은 검색에 의존해 보기로 했다. 역시 누군가는 앞서서 나와 비슷한 고민을 했고, 성실한 네티즌들은 이에 대한 해결책을 이미 제시하였다.

[Biostars] How to remove a list of reads from fastq file?

질문자는 매우 기본에 충실한 방법으로 이 문제를 해결하고 있었다. 우선 fastq 파일로부터 read ID를 추출하여 목록 파일을 만든다.
zcat in.fastq.gz | awk 'NR%4==1' | sed 's/@//' > in.fastq.readsID
그러고 나서 in.fastq.readsID에 해당하지 않는 read의 ID를 추출한다. grep에서 -v 옵션을 주면 match가 되지 않는 라인을 출력한다(all lines but those matching are printed). 나는 부끄럽게도 이 기능을 아직까지 전혀 모르고 있었다! 미련하게도 이런 종류의 일에서는 늘 Perl의 해쉬를 사용하려고 했었으니...
grep -f reads-remove-list in.fastq.readsID -v > remaining.list
마지막으로 seqtk subseq를 사용한다.
seqtk subseq in.fastq.gz remaining.list | gzip - > remaining.fastq.gz
손이 많이 가는 방식이지만 기본에 매우 충실하다. awk를 사용하여 4줄마다 한번씩 줄을 출력하고, sed를 써서 서열 ID 앞부분의 '@'를 제거하고, 마지막으로 grep으로 match되지 않은 라인을 출력하고... 인스턴트 커피 가루와 프리마, 설탕을 티스푼으로 정성스럽게(그러나 취향에 맞게) 떠서 커피를 타듯이 처리를 한 것이다. 질문자는 이렇게 하는 것이 너무 번거롭다고 생각하여 믹스커피 봉지를 뜯듯이 좀더 쉽게 파일 처리를 하는 방법을 물은 것이다.

제시된 해결방법 중 가장 마음에 드는 것은 BBMap의 filterbyname.sh 스크립트를 이용하는 것이다. BBMap은 미국 Joint Genome Institute에서 일하는 Brian Bushnell이 만든 종합선물세트 비슷한 것이다. 지금은 BBTools라는 확장된 패키지로 불리는 것 같다. filterbyname.sh가 좋은 점은 fastq file pair를 동시에 다룰 수 있다는 점이다. seqtk subseq를 사용하려면 infile_1.fastq와 infile_2.fastq에 대해서 각각 작업을 해야 된다. 맨 뒤의 include=f가 바로 목록에 있는 것을 제외하고 출력하게 만드는 스위치인 셈이다.
filterbyname.sh in=infile_1.fq in2=infile_2.fq out=outfile_1.fq out2=outfile_2.fq names=readID.list include=f
단, 오래전에 시퀀싱한 결과물이나 ART로 생성한 simulated read pair를 다룰 때에는 조심해야 한다. read ID의 끝부분에 /1 또는 /2의 tag가 붙어있기 때문이다. 요즘의 일루미나 시퀀싱 결과물에서는 read ID와 공백을 두고 direction tag이 존재하므로 read ID 목록 파일을 이용하여 원본 fastq 파일을 다루기에 좋다.

(old style) @HWI-EAS390_0001:7:120:12431:20961#0/2
(ART style) @chromosome_ST307PT01-2132000/1
(new style) @M00220:56:000000000-AML1R:1:1101:12360:1835 1:N:0:5

2017년 10월 11일 수요일

SeqKit: a cross-platform and ultrafast toolkit for FASTA/Q file manipulation (PLoS One 2016)



FASTQA/Q 서열 파일 조작용 유틸리티인 seqtk와 이름이 흡사해서 자칫 잘못하다가 그냥 지나칠 뻔하였는데, 자세히 살펴보니 2016년도에 PLoS One에 발표된 매우 '신선한' 프로그램이었다. 다른 프로그램과 기능을 비교한 표를 인용하여 본다. 못하는 일이 없다!



논문의 제목에도 표현이 되었듯이 SeqKit의 특징을 요약하자면 cross-platform과 ultrafast로 표현할 수 있다. 대부분의 생명정보학 프로그램이 리눅스 혹은 Mac에서 돌아가는 것을 생각한다면 Windows에서도 실행 가능하다는 것은 매력이 아닐 수 없다.

하지만 명령행 방식의 application을 실제 Windows에서 실행하기에는 매우 불편하다(나만 그런가?). 리눅스의 command line 환경(Shell)에 너무 익숙해진 상태라서 그럴 것이다. 환경변수의 개념이 윈도우에서는 어떻게 구현되는지 나는 아직도 잘 모른다. 리눅스 shell이 제공하는 직관적인 편집 기능 또한 윈도우에서는 커맨드 창에서는 먹히질 않으니 더욱 그러하다. Mac을 쓰는 사람은 리눅스의 터미널 창과 거의 흡사한 환경을 이용하게 되니 이야기는 달라진다.

많은 기능을 갖는 super tool이 나온다 해도 과거에 쓰던 프로그램을 다 버리고 새 도구로 전적으로 갈아타는 일은 잘 벌어지지 않는다. 새 도구는 특정 기능이 필요한 때에만 사용하게 되고, 기존에 익숙하게 쓰던 도구를 계속 쓰는 것이다. 그만큼 습관이란 무서운 것. 그리고 아무리 고차원적인 도구가 나온다 할지라도 shell script와 awk, 그리고 sed는 버릴 수 없는 것과 마찬가지이다.

Paired fastq file에서 subsampling을 하는 예제

다른 것들에 비해서 사이즈가 비정상적으로 큰 fastq file의 쌍으로부터 30%의 샘플을 취하는 예제이다. 이보다 더 좋은 방법이 있다면 알려주시길!
seqkit sample -p 0.3 ../ABA59_1.fastq > subABA59_1.fastq
seqkit seq --name --only-id subABA59_1.fastq > id.txt
seqkit grep --pattern-file id.txt ../ABA59_2.fastq > subABA59_2.fastq

쿼츠 손목시계가 망가지는 대표적인 원인

충격

손목시계에 고장을 일으키는 가장 흔한 원인일 것이다. 충격의 정도가 약하면 케이스나 유리에 흠집이 나는 정도로 그치겠지만 심한 충격을 받으면 시계바늘이나 인덱스가 떨어져 나간다. 다이얼을 고정하는 핀이 부러지는 일도 생긴다. 다음은 복합적인 문제가 일어났던 내 손목시계의 사진이다. 처음에는 시침이 빠져서 정렬이 틀어진 것만 인지하고 있었다. 그러나 수리점에 가서 더 큰 문제가 있음을 발견하였다. 사진에서 빨강색 네모로 표시한 곳을 보라. 바늘의 축이 서브다이얼 정중앙에 있지 않다. 시계를 분해해보니 다이얼을 고정하는 핀 두 개 중에서 하나가 부러져서 다이얼이 옆으로 밀린 것이었다. 정식 서비스센터로 보냈더라면 사용자 부주의로 꽤 비싼 수리 비용을 물었을 것이고, 다이얼도 새것으로 교체했을지도 모른다. 그러나 동네 시계방에는 부품이 없으니 다이얼을 무브먼트에 접착하는 방식으로 수리를 해 주었다. 다이얼 자체는 앞으로 고장날 일이 거의 없고 변색이 될 재질도 아니니 이렇게 수리를 해도 별다른 문제는 없을 것이다.

쿼츠 무브먼트 내에도 움직이는 작은 부품이 있지만 워낙 작고 가벼워서 시계를 떨어뜨린다 해도 이 부품들이 이탈할 가능성은 높지 않다. 그렇게 되기 전에 바늘이나 다이얼이 떨어지는 일이 벌어질 것이다.

간혹 용두가 부러지는 일도 생긴다. 부러진 용두를 잃어버리면 정말 난감하다! 용두를 갖고 있다 하여도 남아있는 심을 제거하는 일이 남는다. 남은 심의 길이가 제법 된다면 돌려서 빼면 되겠지만, 용두 내에 쏙 들어간 상태라면 선반에 물려야 한다나?

시침이 똑바로 정렬하지 못한 것이 문제가 아니라. 다이얼 자체가 고정이 되지 않은 것이 더 큰 문제이다. 이*트 시계점에서 가죽줄로 교체를 하다가 내가 보는 앞에서 시계 본체를 바닥에 심하게 떨어뜨린 것이 이 고장을 일으킨 원인으로 생각하고 있다. 그 즉시 클레임을 제기하지 못한 것이 안타까울 뿐이다.

수분 침투

시계의 방수 성능이 아무리 좋다고 한들 용두가 열린 상태에서는 물이 들어갈 수 있다. 전지 교체 후 뒷뚜껑을 제대로 닫지 않았거나 개스킷이 노후한 상태라면 그리로도 수분이 침투할 수 있다. 침투된 수분은 금속 부품에 부식을 일으켜 못쓰게 만든다.

배터리 누액

수명이 다 된 배터리는 내부 압력이 높아지면서 전해액이 밖으로 스며나오기 시작한다. 전해액은 부식성이 매우 높아서 내부 부품에 치명적인 손상을 입힌다. 수분에 의한 녹은 닦아낼 수라도 있지만 배터리 누액은 심각한 부식을 일으킨다. 따라서 배터리가 다 된 손목시계가 있다면 즉시 새 것으로 교체를 하는 것이 현명하다. 무브먼트에 따라서는 배터리가 소모된 경우 1초 간격이 아니라 2초(혹은 그 이상?)에 한번씩 크게 움직여서 교체할 때가 되었음을 알리는 기능도 있다.

국내 시계 시장은 세계 7위 규모로 급성장하였는데...

국내 시계 '산업'은 점점 쪼그라들고 있다. 80년대만 하더라도 국내 시계 산업은 꽤 큰 규모를 유지하고 있었다. 그러나 중국산 저가품과 명품 시계에 밀려서 사람들은 더 이상 국산 브랜드의 시계를 찾지 않는다. 어떤 사람은 무브먼트를 자체 제작하지 못하는 기술력을 탓하지만, 매우 복합적인 원인이 있을 것이다. 

위에서 사진으로 소개한 시계의 줄을 갈러 이*트에 갔을 때의 경험이다. 그곳은 시계 '판매'로만 계약이 된 점포라서 수리를 하면 안된다고 한다. 시계줄 교체는 수리의 영역이고, 배터리 교체는 허용이 되는 것인지? 어쨌든 나는 두 가지 서비스를 다 받았고, 배터리 교체 비용은 카드로, 시계줄 교체 비용은 현물로(?) 결제하는 희한한 경험을 했다. 설명을 하자면 시계점 주인이 필요로 하는 물건을 이*트 매장에서 골라서 내가 결제만 하고 물건을 넘겨주는 방식으로 말이다.

이해하기 힘든 방식이었다. 시계를 다루는 솜씨가 너무나 서툴러서 손님이 보는 앞에서 몇번이나 공구와 자재를 떨어뜨리지를 않나, 게다가 앉아서 일하는 작업대가 없이 서서 일을 하게 되니 얼마나 불안한가! 그리고 이해가 되지 않는 결제 방식... 만약 내가 근거가 필요하여 영수증을 발급해 달라고 하면 어떻게 되었을까? 이에 대해 이*트에 제보를 하면 이 시계점은 계약 위반으로 곤란을 겪게 되는 것인가?

시장의 규모는 커진데 반하여 일선 시장에서는 이런 상식 이하의 일이 벌어지고 있다. 얼마 전 시계 관련 인터넷 커뮤니티에서 이런 글을 읽은 적이 있다. 손님이 맡긴 수천만원짜리 카르티에 시계를 시계방 주인이 저녁때 모임이 있다면서 차고 외출을 했다고 한다. 어차피 폴리싱을 맡겼으니 차다가 흠집이 나도 상관이 없다면서... 

2017년 10월 10일 화요일

블로그를 운영한다는 것

열흘에 이르는 긴 연휴를 보내면서 휴대폰을 만지작거리고 주변 나들이를 한 것 말고는 지적(知的) 활동을 전혀 하지 않았다. 책은 거의 읽지 않았고 글씨도 전혀 쓰지 않았다. 몇 편의 영화를 본 것은 그저 시간 때움에 불과하다. 극장에서는 킹스맨: 골든 서클을 보았고 넷플릭스로는 배트맨 비긴즈, 맨 오브 스틸, 세렌디피티, 레볼루셔너리 로드를 보았다. 바로 어제 보았던 레볼루셔너리 로드는 정말 충격적이었다. 그저 심각한 갈등이 포함된 드라마라고 생각했었는데 그게 아니었다. 길 이름이 제목이었던 영화 <선셋 대로>를 떠올리게 했다.

이렇게 긴 기간을 푹 쉬고 있으려니 당연히 블로깅도 게을리하였다. 다시 무엇인가를 써야 하겠다는 생각에 앞어서 나는 왜 블로그를 운영하는가라는 물음을 던져 보았다. 연재소설 작가처럼 새 글이 올라오기를 기다리는 독자가 있는 것도 아니요, 이를 통해서 개인 홍보를 하거나 수익을 올리는 것도 아니다. 샘물이 흐르듯, 업무와 일상 생활을 하면서 자연적으로 넘쳐나는 생각과 정보, 경험을 기록으로 남기고 싶다는 욕구에 충실하기 위해서다.

여기서 주의해야 할 점이 하나 있으니, 인터넷 공간은 일기장이 아니라는 것이다. 개인적인 사항이 지나치게 공개되면 본의아니게 피해를 당할 수도 있고, 이를 읽는 다른 사람에게 좋든 나쁘든 영향을 미칠 수 있다. 더 중요한 것은 단순한 화풀이를 고발 정신과 착각해서는 안된다는 것이다. 개인 차원 혹은 자신이 속한 커뮤니티에서 충분히 자정작용이 일어나서 개선될 수 있을 문제를 너무나 쉽게 공론화를 시키게 된다는 것이다. 긍정적인 면이 없는 것은 아니지만 이는 사회적인 피로를 불러 일으킨다. 예를 들어서 여러 형태의 갑질 논쟁이 있다. 손님은 손님대로, 자영업자는 자영업자대로 갑질을 하는 '진상' 손님 혹은 어처구니없는 영업주를 공개하여 비난하기에 바쁘다. 거래 관계로 얽힌 경우 자신이 지불한 요금에 대한 정당한 서비스를 요구하는 목소리를 낼 수 있고, 사업주 또는 다양한 형태의 감정 노동자 역시 자신의 억울함을 정당하게 호소할 수 있다. 그런데 여기에서 그치는 것이 아니라 길을 가다가 만난 사람, 아파트 주자장에 삐딱하게 차를 세운 사람, 식당에서 만난 옆자리의 불쾌한 손님 등 고발할 일이 너무나 많다는 것이 문제이다. 다들 분노의 대상을 찾아서 칼을 갈고 있는 것처럼 매섭기만 하다. 인터넷이라는 존재가 긍정적인 역할을 하는 고발의 창구 역할을 하는 것인지, 단지 나쁜 감정(특히 혐오)을 쏟아붓는 쓰레기통인지 요즘은 알 수가 없다.

이런 글들이 주로 올라오는 커뮤니티 사이트는 묘한 중독성이 있어서 바깥 세상에 어떤 일들이 돌아가는지 알아보겠다는 핑계로 자꾸 들여다보게 된다. 참으로 부끄러운 일이다. 이러한 글들에 대해서 가벼운 관심을 가질 것이 아니라, 나의 주관과 철학을 갖고서 세상이 돌아가는 것을 바라보아야 할 것이다. 어제는 은행동에 나갔다가 알라딘 중고서점에서 존 스토셀의 <왜 정부는 하는 일마다 실패하는가>(리디북스 무료요약)를 만지작거리다가 말았다. 촛불혁명에 의해 새 정부가 들어서면서 정부가 나서서 많은 일들을 해결해주기를 기대하는 요즈음 생뚱맞게 작은 정부 옹호론이라니. 물론 이러한 시각에 내가 찬성한다는 것은 아니며, 정부가 나서서 모든 일을 해결해 주리라는 기대의 한계는 어디까지인지를 알아보고 싶은 것에 다름아니다. 아마도 곧 책을 구입하게 될 것만 같다.

마침 2017년 노벨 경제학상(보다 정확히 말하자면 '알프레드 노벨을 기리는 스웨덴 중앙은행 경제학상')은 <넛지(nudge)-똑똑한 선택을 이끄는 힘>의 공저자로 잘 알려진 미국 시카고대의 리처드 H. 탈러에게 돌아갔다는 소식이 들린다. 고전 경제학적 관점에서는 인간은 완벽하게 합리적인 경제적 판단을 내릴 것으로 기대하지만 실제로는 그렇지가 않다. 그리고 아무리 그런 의도를 갖고 있다고 해도 결과는 기대한 것과 영 딴판으로 나올 수도 있다. 정부가 하는 일마다 실패하는 것도 이와 어느 정도는 일맥상통하는 면이 있다. 좋은 지도자가 나와서 단칼에 모든 문제(적폐?)를 청산하고 합리적인 사회를 건설한다는 것은 어쩌면 영원한 신화인지도 모른다. 그러나 그렇게 하기 위한 노력은 필요하지 않을까? 정부가 나서서 뭘 해도 어차피 잘 안되기 마련이니 그냥 자유롭게 놔두라는 것은 더욱 무책임한 일이 될 것이다.


2017년 10월 9일 월요일

긴 연휴의 끝

기록적인 10월 연휴가 모두 끝나간다. 개천절, 추석연휴 3일, 대체공휴일, 임시공휴일(10월 2일) 한글날, 그리고 두 차례의 주말을 합치면 총 열흘을 쉰 셈이다. 앞으로 50년 내에 이런 날이 또 올까? 온다고 해도 내가 그때까지 생존해 있을지 알 수가 없다.


별다른 여행 계획을 갖고 있지 않았기에 연휴 직전 퇴근을 하면서 집에서 보려고 논문 인쇄본등을 챙겨서 왔지만 주말이면 거의 항상 그랬듯이 지금까지 가방을 열어보지도 않았다. 만년필 잉크도 잘 나오지 않아서 수돗물에 적셔서 잘 나오게 만들어 두었다. 휴대폰을 만지작거린 것을 제외하면 책도 한 권 읽지 않고 완벽한 휴식을 취한 셈이다. 오늘은 공식적인 휴일이지만 아마 연구소 주차장은 밀린 일을 하러 나온 사람들로 북적이고 있을 것이다. 아, 괜히 불안해진다.

긴 연휴 동안 멀지 않은 당일치기 나들이를 하면서 남긴 사진을 정리해 본다. 9월 30일 대전 롯데백화점 갤러리부터. 백화점 갤러리가 고마운 점은 미술작품을 촬영하는 것에 대해서 매우 관대하다는 것이다. 남성으로서는 알 길이 없는 여탕의 분위기를 재미있게 묘사하였다.




10월 2일 갑사. 가을은 갑사가 가장 아름답게 보이는 계절이다. 감이 빨갛게 익어가는 모습은 정말 예쁘다. 계절을 잊는 나비가 부도밭 사이를 노닐고 있었다. 모든 법당과 석조약사여래입상을 거치면서 절을 올리는 어떤 남성이 있었다. 무슨 사연이 있을까?



팔이 짧아서 셀카는 늘 찍기 어렵다.

10월 4일 추석 당일에는 조부모님과 아버님이 모셔진 대한성공회 서울대성당.



10월 6일에는 남대문과 명동. 원래는 숭례문 수입상가에서 커피 용품(모카포트)을 둘러볼 생각이었는데 문을 열지 않았다. 그러나 시장 길가의 점포는 대부분 영업을 하였다. 명동 거리는 외국인 관광객들로 발 디딜 틈이 없었다.



마지막으로 10월 8일은 익산을 거쳐서 전주. 익산 미륵사지의 서탑은 복원이 거의 막바지에 이르러서 이번 11월이면 완성을 앞두고 있다고 한다. 전주에는 얼마나 많은 관광객이 왔는지 치명자산 주차장이 꽉 차고 셔틀버스를 타는 데에도 한참을 기다려야만 했다. 그래도 추석 연휴때에 비하면 관광객이 적은 편이라고 했다. 전주를 워낙 자주 가다보니 이제는 인파에 휩쓸리지 않고 차분하게 돌아다닐 수 있는 나만의 코스를 만들게 되었다. 전주시의 노력으로 무료 셔틀버스도 운행이 되고 쓰레기도 잘 치워지는 편이지만 쓰레기 봉투 사이로 삐죽 솟아난 꼬치 막대기를 보면 섬찟하다. '한옥 거리'가 '길거리 음식 거리'로 전락하지 않도록 업소나 방문객 모두의 노력이 필요한 시점이다.

미륵사지에는 두 개의 연못이 있다. 가람의 연못은 극락을 상징한다고 하였다. 복원 중인 서탑 앞쪽의 연못.

현대적(?)으로 복원한 동탑에 대해서는 말이 많다.

한옥마을과 풍남문 건너편에 위치한 카페 JB Blue. 강력 추천함. 넓고 가격도 저렴한 편이다. 내부를 장식한 미술품 역시 예사롭지 아니하다.
미륵사지에 관한 정보를 찾다가 이런 뉴스를 발견하였다.


섣부른 복원은 후대에 연구할 기회를 빼앗는다는 주장이 가슴에 와 닿는다. 폐허 위에 역사적 상상력이 깃들 여지가 있다. 미륵사지 석탑(동탑)과 부여 백제문화단지의 능사(오층 목탑) 모두 원형을 알 수 없는 상황에서 만들어진 것이다. 그러나 미륵사지 동탑은 원래의 탑이 있던 그 자리에 지어버렸다는 것이 문제이다.