2019년 7월 31일 수요일

[독서 기록] 로지트, 사로잡힌 영혼

얼마 전에 어머니를 뵈러 갔다가 정규 누님이 위암으로 투병을 하다가 최근에 세상을 떠났다는 갑작스런 소식을 들었다. 정규 누님은 1956년 서울 출신으로, 화가 생활을 하셨다. 어머니와 정규 누님 어머니는 사촌 지간이니 나와는 육촌 사이가 된다. 아주 어려서는 어머니쪽을 통해 왕래가 있었고 그 이후로는 1986년에 서울 갤러리에서 열렸던 첫 개인전에서 다시 만났으며, 그리고 삼십년 가까이가 흘러 몇년 전에 내가 졸업한 학교(대학원 화학과)에 입학하여 후배가 된 누님의 딸, 그러니까 나에게는 조카와 함께 만나 대전에서 저녁을 같이 먹은 것이 전부였다. 이전의 만남 이후로 많은 시간이 흘렀지만 누님은 생각했던 것보다 나이가 더 들어 보였고, 얼굴에서는 세월의 더께가 느껴졌었다.

내가 미술에 요즘 관심이 많이 갖게 되어서 살아계실 때 좀 더 자주 만나서 교류를 했으면 좋았을 것을... 아쉽고 죄송스런 마음이 누님이 2002년 출판했었던 자서전을 구해서 읽었다. 누님의 홈페이지에 책 소개가 있다는 것은 알고 있었지만 이렇게 고단한 삶을 살았는지는 정말 몰랐었다.


이정규(1956~2018)의 자서전. 로지트, 자로잡힌 영혼(2002)

사업을 한다고 외국으로 떠나서 13년 동안 소식이 끊겼던 아버지가 이란에 정착하였다며 가족들을 불러들인 것이 1977년. 나도 어렴풋하게 그때를 기억한다. 누님은 서울에서 미술대학을 2학년까지 다니고 낯선 땅 이란으로 떠났지만 1978년 이란에 혁명이 일어나면서 가족들은 영국으로 떠나야 했다. 누님은 다시 미국으로 건너가서 대학원을 마치고 1985년에 귀국하였다. 그러나 대학에 자리를 잡고자 했던 희망은 석연치 않은 이유로 좌절을 겪게 된다.

그 이후의 일생은 여인의 몸으로는 감당하기 어려운 것이었고, 먼 친척인 나는 그러한 사정을 전혀 알지 못했었다. 책을 주문하기 위해 인터넷 서점에서 소개의 글을 보다가 비로소 그 삶의 단면을 엿보게 된 나는, 왜 많은 예술가들은 이렇게 어려운 삶을 지탱해 나가야 하는지 안타까운 마음에 젖어들었다. 책에서는 경제적으로도 곤궁하고, 일상적이지 않은 생활을 이어 나가면서도 예술에 대한 고민과 열정을 놓치지 않았던 자신의 이야기를 담담하게 그려나갔다. 누님이 책에서 언급했던 공권력에 의한 핍박과 통제가 정말로 있었던 것인지, 아니면 온전하지 못했던 그녀의 정신 세계에서만 있었던 것인지는 알 수 없다. 희망이라고는 찾아볼 수 없는 생활을 하면서도 혼자의 결심으로 아이를 낳고 키운 것은 어떤 마음에서였을까.

자화상 - 빨간 신호등(1996). 자서전의 표지에도 실렸었다. 출처 링크
창조 놀이(1996). 출처 링크

걱정 없는 곳에서 부디 평안히 쉬시기를...

DC-DC boost converter를 망가뜨리다

저출력의 진공관 싱글 앰프를 위한 B 전원 공급용으로 적당하리라 생각하여 국외에서 구입한 DC-DC boost convert 보드가 있었다. 출력은 40W 정도이고 9~43V를 입력하여 45~390V까지를 만들 수 있다. 아마도 현재 eBay 등지에서 팔리는 소형 승압 컨버터 중 고전압용으로는 가장 널리 팔리는 제품일 것으로 생각된다. 이를 작년부터 착수하여 올해까지 끌었던 43 pentode single amplifier에 장착하여 잘 사용하고 있었다. 100% 만족하는 것은 아니었다. 전압을 조금 올리면 스피커에서 '웅~'하는 잡음이 발생하기 때문이다. 스위칭 전원의 문제점으로 흔히 일컬어지는 고주파 잡음이라고는 볼 수 없다. 43 오극관 자체가 2W 정도로 출력이 낮은데, 그나마 들을만한 수준으로 잡음을 줄이려면 B 전원 전압을 충분히 올리지 못한 상태로 사용해야 했다.

출처: 내 블로그

MOSTET을 사용한 리플 필터 기판(참고 링크)을 여기에 연결하면 상황이 나아질거라 생각을 하였다. 그런데 호기심이 너무 과해서 6LQ8 푸시풀 앰프에 연결한 것이 화근이었다. 최근에 만들었던 6LQ8 앰프는 50W 수준의 전원트랜스를 사용한다.


43 싱글 앰프에서 사용하던 구성대로 12V 5A 어댑터를 연결한 뒤 전압조정 가변저항을 돌려서 평소보다 높은 212V 정도를 만들고, 이를 리플 필터 기판에 공급하였다. 앰프에서는 소리가 잘 난다. 이렇게 사용하면 무거운 전원 트랜스포머를 대체할 수 있겠다 싶었다. 부스트 컨버터에서 열이 좀 많이 난다 싶더니, 갑자기 이상한 소리와 함께 작동을 멈추었다. 자체 보호 기능이 작동하지 않을 정도로 부스터 보드가 망가진 것 같았다. 이 보드는 한번에 두 개를 구입해 놓은 것이었는데, 과욕을 부리다가 전부 망가뜨리고 말았다. 이것 외에도 저가형 전압 컨버터를 몇 가지 사용해 보았지만 약간만 한계 상황 수준으로 구동하면 생각보다 잘 망가지는 것을 경험하였다.

43 싱글 앰프에만 얌전히 사용하되 여기에 리플 필터만 연결했었다면 망가뜨리지 않고 원하는 목적을 달성할 수 있었을 것이다.

대전 집에 있는 43 싱글 앰프는 졸지에 전원 공급원을 잃은 상태가 되었다. 하지만 별로 실망할 일은 아니다. 예전에 잠시 쓰다가 만 전원 트랜스포머가 있으니 이를 정류하여 리플 필터를 통하면 되지 않겠는가. 다이오드 브리지를 거친 맥류를 그대로 리플 필터로 보낼지, 혹은 평활 캐패시터를 하나 거친 후 보낼지는 생각을 해 봐야 한다.

2019년 7월 29일 월요일

기업의 일본 의존도 심화는 정부주도 R&D 비효율 때문인가?

정부가 주도하는 R&D 프로그램의 효율 문제를 논할 때마다 출연연 근무자의 하나인 나(현재는 기업에서 파견 근무 중)는 항상 죄를 지은 사람처럼 가슴이 철렁 내려앉는다. 미세먼지 등 국가적 이슈가 하루가 멀다하고 터져나올 때에도 마찬가지다. 출연연은 그 많은 예산을 가지고 이런 문제에 진작 대처하지 않고 지금까지 무엇을 했느냐고 늘상 질타를 받는다. '정무적 감각'이 있는 연구자들은 그동안 연구 지원이 충분하지 않았음을 강조하며 위기를 기회를 만들기 위해 힘을 쏟는다. 하지만 이 논리를 아주 조금만 뒤집으면 '출연연 무용론'에 한발 다가설 수 있다. 선진화, 혁신, 효율화, 구조조정, 거버넌스 개편 등 동원할 수 있는 좋은 말들은 얼마든지 있지만 결국 어르고 달래기와 겁주기 사이 스펙트럼 위 어딘가에 있는 말일 뿐이다. '그곳에 투입되는 돈이 아깝다'의 다른 표현이 아니겠는가.

어제 한겨레신문에는 정만기 전 산업자원부 차관(현 한국자동차산업협회 회장)의 인터뷰 기사가 실렸다. 최근 불거지고 있는 일본의 수출규제에 대응하기 위해 정부 차원에서는 일본 의존도를 낮추고자 핵심 소재·부품의 국산화 대책을 마련하고 있다. 이에 대하여 정만기 회장은 정부에서 투자하는 R&D 사업의 효율성을 제고하지 않으면 소용이 없다는 높은 강도의 '뼈 있는' 발언을 하였다.

정만기 전 차관 "매년 20조 R&D 지원 밑빠진 독 물붓기"

쉽게 말하여 엄청난 돈을 매년 쏟아붓고 있으나 국가 R&D의 생산성은 그야말로 바닥이라는 것이다. 연구개발 예산 중 절반 가량이 정부출연연구소와 국공립연구소에 지원되는데, 연구과제를 정부가 결정하므로 시장성이 떨어진다. 명목상으로는 정부 연구과제 성공률이 98%라는데, 실제 사업화까지 성공해야 진짜라는 것이다. 기왕이면 제품이 팔리기 시작하여 연구개발비를 모두 회수하고 이익을 내기 시작하면 비로소 성공한 것으로 평가해 주는 것이 타당하겠다.

한때 독일의 프라운호퍼연구소 모델을 따서 출연연(전부는 아니고 ETRI, KRICT 등 일부)의 체질을 바꾸려는 시도가 있었다. 기사를 찾아보니 2015년, 박근혜 정권때의 일이었고 결국 실행에 옮겨지지는 못했다. 프라운호퍼연구소는 기업이 맡긴 위탁과제에서 예산의 1/3이 나오고, 이를 따내야만 연구소가 자유롭게 선정할 수 있는 1/3의 추가 예산이 배정된다고 한다. 즉 정부출연금의 비중을 줄이고, 민간과 공공 수탁 연구를 통해 예산을 조달하여 제품으로 만들어 판매할 수 있는 사업화까지 이어나가는 연구를 하자는 것이다. 이 논리는 정만기 회장이 공직에 있을 때부터 지금까지 꾸준하게 주장해 온 것이다. 인터뷰 기사에 의하면 정 회장이 산업부 산업기반실장으로 있을 때 출연연을 프라운호퍼 방식으로 개편하는 방안을 마련하였으나 실행에 이어지지는 못했다. 영국이 대처 총리 때 출연연을 모두 없애고 대학에 집중지원한 사례도 정 회장이 발표하거나 기고한 글에서 단골 메뉴로 떠오르는데, 그 결과가 정말 바람직했는지에 대해서는 확인이 필요할 것이다. 정부과제 공모에 제출할 발표자료를 만들어 주거나 과제 수주에 도움을 주는 컨설팅 회사가 있다는 지적은 뼈아프게 받아들일 필요가 있다. 물론 내 주위에서 이렇게 하는 사람은 아직 직접 보지를 못했다. 내 경험이나 네트워킹의 폭이 좁아서 그런 것일 수도 있다.

현재 출연연은 국가과학기술연구회 소속으로서 과기정통부의 영향력 하에 있고, 약 1년여에 걸쳐서 역할과 책임(R&R) 재정립 작업이 마무리된 상태이다.

과학기술계 출연연 R&R 확정안 보니

그 다음으로 출연연을 기다리고 있는 것은 정원 조정이다. 그동안은 퇴직자로 인해 인원이 줄거나 신규 과제를 수주한 경우 출연연의 증원 요청이 대부분 받아들여졌으나 이제는 더 이상 그렇지 않다.

과기정통부, 출연연 정원 조정 착수...'적정 규모 산정해 관리'
과학기술계 정부출연연 구조조정 본격화 - 출연연별 R&R(역할과 책임) 따른 예산·인력 재편

국가 R&D를 바라보는 시각은 칼자루를 준 주무부처에 따라서 달라질 수밖에 없다. 산업통상자원부는 실제 시장에서 팔릴 수 있는 기술을 만들어내기를 원하고, 과기정통부는 공공성이 강하고 원천적인 분야를 '연구'하기를 원한다. 요즘은 경제적 파급 효과의 중요성을 점점 더 강조하고 있어서 과제를 따려는 사람은 구체적인 예측치를 가지고 수치를 만들어 내기에 바쁘다. CRISPR 유전자 가위 기술의 시장 규모를 산출할 수 있을까? 성공하는 사업에서 실제 '과학과 기술'이 차지하는 비율은 생각만큼 높지 않다는 견해도 많은데?

이 시대가 요구하는 일, 그리고 하고 싶은 일(두 가지 일이 겹치면 가장 좋겠지만)을 긍지를 느끼면서 하고 싶다고 주장하면 기업에서 일하는 사람들에게 '배부른 소리 하네'라는 말을 듣기 딱 좋은 것이 출연연 사람들의 현재 모습이다.

2019년 7월 28일 일요일

[독서 기록] 생각을 빼앗긴 세계 - 거대 테크 기업들은 어떻게 우리의 생각을 조종하는가


  • 원제: WORLD WITHOUT MIND: The Existential Threat of Big Tech
  • 저자: 프랭클린 포어(Franklin Fore)
  • 이승연, 박상현 옮김


구글 없는 삶이 가능할까? 오늘도 안드로이드가 탑재된 휴대전화를 쓰고, 인사동 나들이를 다닌 기록을 구글 포토로 공유하며, 심지어 이 글도 구글 블로거에서 쓰고 있지 않은가? 언젠가부터 우리의 삶은 완전히 데이터화되어 이러한 테크 기업을 통해 어디론가 팔려가고 있다. 약간의 편리함을 얻는 대신, 우리 삶의 기록 - 검색 흔적, 위치 정보, 쇼핑 정보 등등 - 이 제삼자에게 제공된다는 약관에 우리는 별 신경을 쓰지 않고 '동의함'을 클릭하였다. 모든 것은 공개되고 투명하게 쓰일 때 세상이 더욱 합리적으로 변하고 편리해질 것이라는 '선동'을 무감각하게 받아들이고 있지 않은가?

예를 들어 보자. 대부분의 사진을 휴대폰으로 찍게 되면서 나의 이동 기록은 고스란히 테크 기업의 저장소로 흘러들어갔다. 가끔 '컴퓨터답게' 리터칭한 사진, 수년 전 오늘 내가 여행한 곳, 과거와 지금의 내 모습 대조, 그리고 지난 주말의 행적을 엮어서 자동적으로 만든 친절한 앨범을 보며 감탄하면서 디지털화(혹은 데이터화)하지 않은 이전 사진은 마치 가치가 없는 것처럼 생각하는 경향이 생겨나기 시작했다. 검색이 안되는 기록은 기록으로서의 가치가 없는가? 나는 단 한번도 손으로 적은 기록이 무가치하다고 생각한 적이 없다. 테크 기업의 '친절한' 플랫폼을 이용하여 기록을 남기면 언제 어디서든 검색을 할 수 있으므로 나의 기억 능력은 그만큼 무뎌진다. 4차산업혁명을 선도한다는 기술인 AI는 기억을 보조하는 수준을 넘어서 판단과 창작의 주체였던 인간의 위치를 흔드는 시대가 되었다. 반면 손으로 적은 기록이나 종이책을 읽은 기억은 내 뇌의 신경회로 어딘가에 남아서 나중에 찾는 것이 그렇게 어렵지만도 않다.

프랭클린 포어의 책을 읽으면서 구글, 페이스북, 아마존 등 정보의 독점을 통해 이윤을 극대화하려는 거대 테크 기업의 폐해에 대해서 진지하게 생각해 보게 되었다. 한때 구글을 통해 내가 작성한 정보가 검색 가능하다는 사실이 놀랍고 신기하다고 생각한 적이 있었다. 그러나 요즘은 예전보다 번다하게 광고가 많이 따라붙는 구글 화면이 점점 불편하게 느껴지기 시작했다. 자신들이 제공한 체제 안에서 만들어진 정보를 가장 우선하여 보여주는 네이버보다는 훨씬 낫다고 생각했었지만(네이버는 요즘 많이 달라지기는 했을까?) 구글은 이제 확실히 돈을 벌기 위한 길로 가고 있다. '사악해지지 말자(Don't be evil)'는 구글 내부의 행동 강령 - 밖으로 알려지면서 하도 많이 비웃음을 사서 이제는 공식적으로 철회했다고 하지만 - 은 과거의 정신일 뿐이다. 구글이 휴대폰 단말기의 OS를 독점한 것은 돈을 벌어야 하는 기업의 측면에서는 이른 시기에 대단히 현명한 결정을 한 것이다. 개개인은 결국 데이터를 생산하여 구글로 고스란히 전송해 주는 충직한 센서(데이터 습득 장치)가 되고 만 것이 아니겠는가?

이 책에서는 아마존이 어떻게 해서 기존 출판 세계를 뒤흔들면서 자신들의 영향력을 행사하고 있는지도 적나라하게 보여주고 있다. 겉으로는 누구나 아마존이라는 플랫폼(예를 들어 전자책 킨들) 안에서 과거보다는 쉽게 책을 낼 수 있고 독자는 훨씬 적은 가격에 많은 전자책을 읽을 수 있다고 말하지만, 결국은 선인세 등 저작자에게 마땅히 돌아가야 하는 정당한 댓가를 주지 않으려는 속셈 아니겠는가? 이에 반하는 출판업자 혹은 작가의 책은 아마존 안에서 잘 팔리지 않게 만들어 버리면 결국은 여기에 굴복을 하지 않을 수 없다.

소비자는 과거보다 훨씬 적은 비용을 지불하거나 혹은 공짜로 이러한 혜택을 입게 되었다고 생각을 하지만, 결국은 공짜는 없다. 콘텐츠 생산자를 쥐어짜고, 소비자(센서?)의 프라이버시를 별 저항감 없이 넘겨준 결과인 것이다. 늘 크롬을 사용하고, 로그인을 한 상태에서 주소창에 검색어를 입력하는 것이 얼마나 많은 것을 구글에게 넘기는 것임을 우리는 알아야 한다.

이렇게 내 검색 흔적을 넘기는 것이 싫다면 다른 검색 엔진을 쓰는 것도 얼마든지 가능하다. 대안이 있다는 뜻이다.

구글 없이 온라인 검색하기

'덕덕고(DuckDuckGo)'라는 재미난 이름의 검색 엔진을 살펴보자. 이들이 주장하는 바는 이러하다.



  • 어떠한 개인 정보도 저장하지 않습니다.
  • 저희는 위치나 이용 기록 등을 추적해 광고를 보여주지 않습니다.
  • 사생활 보호 모드 사용 여부에 관계없이 절대로 사용자를 추적하지 않습니다.
이러한 모델로는 절대로 수익을 낼 수 없으니, 이들도 결국은 사용자의 정보를 팔아넘겨서 돈을 버는, 이른바 사악해지는 길로 접어들게 될 것인가? 이들을 지원하는 사용자가 계속 이어질 것으로 기대해 본다.

프랭클린 포어는 독점을 경계하고 종이책을 소중히 여기며 사색을 하는 시간을 갖자는 실천 방법을 제시하였다. '독점에 열렬히 반대하는 자상한 나의 아버지, 버트 포어에게 드립니다'라는 책머리의 헌정사에서 그러한 생각을 엿볼 수 있다. 페이스북이나 유튜브를 통해서만 세상을 바라본다면, 거대 테크 기업이 독점하는 채널에 의해서 적절히 취사선택된 정보를 수용함을 의미한다.

나의 소중한 권리와 정보를 지킬 수 있다면 약간의 불편을 감수하는 것은 가치 있는 일이라고 믿는다. 공짜·무료 무한 용량·편의성이라는 것에 현혹되지 말자. 어쩌면 구글의 블로그를 과감하게 중단하고, 내가 유료로 이용하는 호스팅 서버에 워드프레스를 설치하여 쓰는 것이 나을 수도 있다. 약간의 불편함을 조금 더 감수한다면 현재 깔아놓은 위키 엔진을 그대로 써도 된다. 구글 플랫폼을 벗어나게 된다면, 전세계적으로 가장 많은 사람들이 쓰는 검색 엔진에서 잘 드러나지 않게 될지도 모르고, 애드센스를 이용하여 언젠가는 발생할 기대 수익(아직 그 수준에 이르지 못했다!)도 접어야 한다. 

글을 쓰고 싶은 욕구, 이 글이 유익한 정보가 되어 세상의 도움이 되기를 바라는 마음, 그리고 이를 이용하면 나도 조금은 유명한 사람이 되고 돈도 벌 수 있다는 기대 심리. 이러한 욕구가 골고루 만족되는 조건은 찾기는 쉽지 않다. 거대 테크 기업들은 이러한 욕망의 틈새에서 용케도 돈을 벌 방법을 찾아낸다. 
어차피 이제 사생활이라는 것은 없는 세상 아닌가? 누구나 다 사진을 찍어서 여기저기 올리는데 저작권이나 초상권이 뭐 그렇게 중요한가?
이것은 정보를 손쉽게 얻기 위한 거대 테크 기업의 장난일 수도 있다. 올 하반기에는 '구글 없이 살아보기'의 가능성을 점쳐 보도록 하자.


2019년 7월 24일 수요일

cross_match를 이용한 sequence alignment의 score 이해하기

cross_match는 아주 고전적인 염기서열 정렬(alignment) 프로그램이다. 짧은 한 쌍의 염기서열을 정밀하게 비교할 때 이보다 좋은 방법은 없다고 생각한다. 사용하는 알고리즘은 word-nucleated banded Smith-Waterman comparison이다. 수 megabase가 넘어가는 (박테리아)유전체 수준의 정렬, 또는 수많은 염기서열 데이터베이스에서 원하는 서열 단편을 찾을 때에 적합한 프로그램은 따로 있다.

cross_match에서 쓰이는 score matrix는 다음과 같다. N이 아닌 동일 염기의 매치에는 1씩의 점수가 부여된다.

Score matrix (set by value of penalty: -2)
    A   C   G   T   N   X
A   1  -2  -2  -2   0  -3
C  -2   1  -2  -2   0  -3
G  -2  -2   1  -2   0  -3
T  -2  -2  -2   1   0  -3
N   0   0   0   0   0   0
X  -3  -3  -3  -3   0  -3

프라이머 서열로 쓰기에 적합한 짧은 염기서열의 매치를 찾기 위해서 cross_match를 몇 차례 실행하고 있었다. mismatch가 전혀 없는 100 bp 길이의 alignment라면 당연히 score가 100이 될 것이라고 생각했는데 결과 파일을 보니 점수는 이보다 낮았다. 왜 그럴까? cross_match 문서를 찾아보았다.

점수가 100% identical match에 대해서 alignment length보다 짧은 이유는 기본 조건에서는 complexity-adjusted score가 쓰이기 때문이었다. 염기 조성에서 편이(bias)가 존재하는 경우 alignment score는 더 낮게 조정된다는 것이다. 매우 합당한 정책이다. 만약 조정을 하지 않은 score로 표현하고 싶다면 -raw 옵션을 주면 된다. 약 20년 전에 phred/phrap/consed의 라이센스를 받아 Sanger sequencing 결과물의 de novo assembly에 처음 쓰기 시작하면서 지금까지 별로 신경을 쓰지 않던 것을 NGS 시대에 다시 들춰보려니 감회가 새롭다. Sequencing chemistry는 두어 서대 진보하였지만, 염기서열을 커맨드 라인에서 조물락거리는 것은 그때나 지금이나 별로 다르지 않다.

Banded search의 기본 조건은 -minmatch 14이고, match의 필터 과정에서는 -minscore 30이 된다. 벡터 서열을 스크리닝하는 경우에는 좀 더 민감한 검색이 이루어지도록 -minmatch 10 -minscore 20의 조건을 준다.

그러니 primer 서열(보통 30 bp 미만)을 점검하기 위해 cross_match를 쓰는 경우에는 -minmatch 파라미터를 낮게 주도록 하자.

2019년 7월 22일 월요일

독서 기록 [이스탄불], [2010 스페이스 오디세이]

참으로 오랜만에 책을 읽었다. 2006년 노벨 문학상 수상자인 오르한 파묵의 자전적 수필집 [이스탄불], 그리고 전혀 다른 장르의 소설인 아서 C. 클라크의 [2010 스페이스 오디세이]. 앞의 것은 아내가, 뒤의 것은 아들이 권한 책이다. SF 영화의 고전인 [2001 스페이스 오디세이]를 아직도 본 일이 없기에 유튜브에서 영화 해설 동영상을 미리 보고 전편의 대강을 파악한 뒤에 본격적으로 빠져들었다.


더운 일요일 네이버 그린팩토리에서, 출퇴근길 지하철에서, 그리고 근무지에서 점심식사를 걸러가면서 정말 오랜만에 몰두하여 책을 읽었다. 지나치게 빨리 읽어서 세부를 잘 놓치는 나쁜 버릇을 여전히 고치지 못했지만 말이다(그래서 외국 소설의 등장인물 이름은 수첩에 메모를 해 가면서 읽고 싶은 충동이 인다).

국내에 소개된 오르한 파묵의 책을 먼저 읽어 보는 것이 예의이겠지만 어쩌다 보니 에세이집을 먼저 읽게 되었다. 그는 이스탄불에서 태어나 평생 이곳을 떠나지 않고 살았다고 한다. 할아버지가 사업을 해서 이룬 부를 그의 아버지대에서 거의 다 소진해 버렸고, 그는 그림에 몰두하며 성장을 했다. 공과대학에 들어갔지만 자퇴를 하였고, 첫사랑에는 실패하였으며, 23세에 소설가가 되겠다는 결심을 하고 집에 틀어박혀 글을 쓰기 시작했다고 한다(새벽 4시에 잠이 들어서 정오에 일어나는 생활을 하며). '도시 그리고 추억'이라는 부제에서 짐작할 수 있듯이 그가 어떻게 소설 창작의 길에 접어들게 되었는지에 대해서는 그렇게 자세히 나오지 않는다. 어린 시절의 기억, 그가 자라난 도시에 대한 추억, 이스탄불의 역사, 보스포루스 해협의 정경, 서구화에 대한 갈등, 그리고 우리말로 번역하기 어려운 이스탄불 특유의 감정인 hüzün에 이르기까지. hüzün은 비애, 깊은 슬픔, 우울, 우수(blues, gloom, melancholy or ruefulness) 정도로 번역이 가능하다.
한 개인으로서뿐 아니라 공동체로서 우리는 모두 외국인이나 모르는 사람들이 우리에 관해 어떤 생각을 하는지에 대해 어느 정도 고민한다. 이 고민이 우리에게 고통을 주거나, 현실과의 관계를 흐리게 하여 현실 자체보다 더 중요한 차원에 이르면, 이는 우리에게 문제가 된다는 의미이다. 서양인의 눈에 나의 도시가 어떻게 보이는지에 대한 나의 관심은 - 수많은 이스탄불 사람들처럼 - 문제가 있으며, 한쪽 눈을 서양에 고정시킨 도시 작가들처럼 나도 이 문제로 인해 가끔 머리가 혼란스럽다. - 25장 서양인의 시선 아래서
나도 글을 쓰다 보면 쉼표를 이용하여 어구를 계속 나열하는 때가 많은데(별로 바람직하지는 않지만), 이 책 역시 시각적인 묘사적인 장면에서 그런 것이 많아서 터키어가 원래 그런 것인지 아니면 번역을 일부러 그렇게 한 것인지 궁금한 생각이 들었다. 제10장 '비애-멜랑콜리-슬픔'에 134쪽에 나오는 문장을 하나 인용해 보자.
나는 어둠이 일찍 깔린 저녁 변두리 마을의 가로등 밑에서 손에 비닐봉지를 들고 집으로 돌아가는 아버지들에 대해 말하고 있다. 지속되는 불황 이후 상점에서 하루 종일 추위로 덜덜 떨면서 손님을 기다리는 늙은 책방 주인, 불경기 때문에 사람들이 면도를 하지 않는다고 불평하는 이발사,,,
여러 사람들의 유형은 무려 쉰 가지를 넘게 나열되어 - 실제로 예순도 훌쩍 넘기는 수준이었겠지만 너무 많아서 세다가 말았다 - 141쪽에서 비로소 구두점을 만난다. 중간에 사진이 많이 삽입되어 있지만 문장이 참으로 길기는 길다. 파묵의 다른 작품을 읽어 봐야 이 사람이 실제로 어떤 문체로 글을 쓰는지 알 수 있을 것이다. 풍부한 사진과 그림은 마치 여행기나 역사서를 보는 느낌을 준다. 문명이 교차하는 지역이자 주인이 계속 바뀌는 유서 깊은 도시 이스탄불에 대한 배경 지식이 있다면 책을 읽는데 도움이 될 것이다. 그래야 '이스탄불이 터키화한다'는 말의 의미를 이해할 수 있다.

[2010 스페이스 오디세이]는 정말 흥미를 가지고 몰입하여 읽었다. 우주를 배경으로 하는 많은 SF 영화들이 [2001 스페이스 오디세이]에서 얼마나 많은 장면을 오마주하였던가! 지금 생각해 보니 인터스텔라의 TARS는 컴퓨터 HAL에 해당하지만, 많은 이들이 저적했듯이 외형은 2001 스페이스 오디세이의 도입 부분에서 유인원들에게 도구 사용의 지혜를 전수하고 달과 목성에서 발견되는 수수께기의 석판(monolith)을 닮았다.

Monolith vs. TARS. 출처: Interstellar

전편(영화)에서 컴퓨터 HAL이 예상하기 어려운 행동을 한 이유를 이번 편에서 어렴풋하게나마 이해할 수도 있었다. 소설책 한 권이 영화적 상상력을 불러일으키고, 어두운 밤하늘을 올려다보게 한다. 주인공인 미국인과 러시아인들은 개별적으로 개성이 있는 사람들이지만, 중국인들은 마치 폐쇄적이고 한 가지 성격을 갖는 집단처럼 카테고리화하여 취급하는게 아주 조금은 불편하였다. 유럽인과 같은 행세를 하고 싶어하는 이스탄불 현지인을 바라보는 파묵의 마음도 이와 통하지 않을까?

피로가 몰려와서 더 상세한 독후감을 쓰지 못하는 것이 아쉽다.

다음에는 다음의 책을 사서 읽어보고 싶다.

[화제의 책] 알고리즘의 손안에서 놀아나지 않으려면 '종이책'을 읽고 '사색'을 되찾아라. 
생각을 빼앗긴 세계(프랭클린 포어 지음|이승연·박상현 옮김)

2019년 7월 14일 일요일

르 몽드 디플로마티크 한국어판

오늘은 네이버 그린팩토리에서 새롭게 발견한 읽을 거리인 르 몽드 디플로마티크(Le Monde Diplomatique)를 소개해 본다. 진보 성향의 프랑스 일간지인 '르 몽드'의 자매지이자 국제뉴스를 다루는 월간지로 20개 언어로 37개 국제판이 발간되고 있다고 한다. 논조는 매우 진보적이고 비판적이어서 자칫 지엽적인 문제에 매몰되기 쉬운 우리에게 세계 곳곳에서 벌어지는 일을 자세히 바라보게 해 준다. 다음의 기사를 보면 광고가 거의 실리지 않는 매체가 한국 실정에서도 어떻게 살아남았는지를 보여준다.

[이 언론이 사는 법] 르 몽드 디플로마티크 "관점을 가진 언론만 살아 남을 수 있다"

인터넷으로 시답지않은 소식을 찾아볼 것이 아니라 이런 매체를 정기구독하는 것이 백번 나을 것 같다. '종이신문(실제로는 월간지) + 온라인 1개월' 이용료는 12,000원인데 정기 구독을 정말로 진지하게 고려하고 있다. 생각이 다른 사람들에게는 웬 빨갱이 월간지를 돈 주고 보냐는 소리를 듣겠지만 말이다. 이 뜨거운 날씨 속에서 군복 차림으로 성조기를 들고 광화문 네거리를 서성이며 구호를 외치는 사람들에게는 불온한 사상을 퍼뜨리는 신문으로 보일 수도 있을 것이다.

르 몽드 디플로마티크가 마음에 드는 것은 기사 중간에 삽입된 시의적절한 현대미술 작품 때문이다. 

2019년 1월부터 연재되는 기획기사 [새로 쓰는 '비판경제 교과서'] 몇 편을 인상 깊게 보았다. 연재 순서는 다음과 같다. 앞으로 그린 팩토리에 갈 때마다 빼놓지 않고 전체를 찾아 읽을 생각이다.

  1. 경제학은 과학인가?
  2. 생산 증대, 무조건 더 많이!
  3. 노사관계(다리와 버팀목의 관계)
  4. 부의 분배 희망과 난관
  5. 고용, 어떠한 대가를 치러야 하나?
  6. 장을 따를 것인가 명증된 법칙을 따를 것인가?
  7. 세계화 국민간의 경쟁
  8. 화폐, 금전과 현찰의 불가사의
  9. 부채 협박
  10. 금융 지속 가능하지 않은 약속
국내에서 워낙 많은 이슈가 발생하고 있어서 국외에서 발생한 일에 대하여 미국의 관점이 아닌 균형잡힌 시각으로 관심을 갖는 것이 쉽지 않다. 날이 갈수록 어려워지는 고용과 실물경제, 남북 관계, 엽기적인 가족 살해 사건, 세대·계층·성별 간 갈등, 미세먼지, 탈원전과 지속 가능한 에너지 정책, 쓰레기, 일본과의 무역 갈등... 이런 상황에서 신장 위구르 자치구에서 벌어지는 상황이 우리와 무슨 상관이 있느냐고 할 수도 있다. 그러나 모든 나라가 밀접한 관계를 맺고 사는 요즘은 더 이상 남의 일이 아니다.

이번에 집중적으로 읽은 6월호에서는 미국에서 불어오는 사회주의 열풍과 전세계를 잠식해 들어가는 마약 자본주의에 대한 기사가 실렸다(발행인 칼럼 링크). 우리에게 마약이란 아직 일부 연예인이나 재벌 2세의 방종 정도로 여겨지지만, 마약 소비자를 망가뜨림과 동시에 재배자와 말단 공급자를 계속 착취의 하부 구조에 종속시키는 글로벌한 문제가 아닐 수 없다.

미국의 사회주의 관련 기사에서 좀바르트의 저서 [사회주의는 왜 미국에 존재하지 않는가]의 일부가 실렸기에 인용해 본다.
임금 노동자는 경제적 여건과 생활환경이 나아짐에 따라 물질적 타락에 빠졌고, 온갖 쾌락을 제공하는 경제체제를 점점 선호할 수밖에 없었다. 임금 노동자는 정신적으로 점차 자본주의 경제 메커니즘에 순응했고, 결국 대부분의 사람들은 물질과 자본의 강력한 매력에 굴복해버렸다. '진보'(자본주의)를 행한 도정에서 미국이 다른 국가를 앞서간다고 생각하며 생겨난 자부심은 미국인을 검소하며 계산적인 비즈니스맨으로 만들었다. 이는 오늘날 우리가 알고 있는 상업정신을 바탕으로 형성된 미국인의 이미지다. 이렇게 모든 사회주의 유토피아는 로스트 비프와 애플파이(먹고 사는 문제를 상징함-역주)를 넘어서지 못하고 실패했다.
이 잡지와 더불어 읽은 것은 서가에서 바로 옆에 위치한 [포춘 코리아]였다. 부(富)가 최상위층에게 몰린다는 것은 어제 오늘이 일이 아니지만, 포춘 500대 기업에서도 이와 같은 일이 벌어지고 있다고 한다. 2018년 기준으로 500대 기업 전체 매출의 47.7%가 상위 50개 기업에 몰려 있는데, 이는 어느 때보다 높은 수치이다. 과연 이것이 자연적이고 바람직한 변화일까? 절대 그렇지 않다. 기득권을 가진 기업은 더욱 유리한 위치를 차지하게 만드는 제도, 그리고 과다한 인수 합병의 산물이다. 흔히 '규모의 경제'라는 말을 통해서 거대 기업에 부가 집중되면 더욱 싼 값에 물건을 만들 수 있고 이에 따라 소비자가 혜택을 보게 된다고 한다. 그러나 지나친 인수 합병은 성장도 하기 전에 가능성이 있는 작은 기업을 나꿔챔으로써 '경쟁'을 원천적으로 막는다. 이는 혁신의 열매가 열리기도 전에 새싹 수준에서 베어 먹는 것에 비유할 수 있을 것이다. 

구글의 규모가 커지면서 의사 결정 과정에서의 투명성이 사라지고 직원 통제가 강화되며, 군사 기술이나 검열이 적용된 검색 기술(독재 국가에 팔리기 좋은 기술)을 개발하게 되면서 이에 반발하는 직원이 퇴사를 하거나 적극적으로 반대 의사를 표명한다는 기사도 흥미롭게 읽었다. '사악해지지 말자'는 이러한 활동가들이 내세우는 주장이다.

6LQ8 푸시풀 앰프 - NFB(negative feedback) 실험

NFB은 세포 혹은 개체 수준의 향상성을 유지하는 주요 메커니즘으로 생물계에서 널리 찾아볼 수 있으며, 인간에 의해 공학적으로 설계된 시스템에서도 흔히 이용된다. 오디오 앰플리파이어에서는 증폭기의 왜곡 등 결점을 줄이기 위한 방법으로 응용되고는 한다. 심각한 수준으로 들어가면 NFB을 제대로 걸기 위해서 설계까지 필요하다지만, 나는 몇 킬로옴의 저항을 연결하는 것으로 마무리를 하였다. 제작 지침서에는 350옴~2k옴 수준에서 최적의 값을 결정하라고 나와 있으나 실제로 연결을 해 보니 이 값의 저항으로는 피드백 수준이 너무 커서 소리가 거의 들리지 않을 지경이었다.

출력 트랜스의 1차쪽 배선을 짧게 정리하였다. 5극관 결선 상태이다.

10k옴 가변저항을 달아서 노브를 돌려보면 음질이 가장 좋은 위치를 찾을 수 있을 것이라 생각했었지만, 최대 저항에서는 소리가 가장 크고(물론 NFB를 전혀 걸지 않은 상태보다는 소리가 줄어들었음), 최소치에서는 가장 많은 피드백이 걸리므로 음성 신호는 전혀 나지 않으나 약간의 발진이 출력되는 것을 확인하였다. 음질이 가장 좋은 중간 위치를 찾는다는 것은 계측기와 파형 발생기 없이는 알기가 힘들다는 생각이 들었다.

그래서 가장 소리가 크게 나도록 5극관 접속 상태로 만든 다음, 10k옴 고정 저항(100pF 캐패시터를 병렬로 연결)을 연결하기로 하였다. 5극관 접속 상태에서는 소리가 매우 크고 거칠다는 느낌이 분명히 있다. 다만 커넥터를 중간에 달아서 취향에 따라 NFB를 걸지 않게 만들기로 하였다.

NFB용 저항의로 10k옴은 너무 큰 것이 아닐까? 출력의 수준과 사용한 관은 다르지만 Dynaco ST35 푸시풀 앰프(6BQ5 사용)의 회로도에는 28k옴이 쓰였다.

출처: [DIY Audio Projects] Dynaco Dynakit Stereo 35 (ST35) Schematics and Manual

심지어 PCL86 푸시풀 앰프에서는 100k옴을 쓴 사례도 있었다.

[DIY Audio Projects] PCL86 - Worth a try?

10k옴 고정저항이 없어서 페놀 만능기판 위에 2k옴 5개를 직렬로 연결하였다. 보기에 그렇게 흉하지는 않다. 출력도 적절히 유지하고 어느 수준의 NFB을 적용하는 선에서 타협을 보았다. 20원짜리 10k 1/2W 메탈필름저항 두 개면 충분할 것을 무려 열 개나 쓰다니...


출력 트랜스 2차 탭의 납땜 상태가 다소 마음에 들지 않아서 조만간 다시 납땜 인두를 들게 될 것 같다. 비록 외관은 소박하지만 음질에는 만족한다.

2019년 7월 12일 금요일

pip와 conda의 행복한 동거는 어렵다

"Conda 환경 안에서 pip로 새로운 파이썬 패키지를 설치하는 것은 좋지 않다."
Unfortunately, issues can arise when conda and pip are used together to create an environment. [Using Pip in a Conda Environment]
LS-BSR에 포함된 파이썬 스크립트를 실행하는 과정에서 pandas와 관련한 에러가 발생하였다. 에러 메시지를 이용하여 구글을 검색해 보면 흔하디흔한 에러 중 하나다. 참고삼하 말하자면 나는 파이썬 초급 교육을 몇 번 받은 일이 있고 패키지 관리와 활용 정도는 하는 편이지만 파이썬 문법 자체는 잘 모른다.

$ python ../../tools/BSR_to_cluster_dendrogram.py -b bsr_matrix_values.txt
Traceback (most recent call last):
  File "../../tools/BSR_to_cluster_dendrogram.py", line 117, in <module>
    main(options.bsr_matrix,options.cluster_method)
  File "../../tools/BSR_to_cluster_dendrogram.py", line 99, in main
    write_tree(cluster_method)
  File "../../tools/BSR_to_cluster_dendrogram.py", line 76, in write_tree
    dmx = pd.read_csv("distance_matrix", index_col=0, sep="\t")
AttributeError: module 'pandas' has no attribute 'read_csv'

분명히 설치를 했는데 왜 그런 것일까?  해결책을 찾아보다가 conda 내부에서 pip를 이용하여 파이썬 패키지를 관리하는 것은 매우 바람직하지 않다는 글을 발견하였다. Conda가 애써 설치한 파일들을 pip가 건드리게 되지만, conda는 이를 알지 못하기 때문이다. 그러면 conda로 뭔가를 새로 설치하게 되고, 시스템은 뒤죽박죽이 되어 재현하기 어려운 문제를 발생하게 된다는 것이다.

프로그램 설치 기록을 살펴보았다. Conda를 썼다가 다시 pip로 설치를 하고 이어서 또 conda를 쓰는... 매우 바람직하지 않은 방법으로 컴퓨터를 관리해오고 있었다. Conda 4.6.0에서는 아직 베타 수준이지만 pip가 설치한 패키지들을 점검하여 유연한 관리를 하는 기능이 포함되어 있다고 한다.

아나콘다 웹사이트에서 제시한 "Best Practices Checklist"는 다음과 같다.
  • Conda를 써서 되도록 많은 패키지를 설치한 뒤에 pip를 써라
  • 필요하다면 Conda 환경을 새로 만들어라
  • Conda 패키지를 추가 설치하는 가장 좋은 방법은 conda environment를 새로 만드는 것이다
  • Conda와 pip 설정 상태를 텍스트 파일로 저장해 두어라
하나의 conda 환경에 되도록 많은 추가 패키지를 설치하는 버릇을 들여왔었는데, 오늘 찾은 모범답안에 의하면 그것은 매우 바람직하지 않은 일이었다. 그러나 프로그램마다 conda environment를 하나씩 만들면 오히려 관리하기는 더 나빠진다. 특히 연달아 실행해야 하는 프로그램이 전부 다른 conda environment에 있다면 그 실행 과정이 얼마나 불편할지는 불을 보듯이 뻔하다.

보다 합리적인 운용 방안을 위해서 고민해 보자.

grep의 현명한 사용법 - 검색할 패턴(파일로 제공)이 없는 라인을 출력하기

grep은 텍스트 파일 혹은 표준 입력으로부터 주어진 패턴이 존재하는 라인을 출력하는 유틸리티이다. 검색할 패턴은 보통 명령행 옵션으로 하나가 주어진다. 그런데 찾아야 할 패턴이 여러개라면, 이를 별도의 파일('FILE')로 지정해 놓고 -f FILE 옵션으로 제공하면 된다. 검색할 패턴은 FILE 내에서 각각 별도의 라인으로 저장되어 있어야 한다. 좀 더 유식하게 말하자면 FILE 내에서 newline(개행 문자 혹은 쉬운 우리말로는 새줄 문자)로 패턴들이 분리되어 있어야 한다.

이와는 반대로, 특정 패턴이 없는 라인만을 파일에서 출력하고 싶다면? 패턴이 하나라면 -v(--invert-match) 옵션을 사용하면 된다. 그렇다면 좀 더 복잡한 상황을 가정해 보자. 배제하고 싶은 패턴이 여럿이라면 어떻게 하면 되나?

ftp://ftp.ncbi.nlm.nih.gov/genomes/refseq/bacteria/assembly_summary.txt 파일을 다운로드하여 내가 연구하는 어떤 미생물종에 해당하는 라인만을 골라내어 별도로 저장했다고 가정하자(my_species_summary.txt). 그런데 상세히 조사를 해 보니 어떤 레코드는 assembly가 불량하여 배제를 해야 되겠다고 마음을 먹었다. 배제할 레코드의 assembly accession(GCF_로 시작하는)을 따로 추려서 REJECTION이라는 텍스트 파일에 저장을 하였다. my_species_summary.txt에서 이 억세션에 해당하는 라인만을 제외한 나머지를 출력하려면 이렇게 하면 된다.

grep -Fv -f <(cat REJECTION) my_species_summary.txt

-F (--fixed-strings, --fixed-regexp)가 열쇠를 쥐고 있다. grep 매뉴얼에 의하면, -F 옵션은 newline으로 분리된 패턴을 일종의 목록으로 간주하여 각각에 대하여 매치 작업을 하는 것이다. 이것이 -v와 결합된 상태이니 딱 내가 바라는 작업을 할 수 있는 것이다.

힌트는 다음의 웹페이지에서 얻었다.

[Stack Overflow] Search multiple pattern in file and delete line if pattern matches

2019년 7월 10일 수요일

같은 미생물 균주의 유전체가 여러 기관에 의해 시퀀싱되어 등록된 경우의 처리 문제

한 종의 미생물 균주(strain)는 비록 동일한 것이라 해도 균주 기탁 기관에 따라 다른 고유 번호를 부여받게 된다. 예를 들어 Paenabacillus polymyxa의 표준 균주인 ATCC 842의 경우를 보자. 이것이 갖고 있는 균주 번호, 즉 신분증은 이렇게나 많다.

DSM 36, ATCC 842, BUCSAV 162, CCM 1459, JCM 2507, LMG 13294, NCIB 8158, NCTC 10343, CCUG 7426

과거에는 StrainInfo라는 사이트에서 특정 균주 번호를 가지고 이것이 표준 균주(type strain)인지, 그리고 다른 균주 번호는 어떤 것이 있는지를 확인할 수가 있었다. 그런데 여기를 최근 방문해 보면 다음과 같은 슬픈 소식이 눈에 뜨인다. 2019년 1월 1일부터 '영업 중단'인 것이다.

StrainInfo has permanently been put out of commission and will no longer be available.
1-januari-2019


이를 대신할 수 있는 웹사이트는 무엇이 있을까? 바로 DSMZ에서 운영하는 BacDive(The Bacterial Diversity Metadatabase)가 이에 해당한다. 이름을 참 잘 지었다고 생각한다. 단, 완벽하지는 않음에 주의해야 한다. 예를 들어서 Clostridium sporogenes의 표준 균주인 NCTC 13202는 Public Health England(NCTC를 관리하는 기관)에서는 ATCC 3584임이 잘 나타나지만(근거), BacDive에는 이 번호로 찾기가 어렵다.

연구자들이 개별적으로 근처에 있는 컬쳐 콜렉션으로부터 어떤 종의 표준 균주를 입수하여 시퀀싱을 하여 등록을 하면 이는 그대로 INSDC(International Nucleotide Sequence Database: DDBJ, EMBL-EBI & NCBI)의 데이터베이스에 등록이 된다. 특정 종의 모든 유전체를 다운로드하여 포괄적인 comparative genomic analysis를 하는 경우 이는 상당한 번거로움을 초래한다. 근본적으로 동일한 균주에 대한 레코드가 중복하여 존재하는 것이기 때문이다. 그래서 보통은 assembly level이 높은 것 하나만 택하여 쓰기도 한다. 시퀀싱 결과가 표준 균주에서 유래했는지의 여부는 RefSeq 혹은 GenBank의 assembly summary 파일(설명 파일)에서는 22번째 컬럼인 "relation_to_type_material"의 값이 'assembly from type material'인지를 이를 참조하면 된다. 그러면 표준 균주가 아니지만 다른 번호를 갖는 동일한 균주의 중복된 서열을 정리하려면? BacDive를 고독하게 들이파는 수밖에...

하지만 동일한 (표준)균주라 해도 각 기탁 기관에 배포된 뒤 유지를 하는 과정에서 조금씩 변이가 생길 수도 있다. 그렇기 때문에 독립적인 기관에서 같은 균주를 시퀀싱한 복수의 결과를 가끔은 진지하게 들여다볼 필요성은 있다. 간단한 사례를 들어보자. 재조합 단백질의 대량 생산에 쓰이는 유명한(?) 대장균인 Escherichia coli BL21(DE)의 유전체 서열은 완성된 것으로서 두 건이 존재한다. Assembly accession으로는 GCF_000022665.2와 GCF_000009565.1이다. 전자는 나의 작품이고(KRIBB) 후자는 오스트리아의 Universität für Bodenkultur Wien에서 등록한 것이다. Journal of Microbiolgy에 논문(PMID 19786035)이 출간된 것이 2009년이니 10주년 기념을 뭔가 해야 되는데...

두 유전체의 길이는 각각 4,558,953 bp와 4,558,947 bp이다. 딱 6 bp의 길이 차이에 해당한다. 서열 내부를 서로 비교하면 SNV 수준의 차이가 있을지도 모른다. 이 정도라면 시퀀싱 결과가 내포하는 오차의 범위 내라고 보아도 무방하고, 어쩌면 실제로 두 샘플 사이에 존재하는 염기의 차이를 반영하는 것일지도 모른다. 이에 대해서 학문적인 관심을 가지고 집중적으로 연구하는 것도 재미있는 일이 될 것이다.

내가 등록한 대장균 BL21(DE3)는 EZBioCloud에서 검색되지 않는다. 반면에 오스트리아에서 시퀀싱한 게놈은 등록이 되어 있다. EZBioCloud는 내가 알기로 한 균주에 대한 유전체 서열이 중복하여 존재하는 경우 어느 하나만 유지한다. 위에서 살펴본 Clostridium sporogenes의 경우도 DSM 795만이 type으로 등록이 되어 있다. 그러면 왜 EZBioCloud에서는 대장균 BL21(DE3)의 유전체 정보에 대해서 시기적으로도 먼저 공개되었고 논문도 출간된 우리 것을 택하지 않고 오스트리아의 것을 선택하였단 말인가. 살짝 자존심이 상하려고 하네~

EZBioCloud에서 찾은 어떤 유전체 정보의 assembly accession, 즉 GCA_000111222.3을 RefSeq에서는 찾지 못할 수도 있다. RefSeq에 있는 것이 최신 버전이라면(GCF_000111222.4) 이는 당연하다. 매일 증가하는 NCBI의 유전체 정보가 EZBioCloud에 실시간으로 반영되지는 못하기 때문이다. 아마 몇 달에 한번 정도의 업데이트가 있을 것이다. 또 다른 가능성으로는 같은 서열이라 해도 RefSeq에서는 reject된 유전체가 종종 존재한다. 즉 GCA_000111222.1(GenBank)는 NCBI에 등록된 상태이나 이와 동등한 RefSeq 레코드인 GCF_000111222.1은 없는 경우이다. Pseudogene이 너무 많거나, contig의 수가 너무 많거나 등이 사유가 있을 때 RefSeq에는 오르지 못한다. RefSeq에서 배제되는 구체적인 이유에 대해서는 다음을 참고하라. 이런 유전체는 위에서 소개한 assembly summary 파일의 21번째 "excluded_from_refseq" 컬럼에 나름대로의 사연을 담게 된다.

Assembly anomalies and other reasons a genome assembly may be excluded from RefSeq

2019년 7월 7일 일요일

도시재생의 희망과 한계 - 다시 세운상가에서

폭염이 이어지던 주말 한낮에 꽤 많은 거리를 돌아다녔다. 카카오맵에서 하루 종일 걸은 거리를 따져보니 4.5 km 정도가 되었다. 동대입구역에서 출발하여 DDP - 청계천 - 세운상가 - 서울극장(존 윅 3편 파라벨룸을 보았다) - 익선동 - 인사동까지. 하루가 지난 오늘까지 햇볕에 탄 얼굴과 팔뚝은 여전히 화끈거리고, 아직 노곤함이 가시지 않았다. 주말의 끝자락에 앉아서 몇 가지 느낀 점을 적어보고자 한다.

어릴 적 사는 동네가 달랐기 때문에 사실 나는 태극당에 대한 추억은 갖고 있질 않다. 2010년에 이 제과점의 위생상태를 고발하는 충격적인 TV 프로가 방송되면서 질타를 받았으나 그 이후 경영진이 바뀌면서 충분히 개선된 것으로 여겨진다. 당시의 TV 화면은 아직도 인터넷에 돌아다닌다. 충분히 반성을 하고 개선을 했어도 인터넷에 남은 기록은 사라지질 않으니 정말 무섭다. 손님도 많았고, 빵과 빙수의 맛도 좋았다. 지나치게 달거나 자극적이지 않고 약간 슴슴하다고나 할까. 

동행한 아들.

세운상가에는 특별히 살 것이 있어서 간 것은 아니었다. 서울시의 대표적인(성공적인?) 도시재생사업 대상으로 알려진 세운상가를 아직까지 제대로 둘러보지 못했기 때문이었다. 




세운부품도서관에 전시된 류재용 장인의 진공관 앰프 Knot Audio 'Integrated Amp-v'. 6V6GC에 해당하는 구 소련의 진공관 러시아 6П6С(6P6S)를 사용한 푸시풀 앰프이다.

간간이 오가는 관광객도 보이고 젊은 제작자의 작업 공간이 보이기도 했지만 전반적인 느낌은 너무 한산하다는 것이었다. 가게를 비워도 불은 켜 놓아 달라는 상가 번영회의 안내문이 왠지 옹색하게 느껴졌다. 아무리 밥상과 그릇이 예쁘면 무엇을 하겠는가? 먹음직한 음식이 담겨있지 않다면 의미가 없지 않은가? 서울시를 조망할 수 있는 높은 전망대, 멋진 조명, 카페와 갤러리를 예쁘게 만들어 봐야 인증샷이나 찍으러 오는 사람만 반짝 늘 뿐이다.


세운전자상가를 지켜온 기술자와 주변의 부품·공구상가, 주민, 그리고 이곳을 단지 맛집 탐험이나 인증샷 촬영 목적으로 찾는 것이 아니라 실제로 이곳에서만 구입할 수 있는 물건을 사러 오는 고객들이 잘 어우러질 때 참다운 도시재생이 가능할 것이다. 그러한 측면에서 '메이커'라는 키워드는 충분히 고심하여 뽑아 낸 흔적이 엿보인다. 재생사업 이후 일단 임대료가 올랐다는 것은 좋은 일은 아니다. 부디 좋은 성과가 있기를 바랄 뿐이다. 

세운상가의 주변 지구는 정비가 시급해 보인다. 만약 화재라도 발생하면 어떻게 될 것인가? 보수를 하지 못하고 천막으로 간신히 씌운 지붕, 온갖 물건이 방치된 옥상, 폐허가 된 듯한 옥탑방 등 안전상으로도 문제가 심각해 보이는 건물이 즐비하다. 김수근이 설계한 세운상가는 당시로는 현대적인 건물이었지만 그 주변부의 외형적 발전(단순한 방문객의 눈으로 보기에는 그렇다)까지는 품지 못했던 모양이다.





서울극장에서 아들과 함께 영화를 본 뒤 친구를 만나고 돌아온 아내와 인근 식당에서 저녁을 먹었다. 어디를 갈까? 늘 가던 인사동 말고 익선동 한옥거리는 어떨까? 종로 3가 사거리를 북쪽으로 올라가다가 익선동쪽으로 접어들던 우리 식구는 눈을 의심하게 만드는 정경을 보고 놀라지 않을 수 없었다. 양 팔을 좌우로 뻗으면 벽이 닿을 듯한 좁은 골목길에 이렇게 많은 식당들이 있다니! 아예 건물을 헐어내고 조성한 빈 터에 간이 테이블을 빼꼭하기 채워서 만든 식당에서 젊은 사람들이 연신 고기를 구워내고 있었다. 현대적인 분위기로 한껏 멋을 내어 내부 인테리어를 바꾼 곳도 있었다. 익선동이 이렇게 힙&핫한 곳이었단 말인가? 그저 '노포(老鋪 - 요즘 지나치게 많이 쓰이는 낱말이 되었음)가 좀 있으리라는 생각만 갖고 갔다가 사람의 물결에 놀라고 말았다. 오죽하면 사람이 너무 많으니 주말에는 가지 말라는 글까지 인터넷에서 볼 수 있었다.

저녁 무렵이 되면 불이 꺼지고 사람들 발길이 뜸해지는 코앞의 세운전자상가에 비한다면 익선동은 분명히 상업적으로는 성공한 곳이다. 하지만 먹는 것, 입는 것, 악세사리 말고는 사람들을 끌 수 있는 아이템이 없는 것일까? 나열하고 보니 전부 관광지에서 팔리는 것들이다. 수고롭게 사진을 찍어서 소셜 미디어에 올릴 수 있는 '매력'만이 모든 것을 결정한다면 그것은 너무 서글프다. 두 시간이나 기다려야 음식을 먹을 수 있는 식당이라면, 가지 않는 것이 현명하다. 고객도 힘들고, 종업원도 힘들다. 그리고 한번 입소문이 나기 시작하면 곧바로 젠트리피케이션의 타겟이 된다. 익선동은 건물과 골목이 너무 좁아서 상업 자본에 의한 대형 프랜차이즈가 들어오기 어렵다는 것이 방어 요인이 될지도 모르겠다. 

경제 논리와 정책 어느 하나만으로는 해결하기 힘든 것이 도시재생 문제일 것이다. 지역민(주거민으로서 혹은 그 지역에서 일터를 갖고 있는 사람으로서)의 충분한 참여가 있어야 하고, 그러면서도 가벼운 관광지로 전락하지 않는 묘책을 강구해야 하니까.

2019년 7월 5일 금요일

PhyloSift 마커 데이터베이스 다운로드 에러가 발생하는 이유

업무용 서버의 CentOS를 6.x에서 7.6.1810으로 업그레이드 한 뒤 처음으로 PhyloSift를 실행하게 되었다. 예전의 프로그램 디렉토리를 그대로 유지하고는 있지만 새롭게 설치하는 것이 낫겠다 싶어서 GitHub의 것을 git clone 명령으로 가져왔다. 나중에 README 파일에서 확이한 것이지만 이것은 PhyloSift를 설치하는 가장 어려운 방법이었다. 테스트 실행을 하려미 Perl 모듈이 없다고 나온다. cpanm으로 하나를 설치하면 다른 것이 없다고 하고, 그것을 설치하면 또 다른 것이 없다고 나오고...

GitHub의 PhyloShift 페이지를 보면 마지막 업데이트는 5년 전이었다. 혹시 더 나은 프로그램이 그 이후에 나온 것이 있지 않을까? NCBI에서 PhyloSift를 인용하는 새로운 프로그램 논문이 없는지 검색을 해 보았으나 별달리 눈에 뜨이는 것은 없었다. 아주 철저하게 찾아보지는 않았다.

이러다간 끝이 없겠다 싶어서 예전에 설치하여 둔 디렉토리에 있는 것을 쓰기로 했다. 이것은 필요한 모듈이 이미 묶여서 배포한 파일을 가져다가 푼 것이니까. 그런데 유전체 서열 파일 하나를 가져다가 테스트를 하는데 마커 서열 데이터베이스를 다룬로드하는 과정에서 그런 주소가 없다는 메시지가 나왔다. '왜 마커 서열 DB를 또 다운로드하려는 것이지? 예전에 실행을 했었는데...' 정리를 해 보자. 마커 서열 DB가 어디에 설치되어 있는가? ~/share/phylosift이다. CentOS를 업그레이드하면서 하드디스크의 파티션 작업을 했었고, 그 과정에서 홈 디렉토리는 싹 정리가 되었다. 이전 홈 디렉토리의 백업본을 가져다가 복구를 하였다.

마커 DB 파일은 README 파일에 따르면 다음의 위치에 있다고는 하나 이제는 유효하지 않다. 그래서 다운로드가 되지 않았던 모양이다.


$marker_base_url = "http://edhar.genomecenter.ucdavis.edu/~koadman/phylosift_markers";
$ncbi_url = "http://edhar.genomecenter.ucdavis.edu/~koadman/ncbi.tgz";

GitHub 페이지가 최신 정보를 담고 있으리라고 생각한 것이 착각이었다. 최신 정보는 'PhyloSift | mining the global metagenome' 이라는 워드프레스 기반의 웹사이트에 있다. 여기에는 마커 DB 다운로드 위치가 바뀌었다는 2018년 1월의 글이 가장 위에 올라와 있다. 기억을 더듬어 보니 이 공지를 최소한 열 번도 넘게 보았었다. 그러나 http://edhar...로 시작하는 위치에서 자동으로 다운로드한 이후 다시 DB를 설치할 일이 없었으니 신경을 쓸 일이 없었던 것이 너무나 당연하다.

Markers Database download change

PhyloSift 마커와 프로그램 패키지 등은 FigShare에 있다는 것이다. 그리고 이 사이트의 것은 코드를 고치기 전까지는 자동 다운로드가 되지 않는다고 밝혀 놓았다.

모든 phylum을 아우르는 미생물 유전체의 global phylogenetic analysis를 그리고 싶다면 아직까지는 PhyloSift를 능가하는 도구는 없는 것 같다.

6LQ8 PP 앰프 제작을 마치며

앰프 자작의 끝은 과연 어디일까? 불만스러운 곳이 완전히 없어질만큼 손을 다 보았을 때? 그렇다면 평생이 가도록 끝을 맺지 못할 것이다. 현 상태의 섀시가 어디까지나 임시방편이라 생각한다면, CAD 도면을 만들어서 주문 가공을 하여 재조립을 하기 전까지는 완성된 것이 아니다. NFB 테스트도 아직 끝나질 않았다. 흔히 쓰는 표현으로 말해 보자.

'끝날 때까지는 끝난 것이 아니다'.

비록 다이소에서 구입한 플라스틱 수납함과 나무 도마에 부품들을 고정한 상태이지만 실용적으로는 큰 지장이 없는 상태가 되었다. 그러니 현 단계에서 '앰프 제작을 마쳤다'라고 해도 큰 무리는 없을 것이다.

어제는 전원 계통의 배선을 마무리하였다. 전원 스위치와 파일럿 램프를 달고, 하나의 전원 케이블로부터 전원 트랜스와 히터 점화용 어댑터가 전부 작동하도록 하였다. 이번에도 무사히 작업을 마치기를 기원했으나 그렇게 순조롭게 되지는 않았다. 220V 전원선 한쪽을 트랜스의 접지 단자에 납땜을 하지 않나(만약 그 전선이 활성선이었고 전원이 연결된 상태에서 코어에 손을 댔더라면 나는 오늘 이 세상에 있지 못했을지도 모른다), 순식간에 차단기가 내려가게 만들지를 않나...

1차쪽의 'E'와 220V 단자에 전원선을 납땜하는 실수를 하였다.

사건의 전모는 이렇다. 납땜을 마치고 스위치를 올렸음에도 불구하고 작동을 하지 않는 것이다. 정류회로에 전혀 전압이 잡히질 않았다. 전원선 한 쪽을 트랜스의 접지 단자에 납땜을 했으니 당연한 것 아닌가. 그러다가 인두를 들고 설쳐대기 시작했는데 갑자기 차단기가 내려갔다. 복구를 한 다음 잘못 납땜한 것을 바로잡고 다시 전원을 넣어 보는데 앰프는 여전히 작동을 하지 않는다. 도대체 이유가 뭘까. 심지어 전원트랜스 1차의 단자에도 전압이 잡히지 않았다. 전선 내부에서 단선이 일어날 이유도 없고, 몇 번이나 배선에 잘못이 없음을 확인했었다.

혹시 퓨즈가? 그렇다! 퓨즈 홀더를 열었더니 유리관 퓨즈는 완전히 끊어진 상태였다. 왜 이런 일이 일어났는지 그 원인을 추정해 보았다. 전원선의 한쪽을 트랜스의 E 단자에 연결을 하였고, 만약 여기에 활성선이 연결된 상태였다면, 접지 처리가 된 납땜인두의 팁에 트랜스 본체가 닿을 때 순식간에 대전류가 흘렀을 것이다(앰프 자체에 손상을 입힐 일은 없다). 이때 퓨즈가 녹아내림과 동시에 차단기가 누전을 감지하고 작동한 것으로 보인다. 납땜인두는 히터와 접지가 전기적으로 분리된 상태이므로 이것도 손상이 되지 않았다. 만약 절연이 충분치 않은 일반 납땜인두였다면 히터가 끊어졌을지도 모르는 일이다.

언제까지 이렇게 목숨을 위협하는 실수를 되풀이해야 하는 것인지? 정말 조심하도록 하자. 며칠 전에는 리플 필터 기판의 방열판이 RCA 단자의 노출 부위에 닿아서 불꽃놀이(!)를 즐기기도 하였다.

우여곡절 끝에 완성 수준(이라 믿는)까지 작업을 마쳤다.

드디어 네온 파일럿 램프에 불이 들어왔다. LED와 같은 수준으로 직경이 작은 파일럿 램프를 사용하니 구멍을 넓힐 일은 없었지만(오히려 와셔를 하나 끼워야 했다) 불이 들어온 것이 시원스럽게 보이질 않는다. 다음에는 적어도 직경이 10mm는 되는 네온 램프를 구입하자.

출력트랜스와 PCB 사이의 빈 공간에는 3극관/5극관 접속을 전환하는 스위치를 달 예정이다. NFB 실험까지 완결되면 긴 전선은 적당히 잘라서 정리를 하자. 상판과 아래쪽 플라스틱 케이스를 고정할 방법도 생각해야 한다.


2014년 초에 첫 진공관 앰프를 주문 제작한 이래로 벌써 다섯 개째의 진공관 앰프를 갖게 되었다. 그 중에서 자작품은 세 개요, 두 개는 푸시풀 앰프이다. 푸시풀 앰프는 전부 오디오 전용관을 쓴 것이 아니다(6J6, 6LQ8). 자작이라는 것이 가져다 주는 경험의 폭과 보람은 기성 제품을 사는 것에 비할 바가 아니다. 단, 사고를 치지 않는다는 가정 하에만 그러하다. 사고 자체는 어찌보면 피할 수 없는 수련의 과정인지도 모르겠다.

샌드위치 휴무일이었던 6월 7일에 아세아 전원에서 트랜스류를 구입한 것으로 시작하여 한 달 이내에 전체 제작 과정을 마쳤으니 생각보다 빨리 마무리가 되었다. 이제 올해 안에는 더 큰 일을 벌이지 말고 대전 집에 있는 43 오극관 싱글 앰프를 손보고 몇 가지 후속 실험을 하는 것으로 마쳐야 하지 않을까 한다.

2019년 7월 7일 업데이트

왼쪽 채널에서 이상한 소리가 나면서 음악이 묻혀버리는 현상이 반복하여 나타난다. 이것이 소위 발진인가? gm이 높은 TV용 수상기용 관을 오디오 앰프용으로 사용하면서 나타나는 피할 수 없는 문제인지도 모른다. 발진이 일어나는 채널의 두 진공관을 서로 자리바꿈하여 문제를 해결하였다.