2018년 8월 17일 금요일

MinION을 사용하기 위한 컴퓨터 준비

꼭 일 년 전에 MinION을 테스트한 일이 있다. 계획은 원대하였으나 lambda control DNA를 시퀀싱하여 de novo assembly를 하는 정도에서 그치고 말았다. 당시에 이를 구동하기 위해서 Xeon CPU E5520(4 cores, 2.27 GHz)가 장착된 Supermicro X8SAX 보드 조립 서버에 우분투 14.04를 설치한 다음 MinKNOW와 Albacore(base caller)를 깔아서 사용했었다. 메모리는 겨우 16 GB. MinION 구동을 위한 컴퓨터의 최소 사양은 다음과 같다(MinION IT requirements version 1.0.0 링크).

  • Windows - 7, 8, 10
  • OSX - Sierra, High Sierra
  • Linux - Ubuntu 14.04 or 16.04
  • Memory: 16 GB RAM
  • CPU: i7 or Xeon with 4+ cores
  • Storage: 1 TB internal SSD
  • Ports: USB3

다시 MinION을 본격적으로 사용할 일이 생겨서 어제 오후부터 최신 MinKNOW(2.1 v18.05.5)를 설치하였다. 그런데 application list에서 MinKNOW가 보이질 않는다. 원래 프로그램 아이콘이 나타나야 한다.

뭐가 잘못된 것일까? 우분투 버전을 14에서 16으로 바꾸어 보고(이미 둘 다 깔려 있어서 grub로 전환하여 부팅), 아예 DVD 매체를 이용해서 우분투의 각 버전을 새로 설치해 보기도 하였다. 그러고나서 MinKNOW를 다시 설치하기를 반복하였으나 여전히 프로그램 아이콘은 어디에도 없다. 참고로 이 글 역시 현재 작업을 진행 중인 우분투 서버에서 작성하고 있다.

좌절의 기분이 슬슬 밀려오기 시작하였다. 일 년 사이에 내가 감당하지 못할 정도로 프로그램이 고도화된 것일까? 성과 없이 뒤늦은 퇴근을 하고 다시 아침을 맞았다.

어쩌면 NanoPore community에 뭔가 힌트가 있을지도 모른다. 로그인하여 질문과 답을 뒤져보았다. 내가 겪은 것과 동일한 문제에 대한 질문과 답이 있었다.

Installing MinKNOW on linux - Can't find executable

질문이 언제 작성되었는지는 모르겠지만 답변은 7월 26일에 올라온 것으로 봐서 매우 최근에 불거진 문제로 보인다. 답변에 다음과 같은 문장이 있는 것으로 보아 해결이 시급한 문제임에 틀림이 없다.
This is being worked on and will be addressed ASAP.
해결책으로는 /opt/ui/MinKNOW를 터미널 창에서 직접 실행하는 것이었다. 그  다음  문제는  instance manager라는 것이 연결되지 않고 있는데, 이는 systemctl 명령으로 실행하라고 하였다.

sudo systemctl daemon-reload
sudo systemctl enable minknow
sudo systemctl start minknow

이것은 또다른 문제를 낳는다. 우분투 14.04에는 systemctl 명령이 없기 때문이다. 없으면 설치하면 된다.

sudo apt-get install systemd 

Configuration test cell을 장착한 MinION을 USB 3.0 포트에 끼우고 MinKNOW를 실행하였다.



얼마나 오랜만에 만나는 화면인가! Anaconda를 이용하여 python 3.6 환경을 만든 뒤 albacore도 설치를 완료하였다.

2018년 8월 14일 화요일

IR2153 칩 점검을 위한 간단한 회로

인버터는 직류로부터 교류를 얻어내는 회로이다. SMPS에 쓰이는 IR2153 "self-oscillating half-bridge driver" 칩을 이용하면 이것도 쉽게 만들 수 있다. 다음은 12V 직류를 230V 50Hz의 방형파를 만드는 인버터 회로이다. 가정용 전기와 같은 사인파가 아니므로 파형에 민감한 기기는 연결하지 않는 것이 좋을 것이다. 백열등이나 전열기라면 괜찮을 것 같다. 그러나 기기 내부에서 직류로 정류를 한다면 문제가 없지 않을까?

출처: http://danyk.cz/menic230_4_en.html

MOSFET는 디지털 멀티미터를 이용하여 점검하는 방법을 알아냈지만 IR2153 칩은 정상인지 어떻게 알 수 있을까? 저전압으로 작동하는 SMPS를 만드는 것도 하나의 방법이고, 아니면 MOSFET를 쓰지 않고 LED를 점등시키는 회로를 만들 수도 있을 것이다. IR2153의 2-3번 핀 및 3-4번 핀에 연결되는 oscillator timing resistor(RT) 및 capacitor(CT)의 값을 바꾸면 작동 주파수를 바꿀 수 있다(값이 커지면 주파수가 낮아진다). 다음은 유튜브에서 찾은 IR2153 동작 점검 회로의 활용 사례이다.


회로도는 다음과 같다. Gate driver output(7번: HO, 5번: LO)에 330 Ohm 저항을 통해 직접 LED를 점등한다. 갖고 있는 부품만으로도 쉽게 만들 수 있다.

출처: https://drive.google.com/open?id=0B6D-TEuZKf4hLW81bEYzWlZWN28
RT 및 CT의 변화에 따른 작동 주파수 변동 특성은 다음의 그래프를 참고하라.

자료 출처: Infineon(링크)
갖고 있는 부품의 형편에 맞추어 실제 구현은 다음과 같이 하였다.

  • RT: 20 kOhm(B) 가변저항
  • CT: 10 uF 50 V 전해 캐패시터
  • LED 전류 제한용 저항은 1 kOhm 1/4 W
  • LED는 IC114에서 구입한 HSP10RW-ADJ(링크)
  • 전원은 DC 12 V 300 mA 어댑터 사용(무선전화기용 어댑터 재활용)
정말 오랜만에 만능기판에 납땜 작업을 하였다. 브레드보드는 취향에 잘 맞지 않는다. 가변저항은 갖고 있는 것이 2련뿐이라서 아깝지만 그것을 사용하였다. LED 역시 샤시용이라서 이렇게 쓰기는 좀 아깝지만 어쩔 도리가 없다.




작동 동영상

2018년 8월 13일 월요일

SMPS 실험의 나아갈 방향

작은 브레드보드에 IR2153을 비롯한 몇 가지 되지 않는 부품을 끼워넣고 전원을 넣었다. 퓨즈에서 불이 번쩍. MOSFET은 무사할까? 인터넷에서 돌아다니는 디지털 멀티미터(소위 '테스터')를 이용한 점검법을 참고하여 IRF740을 체크하였다. 상태가 정상이 아닌 것 같다.

다시 회로를 점검하여 보았다. 배선 오류를 하나 발견하였다. IR2153의 6번 핀에서 두 개의 MOSFET으로 이어지는 배선을 빼먹은 것이다. 이 실수가 문제를 일으킨 것으로 생각한다.

핵심 반도체 부품이 없으니 더 이상 실험을 진행할 수가 없었다. IR2153과 IRF740은 어디에서 판매할까? IC114에 재고가 있어서 일단 몇 개를 주문하였다. 알리익스프레스에서는 훨씬 싼 값에 판매하지만 여기에 주문을 하면 족히 2~3 주일은 걸릴 것이다.

SMPS 실험에서는 안전이 가장 중요하다. 300 볼트를 넘기는 전압을 다루어야 하기 때문이다. 백열전구를 이용하여 평활회로용 대용량 캐패시터를 방전시키는 기구를 만들도록 하자. 안전 제일!

2018년 8월 12일 일요일

독서 기록 - <당선, 합격, 계급> 외 네 권


당선, 합격 계급

  • 지은이: 장강명
  • '문학상과 공채는 어떻게 좌절의 시스템이 되었나'
주목받는 신진 소설가 중 하나인 그의 화제작 <한국이 싫어서>을 읽은 적이 있다. 지망생들의 세계와 합격자들의 세계를 나누는 관문인 공채 시스템. 고려시대부터 시작된 과거제도가 바로 한국 사회에서 인재를 등용하기 위한 가장 보편적인 공채 시스템의 원형이라고 볼 수 있을 것이다. 그 나름대로의 효율성은 있었지만 변화하는 세계에 맞추어 우리의 미래를 지탱해 나갈 창의적인 인재들을 걸러내기에는 부족함이 많다. 치열한 공채를 뚫고 그들만의 세상에 입성한 합격자들은 새로운 인재가 들어오는 것을 그다지 원하지 않는다. 그리고 한번 부여된 간판은 그 이후로 어지간해서는 재평가되지 않는다. 소설 공모전을 사례로 들추어본 우리 사회의 자화상. 

파괴적 혁신

  • 제이 새밋(Jay Samit) 지음 | 이지연 옮김
제목만 보고서 테크놀로지에 관련된 책으로 생각하고 빌렸는데 실제로는 비즈니스 서적에 가까왔다. 파괴적 혁신(disruptive innovation)이란 용어를 처음 주창한 사람은 클레이튼 크리스텐슨이다. 구글을 조금만 뒤지면 이와 관련된 정보가 무척 많이 나온다.


'업계에서 가장 쿨한 직업'을 가진 사람으로 묘사되는 제이 새밋이 어떻게 남들이 놓친 기회를 어떻게 성공적인 비즈니스로 일구었는지를 잘 보여주고 있다. 특히 이 책을 읽으면서 사내 스타트업의 유용성을 알 수 있었다.

우연은 얼마나 내 삶을 지배하는가

  • 플로리안 아이그너 지음 | 서유리 옮김

물결의 비밀

  • 바오 닌 외 지음 | 구수정 외 옮김
아시아 단편소설 모음집이다. 바오 닌(베트남)의 '물결의 비밀', 츠쯔첸(중국)의 '돼지기름 한 항아리'가 특히 감명깊었다. 평소에 접하지 못했던 아시아 문학작품의 깊이를 느낄 수 있는 좋은 기회였다.

제주 4·3을 묻는 너에게

  • 허영선 지음
논문 작성, SMPS 실험 등에 몰두하느라 총 다섯 권의 책을 읽고서도 독서 기록을 남기는데 많은 시간을 들이지 못함을 부끄럽게 생각한다. 요즘은 끈기를 가지고서 소설을 읽는 버릇을 들이고자 많은 노력을 하고 있다.

SMPS 실험 - 일단은 실패!

[주의!] SMPS는 220 V를 직접 정류하여 만든 고전압의 직류를 다루는 물건이다. 브리지 정류를 하므로 이론적으로는 220 V x 1.414 = 311 V가 만들어진다. 일단 전원이 공급되면 회로를 끊은 뒤에도 평활용 캐피시터에 엄청난 양의 전기가 축적되어 있으므로 안전을 위해 이를 제거해야 한다. 60 W 전구를 연결했더니 번쩍! 하고 불이 들어왔다.

SMPS 회로의 핵심은 직류를 칼질(?)하여 사각파 형태의 교류를 만드는 것이라고 생각한다. 사각형의 모양이 직사각형인가 혹은 정사각형인가에 따라서 부르는 이름이 약간 다른 것 같은데 그것은 넘어가도록 하자.

눈에 보이는 속도의 칼질로는 원하는 목적을 달성하기 어렵다. 약 50 kHz, 즉 1 초에 5만 번 정도의 칼질을 해야 하고 전기가 흐르는 방향도 바꾸어야 한다. 고속 스위칭이라고 해야 정확한 표현이 된다. 다음과 같이 그림을 그리면 개념을 잡기가 편하다.


311 V 정도를 고속으로 스위칭하면 트랜스포머(tr)의 양단에 155 V의 전기가 방향을 바꾸어가면 걸리게 된다. 그러면 트랜스포머의 2차측에는 권선비에 맞추어 변동된 사각파가 걸리게 될 것이다. 이를 정류하여 직류로 전환하여 사용하는 것이다. 그러나 실용적인 SMPS는 이렇게 단순하지는 않다. 고급 SMPS라면 2차의 부하에 따라서 전압이 내려가면 이를 검출하여 다시 앞단에 보내는 보상 회로가 존재한다. 그리고 2차 출력 전압에 포함된 스위칭 노이즈를 제거하기 위한 필터(코일)도 넣어주어야 한다. 또 잊어서는 안될 것은 2차측의 교류를 정류하려면 1N4007과 같은 일반 정류 다이오드를 쓰면 안된다는 것이다. 1N4007은 60 Hz 주파수에나 어울리는 물건이다. SMPS의 2차에서는 UF4007과 같은 (ultra)fast recovery rectifier를 써야 한다.

현재 게이트 드라이버 IC인 IR2153과 N-channel MOSFET IRF740(데이터시트)을 이용한 실험을 하는 중이다. 참고한 회로는 다음과 같다(링크). 참고 회로에서는 IRF840를 사용하는 것으로 되어있다.



담배갑 정도 크기의 작은 브레드보드에 회로를 꾸며서 전원을 넣으면... 가장 처음에 위치한 유리관 퓨즈에서 불이 번쩍 나먼서 끊어지고 만다. 회로에 실수가 없었다면 IC나 MOSFET가 망가진 것으로 여겨지는데, 이를 쉽게 알 수 있는 방법은 없을까? 디지털 멀티미터로 MOSFET를 점검하는 방법은 인터넷을 검색하면 나오지만, 이것으로 반도체 부품이 완전한지를 확인할 수 있는지는 자신이 없다.



형광등의 전자식 안정기를 이용하여 MOSFET가 정상임을 테스트할 수는 없을까? 아래는 예전에 직접 형광등 기구를 수리하면서 떼어낸 망가진 안정기이다.


IRF730B가 보인다.

이것도 썩 쉬운 방법은 아니다. 왜냐하면 형광등은 점등 단계, 그리고 점등 이후에 다르게 동작하기 때문이다.

생각보다 공부할 것이 많다. 스위치 용도로 MOSFET을 사용하는 것부터 숙지하자.

MOSFET as a Switch

2018년 8월 9일 목요일

국가주의(國家主義)와 출연연

김병준 자유한국당 혁신비대위원장이 연일 국가주의에 대한 문제를 제기하고 있다. 언론에 따르면 '국가가 없어야 될 분야에는 국가가 있고, 국가가 있어야 할 곳에는 국가가 없는 기이한 현상이 벌어지고 있다'고 말했다고 한다(한겨레신문 링크). 모든 문제의 해결을 위해 국가가 나서는 것을 국가주의라 부르나 보다... 라고 생각했었다.

실제로 정치용어로 국가주의(國家主義, statism)이란 단어가 존재하는 줄은 미처 몰랐다. 우리말 위키백과에서 국가주의란, '국가를 가장 우월적인 조직체로 인정하고 국가 권력이 사회 정책을 통제해야 한다고 주장하는 신조'를 의미한다고 하였다.

김병준 비대위원장의 논지는 문재인 정부가 대중영합주의, 국가주의의 틀 안에서 잘못된 정책을 밀어붙인다는 것이다. 가장 최근에 벌어진 일로서 서민에게 피부에 와 닿는 문제를 예로 들어 보자. 기록적인 폭염을 견딜 수가 없어 냉방기를 켜고 싶으나 누진제 요금이 무서워서 그러질 못하니 이를 완화해 달라고 범국민적인 요구가 일고, 이에 따라서 정부에서 대책을 마련하는 모습이 그러하다.
"상식적인 요금제라면 소득 수준에 맞게 얼마든지 전기요금을 낼 용의가 있다. 그래도 누진제는 너무 심하다. 많이 사면 물건값을 깎아주지 않나. 전기요금은 왜 반대인가?"
"우리는 에너지 자립도가 너무 낮다. 저마다 덥다고 맘대로 에어컨을 켜면 블랙아웃이 발생할지도 모른다. 더워도 좀 참고, 전기 절약을 유도하는 현행 누진제는 유지되어야 한다."
사실 나도 무엇이 옳은지는 잘 모르겠다. 분명한 것은 더워도 너무 덥다는 것이다. 전지구적 기후 변동이 냉방기를 작동하는 것을 기호의 문제가 아니라 생존의 문제로 만들고 말았다.

정부출연연구소는 과학기술발전에서 국가주의가 성공했었던 대표적인 모델이었다. 그러나 대략 90년대를 넘어가면서 그 빛을 잃었다는 생각이 든다. 대학과 기업은 연구개발에서 이제 상당한 경쟁력을 갖추었다. 그러면 출연연은 어떤 미션을 수행해야 하는가? 이에 대해서는 지속된 논란에도 불구하고 아직 명확하게 합의된 것이 없어 보인다. 외부에서는 출연연을 경쟁력도 떨어지고 세금만 축내는 정체된 조직, 활기가 부족한 거대한 공룡과 같은 조직으로 보는 것 같다. '나'라고 하는 연구자 개인에게 누가 비난을 하지는 않지만, 전체적인 시각이 이렇다 보니 의욕도 떨어지고 걱정이 앞선다.

소위 PBS(연구과제중심제도)가 그렇다. 연구 과제에서 경쟁이라는 자본주의적 요소를 도입한 것이 벌써 20여 년전인 1996년이다. 당시에는 능력에 따라 연구비를 더 받아가라는 것이었겠지만 말이다. 그렇다고 해도 개인 인건비는 정해진 연봉 기준액을 넘어서 가져가지 못한다. 인센티브는 좀 더 받을 수 있었겠지만. PBS 제도란 아주 쉽게 말하자면 연구자들의 급여는 약 절반 정도만 정부에서 고정적으로 나오고 나머지는 수탁연구, 즉 외부에서 과제를 수주해야 채워지는 것이다. 외부에서는 이 사실을 모르는 사람이 많다. 심지어 출연연에 입사한 직후에도 이를 모르는 경우도 있다. 장점은 명확하다. 정부 입장에서는 고정적으로 각 기관에 나가는 경비를 줄일 수 있고, 나머지는 경쟁에 의해서 따와야 하니 효율이 더 높아지는 것(처럼 보이는 것)이다. 그리고 과제를 기획하는 일 자체가 기회이자 권력이 된다. PBS와는 조금 다른 문제이지만, 과제의 단위가 커지면서 사업단장에게 큰 파워가 주어지니 기확과 계획 및 실행 단계에서 이러한 이너 서클에 들어가기 위한 노력도 치열하다. 게다가 '과제'를 따기 위해 경쟁하는 사람들은 아주 쉽게 통제가 가능하다. 고정적으로 나가는 비용이 아니니 성과가 미흡하면 내년도에는 주지 않는다고 말하면 되니까.

이 제도를 손질해 달라는 것이 과학기술계의 지속적인 요구였다. 새 정부 들어서 이를 위해 노력을 하는 것 같더니, 최근 기사에 의하면 출연연 내부에서도 PBS 제도의 존치를 원하는 의견이 많아서 다시 처음부터 검토한다고 한다. 전자신문에 실린 기사를 보자. '정부 "PBS 폐지, 근본처방 역부족" ...원점서 개편 논의'(링크). 여론에 밀려 폐지 내지는 개편을 검토했으나 결국은 원하는 답을 얻은 것 아닐까.

PBS 제도를 완화해서 인건비를 보장해 달라는 의견은 마치 '우리는 철밥통이오~'라고 선언하는 것과 같다고 여겨진다. 그렇다. 우리는 공무원은 아니니까. 조금만 귀를 기울이면 공개적인 게시판에 '도대체 하는 일이 뭐가 있나? 없애라'하는 글을 아주 쉽게 발견할 수 있다. 아주 맥이 빠지는 일이다. 이런 상황에서 이슈를 선점하고 큰 과제를 따오는 일에 능력을 발휘하는 사람이 아니면 좋은 평가를 받기가 어렵다.

사실 이런 논의는 이미 15년쯤 전부터 있었을 것이다. '혁신', '선진화', '고도화'라는 좋은 말로 포장해서 말이다. 그럼에도 불구하고 출연연 조직은 지금까지 이어져오고 있고, 새로운 연구소가 만들어지기도 했다. 이런 분위기에 익숙한 사람들은 '그래, 밖에서 아무리 떠들고 위기니 구조조정이니 해도 어쨌든 조직은 존속한다'라는 확고한 믿음을 갖고 있는 것 같다. 이것도 옳은 태도는 아니다. 분명히 변화가 필요하고, 확고한 국민의 지지를 받고 있지 못하는 것도 사실이다. 그런데 조금 삐딱하게 생각해보면 '출연연, 투입 대비 성과 미흡..' 류의 기사가 자주 나가면서 이에 동조하는 일반인의 여론이 늘어나는 것을 이용하려는 사람들이 분명히 있다는 것이다.
인건비를 보장해 주면 연구 안하고 놀 거 아냐?
나조차도 이런 '두려움'이 들지 않는 것이 아니다. 그러나 이것은 제도에 익숙해진 프레임에 갖힌 사고는 아닐까?

참 어려운 문제이다. 국가나 나서서 과학기술을 선도해야 한다는 모델은 이제 더 이상 유효하지 않은 것일까. '게시' 버튼을 클릭할까 말까 고민을 한참 하다가 누르고 말았다.

새로운 장난감, SMPS(Switched-Mode Power Supply)

지금까지 SMPS가 Switching-Mode Power Supply의 약자라고 생각했었는데 검색을 해 보니 Switched-Mode Power Supply였다. SMPS는 220 볼트 상용 전원에서 직류를 만들어내는 기기로서 주변에서 매우 흔하게 쓰인다. 워낙 쓰임새가 넓어서 중요하게 취급되고 있으며 취미 수준에서 다루는 사람도 적지 않다고 들었다. 전문가들은 일반인이 SMPS를 가지고 만지작거리는 것을 별로 좋아하지 않는다. 이론도 매우 복잡하고 또 위험하기 때문이다.

오디오 기기에서는 아직 SMPS를 별로 좋아하지 않는 분위기이다. 왜냐하면 약 50 kHz의 주파수의 사각파를 발생시키는 과정에서 노이즈가 만들어지기 때문이다. 이것이 가청 주파수 내의 노이즈로까지 연결되느냐 아니냐는 논란의 여지가 있다. 아직 경험이 별로 없는 나는 '실용상으로는 별 문제가 없을 것'이라는 기대를 갖고 있다.

SMPS를 진공관 앰프의 B 전원으로 사용하려는 시도가 없었던 것은 아니다. 최근에 ebay에서 이러한 용도의 물건을 하나 주문했다가 취소하고 환불을 요청하였었다(제품 사진은 여기에). 일반 우편으로 배송하는 과정에서 중국우정국의 safety check를 통과하지 못했다고 한다. 이러한 과정을 제이앨범에 올렸더니 친절한 한 회원께서 직접 만든 SMPS를 선물로 보내준 것이다.

주황색 점선 네모 안의 것은 전구형 형광등을 분해하여 개조한 것이다. 아래에 보인 손으로 그린 회로도는 약간의 오류가 있는 것으로 보인다. 두 MOSFET의 드레인-소스를 연결한 지점은 IR2153의 6번 핀(VS)으로 이어져야 한다.

이 일의 시작은 낡은 전구형 형광등(컴팩트 형광등, CFL)에 들어있는 전원장치를 개조하여 거의 돈을 들이지 않고 원하는 직류 전원을 얻을 수 있었다는 어느 DIYer의 실험에서 비롯되었다. 아래의 링크는 전부 회원님의 수고 덕분에 알게 된 곳이다.

Simplest SMPS power supply ever - efficient and powerful - from an old CFL

Compact Fluorescent Lamp (CFL) 회로 정보

나에게 선물을 보내주신 회원께서는 이를 바탕으로 다음 stoneaudio 카페(링크)에 상세한 제작기를 올렸었다. '진공관 1개로 만드는 저렴한 네오하브앰프'라는 제목의 시리즈물로 올라와 있으니 상세한 과정은 검색해 보면 된다. 회원께서는 이렇게 CFL을 개조하여 만든 잘 동작하는 SMPS 하나와 IR2135라는 반도체 칩을 이용하여 직접 만들 수 있는 부품 세트(기판 및 페라이트 트랜스 포함)을 보내주신 것이다. IRF840이라는 power MOSFET도 중요한 역할을 한다. IR2135를 이용한 회로의 원본은 여기에 있다. 체코어로 작성된 것이라서 구글 번역기를 돌려야 한다.

SMPS 2 x 35V 2 x 5A 250W

다음에 소개한 링크는 내가 직접 찾은 것으로 만드는 과정도 친절하게 설명하고 있다.

SMPS 2 x 50V 350W for Audio Power Amplifiers

 바로 위에서 소개한 체코 사이트의 회로도와 같다.
좀 더 진보한 버전. 아래에서 설명할 보상 회로가 부가되었다.

만약 완제품 SMPS를 ebay에서 성공적으로 구입했더라면 SMPS의 원리, 그리고 내가 원하는 전압을 어떻게 얻는지에 대한 정보를 얻으려는 생각을 전혀 하지 않았을 것이다. 그러나 이 선물로 말미암아 뜻하지 않게 새로운 분야를 파고들게 되었다. 사실 SMPS는 매우 까다로운 분야이고 위험하기까지 하므로 여간 조심해서 다루지 않으면 안된다.

아주 간단하게 그 원리를 설명해 보자. 220 볼트의 교류 상용전원을 먼저 그대로 정류하여 300 볼트 이상의 고전압 직류를 얻는다. 이를 50 kHz 정도의 사각파(펄스)로 전환하여 트랜스의 1차에 가한다. 주파수가 워낙 높으므로 철을 재료로 하는 일반적인 트랜스포머를 쓰지는 못한다. 기억해 둘 것은 두 가지이다. 트랜스에는 고주파(가청 주파수를 초과한다는 의미에서)가 공급되고, 그 모양은 사각파(square wave)라는 것이다. 가정용 전원에서 접하는 사인파가 아니라는 것이다!

Simple Switched Power Supply (간단한 그림과 설명)

웹에서 찾은 다음 그림이 SMPS의 구조를 아주 간단하게 설명하고 있다.

출처: https://www.tutorialspoint.com/electronic_circuits/electronic_circuits_smps.htm

트랜스의 권선비에 따라서 2차 전압이 결정되고, 이는 적절한 정류회로를 거쳐서 최종적으로 원하는 직류가 얻어진다. 내가 받은 완성품은 무려 300 와트를 출력할 수 있는 트랜스가 감겨져 있다. 2차는 겨우 18번 - 센터 - 18 번을 감은 것에 불과한데, 이를 양파정류하여 31 V 정도가 나온다. 만약 더욱 높은 전압을 원한다면 2차 권선을 더 감으면 된다. 그러나 실제로는 감았다 풀었다를 반복하여 원하는 전압이 나오도록 조정해야 한다. 이 과정이 그렇게 까다롭지 않다는 것에 매력이 있다.

이것이 전부는 아니다. 반도체 소자가 어떤 이유로 망가져서 도통 상태가 되면 2차측에 위험한 고전압이 나올 수도 있다. 그리고 제대로 만들어진 SMPS라는 부하에 의해 최종 전압이 변했을 때 이를 감지하여 포토커플러를 통해 다시 앞쪽 회로로 피드백하여 보상하도록 설계가 되어있다고 한다. 이런 사항을 전부 생략한 것이니 선물로 받는 회로를 활용하려면 상당한 주의를 기울여야 한다. 어제 설레는 마음으로 전원을 넣었더니 유리관 안에 들어있던 퓨즈가 빛을 내면서 순식간에 끊어지고 말았다. 마침 갖고 있는 것으로 대체를 하여 작동하는 것을 확인했지만, 이런 일이 벌어지지 않게 대책을 마련하는 것이 필요하다. 아마 대용량 캐패시터가 충전되면서 높은 돌입전류가 흘러서 그런 것이 아닐까 한다. 이를 막기 위하여 파워 서미스터를 삽입하는 것을 고려 중이다. 망가진 PC 파워 서플라이에서 떼어내 재활용할 수 있다.

SMPS의 원리는 아주 초보적인 수준으로 이해했는데, 형광등 점등회로(전자식 안정기)의 이론은 더 어렵다!

이 선물을 가지고 해야 할 숙제는 히터용 전압(6.3 V, 12.6 V)을 만들어 보는 것, 그리고 250 V ~ 330 V 수준의 B 전압을 만들었을 때 무난하게 진공관 앰프를 구동할 수 없는지 알아보는 것이다.

2018년 8월 10일 추가한 글

벌써 MOSFET을 망가뜨린 것 같다. 디지털 멀티미터를 이용하여 MOSFET을 점검하는 간단한 방법이 있어서 소개한다. MOSFET의 작동 원리를 이해해 보려 했다가 너무 복잡하여 일단 덮어두었다!

IGBT, 모스펫 테스트 방법

다음 그림과 같이 게이트(G), 드레인(D) 및 싱크(S)에 각각 1, 2, 3번이라는 번호를 붙인다.

IRF740의 데이터시트 일부.
테스트 방법은 이러하다. 디지털 멀티미터는 다이오드 체크 기능으로 전환해 둔다.

  1. 1번과 3번 핀을 단락시킨다(혹은 전체를 단락시킨다).
  2. 2번과 3번에 각각 테스터봉 빨강과 검정을 댄다. '1'이 나오면 정상이다(테스터봉을 반대로 대면 내부에 있는 다이오드에 의해 저항값이 읽혀야 한다). 다시 말하자면 이 단계에서는 S-D 사이에 내장된 다이오드가 정상인지를 점검하는 것이다.
  3. 1과 3에 각각 테스터봉 빨강과 검정을 대서 충전을 시킨다. 값은 '1'이 나온다.
  4. 다시 2와 3에 테스터봉을 댔을 때 저항값이 나오면 정상이다(본문에서는 사진과 달리 1과 3에 테스터봉을 대라고 했다. 잘못 적은 것 같다).
망가진 반도체는 저항이 없는 것처럼, 즉 단락된 것처럼 작동한다. 이것을 기억하면 편하다.

2018년 8월 4일 토요일

도심 대전천에서 물놀이?

기록적인 폭염이 약 20 일째 지속되고 있다. 뉴스에 의하면 앞으로도 최소한 열흘 이상 더 계속될 것이라 한다. 집에서 이렇게 에어컨을 자주 틀어놓은 여름도 이번이 처음이다. 8월 말에 고지될 전기요금이 매우 걱정스럽다.

아내와 나는 대전 구도심 나들이를 자주 하는 편이다. 대전천변의 공터에 차를 세워놓고 중앙시장부터 으능정이 거리, 멀게는 대전여중 근처까지도 걸어서 돌아다니고는 한다. 내가 차를 세우는 무료주차장에서 으능정이 거리 입구까지는 무려 731 미터이고 NC몰까지는 거의 1 km나 된다. 뚜벅이 스타일의 남편을 따라서 별 불만없이 잘 걸어다니는 아내가 고맙기만 하다. 이러한 아내에게 주는 작은 선물은 성심당 케익부띠끄에 들러서 커피와 케익 한 조각을 놓고 사진을 찍는 것. 롯데백화점에 있는 성심당을 포함하면 거의 일주일에 한 번은 방문하는 셈이니 나중에 이 사진을 늘어놓고 지나온 시절을 추억하는 것도 즐거운 일이 될 것이다.

오늘따라 강하게 초상권을 주장하는 아내 때문에 얼굴이 나온 사진을 올리지 못하였다.
폭염이 기승을 부리면서 비도 거의 내리지 않아서 대전천의 물은 많이 줄어 있었다. 보통때 같으면 징검다리를 이루는 바윗돌들을 물이 휘감아 흐르겠지만 요즘은 그렇질 못한 상태이다. 수질도 별로 좋지 않아 혼탁하고 냄새도 좀 나는 편이다. 며칠 전 평소대로 으능정이 거리에서 시간을 보낸 뒤 초저녁 무렵이 되어서 대전천변을 걸어서 주차장으로 향하고 있었다. 5시가 훨씬 지난 시각이라 햇볕은 약해졌지만 후끈한 기운은 여전하였다. 선화교 근처의 징검다리(대략적인 좌표는 36°19'55.6"N 127°25'34.7"E)를 건너려는 순간, 놀라운 광경을 목격하였다. 어떤 어르신이 손자로 생각되는 두세살 정도의 아이를 안고서 물 속에 앉아계신 것이 아닌가? 어르신에게는 앉은 상태로 허리춤 조금 위까지 차는 깊이의 물이라 해도 아이는 거의 온몸이 잠길 수준이었다.

대전천의 수질이 아무리 좋아졌다고 해도 목척교-선화교 구간에서 물놀이를 할만한 수준은 결코 아닐 것이다. 발목을 담그기에도 꺼려질 수준의 물에서 몸을 담그다니? 어른이야 아무리 조심을 한다 해도 아이는 물에 젖은 손을 쉽게 입으로 가져갈 것이다. 

더위를 견디지 못한 노숙자가 대전천에 잠시 들어갔다면 이해를 하겠다. 그런데 노숙자에게 손자가 있을것 같지는 않다. 아마도 인근 주민이 아닐까 싶다. 차라리 제대로 만들어진 분수대가 있었더라면 구도심을 지나는 사람 모두가 위생 걱정 없이 더위를 식힐 수 있지 않았을까?

구도심을 살린다고 흉물스런 조형물을 만들고 부실한 관리로 비난을 받는 현실이 안타깝다. 보여주기식이 아닌 시민과 방문객 모두에게 필요한 시설을 만드는데는 그렇게 많은 돈이 들지 않을텐데 말이다.

[대전MBC뉴스] 대전 명물 '목척교' 엉망(무려 4년 전에 게시된 동영상. 지금은 더 나아진 것도 없다)



수백억 들인 도심 하천 흉물로 전락/KBS 뉴스(2018년 7월 10일 게시)



2018년 8월 2일 목요일

파커 IM Premium Vacumatik 만년필의 잉크 마름 현상 해결하기

작년 11월 무렵에 파커 IM Premium Vacumatic Pink 만년필을 구입한 적이 있다(당시 글 링크). 나로서는 꽤 심사숙고한 끝에 구입한 것이었는데 캡을 닫아두어도 얼마나 잉크가 잘 마르는지 얼마 쓰지 못하고 서랍에 처박히는 신세가 되고 말았다. 저녁때까지 잘 쓰고 캡을 닫아 보관했다가 다음날 아침에 다시 글씨를 쓰려면 잉크가 말라서 도대체 나오지를 않는 것이다. 그 이후로는 파커 벡터 스탠다드를 손에 잘 맞지 않음에도 불구하고 펜을 쥐는 습관을 바꾸어 가면서 최근까지 사용해 왔다. 만년필은 아무리 캡을 닫아 두어도 매일 조금씩이라도 쓰지 않으면 잉크가 잘 마르지만, 벡터 스탠다드는 며칠 동안 쓰지 않아도 거침없이 잉크가 잘 나왔다. 그런데 이윽고 배럴에 금이 가고 말았다. 배럴을 돌리면 꽉 잠기지를 않고 '톡' 소리와 함께 또 돌아간다. 꽤 오래전에 쓴 파커 Jotter 역시 수년간 사용한 뒤에는 배럴에 금이 가고 말았다.

IM Premium Vacumatic은 왜 이렇게 잉크가 잘 마르는 것일까? 캡을 입으로 물고 바람을 불어보면 아무 저항감이 없이 술술 나온다. 처음에는 아래 사진에서 보였듯이 캡을 구성하는 부품의 틈새(빨강 화살표)에서 바람이 샌다고 생각을 했었다. 순간접착제를 바르고, 매니큐어를 발라보고, 목공 마감용 바니쉬와 목공용 본드 등 주변에 있는 별의 별 재료를 다 발라 보았는데도 여전히 바람이 새는 것이었다. 물을 담은 컵에 캡의 끝을 담그고 입으로 불면 얼마나 세차게 바람이 나오는지 도대체 그 새는 위치를 알 수가 없었다.


그런데 오늘 충격적인 사실을 발견하였다. 사진에서 초록색 네모로 표시한 부분, 그러니까 클립으로 가려진 부분 아래에 길쭉한 구멍이 있는 것 아닌가? 도대체 왜 이렇게 큰 구멍이 뚫려있는 것인가? 이런 상태라면 캡을 아무리 닫아도 소용이 없지 않나? 만년필 잉크가 휘발하여 폭발성 기체로 바뀌는 것도 아닌데 왜 이런 구멍을 만든 것인가? 이러니 아무리 캡을 닫아도 잉크가 마르는 것이 당연하지 않은가? 클립 고정용 구멍을 잘못 뚫은 불량캡을 그대로 조립한 뒤 검수를 제대로 하지 않은 것인가, 혹은 다른 부품으로 막았어야 하는데 실수로 이를 빼먹은 것인가? 아니면 무슨 특별한 이유가 있어서 그런 것인가? 혹은 정상 제품은 이런 구멍이 없어야 하나?

구글 검색을 해 보았다. 놀랍게도 클립 안쪽에 구멍이 있는 모델은 또 있었다. 파커 45가 그러하다. 캡을 여닫을 때 생기는 내부의 공기 압력을 배출하기 위한 것으로 생각되는데 - 그러면 여닫기가 편해지고 잉크가 역류하거나 밀리는 것을 막기 위함이라고 한다 - 아무리 그래도 다음날 뚜껑을 열었는데 잉크가 말라서 글씨가 써지지 않는다면 말이 되는가?

출처: Tick Talk(링크)
일단은 3M 매직 테이프를 작게 잘라서 붙여놓았다. 보기에는 좋지 않지만 잉크 마름은 한결 덜하다. 괜히 이것저것 발라서 말렸다가 다시 벗겨내느라 상처만 남았다.

지금까지 몇 개의 중저가 만년필을 써 보았다. 가격 대비 성능비가 가장 높았던 것은 사실상 일회용 만년필인 '프레피'였고, 워터맨 Phileas도 필기감, 손에 잡히는 느낌, 잉크 흐름, 디자인 등 모든 면이 좋았다. 그러나 Phileas는 배럴 내부에 둥근 금속 링이 들어있어서 표준 카트리지를 넣을 수가 없고 약간 갸름한 워커맨 전용만을 써야 한다. 약간 뻑뻑하지만 펠리칸 카드리지도 들어가기는 한다. 내가 사용해 본 만년필에서 접한 문제점들을 나열하면 다음과 같다.
  • 도장 벗겨짐 - 자바펜 '아모레스', 피에르 가르댕 '리브라'
  • 만년필촉의 나사산 부분이 부러짐 - 자바펜 '아모레스'
  • 배럴의 나사 부위에 금이 감 - 파커 '벡터 스탠다드', '조터'
  • 과도한 잉크 마름 - 파커 'IM Premium Vacumatic Pink', 플래티그넘 '스튜디오'
약간의 비용을 투자하더라도 다음에는 좀 더 좋은 품질의 만년필을 선택해야만 되겠다.



Emerson Lake & Palmer - Knife-Edge

KBS Classic FM의 'FM 실황음악'을 듣고 있었다(2018년 8월 2일 선곡표). 익숙한 곡인 쇼스타코비치의 첼로 협주곡 1번과 바흐의 무반주 첼로 모음곡 4번 Sarabande에 이어서 야나첵의 Sinfonietta라는 곡이 나온다는 안내 멘트가 있었다. 야나첵(Leos Janácek, 1854-1928)은 내가 비교적 최근에 알게 된 체코 출신의 작곡가이다.

그런데 굉장히 낯익은 멜로디가 흘러나온다. 이것은 Emerson, Lake & Palmer in Concert(1979년 발매) 앨범의 1면 마지막 곡인 "Knife Edge"가 아닌가?

출처: 위키피디아
80년대에 막 중학생이 되어서 팝음악에 매료되기 시작했을 때, 동네 음반점에서 구입했던 해적판 LP(당시에는 "빽판"이라고 불렀다) 중 하나가 바로 이것이었다. 이 앨범은 1977년 캐나다 몬트리올의 올림픽 경기장에서 있었던 공연실황을 녹음한 것이라 한다. 1976년 몬트리올 올림픽에서 레슬링의 양정모 선수가 우리나라 최초로 금메달을 땄던 것이 뚜렷하게 기억난다. 무소르그스키의 <전람회의 그림>도 이 앨범을 통해서 처음 들었다. 이 앨범에서 내가 가장 좋아했던 곡은 첫곡인 <Introductory Fanfare>로 시작하여 헨리 맨시니 작곡의 <Peter Gunn>과 바로 다음 곡인 <Tiger in a Spotlight>였다. 우리나라에서는 보통 발라드에 가까운 의 인기가 더 높은 것 같지만 말이다.
Ladies and gentlemen, Emerson, Lake and Palmer! (뒤이어 스네어 드럼을 두드리는 '텅!' 소리와 함께 연주가 시작된다.)

레드 제플린, 퀸, 딥 퍼플, 포리너, 스콜피온스, 핑크 플로이드의 음악을 이런 해적판으로 들었었다. 그 다음으로 옮겨간 매체는 카세트 테이프였다. 

다음은 유튜브에서 찾은 1970년도 스위스 공연 실황이다. 신들린 듯한 모습으로 키보드를 연주하던 키스 에머슨은 2016년에 작고하였다. 내가 Rock organ 또는 synthesizer를 꼭 치고 싶다는 욕심을 갖게 만들었던 딥 퍼플의 존 로드 역시 2012년에 세상을 떠났다. 그리고.. 나에게 가장 큰 영향을 미친 기타리스트는 안드레스 세고비아, 나르시소 예페스, 줄리언 브림, 존 윌리엄스가 아니라 <제프 벡>이다!


그러면 야나첵의 "신포니에타"를 들어보자.


글을 마무리하면서 지금 듣는 것은 1969년에 발매된 제프 벡 그룹의 두번째 앨범인 Beck-Ola(링크). 20대 중반 로드 스튜어트의 걸쭉한 목소리에 빠져보자.


2018년 7월 29일 일요일

진공관 앰프 개선을 위한 다음 구상

SMPS(switching mode power supply)는 가정용 교류 전원에서 전자기기용 직류를 만들어내는 보편적인 장치로 자리잡았다. 노트북 컴퓨터, 휴대폰 충전기, 전화기, LED 등기구 등 직류 전원이 필요한 대부분의 기기는 효율이 좋고 경량인 SMPS를 사용한다. 220 V의 상용 전원을 트랜스포머를 이용하여 적절한 수준의 전압으로 낮추고 대형 캐패시터를 통해 평활을 하는 기존의 전원장치에 비해서는 훨씬 가볍고 열도 적게 발생한다. 다만 고급 오디오 기기에서 SMPS를 사용하는 것에 대해서는 아직 회의적인 시각이 많다고 한다. 왜냐하면 주파수가 매우 높은 스위칭 노이즈를 만들기 때문이다. 이 잡음이 가청 주파수를 훨씬 상회하는 것이라서 문제가 없다는 사람도 있고, 그렇지 않다는 사람도 있다.

이번에 Ebay에서 구입하여 배송을 기다리는 물품은 바로 진공관 앰프를 위한 SMPS이다. 가정용 교류 전원을 공급하면 250 V 0.12 A 및 6.3 V 4.5 A의 직류 전원을 공급한다. 제품의 이름에서 가리키듯이 6V6(위키피디아 Radiomuseum 오디오파트 자료실)정도의 싱글 엔디드 앰프에서 사용하기 적당한 수준이다.



매우 표준적인 6V6 SE 앰프인 소리전자 '돌쇠'의 회로도를 소개한다(링크). 여기에서 필요로하는 B+ 전압의 범위에 대략 잘 맞는다.


만약 이번에 만든 6N1 + 6P1 SE 앰프에 SMPS가 별다른 문제없이 쓰일 수 있다면 앰프의 크기와 무게를 줄이는데 크게 기여하게 될 것이다. B+ 전원과 히터용으로 크고 무거운 트랜스포머를 무려 두 개나 쓰고 있었는데, 이를 대체할 수만 있다면 알루미늄 덕트를 활용한 보다 작은 샤시를 꾸며서 앰프를 재조립하면 된다.

직접 감아서 만든 R-core 출력 트랜스포머(5 kOhm : 8 Ohm)도 부족한 점이 많다. 제이앨범의 개발자가 제시한 수치보다 실수로 훨씬 부족하게 에나멜선을 감았기 때문이다. 권선비는 25:1로 맞추었으나 감은 수가 부족하여 인덕턴스도 마찬가지로 낮게 나올 것으로 생각된다. 권장되는 권선 횟수는 보빈 하나에 대해서 1800:72인데 1차를 1050회 감고 말았다.

만약 내가 진공관 앰프를 하나 더 만들게 된다면 이번에는 푸시풀(PP) 타입으로 해 보고 싶다. SE냐 PP냐의 논란은 무척 오래 되었고 각자 나름대로의 장단점이 있다고 한다. 그러나 충분한 출력을 갖는 범용적인 용도라면 PP가 더 낫지 않을까 하는 생각이 든다. SE는 만들기 쉽고, 부품이 적게 들고, 진공관의 측정 수치가 같도록 맞추는 노력을 하지 않아도 되고, 특정 음악(예를 들어 소편성의 클래식 음악)에서 좀 더 '예쁜 소리'를 낸다고 한다. 그런데 인터넷에서 찾은 글을 보면 과거 진공관 앰프 전성시대의 대부분의 하이파이 오디오용 앰프는 PP였고 SE는 라디오나 TV 정도의 용도로만 쓰였는데 이상하게 최근에 들어서 SE 앰프의 인기가 높아졌다고 한다. 이러한 견해가 100% 옳은지는 경험이 적은 나는 잘 모르겠지만 모든 음악을 책상 앞에 설치한 스피커로부터 가깝게 들을 것은 아니니 현대의 저능률 스피커도 충분히 구동할 수 있는 PP 앰프에 조금 더 관심이 가고 있다. 같은 출력이라는 SE용 출력 트랜스보다 PP용 트랜스가 더 작아도 된다는 것도 내 마음을 움직이고 있다.

SE와 PP의 특성에 대한 자료를 인터넷에서 찾아보았다.

[유튜브] Harmomics: Even vs Odd / Valve vs Solid Sate Amp Sound
[실용오디오] Single ended와 Push pull 진공관 앰프의 장단점
[실용 오디오] 진공관 앰프는 싱글이 PP보다 음질이 우수하다는 것과 삼극관이 5극관보다 좋다는 것이 사실인지요?
[서병익 오디오 기술칼럼] 싱글 앰프와 푸시풀 앰프의 음질 특성
Single Ended vs. Push Pull: The Fight of the Century - Eddie Vaughn

독서 기록 - <허리 아래 고민에 답변 드립니다> 외 두 권

기록적인 더위로 전국이 마치 용광로에 들어가 있는듯한 나날이 계속되고 있다. 온대지방 대한민국에서 섭씨 37도라니. 주간 날씨 예보를 봐도 나아지기는커녕 다음 주는 더 더워질 것이라고 한다. 집에 에어콘을 설치한 이래 이렇게 자주 작동하는 것도 처음이다. 이런 날씨에는 집에 틀어박혀서 책을 읽는 것이 즐거움이다. 요즘 들어서 바뀐 독서 습관이 있다면 2 주 간격으로 다섯 권씩의 책을 빌려오면서 꼭 소설을 하나씩은 보려고 노력한다는 점이다. 실용서와 자연과학·사회과학 서적만 너무 편식하던 습관에서 벗어나서 정보의 습득보다는 '읽는 즐거움' 자체를 좀 더 누리려는 것이다.


허리 아래 고민에 답해 드립니다

우에노 지즈코 지음 | 송태욱 옮김. 인생의 고민은 대부분 허리 아래에서 온다고 한다. 일본 아사히신문의 상담란 문답을 엮은 책.

더 나은 사람들의 역사

아리 투루넨 지음 | 최성욱 옮김. "성공과 오만이 만들어낸 갑질사회의 흥망사".

지팡이 대신 권총을 든 노인(소설)

원제: Don't ever get old.
대니얼 프리드먼 저 | 박산호 역. 스웨덴 작가 요나스 요나손의 <창문 넘어 도망친 100세 노인>을 연상하게 하는 번역본 제목은 원제를 너무 앞서간 느낌이다. 전직 경찰인 87세의 버크 샤츠는 활동은 눈부시다. 믿을 것은 권총 한 자루뿐. 꽤 거친 장면을 묘사하는 범죄 소설이다. 서평은 좋은 편인데 과연 최종적으로 응징을 당하는 범죄자가 이렇게 많은 살인을 저지를 필요가 있었는지는 의문스럽다. 주인공 버크 샤츠는 유대인으로서 2차 대전 당시 포로 수용소의 책임자였던 나치 친위대 소속의 지글러로부터 폭행을 당한 바 있다. 친구가 임종하면서 죽은줄로만 알았던 지글러가 나치의 황금을 빼돌려서 달아났다는 사실을 실토하였고, '데킬라'라는 별명의 손자와 함께 이를 찾는 모험을 나선다.

샤츠? 나치? 유태인? 7월에 읽었던 로맹 가리의 소설 <징기스 콘의 춤>(독서 기록 링크)에서도 비슷한 이야기가 전개된다. 1인칭 시점으로 진행되는 이 소설의 주인공 전직 유대인 희극배우 콘은 SS 대원 샤츠에게 총살을 당한 뒤 '유령'이 되어 줄곧 그와 함께 한다. 두 소설에서 공교롭게도 주요 인물의 이름이 같다. 물론 그것은 국문으로 썼을 때 그런 것이고, 원어로는 어떤지 모르겠다.
 
사실은 오늘 이 책들을 전부 반납하고 또 한 무더기의 책을 빌려왔다. 기자 출신 소설가 장강명이 한국에서 소설가를 발굴하는 독특한 시스템인 문학상 제도를 비판하고 그 대안을 제시한 르포 <당선, 합격, 계급>을 다 읽었으나 이 책에 대한 독서 기록은 다음번 포스트로 미루려고 한다. 매우 인상깊게 읽었던 소설 <한국이 싫어서>가 바로 장강명의 2015년 발표작이었다.

2018년 7월 26일 목요일

Pairwise SNP distance의 계산 방법에 관하여

[1] Pairwise SNP difference와 [2] pairwise SNP distance 중 어느 것이 맞는 용어일까? R에서 어떤 데이터 매트릭스의 row 사이의 거리(distance)를 계산하는 것은 흔히 있는 일이다. 내가 알기로는 이때에 특별히 단위는 정의되지 않는다. 만약 pairwise SNP distance의 단위를 basepair로 나타낸다면, [1]과 [2]는 같은 의미가 될 것이다.

한 bacterial species에 속하는 균주 수십개의 유전체를 일루미나 플랫폼으로 시퀀싱했다고 하자. 이어서 나서 균주 사이의 유전적 거리 혹은 상관관계를 알기 위해서 SNP를 이용한 후속 분석을 계획한다고 가정하자. 가장 적당한 방법은 최적의 reference genome sequence를 선정하여 이를 NCBI 등에서 입수한 뒤, 여기에 raw sequencing read를 매핑한 다음 SNP을 발굴하는 것이다. 즉 모든 샘플에 대해서 i) read mapping과 ii) reference에 대한 SNP 발굴이라는 작업을 반복해야 한다. 이러한 일련의 작업을 수행하는 매우 편리한 도구로서 나는 요즘 Torsten Seemann의 snippy(GitHub 링크)를 즐겨 사용한다. Raw sequencing read는 없고 sample의 contig sequence만 존재한다면 매릴랜드 대학에서 개발한 Harvest suite(링크)가 적절할 것이다. Snippy도 contig를 input로 받을 수 있지만, 250 bp 길이의 single end read를 contig로부터 만들어서 mapping을 하는 간접적인 방법을 사용한다.

오늘의 글에서는 snippy를 사용한 SNP 발굴 및 샘플 사이의 비교에 관한 사항을 정리하고자 한다. 먼저 reference genome sequence에 sequencing read를 매핑하는 단계부터 검토해 보자. 다음 그림은 이해를 돕기 위하여 그린 것이다. 검정으로 표시된 reference 위에 3 종의 샘플에서 유래한 sequencing read를 매핑하였다. Reference genome coordinate를 기준으로 하여 read가 붙어서 alignment가 생성된 곳을 파랑색 상자로 표시하였다. 회색 상자는 인접한 샘플을 1:1로 비교하여 얻어지는 공통적인 alignment block을 표시한 것이다. 각 샘플마다 차이가 존재하므로 mapping이 된 곳은 당연히 서로 이어지지 않는 여러 개의 상자로 나타날 것이다. block C는 모든 샘플에서 공통적으로 존재하는 영역을 의미한다. 단, 각 파랑색 블록이 실제로 해당 샘플의 유전체 내에서도 이러한 순서로 존재한다고 보장할 수는 없다는 점을 유의해야 한다. 왜냐하면 샘플의 유전체에서 얼마든지 inversion 등이 일어날 수 있기 때문이다. 게다가 recombination에 의해서 더욱 복잡하게 문제가 꼬이는 것은 오늘의 글에서는 다루지 않는다.



Snippy는 각 샘플(sequence reads)에 대해서 각각 실행해야 한다. 다음은 하나의 샘플에 대한 분석 사례이다. 결과 파일은 --outdir 로 지정한 디렉토리 안에 저장된다. 이는 어디까지는 reference와 sample 1번 사이의 1:1 비교에 해당한다.

snippy --cpus 16 --outdir sample1 --R1 sample1_1.fastq --R2 sample2_2.fastq
그 다음으로 할 일은 무엇일까? 모든 샘플에서 계산된 SNP table을 다 불러들여서 SNP alignment를 만드는 것이다. 출력 파일의 포맷은 nexus fasta phylip maf clustalw 등이므로 이를 이용하여 phylogenetic tree를 작성하면 된다. SNP alignment를 만드는 프로그램은 snippy 패키지를 구성하는 프로그램 중 하나인 snippy-core이다. 다시 위의 그림으로 돌아가보자. 각 샘플 read가 reference 위에 매핑하는 곳은 완벽하게 겹치지 않는다. snippy-core는 공통적인 alignment, 즉 core site로부터 염기서열을 뽑아내는 것이다.
snippy-core --prefix core sample1 sample2 sample3...
Core site 안에서도 모든 샘플이 동일한 염기를 갖는 monomorphic site가 있는가 하면 일부 샘플만 다른 polymophic or variant site도 있다. snippy-core로 만들어진 core.aln에서 각 샘플 유래 서열의 길이를 측정해 보면 당연히 그 reference genome sequence의 크기에 훨씬 못미친다. 그런데 결과물 중에 core.full.aln이는 것도 보인다. 이것은 무엇인가? Reference sequence의 크기와 동일한 alignment로서 align이 되지 않은 영역, 즉 zero coverage region or deleted region을 '-'으로 채운 것이다. 위 그림을 기준으로 설명하자면 빨강 블록을 연결하는 두꺼운 회색수평선을 '-'으로 채웠음을 의미한다. 실제로 full alignment 파일을 열어보면 ATGC와 '-' 이외의 문자도 보일 것이다. 이것 때문인지는 모르겠으나 core.full.aln을 FastTree로 처리하여 tree를 그리면 간혹 이상한 그림이 나오기도 한다. core.full.aln에 수록된 다양한 문자형태에 대한 설명은 snippy 웹사이트에서 가져온 설명으로 대체한다.
  • 대문자: same as the reference
  • 소문자: different from the reference
  • -: zero coverage in this sample or a deletion relative to the reference
  • N: low coverage in this sample (based on --mincov)
  • X: masked region of reference (from --mask)
  • n: heterozygous site in the sample (has GT=0/1/ in smps.raw.vcf)
다음으로 알아볼 것은 snp-sites(GitHub 논문)라는 유틸리티이다. 이것은 multi-FASTA alignment에서 SNP를 추출하는 도구로서 snippy의 구동을 위해 꼭 필요하다. 논문을 보면 snippy의 개발자인 Torsten Seemann이 공저자로 포함되어 있기도 하다. snippy-core가 만들어낸 core.aln을 snp-sites로 처리하면 monomorphic site가 제거되는 것으로 이해하면 될 것이다.

마지막으로 오늘의 주제인 snp-dists(GitHub 링크)에 이르렀다. 이 유틸리티 역시 Torsten Seemann의 작품이다. 3 개의 sample에 대한 SNP 분석을 했다는 것은 reference에 대한 sample의 SNP 분포를 알아냈다는 뜻이다. 그러면 sample 1번과 sample 2번을 비교했을 때 SNP의 분포는 어떻게 되는가? 엄밀하게 말하자면 여기에는 두 가지 방법이 있다. 첫번째는 위 그림에서 공통적으로 존재하는 alignment(맨 아래의 빨강색 박스)를 이용하는 것으로서 snp-dists도 이에 해당한다. 다시말해서 core.aln 파일에서 샘플 사이의 모든 pairwise SNP를 재계산하는 것이다.

두번째 방법은 내가 실제로 어제 사용한 방법이었는데 결론적으로 말해서 바람직하지는 않은 것으로 여겨진다. 모든 샘플에 대해서 snippy를 다 실행해 둔 다음, 결과 디렉토리를 전부 두 개씩 짝을 지어서(Perl의 Algorithm::Combinatorics를 사용함) snippy-core를 돌린 것이다. 사용한 샘플의 수가 98개이니 여기에서 2 개씩을 모두 조합하면 C(98, 2) = 4753 개의 command line에 해당하는 snippy-core를 실행한 셈이다. 얼마든지 parallel하게 실행할 수 있는 일이었지만 아주 단순하게 순차적으로 command line을 실행하면서 분석이 끝나기를 기다렸다. '과연 이렇게 하는 게 맞는 것일까?'하는 의구심과 함께... 화면으로 출력되는 standard error를 파일로 리다이렉션한 뒤 다음 라인을 전부 찾아내어 parsing을 하였다.
[14:46:48] Found 3568 core SNPs from 6612 variant sites.
 내가 원하는 것은 matrix를 만드는 것이 아니었다. 98 개의 샘플(strain)은 몇 개의 clade로 나눌 수 있는데, 동일 clade에 속하는 strain 간의 SNP distance가 다른 clade에 속하는 것과의 비교에서 나온 수치보다 현격하게 적다는 것을 보이는 것이 목적이었다. 지리한 계산이 다 끝나고 요즘 쓰고 있는 논문에 해당 수치를 기입하고 나서야 snps-dists라는 유틸리티를 발견하게 되었다. 이것에 core.aln(FASTA) 파일만 input으로 제공하니 순식간에 SNP distance matrix를 작성하였다. 98개의 snippy 결과 디렉토리를 두 개씩 전부 조합한 command line을 만들어서 훨씬 많은 시간이 걸려서 4700회가 넘는 snippy-core를 실행했던 내 자신이 한심하게 느껴졌다.

그러면 snp-dists가 만든 매트릭스는 실제 어떻게 생겼나? ooffice --calc로 파일을 열어보았다. 그런데 각 셀에 적힌 수치가 snippy-core 수작업으로 계산한 것보다 약간 작다. 왜 그럴까? 그 이유를 곰곰이 생각해 보았다. 다시 위의 그림으로 돌아가자. 스크롤하기가 불편하니 아래에 다시 불러다 놓고 글을 마저 적도록 하겠다.


snp-dists는 alignment file을 입력물로 사용한다. 이는 위 그림에서 맨 아래쪽의 빨강 박스를 기준으로 작동한다는 것을 의미한다. 즉 모든 샘플에서 공통적으로 mapping된 영역에 대해서만 pairwise SNP distance를 계산한다는 것이다. 그러면 내가 어제 했던 '비능률적인 방법'은 어떻게 돌아가는 것인가? sample_1과 sample_2의 SNP 분석물 1:1 비교를 생각해 보자. 위 그림에서 두 샘플의 read alignment 중 공통적인 영역, 즉 회색으로 표시된 부분에서 SNP를 찾아낸 것이다. 당연히 빨강 박스에서 찾아낸 것보다 더 많은 SNP가 발견되었다. 그 다음으로 sample_2와 sample_3의 snippy 결과를 snippy_core로 처리한 경우를 생각해 보자. 마찬가지로 두 샘플 사이를 연결하는 회색 영역에서 SNP를 찾은 것이다. 

이상에서 열거한 두 가지 방법 중에서 어느 것이 옳은가? 나도 모른다. 사용하기에 편한 방법을 찾으라면 당연히 snp-dists이다. 모든 샘플에 공통적으로 존재하는 영역에 대해서만 SNP를 추출하여 그 숫자를 계산하므로 보다 객관적일 것이라는 생각도 든다. 하지만 샘플 대 샘플의 1:1 비교라는 측면에 집중한다면 내가 실행했던 다소 비능률적인 방법도 나름대로 타당하다고 생각한다. 특정 샘플의 쌍에서만 존재하는 공통 alignment 영역(위 그림에서 초록색으로 표시한 부분)에도 주의를 기울인다는 것이 이 방법의 중요한 특징이다. 이 영역은 core.aln에서는 당연히 취급되지 않는다.

2018년 7월 25일 수요일

독서 기록 - 스스로 치유하는 뇌(The brain's way of healing)

기록에 남을만한 뜨거운 날씨가 연일 계속되고 있다. 예년에 비하면 훨씬 자주 에어콘을 틀어서 다음달 전기요금이 심히 걱정이 된다. 그렇다고 해도 독서는 멈출 수 없다. 이번에 빌려온 책 중에서 가장 분량이 많으면서도 강한 인상을 남긴 책이라서 별도의 블로그 기록으로 남기고자 한다.

먼저 의학의 아버지인 히포크라테스(기원전 460-375)가 회복에 관하여 남긴 말을 가지고 글을 시작하련다.
수명은 짧고, 의술은 길며, 기회는 순식간에 지나가고, 경험은 의심스럽고, 판단은 어렵다. 의사는 자신이 해야 할 일을 하는 것은 물론이요, 환자, 간병인, 외적 여건도 맡은 바 일을 하도록 만들어야 한다.



  • <스스로 치유하는 뇌(The brain's way of healing)>
  • 부제: 신경가소성 임상연구를 통해 밝혀낸 놀라운 발견과 회복 이야기
  • 노먼 도이지 지음 | 장호연 옮김
흔히 뇌(혹은 신경)는 한번 손상을 입으면 다시 회복되지 않는 것이 정설로 되어있다. 상처가 아물고 부러진 뼈가 붙는 일반적인 치유 과정이 신경세포에는 없다는 뜻이다. 요즘 줄기세포를 이용하여 질환을 치료하려는 움직임이 있지만, 신경줄기세포가 원하는 위치에 들어가서(특히 그곳이 뇌 속이라면?) 분화하기를 기대하는 것은 대단히 어렵다. 이 책의 저자인 노먼 도이지는 여러 나라를 다니면서 외상성 뇌 손상, 척수 손상, 뇌졸중, 근긴장 이상, 파킨슨병, 학습장애에 해당하는 질환을 앓는 사람에게 새로운 임상 신경가소적 기법(신경가소성: neuroplasticity)을 적용하여 정상에 가깝게 치유한 많은 사례들을 발굴하여 소개하고 있다. 이 중에서 어떤 것은 대체의학으로 여겨지는 방법에 의존하는 것도 있고, 구 소련에서 개발되어 서구에는 아직 소개되지 않은 것들도 있다.

저자가 소개하는 치유 사례들은 일반화여 적용하기가 아직은 어려운, 대단히 이례적인 일화에 불과하다고 비판할 수도 있다. 그러나 저자는 에필로그(547쪽)에서 다음과 같이 말한다.
라마찬드란은 이렇게 설명한다. "신경학에서는 시간의 검증을 견뎌낸 주요 발견들의 대부분이 사실상 한 건의 병력과 입증에 바탕을 두고 이루어졌다고 해도 지나치치 않다." 우리는 폭발 사고로 쇠막대가 전두엽을 관통한 철도 논동자 피니어스 게이지(위키피디아 영문 국문)를 통해 전두엽의 기능에 대해 알게 되었다...HM이라는 환자를 통해서는 기억에 대해 배웠다.  
사용하지 않으면 뇌는 퇴화한다. 만약 뇌졸중으로 한 팔을 쓰지 못하게 되었다고 가정하자. 마비된 팔을 움직이려고 반복적으로 노력하다 안 되면, 작동하지 않는다고 '학습'한 뇌는 정상적인 팔만 사용하게 된다고 한다. 멀쩡한 팔에 깁스를 하여 쓰지 못하게 만들고 마비된 팔을 강도 놓게 점증적으로 훈련하면 심지어 수십년이 지나서도 기능이 돌아오기도 한다는 것이다. 다시말해서 남은 신경세포는 재배선을 통해서 원래 상태와 가까운 기능을 하게 된다는 것이다. 이를 위해서는 운동과 적절한 시각적·청각적 자극이 대단히 중요하다.

이번 책을 통해서 알게된 모세 펠덴크라이스(Moshe Feldenkrais, 1904-1984)의 재활요법도 놀라웠다. 유도의 철학에 입각해 정신과 육체의 상관성을 파악하여 의사들도 포기한 부상을 스스로 회복시키게 되었다는 것이다(국내 기사 링크).

치료용으로 쓰이는 저강도 레이저(FDA에서는 2002년 승인)를 머리가 아닌 목과 척추 아래쪽에 쏘여서 뇌손상을 치료한다는 것도 획기적인 일이다. 텔아비브 대학의 Shimon Rochkind와 Uri Oron은 저강도 레이저가 손상된 말초신경 및 중추신경의 재생을 촉진한다는 선구적인 연구를 진행하였다. 심지어 패혈증에 걸린 환자의 정맥에 광섬유를 삽입하여 632 nm 파장의 레이저를 쏘였더니 백혈구가 극적으로 감소하고 이제까지 듣지 않던 항생제가 듣기 시작하여 회복했다는 사례도 있다. 서양에는 지금도 알려져있지 않지만, 러시아 연구자 Meshalkin과 Sergievskii가 저강도 레이저를 혈액에 조사하는 치료를 소개한 뒤 카자흐스탄에서는 수술에서 흔하게 사용된다고 한다.

PoNS®라는 이름으로 알려진 휴대용 신경조절 자극기(Portable Neuromodulation Stimulator)도 흥미롭다. 353쪽을 보면 위스콘신-매디슨 대학의 한 연구소에서 입에 넣으면 다발성경화증 증상에 도움이 되는 장비를 개발했다는 것으로 PoNS의 소개를 시작한다. 책에서 소개한 개발자의 이름을 구글링하여 2010년도의 기사를 찾았다("Healing the brain through the tongue" 링크). 사이트를 방문하면 책에서도 소개된 Ron Husmann이 이 기계를 물고 있는 사진을 볼 수 있다. 왜 하필이면 '혀'인가? 혀는 몸에서 가장 예민한 기관 중 하나로서 뇌 전체를 활성화하는 지름길이기 때문이다. PoNS는 현재 Helius Medical Technologies에서 임상 시험이 진행 중이라고 한다.

이외에도 블로그에 전부 담기 어려운 다양한 신경가소성 이용 치유법의 사례를 소개하고 있다. 이 책을 읽으면서 서양식 의학의 사고방식에 젖어서 약물을 사용하고, 잘라내고, '나 자신 이외의 것'에사 문제의 원인을 찾는 것이 아니라 모든 것이 전부 연결되어 있다는 통합적인 시각에서 자가 치유의 가능성을 모색하는 것이 중요함을 알게 되었다. 새로운 발견은 늘 저항을 낳는다. 토마스 쿤이 주장했듯이 정상 과학(normal science)가 수립되면 새로운 주장의 등장을 억누른다.

Bruce West는 이라는 책에서 과학자를 도약자(leaper-새로운 패러다임을 만들어 나머지 사람들을 뛰어넘음), 모색자(creeper-기존의 모델로 예측되지만 아직 확립되지 않은 분야의 잠재적 발견을 탐구), 전수자(sleeper-자신과 남들이 앞서 배운 것을 다음 세데로 넘겨주고, 지식을 조직화하고 범주화함), 그리고 수호자(keeper-잘 설명된 현상의 실험들을 개선하고, 다듬고, 기존의 패러다임 내에서 세세한 사항들을 보강함)로 나누었다. 대부분의 과학 활동은 패러다임 안에서 정상 과학에 대하여 작업하는 뒤쪽 세 유형의 과학자에 의해서 이루어진다. 저자는 의학에도 이러한 유형이 존재하며 혁신이 수용되는 방식에 영향력을 행사한다고 하였다. 나는 이 네 가지의 유형 중에서 어떤 과학자인가?

2018년 7월 19일 목요일

AliExpress에서 주문한 물건의 뒤늦은 배송

이 부품의 이름은 직경 6 mm의 축을 끼울 수 있는 Rigid Flange Coupling이다. 발음은 '커플링'이지만 커플이 나누어 끼는 반지를 뜻하는 것은 물론 아니다. 두 축을 연결하여 회전 동력을 전달하는 용도의 기계 요소이다. 원래는 출력 트랜스 권선기를 만들기 위해 주문한 것인데 너무 오랫동안 오질 않아서 다른 방법으로 회전판을 고정하고 말았다. 5월 23일에 주문을 한 것이 7월 19일에 왔으니 거의 두 달이 걸렸다. 총 17 차례의 AliExpress 구매 이력(최초는 2014년) 중에서 가장 늦은 배송이다. 그래도 다행인 것은 단 한 번도 물품이 오지 않은 적은 없었다. 전부 DIY를 위한 전자 혹은 기계쪽 부품이었다.


역시 AliExpress에서 지난 3월 무작정 진공관 앰프 보드를 구입하면서 즐겁고도 고단한 자작의 길을 지금까지 걸어왔다. 공구에 손을 다치거나 고압에 감전이 되는 일도 다반사였다. R-코어를 사용하여 출력트랜스(싱글)를 직접 감았다는 것도 처음에는 기대하지 않았던 수확이었다. 이렇게 완성한 앰프는 실제 음악감상을 하기에 충분한 수준의 음질을 제공하지만 문제는 컴퓨터 케이스를 개조하여 만든 섀시가 너무 허름하고 지나치게 크다는 것이다.

R-코어를 고정하는 방법을 고안하고 아울러서 좀 더 아름다운 섀시를 가공하여 재조립을 하는 것을 올 하반기의 목표로 잡았다. 강기동 박사님의 웹사이트(My Audio Lab)에서 본 사진이 힌트를 제공할 것으로 기대한다. 배관용 새들과 긴 볼트를 이용하면 갭을 사이에 둔 코어 반쪽씩을 고정하는 것이 가능하다. 이렇게 조립한 트랜스를 섀시에 움직이지 않고 고정하는 방법은 그 다음 숙제이다. 가능하다면 신호 발생기와 오실로스코프를 이용하여 주파수 특성과 출력을 측정하는 방법까지 익히고 싶다.

출처 http://www.my-audiolab.com/KDK_Column/63164




2018년 7월 18일 수요일

[하루에 한 R] 텍스트에 색깔 입히기

R에서 colors() 함수를 실행시키면 총 657 개의 색깔 단어가 나타난다. "black", "yellowgreen"과 같이 영단어로 표현 가능한 색상이 657 가지라는 뜻이다. RGB 또는 hex code를 사용하면 더 많은 종류의 색깔을 표현할 수 있다. 다음 PDF 파일을 컬러프린터로 인쇄하여 책상 옆에 붙여두면 쓸모가 많을 것이다. 우리식 콩글리시 표현으로는 '컨닝페이퍼'에 해당한다.

R colors cheatsheet (PDF 파일)
R Colors by Name (PDF 파일)
R Color Tables 색상표를 만드는 R 코드 소개(일단 실행해 보는 것을 추천!)
[참고용] 256 Colors - Cheat sheet

수만 가지의 색을 모니터 혹은 이미지 파일로 표현할 수는 있지만 텍스트에 입힐 수 있는 색은 한정적이다. 다음의 예를 보자.

노랑 글씨  노랑 바탕 위의 검정 글씨

왼쪽은 글자 자체를 노란색으로 쓴 것이다. 뭐가 있다는 것은 알겠는데 마우스로 긁어서 반전을 시키지 전에는 무슨 정보를 담고 있는지 알 수가 없다. 그러므로 실제 텍스트에 색을 입혀서 미리 확인을 해 보는 것이 좋을 것이다. 이를 위해서 사용할 수 있는 매우 적당한 함수가 있으니 그것이 바로 textplot()이다.

R colors 자료에서 스무 개 정도의 색상 단어를 뽑은 뒤 다음의 코드를 실행하여 실제로 표현해 보았다. 실제로 바꿀 것은 cols 벡터와 ncol 파라미터뿐이다.

cols = c("red","aquamarine3","blue","brown","cadetblue",
         "chartreuse","chocolate","darkgoldenrod","darkmagenta","darkgreen",
"khaki4","grey","black","cyan","purple",
"yellowgreen","firebrick","hotpink4","limegreen","salmon3")
mat = cbind(name=cols, t(col2rgb(cols)), hex=col2hex(cols))
textplot(mat,col.data=matrix(cols, nrow=length(cols), byrow=FALSE, ncol=5))

결과를 보자.

왠지 탁하고 칙칙한 느낌이 들지 않는가? 나의 색상 선택 센스가 영 꽝이라는 것을 알겠다. 미적 감각이라는 것은 타고 나야 하는 것이라서 훈련으로 나아지는 데에는 한계가 있다.

My analog life - 기계식 손목시계, 만년필, 진공관 앰프

오늘 아침에 찍은 사무실 책상위의 모습이다.


필름을 사용하는 카메라까지 곁들이면 더욱 완벽한 조합일 것이다. 장식장 안에 몇 대의 카메라와 교환용 렌즈가 있지만 마지막으로 필름을 넣어본 것이 언제인지 모르겠다. 사진과 관련한 생태계가 너무나 크게 변해서 이제는 필름을 구하기도, 현상하기도 어려워졌다. 반면 진공관은 아직도 NOS(new old stock) 상태의 것을 구할 수 있고 심지어 인기있는 관은 아직도 만들어지고 있다.

아이패드를 처음 갖게 되던 시절, 이를 늘 들고다니면서 업무 및 일상에 관련한 기록을 할 수 있게 되리라 생각했었다. 에버노트와 드롭박스를 깔아서 사무실에서 아주 쉽게 파일을 공유하여 어디를 가든 쉽게 열어보고 작업을 할 수 있던 시절이 잠깐 있었다. 그러나 보안 이슈가 불거지면서 공공기관에서는 클라우드 서비스를 쓰는 것이 막히고 말았다. 그러나 더욱 중요한 이유는 이러한 기기를 일상적으로 쓰는 생활이 몸에 잘 배지 않는다는 것이다. 이메일 확인이나 잠깐씩 필요한 검색은 스마트폰으로 충분하고, 출장을 갈 때에는 아예 노트북 컴퓨터를 들고 가게 되니 말이다. 아이패드는 집에서 유튜브를 들을 때에만 가끔 사용하며, 평소에는 다이어리에 손으로 쓰는 글씨를 더 선호한다. 그래서 아직도 만년필을 쓰고 있다.

지금 쓰는 파커 벡터 스탠다드는 서랍에 남은 잉크 카트리지를 다 소모할 때까지만 쓰려고 생각 중인데 하루에 글씨를 쓰는 양이 그다지 많지 않아서 그 날이 언제 올지는 도저히 모르겠다. 내 손에는 참 맞지 앉는 만년필임에도 불구하고 워낙 오래 쓰다보니 이젠 그런대로 익숙해졌다.

작년 11월에 구입한 파커 IM 프리미엄 배큐매틱 핑크(블로그 링크)는 너무나 쉽게 잉크가 말라서 며칠간 쓰다가 포기하고 세척하여 책상 서랍 속에 잘 넣어두었다. 서울 을지로에 있다는 만년필 연구소에 한번 보내볼까?

요즘 관심을 갖는 만년필은 모나미의 153 네오 만년필이다. 소비자가격은 25,000원 정도? 화사하고 가벼운 본체의 색깔과 잉크 카트리지의 다양함이 큰 무기인 것으로 보인다. 모나미의 베스트셀러 필기구인 153 볼펜의 정신을 계승했다고나 할까. 입문용 만년필의 최강자인 라미 사파리와 경쟁해서 이겼으면 하는 것이 개인적인 바람이다. 가격과 품질면에서 3천원 정도에 팔리는 '프레피'와 경쟁할 위치는 절대로 아니다. 프레피와 경쟁해야 할 제품은 '올리카'. 실제 구입하여 사용한 경험으로는 닙이 약간 거칠다.

모나미 153 네오 만년필

오늘 언급한 아날로그 라이프용 아이템 중에서 가장 사치를 부릴 수 있는 것은 기계식 손목시계(주로 오토매틱 와인딩)이다. 가격의 상한선은 상상을 초월하지만, 의외로 싼 오토매틱 시계도 많다. 스마트폰 때문에 시계를 한번도 찬 적이 없는 사람을 간혹 보게 된다. 이와 반대로 최첨단 전자기기인 스마트 워치를 착용하는 사람도 주변에 적지 않다. 이삼일 차지 않으면 시간을 다시 맞추어야 하고 시각을 알려주는 것 이외에는 아무런 기능이 없는 '불편한 물건'임에도 불구하고 국내의 고급 시계 시장은 해마다 성장하기만 한다. 내가 즐겨서 차는 기계식(오토매틱 와인딩) 시계는 일제 오리엔트의 저가 라인인 three star(혹은 tristar, 삼성이네...)의 모델이다. 순전히 인체의 움직임을 동력으로 하여 태엽이 저절로 감긴다는 것이 묘한 일체감을 준다. 손목을 흔들 때 로터가 가볍게 돌아가는 느낌이 좋다. 남자라면 당연히 강렬한 인상의 다이버 시계에 끌리지만 손목이 굵지 않아서 요즘 추세의 큰 시계를 어울리게 차는 것은 어렵다.

진공관 앰프에 입문한 것은 2014년 설 무렵이었다. 올해 봄부터 약 반년이 지난 지금까지는 남이 만든 것이 아니라 내가 직접 만드는 진공관 앰프에 푹 빠져있었다. 그 덕분에 집과 사무실 모두 몇 개의 앰프를 놓고서 골라서 들을 수 있는 환경을 갖추게 되었다.

모든 것을 자동화된 장치(혹은 서비스)에 맡기지 않고 내가 직접 할 수 있는 여지가 있다는 것, 그것이 아날로그의 진면목이 아니겠는가?

2018년 7월 16일 월요일

독서 기록 - <너는 검정> 외 다섯 권


주말에 바쁜 일이 있어서 독후감도 제대로 쓰지 못하고 연체까지 되고 말았다. 제목과 저자만 간단하게 기록한다.


  • 너는 검정: 김성희 만화. 탄광촌을 배경으로 한 실화에 가까운 만화.
  • 우리가 몰랐던 노동 이야기(부제: 하종강의 노동 인권 교과서): 하종강 지음.
  • 어쨌든 미술은 재밌다(부제: 그림을 어렵게 느끼는 입문자를 위한 5분 교양 미술): 박혜성 지음.
  • 거짓말 상회(부제: 거짓말 파는 한국사회를 읽어드립니다): 인문학협동조합 기획, 김미선 김현호 고영 공저. 자기계발, 사진, 그리고 음식의 거짓말 3부로 이루어진 책이다.
  • 공유경제: 마화텅, 장샤오롱, 쑨이, 차이슝산 공저, 양성희 옮김. 우리나라의 공유경제 현황은 다른 나라에 비하면 매우 빈약한 수준이다. 인터넷을 통한 중고 거래를 공유 경제의 하나로 소개하였는데, 네이버 <중고나라>에서 벌어지는 일들을 생각하면 과연 바람직한 사례인지 모르겠다.
  • 징기스 콘의 춤: 로맹 가리 지음, 김병욱 옮김. 우리나라에서는 올해 처음 번역된 소설이다. 나치 에 의해 이미 사살된 유태인 희극배우 콘은 자기를 죽인 SS 대원 샤츠 주변을 맴도는 유령이 된다. 충격적이고 난해한 소설. 

2018년 7월 12일 목요일

A newly coined word, vesiculomics

세포막이 어떠한 이유로 소포 형태로 떨어져 나와서 돌아다니는 것을 extracellular vesicle(EV)이라 한다. 요즘 진단 마커로 관심을 끌고 있는 exosome도 EV의 한 형태이다. EV에는 RNA와 단백질 등 다양한 물질이 들어 있으며, 이를 다른 세포에 보내어 신호를 전달하는 용도로 사용한다고 여겨진다.

그람음성 세균 역시 outer membrane으로부터 vesicle을 만들어 낸다. 이를 OMV(outer membrane vesicle)이라 한다. 세균은 여기의 자기 단백질을 아무렇게나 넣는 것이 아니라 어떤 목적을 위해 선별된 단백질을 넣는다고 한다. 즉 virulence 혹은 immunomodulatory role을 할 수 있도록 OMV를 잘 설계하여 만든다는 뜻이 되겠다. 감염성 세균은 virulence factor를 여기에 넣어서 host cell로 전달하기도 한다.

Extracellular vesicle에 포함된 단백질 혹은 핵산 전체, 즉 기존의 omics 분석법으로 다룰 수 있는 물질 전체를 vesiculome이라 한다면, 이를 연구하는 기법은 vesiculomics라고 하면 되지 않을까? Exosomics라는 용어도 있지만 여기에서의 '-ome'은 흔히 이야기하는 genome, transcriptome, proteome의 ome과는 다르다. 물론 어원적으로는 같지만 말이다.

그러나 vesiculomics의 '-omic'는 여타 오믹스란 용어에서 사용하는 것과 같은 수준의 말이다. 오늘 구글을 검색해 보니 vesiculomics라는 용어는 전혀 검색되지 않는다.


Vesiculome이라는 용어가 들어간 학술자료는 간혹 보이지만 정작 vesiculomics는 보이지 않는다는 뜻이다. 그러면 이 용어는 내가 세계 최초로 쓴 것이 된다. vesicuome, 즉 vesicle에 들어있는 모든 정보물질의 총합을 연구하는 것이 vesiculomics다. 새로운 '-ome'이 정의되었다면 그에 따르는 '-omics'도 당연히 정의되는 것 아니냐고 주장할 사람도 있을 것이다. 하지만 genome과 genomics는 엄연히 수십 년의 시간 차를 두고 만들어지지 않았는가?

Vesiculomics는 내가 2018년 7월 12일 세계 최초로 만든 신조어임을 선포한다!

2018년 7월 11일 수요일

쇼스타코비치의 교향곡 10번 2악장





어제(2018년 7월 10일) 대전시립교향악단의 <마스터즈 시리즈 7>에서 쇼스타코비치의 교향곡 10번을 감상하였다. 단역 백미는 2악장. 겨우 4분 정도에 지나지 않는 짧은 악장임에도 불구하고 그 임팩트는 대단하였다. 유튜브에서 이 곡을 찾아서 소개한다. 가장 최근에 달린 댓글(3년 전)에는 악장이 헤비 메탈의 기원이라는 내용도 있었다.

According to my music theory text books this movement was the origination of heavy metal. [Madison Sawyer]
당시의 억압적이고 암울하던 소련의 사회 분위기를 그대로 전하고 있는 듯한 무겁고도 빠른 곡이었다. 듣는 내내 악당이 등장하는 영화의 한 대목을 연상케 하였다. 다스 베이더나 타노스에게 어울리는 주제라고나 할까? 이 곡은 스탈린의 초상화라는 말도 있다.



격정적으로 오케스트라를 이끌던 객원지휘자인 로베르토 밍크주크는 악장 사이마다 손수건을 꺼내어 땀을 닦았다. 연주가 끝나고 거듭되는 박수 속에 지휘지는 입을 열었다. '쇼스타코비치의 교향곡을 연주하고 나서 앵콜에 응하는 것은 어렵지만... 2악장을 한번 더 연주하겠습니다.'



1부에서는 17세 소년 피아니스트 네이슨 리가 차이콥스키의 피아노 협주곡 1번을 연주하였다.



공연 관람을 마치고 주차장을 나서는 길은 말 그대로 조용한 '대혼란'이었다. 둔산대공원 주차장이 6월부터 유료화가 되면서 주차난이 해소되었다고는 하지만, 공연이 끝나고 수백명의 차량이 한꺼번에 나가면서 주차비를 내기 위해 장시간 줄을 서야 하는 문제는 미리 대비를 했어야 한다. 주차장을 빠져나가는데 무려 한 시간이나 걸렸기 때문이다. 주말의 에버렌드나 롯데월드도 아니고 평일 밤 9시 반이 넘은 시각의 대전에서 이런 일이 벌어진다는 것을 상상할 수나 있을까? 이럴거면 차라리 주차장을 운영하지 말고 대중교통으로 공연을 보러 오라고 홍보하는 것이 낫다.



시에서 만든 공공 시설을 이용하면서 사용료를 내는 것에 대해 누가 뭐라 하겠는가. 다만 공연이 있는 날의 특수 상황을 반영하여 출차 시 오래 시간이 걸리는 것에 대한 대책 마련이 필요하다고 본다.



2018년 7월 10일 화요일

6N1 + 6P1 싱글 앰프의 자작 마무리

손바닥만한 class D 앰프와 SMPS만 있으면 좌우 채널에서 각각 50 와트가 넘는 출력을 뽑아낼 수 있는 오디오 앰프가 즐비함에도 불구하고 진공관 앰프를 만드는 이유는 무엇일까? 부품도 비싸고, 생산 중단된 구관은 점점 구하기가 어려워지며, 고전압을 다루어야 하기에 감전 사고도 잦다. 섀시 가공도 해야 하고, 전력 소모와 발열도 심하다.

그럼에도 불구하고 사서 고생을 하는 이유는 내 손으로 직접 만드는 즐거움과 보람이 있기 때문이다. 진공관은 임피던스 매칭을 위해 출력 트랜스를 필요로 한다. 이는 섀시를 제외하면 부품값에서 가장 많은 비용을 차지한다. 그런데 흥미롭게도 '직접 만드는 것이 가능한 유일한 부품'이기도 하다. 따라서 출력 트랜스를 만드는 것을 진공관 앰프 제작 전 과정 중 백미로 꼽는 사람도 적지 않다.

3월말에 착수하여 알리익스프레스에서 앰프 보드와 진공관으로 구성된 키트를 구입하고, 전원트랜스는 주문제작하되 출력트랜스는 기성품 전원트랜스를 개조하는 것으로 일단 앰프 제작을 시작하였다. 못쓰는 컴퓨터 케이스를 가공하여 섀시를 삼았다. 트랜스 개조를 하면서 손에 상처가 나기도 하고, 220 V를 잘못 다루어서 PCB의 동박을 날려버리기도 하면서 결국은 소리를 내는데 성공한 것이 5월 중순. 그 다음 도전은 R-코어에 직접 에나멜선을 감아서 출력트랜스를 만드는 일이었다. 이를 위해서는 권선기를 먼저 만들어야 했다. 다음의 사진은 권선기의 최종 버전으로서 1차 코일을 감을 때 쓰던 것과는 구조가 조금 다르다.




지난 주말, 낑낑대면서 출력트랜스를 완성하였다. 임피던스비는 5 kOhm : 8 Ohm이다. 리드선을 처리하는 좀 더 합리적인 방법과 코어를 맞물리는 법, 그리고 다 만들어진 트랜스를 섀시에 고정하는 방법을 좀 더 고민해야 한다.


이를 드디어 사무실에서 사용하던 앰프에 장착하기에 이르렀다. 전원선을 뽑아두었지만 평활용 캐패시터에 충전된 전기로 인하여 감전이 되는 바람이 충격이 컸다.




전원트랜스의 코어를 개조하여 출력트랜스로 사용하던 것과 비교하면 분명히 넓은 대역을 편안하게 재생하는 것으로 느껴진다. 측정기를 사용하면 객관적으로 어떤 점이 개선되었는지를 확실히 할 수 있을 것이다. 그러나 아무려면 어떠랴? 나의 손으로 직접 앰프를 조립했다는 보람은 음질의 개선으로 얻는 이익을 훨씬 상회하기 때문이다. 특이 전체 과정 중에서 출력트랜스를 만드는 일이 가장 재미있었다. 이 일이 가능하도록 많은 정보와 도움을 주고 R-코어를 제공한 곳은 제이앨범이다. 그곳에는 제작 진행 과정에 따른 기록을 상세하게 남겨 두었다.

진공관 앰프를 만들고자 인터넷의 여러 카페를 기웃거리는 사람에게 용기를 주는 사람이 있는가 하면 그런 일 하지 말라고 권하는 사람도 있다. 제이앨범은 철저히 전자에 해당하는 곳이다. 이론과 실제를 미처 몰라도 좋으니 일단 부딛혀 보라는 제안을 하는 곳이다. 진공관 앰프 자작을 권하지 않는 사람의 심정은 무엇일까? 너무 고생스러우니까? 아니면 기득권을 지키기 위해? 나도 모른다.

어느덧 보유한 진공관 앰프는 총 4 대가 되었다(하나는 헤드폰 앰프). 이제 이론을 소홀히 할 수는 없는 시기가 되었으니 DHT 사운드의 기술포럼 - 자작교실의 글들을 꼼꼼하게 읽어봐야 되겠다.

만약 앞으로 새로운 시도를 해 보고자 한다면? SMPS를 이용하여 B+ 전압을 만드는 것에 관심이 있다.

Anvi'o의 사소한 문제점 개선하기

지난주부터 Anvi'o(Advanced analysis and visualization platform for 'omics data)에 관심을 갖고서 설치 및 테스트를 진행하고 있다. 설치와 사용이 쉽고 project page에서 풍부한 문서를 제공하고 있어서 초심자도 무난하게 사용할 수 있다. 오늘은 실제 부딛혔던 사소한 문제와 그 해결책에 대한 경험을 정리하고자 한다. 돌이켜보니 그렇게 큰 좌절은 아니었었다.

설치 방법

Homebrew, conda, 직접 설치, 혹은 docker 등 몇 가지 방법 중에서 원하는 것을 택하면 된다. 나는 처음에 conda를 이용하여 아주 쉽게 설치를 했으나 프로젝트 페이지에서 설명한 몇 가지 스크립트가 아예 깔리지 않은 것을 발견하였다. 왜 이런 일이 발생했는가? 그 이유는 다음과 같다.

  • Anvi'o의 실행에는 python 3이 필요하다. 이것을 미처 모르고 python 2.7 기반의 conda environment에 Anvi'o를 설치했던 것이다.
  • 프로젝트 페이지에 설명된 기능은 최신판인 v5.1을 기준으로 한 것이다. 예를 들어 function enrichment analysis와 ANI 분석 같은 것은 예전 버전에는 구현되지 않았다. 아쉽게도 Anvi'o의 bioconda 패키지는 v4.0이다.
다른 workflow가 잘 도는 것을 확인했음에도 불구하고 ANI 계산용 스크립트인 anvi-compute-ani가 아예 존재하지 않았다. 왜 그런지 탐구해 보니 위에서 나열한 두 번째 이유에 의한 것이었다. 그래서 docker image를 사용한다면 번거로운 설치 과정을 거치지 않고도 anvi'o의 모든 기능을 사용할 수 있을 것으로 생각했었다. 그러나...

Anvi'o docker image의 사소한 문제

Docker의 정의를 내린다면 "an open platform for distributed applications for developers and sysadmins"라 할 수 있다. Docker가 어떻게 돌아가는지를 깊게 이해하지 못해도 개발자가 배포한 이미지를 가져와서("docker pull <이미지 이름>") 컨테이너를 생성하는 것("docker run <이미지 이름>")으로 실행한다는 것 정도만 기억하면 족하다. 도커 컨테이너는 이미지가 실행된 상태를 뜻한다. 사실은 문제 해결을 위해서는 이보다 조금은 더 깊은 지식이 필요하다.

$ docker run --rm -p 8080:8080 -v /home/merenbey/my_data:/my_data -it meren/anvio:latest
:: anvi`o ::  / >>>

위와 같이 실행하여 anvi'o의 최신판 v5.1의 이미지를 실행하였다. 기본적인 pangenome 분석은 해 놓았고, 이어서 anvi-compute-ani을 실행하여 ANI 분석을 시도하였는데 다음과 같은 에러가 발생하는 것이었다.
Config Error: PyANI returned with non-zero exit code, there may be some errors. please check the log file for details.
 실제 ANI의 계산은 PyANI(average_nucleotide_identity.py)에 의해 이루어진다. 왜 이런 에러가 발생하는 것일까? PyANI의 로그 파일을 열어보았다. vim 등의 기본 에디터가 없어서 좀 불편한다.


pandas가 없다고? pip를 이용하여 설치된 python library를 확인하려는데 pip도 없다. 이걸 어떻게 해야 하나? 컨테이너 안에서 apt-get, pip... 이런 것을 깔아야 되나? 컨테이너에서 빠져나오면 이런 설정 사항은 다 없어지는데? 약간의 삽질을 하다가 이런 문제가 생긴 원인을 발견하였다. Anvi'o에 딸린 모든 python 스크립트는  python 3을 기반으로 한다. 따라서 pip3는 존재한다. /usr/local/bin/anvi-compute-ani를 열어보면 첫 줄(흔히 shebang line이라 부름)에는 다음과 같이 씌여있다.
#!/usr/bin/python3
그러나 Anvi'o 컨테이너의 default python interpreter는? 커맨드라인에서 python -V을 치면 Python 2.7.12가 출력된다. 그렇다면 /usr/local/bin/average_nucleotide_identity.py의 shebang line은?
#!/usr/bin/env python
그렇다. PyANI 스크립트는 시스템 기본 버전인 python 2.7의 위치에서 pandas를 찾으려고 애를 쓰는 것이다!  pip3 freeze를 해 보면 python 3.x의 pandas가 잘 존재함을 확인할 수 있다. PyANI가 python3을 사용해서 돌게만 만들면 모든 문제가 해결될 것으로 생각하여 average_nucleotide_identity.py 스크립트를 편집하려 했는데, 문제는 docker container에는 편집기로 쓸만한 것이 없다는 것이다. vim을 설치하려니 apt-get update부터 시작해야 한다. 만약 호스트 터미널로 되돌아가면 컨테이너 내에 설치했던 프로그램은 전부 사라질 것이다. 이를 유지하는 방법은 나중에 생각해 보기로 하자.

다소 번거롭지만 vim을 설치하여 /usr/local/bin/average_nucleotide_identity.py의 첫 줄을 #!/usr/bin/env python로 수정한 다음 anvi-compute-ani를 실행해 보았다. 이번에는 아무런 에러가 없이 잘 진행이 되었고 ani-display-pan으로 그 결과를 확인하였다. 웹브라우저를 연 뒤 Layer 탭으로 가서 ANI 관련 사항을 체크한 뒤 그림을 다시 그려야 ANI heatmap이 보인다. Layer는 anvi'o의 시각화에서 매우 중요한 개념이므로 관련 문서를 찾아서 철저히 읽어봐야 되겠다. 데이터 파일이 있는 디렉토리에 shebang line을 수정한 average_nucleotide_identity.py 스크립트를 준비해 둔 다음 컨테이너 내에서 이를 /usr/local/bin/ 위치에 복사하는 것도 일종의 꼼수가 되겠다.

average_nucleotide_identity.py을 고치기가 귀찮다면 /usr/bin/python3를 /usr/bin/python이란 이름으로 바꾸어도 된다. 어차피 python 2.7은 필요가 없고, 컨테이너를 나가면 아무런 흔적을 남기지 않기 때문이다.

Docker 내부에 프로그램 설치하고 재활용하기

다음 웹페이지에서 힌트를 얻었다. 두번째의 PDF 파일은 무작정 따라하면서 기본 개념을 익히는데 도움이 될 것으로 생각한다. 그런데 여기에서 지시한대로 따라하면 docker import가 잘 되지 않는다. 세번째 자료도 매우 잘 작성되어서 도움이 많이 될 것이다.

[pyrasis.com] Docker 기본 사용법 추천!

docker run으로 Anvi'o 컨테이너를 생성하여라. 그 안에서 apt-get update, apt-get install vim을 하여 필요한 프로그램을 설치하고 /usr/local/bin/average_nucleotide_identity.py도 편집을 하여라. 그 다음 별도의 터미널 창에서 docker ps를 하여 현재 돌고 있는 Anvi'o 컨테이너의 ID를 확인한다. 이제 docker commit 명령을 실행할 단계이다.
# docker commit e47956140b67 my_docker_image
Image의 이름으로 쓸 수 있는 문자에는 한계가 있다. 오직 [a-z0-9-_.]만 허용이 된다. 이렇게 하여 나만의 docker image를 만든 것이다. 이를 실행하려면 docker run [options] my_docker_image를 하면 된다. 그 안에서는 vim도 실행이 되고, average_nucleotide_identity.py도 변경된 shebang line을 유지하고 있다.

아직도 docker run --rm의 의미를 이해하지 못하고 있다!

--rm 옵션은 컨테이너가 종료되었을 때 이를 자동으로 제거한다. 이 옵션이 없으면 현재 실행 중이 컨테이너의 변경 상태(패키지 설치, 파일 생성 및 변경 등)가 다음번에 docker run을 실행할 때에도 유지될 것 같은데 실제로는 그렇지 않다. 내가 아직도 docker에 대한 기본 이해가 부족한 것이다.

2018년 7월 6일 금요일

물레야 물레야

이두용 감독의 1984년도 영화 <여인 잔혹사 물레야 물레야>를 말하는 것이 아니다.


바로 어제, 직접 만든 수동 권선기를 가지고 손잡이를 돌려가면서 진공관 앰프용 출력 트랜스에 들어갈 코일을 직접 감았던 것이다. 돌린 횟수는 총 4200 회! 보빈 4 개에 각각 1050 회씩 에나멜선을 감은 것이다. 아직 완성은 하지 못했고 진공관에 연결되는 1차측 코일을 감고 테이프로 가장 바깥쪽에만 마감을 한 상태이다. 원래 제대로 감으려면 한 층을 감고, 절연테이프를 두른 뒤 다시 두번째 층을 감는 식으로 해 나가야 한다. 더욱 고급스런 트랜스를 만들려면 1차와 2차를 번갈아 겹겹이 감기도 한다. 이를 샌드위치 권선이라고들 한다. 생전 처음 트랜스를 감는 나는 그렇게까지 정성을 들일 수는 없었다. 1차를 한번에 다 감고, 그 위에 절연테이프를 두른 다음 2차를 감는 것으로 끝내려고 한다.


처음에는 위의 사진처럼 가지런하게 정렬 권선으로 시작을 하였다. 그러나... 두 층을 넘어가면서 모양새는 점차 흐트러지더니...



결국은 이렇게 '막감기'로 끝나고 말았다. 가장 첫번째로 감았던 것은 보빈 옆을 구성하는 도너츠 모양 마개가 벌어지면서 김밥 옆구리가 터지듯 에나멜선이 이탈하기 시작였다. 그래서 이를 재활용하기 위해 다시 보빈으로부터 천천히 풀고자 하였으나, 중간에 뒤엉키고 말았다. 아! 눈물을 머금고 보빈 하나를 다 감았던 에나멜선을 중간에서 끊어야 했다. 화가 나서 뭉쳐놓은 구리선 덩어리에 내 감정이 담겨있다. 아까운 구리!


R-코어에 가조립을 하여 보았다. 이 위에 2차 권선은 두 배 정도 두꺼운 에나멜선으로 각각 50 회씩을 감으면 된다. 1차용 전선 직경은 0.35 mm, 2차용은 0.7 mm이다.


R-코어 역시 도너츠 모양이지만 보빈이 끼워진 곳에서 내부적으로 잘린 형태이다. 싱글 엔디드 앰프용 출력 트랜스라서 코어가 서로 접촉하지 않게 절연체를 사이에 넣어 갭을 만든 뒤 코어를 서로 고정해야 한다. 그리고 다 만들어진 트랜스를 앰프에도 고정해야 한다. R-코어를 이용한 트랜스는 감기는 쉬운데 고정을 하는 방법을 잘 고안해야 한다. 임피던스 비율은 5 kΩ:8 Ω 되겠다.

오디오용 트랜스는 진공관 앰프를 제외하면 요즘 잘 쓰이지 않는데다가 그 이론이나 제작 기법이 널리 공유되고 있지 못하다. 나 역시 동호회에서 배운 정보와 실험 정신만으로 그냥 시행착오를 겪는 중이다. 트랜스와 관련된 이론 중에서 가장 중요한 것은, 전압비는 권선비에 비례하고, 임피던스 비는 권선비의 제곱에 비례한다는 것이다. 

앗, 잘못 감았다! 1050:50은 5 kΩ:8 Ω이 아니라 3.5 kΩ:8 Ω용 권선 스펙이었다! 1250번:50번을 했어야 하는데... 2차를 조금 줄여서 감야야 되겠다. 5 kΩ:8 Ω = 625:1이다. 여기에 제곱근을 취하면 권선비가 된다. 625의 제곱근은 25이다. 25:1 = 1050:42이니 42회 감으면 되겠다..

오늘 글을 쓰면서 각 보빈에서 나오는 에나멜선을 어떻게 연결하는지에 대해서도 적고 싶었으나 그림을 그리지 않고서는 말로 하기가 너무 어려워서 다음 기회로 넘기기로 한다.

Anvi'o 배워나가기

Anvi'o: an advanced analysis and visualization platform for 'omics data. PeerJ 2015 (PubMed)

Anvi'o는 각종 오믹스 정보를 분석하고 시각화하는 도구이다. 주로 다음과 같은 스타일로 분석 자료를 표현한다. 한 입을 베어먹은 도너츠와 같은 형태로 각종 데이터를 시각화한다.


2 년쯤 전에 메타게놈 분석 도구인 metAMOS에 강렬한 인상을 받고 이를 활용해 보고자 노력한 일이 있었다. 그러나 python 및 부수적으로 필요한 프로그램의 설치가 너무나 까다로와서 불완전한 상태로 설치를 마무리한 뒤 몇 번의 테스트를 하는 것으로 만족하고 말았다. 특히 shotgun assembly 기반의 metagenome data가 없으면 이를 활용하기도 어려웠다. 개발자 사이트를 가끔 가 보아도 별다른 업데이트에 대한 소식도 보이지 않았다.

그러던 중에 Anvi'o라는 독특한 프로그램을 발견하게 되었다. 이것도 기본적으로는 shotgun sequencing 기반의 metagenomics에 어울리는 도구이다. 단, co-assembly와 mapping은 사용자가 알아서 해야 된다. 그러나 pan-genome 분석과 phylogenomic 분석을 이 환경 안에서 할 수 있을뿐만 아니라 분석 결과를 웹브라우저에서 interactive하게 볼 수 있다.

Anvi'o의 metagenomic overflow. 빨강색 데이터는 유저가 준비해야 한다. Contig와 read mapping 파일이 이에 해당한다. 출처: PeerJ

Anvi'o을 이제 실제로 다루어 봐야 되겠다고 다짐을 한 것은 오늘 아침이다. Bioconda를 이용하여 설치를 끝내고, 테스트 스크립트를 몇 개 돌려서 이상이 없음을 확인한 다음 최근에 논문으로 투고했던 Lactobacillus rhamnosus 111종 유전체 서열의 pangenomics analysis를 시작하였다. 꼭 필요한 과정은 아니지만 지금은 Anvi'o 환경 내에서 COG annotation을 실행하고 있다.

설치가 아주 쉽게 일사천리로 진행된 것은 아니다. cherrypy 실행과 관련한 에러, 그리고 CentOS 6.9에 크롬 대신 크로미움을 설치해야 하는 문제가 있었지만 metAMOS와 비교하면 아주 사소한 것들이었다. 무엇보다 고마운 것은 Anvi'o project page에 풍성하게 준비된 튜토리얼 자료들이었다. 몇 가지 핵심적인 기본 개념만 머리에 '탑재'하면 어렵지 않게 원하는 목적의 분석을 할 수 있는 것이다. 이에 대해서는 내 위키 페이지에 별도의 정보를 정리해 나가는 중이다.

Anvi'o 설치 후 테스트 스크립트 실행 화면.

Phylogenomics 튜토리얼을 읽다가 내가 그동안 모르던 phylogenomic market set을 발견하였다. 이는 Campbell 등이 출간한 2011년 PNAS 논문 "Activity of abundant and rare bacteria in a coastal ocean(링크)"에서 소개한 것이다. 그동안 phylosift marker만 편식하던 나에게 매우 유용한 자양분이 될 것이다.

2018년 7월 6일에 추가한 글

어제의 테스트에서 anvi'o의 동작이 약간 이상하다고 생각했는데 그 원인은 python 2.7을 기반으로 anvi'o를 설치한 때문이었다. 이러한 중요한 정보는 설치 설명서 맨 위에 있었어야 하는 것 아닌가? Homebrew와 conda 등을 이용한 설치 설명에 이어서 '힘들게 설치하는 방법 - Installation (with varying levels of pain)' 파트에 있었던 다음의 경고문을 뒤늦게 발견했다. 그만큼 python 환경도 이제 3.x 버전이 대세임을 알아야 되겠다.


이미 설치가 되어있었던 python 3.5 기반 environment에 다시 설치를 하고 HMMER version을 3.1b2로 맞추니 모든 것이 정상적으로 돌아가기 시작하였다.