2014년 1월 30일 목요일

나의 첫 진공관 앰프 '지음(知音) 2014'(14GW8 SE-STC, 제작: 이영건 선생님)





오랜 친구의 소개로 진공관 오디오 제작가로 잘 알려진 이영건 선생님을 알게 되었다. 비록 내가 음악을 좋아하긴 하지만 절대 오디오 매니아라고는 할 수 없는 수준이다. '도대체 진공관의 매력은 무엇이고, 어떤 소리가 날까?' 몇달을 끌어오던 이 호기심은 이영건 선생님을 통해 터무니없는(!) 가격의 진공관 인티앰프를 사는 것으로 끝나는 것이 아니라 새롭게 거듭나고 있다.

앞으로 이 앰프를 '지음(知音) 2014'라 부르기로 하겠다. Single-ended super triode connection amplifier(SE-STC amplifier)는 규격에 해당하는 용어라고 보면 된다.

대량생산을 목표로 PCB 기판에 찍어내는 진공관 앰프도 있겠지만, 기본적으로 진공관 앰프는 수작업으로 정성을 들여 만들어질 수 밖에 없다. 이영건 선생님은 트랜스를 직접 감는 분이시고, 트랜스에서 나는 미세한 울음을 잡기 위해 트랜스를 다시 제작하는 수고를 들이셨다니 지불한 금액을 생각하면 정말 죄송할 노릇이다.

설 연휴가 시작되기 전날, 마침 유성 장날이라서 장도 볼 겸 하여 아내와 함께 집을 나섰다. 앰프는 수원발 시외버스에 실려 유성 시외버스 터미널로 오기로 되어 있었다. 고속도로가 많이 밀려서 예상도착시간보다 거의 두시간이 더 지체된 후에야 비로소 꼼꼼하게 포장된 상지를 받아 들었다. 시외버스는 유성에 들러서 다시 청주로 출발하게 되어 있어서 들어오는 시간에 만나지 않으면 물건을 받기 어려운 상황이었다. 게다가 수화물 취급소도 문을 닫았기에.

총 두 조의 진공관이 쓰이고 있는데, 한 조는 14GW8 (=PCL86)이라는 것 말고 나머지는 뭔지 모르겠다(12DT8이다). 정격 출력이 몇 W인지도 잘 모른다(전화로 문의하니 4W+4W라이고, 자기 바이어스 회로라서 조정이 필요없고, 출력 트랜스는 25W로 제작하여 저역이 충실하다고 한다). 그러나 수치나 스펙이 뭐가 중요하랴. 집에 있는 몇 세트의 스피커 시스템(좋은 것은 하나도 없다....)에 연결하여 음악을 들어보기 시작했다. 소스는 아이패드 + Behringer UCA200 + 인터넷 라디오(linn). 채널 당 정격입력 50-80W 급의 플로워 스탠딩 스피커(소위 '톨보이')를 울리기에는 박력이 약간 부족하지만, 책장형 스피커에서는 아주 듣기 좋은 소리가 난다. 맑고 섬세하다고 하면 적당한 표현이 될까?

회로를 연구하고 부품을 바꾸어가며 장난질을 할 생각은 전혀 없다. 남자가 가지 말아야 할 길 중에 대표적인게 오디오, 카메라, 자동차... 뭐 그런거 아니겠는가. 일단은 음악을 즐겨 들으며 내 귀와 맞추어 가는 과정이 즐겁지 않겠는가.

좋은 경험을 하게 해 준 친구와 제작자님께 깊은 감사를 드린다.

2014년 1월 29일 수요일

[CLC bio - de novo assembly] 최적의 word size와 bubble size 결정

들어가는 말 - 나는 bioinformatics의 전문가가 아니다. 그저 매뉴얼 보고 공부하면서 업무에 필요한 몇 종류의 tool을 익혀 쓰는 사람이고, 리눅스를 즐겨 쓰는 수준이다.

거대 유전체의 de novo assembly에는 ALLPATHS-LG가 현재 가장 인기있는 도구라고 생각된다. 내가 주로 다루는 데이터는 세균과 효모 정도라서 아무리 게놈이 커 봐야 15 Mb 정도이다. 이런 상황에서는 CLC Genomics Workbench가 가장 편리한 솔루션이다. 메모리나 임시 디렉토리가 부족하여 곤란을 겪는 일도 별로 없다.

관련 매뉴얼은 여기에 있다. CLC Genomics Workbench 또는 CLC Assembly Cell 항목을 클릭하여 원하는 섹션을 찾아보라.

http://www.clcsupport.com/


CLC를 사용할 때 설정을 건드릴 만한 부분은 그다지 많지 않다. 가장 중요한 것은 word와 bubble의 size이다. Word는 de Bruijn graph를 사용하는 NGS de novo assembly 알고리즘에서 논의되는 k-mer와 동등한 개념인 것으로 알고 있다. 그런데 내가 알기로 k-mer는 항상 홀수로 지정되는데 반하여 CLC의 word는 짝수로 설정할 수도 있는 모양이다. 프로그램 내부적으로 어떻게 취급되는지는 나도 잘 모른다.

SOAPdenovo의 웹페이지에 실린 글을 참고해 보자. 이 프로그램에서 k-mer는 13..127 범위의 홀수로 설정할 수 있다. k-mer가 크면 그래프가 심플해지지만 시퀀싱 depth가 높아야 하고 read의 길이도 커져야 한다. k-mer가 read 길이보다 작아야 함은 당연하다. VelvetOptimiser는 최적의 결과를 산출하는 k-mer와 -exp_cov, -cov_cutoff 조건을 결정해 준다.

Word size

시퀀싱 분량이 많고 오류가 적다면 word size가 큰 것이 repeat을 해결하는데 유리하다. 그러나 시퀀싱 오류가 많은 경우에는 word size가 크다면 오류에 의해 영향을 받는 word의 비율이 커지고 그에 따라 그래프의 complexity가 증가하므로, 오히려 word size를 줄이는 것이 좋다고 한다. 시퀀싱 커버리지가 낮거나 read 길이가 짧을 때에도 word size가 작은 것이 좋다(word table이 커지고 따라서 겹치는 read를 찾아낼 가능성이 높아진다). 30x 이상의 커버리지, 50 bp 이상의 read length라면 최적의 word는 [20, 30]의 범위가 된다.

CLC Genomics workbench에서는 데이터 분량에 따라서 word의 크기를 자동으로 설정한다. 32비트 컴퓨터에서는 [12, 24], 64비트 컴퓨터에서는 [12, 64]의 범위가 된다.


이렇게 표시해 놓으니 도무지 마음에 와 닿질 않는다. word size = 23이면 1.77~5.31 Gb, word size = 24면 15.94 Gb까지이다. 경험적으로는 최대치인 64로 놓는 것이 가장 좋은 결과를 냈었다. 여기서 한가지 짚고 넘어갈 것이 있다. 나는 항상 read trim 시 50 bp 미만인 것은 버리게 했었다. 그렇다면 소량이지만 k-mer의 크기보다 작은 read가 항상 존재할 것이고, 이러한 것들은 assembly 과정에서는 쓰이지 못하고 대신 마지막의 read mapping에서나 활용될 것이다. 그러면 min length cutoff를 조금 높여서 65 bp 정도로 하는 것이 바람직하지 않겠는가? 물론 대세에는 큰 영향을 주지 않겠지만.

Bubble size

k-mer로 낱낱이 분해된 read들이 처리 과정을 통해 병합되고, 마지막에는 polymorphic한 부분에서 bubble이 생긴다. 454와 같이 systematic sequencing error가 존재하는 상황에서는 수백 bp에 이르는 큰 버블이 만들어진다. CLC는 설정된 bubble size보다 큰 버블 내에서 reduced node마다 contig를 형성한다. 따라서 systematic error가 많은 데이터에 대해서 너무 작은 버블을 적용하면 짧은 contig를 양산하는 결과를 낳는다. 따라서 버블 사이즈를 크게 잡는 것이 버블을 푸는데 도움이 된다. 그러나 지나치게 키우면 misassembly의 가능성이 커진다.(사실 이 부분이 정확히 무슨 의미인지 잘 모르겠음...)

그림을 통해서 이해해 보도록 하자.

평균 read length의 1/2이 bubble size 조정의 좋은 시작점이 된다. error rate가 높다면 bubble size를 조금씩 올려보라. 최대 read size를 넘길 수도 있다. 그러나 조립 오류가 발생할 수 있음을 염두에 두자.

2014년 1월 27일 월요일

PDF 파일에서 특정 페이지를 추출하는 프로그램 nPDF

국내 학술지에 출판된 논문이 하나 있다. 보통 해당되는 논문만을 PDF 파일로 저자들에게 보내주는 것이 관례인데, 이 학회측에서는 친절하게도 발간된 호 전체의 PDF 파일을 보내주었다. 내 논문은 34-40 쪽에만 걸쳐 있는데, 어떻게 해야 이를 별도로 뽑아낼 수 있을까?

Adobe Acrobat를 구입하면 된다지만, 이 용도만을 위해서 당장 구입을 할 수는 없는 노릇이다. 검색을 좀 해보았다.

http://iblogbox.com/npdf/

이런 훌륭한 도구가 있었다! 홈페이지에 있는 기능 설명을 무단으로(?) 복사하여 여기에 옮겨본다.

nPDF는 집,회사등에서 자유롭게 사용이 가능한 무료 프리웨어 프로그램입니다.
이 프로그램은 오픈소스(GPL) 라이센스를 따릅니다.

윈도우 모든 프린터,인쇄 내용을 PDF로 변환하여 줍니다.
오피스,익스플로러,파이어폭스,크롬 등의 브라우져,윈도우의 각종 인쇄내용을 그대로 PDF로 저장할 수 있습니다.
내부 플러그인을 지원하여 원하는 변환을 확장하고 변환후 작업,기능을 추가할수 있습니다.
또한 nPDF 유틸,도구에는 다음과 같은 기능이 있습니다.
 *PDF 파일 합치기
*PDF 페이지 추출하기
*PDF 페이지 회전하기
*PDF 파일에 암호걸기
*PDF 파일을 이미지(png,jpg,bmp,tiff) 로 변환
*이미지(png,jpg,bmp,tiff...) 파일을 PDF로 만들기
*PDF 파일안의 페이지 각각 분리하여 저장
*PDF 페이지에 이미지 워터마크 넣기
*PDF 페이지에 글자 워터마크 넣기
*PDF 파일 복구(XREF테이블,Stream)
 *PDF 파일을 SWF(플래쉬) 파일로 변환
*PDF파일에서 이미지 추출
*PDF파일에서 텍스트 추출
*PDF 첫페이지에 표지커버 넣기

설치를 하고 나면, 응용 프로그램의 인쇄 창에서 다른 프린터 목록과 더불어 이라는 항목이 나타난다. 사용법도 매우 쉽다.

이런 도구를 만든 개발자여, 복 받으시길!

2014년 1월 26일 일요일

아이패드에 연결한 USB 장비가 너무 많은 전력을 소모한다면

아이패드의 카메라 연결킷을 통해서 카메라가 이외의 다양한 종류의 USB 장비를 연결할 수 있음은 잘 알려져 있다. 전력 소모가 많은 장비를 연결하면 경고 메시지가 뜨면서 작동을 하지 않는다. 아이패드 내장 배터리가 너무 빨리 닳는 것을 막기 위한 당연한 조치가 되겠다.

내가 쓰는 오디오 인터페이스인 Behringer UCA200을 제외하면 원칙적으로 대부분의 USB 오디오 인터페이스는 아이패드에 연결해봐야 소용이 없다. 이러한 경우에는 유전원 USB 허브를 통해 연결하면 된다고 한다. 내가 가지고 있는 Cosy USB 허브는 유전원 허브이지만 전원 어댑터를 따로 갖고 있지는 않다. 대신 부족한 전류를 보충하기 위해 PC로 연결하는 커넥터는 두 개가 장착된 케이블이 있다. 편의상 이를 Y-cable이라 하자. 그러면 어댑터 없이 전원 공급을 어떻게 해야 아이패드와 다른 USB 장비를 연결할 수 있을까?

방법은 간단하다. USB 전원 어댑터 혹은 휴대폰용 외장 배터리가 있으면 된다.


Y-cable의 갈라진 끝 둘 중 하나는 신호선(위 사진에서는 백색), 다른 하나는 보충 전력 공급선(황색)이다. 신호선은 카메라 연결킷을 통해 아이패드에, 전력 공급선은 충전기 혹은 보조 배터리에 연결하고, 미니 USB 커넥터쪽을 USB 허브에 연결한 뒤 허브에 외부 USB 기기를 연결하면 된다. 위 사진에서는 플랜트로닉스 헤드셋을 연결한 모습을 보이고 있다. USB 허브용 전원 어댑터를 따로 살 필요가 없어졌다.

USB Y-cable의 형태는 제품에 따라 다르다. 모든 제품이 다음 그림과 같이 생겼다면 전원선과 신호선을 쉽게 구분할 수 있을테니만, 때로는 간단한 실험을 거쳐서 확인해야 하는 경우도 있다.

http://www.bixmart.com/USB-Y-Cable-2-Type-A-to-1-Mini-5_p_25.html

2014년 1월 16일 목요일

카메라 혹은 렌즈 욕심

이번 겨울에 있었던 두 건의 가족 여행에서는 올림퍼스 E-620이 제 기능을 충실히 해 주었다. DSLR로서는 매우 컴팩트하고, 강력한 손떨림 방지 기능에 의해 무난하게 순간을 포착할 수 있었다. 불만이 좀 있다면 찍힌 이미지에 붉은기가 좀 돈다는 것이다. 올림퍼스의 카메라에서는 비교적 널리 알려진 형상이다. 카메라 설정으로서 이 문제를 수정할 수 있는지는 잘 모르겠다.

다만 12-42 mm 번들렌즈를 쓰면서 느끼는 가장 큰 불편함은 사진을 찍은 뒤 후보정 작업을 통해 수평을 맞추는 일이 전보다 훨씬 많다는 것이다. 내가 카메라를 잡는 방식이 잘못되었을까? 줌 렌즈라서 당연히 어느 정도의 왜곡은 존재하는데, 이것이 정확한 수평을 유지한 사진을 찍는데 방해를 하는 것일까?

특히 약간 가까이에서 피사체를 잡다 보면 이상하게도 완벽한 수평 혹은 대칭이 된 구도를 맞추기가 어렵게 느껴진다. 혹시 25 mm 정도의 단렌즈를 끼우면 좀 더 수월하지 않을까 하는 덧없는 욕심을 부려본다.

필름 사진을 기준으로 말한다면, 만약 나에게 단 하나의 렌즈만을 끼워서 출사를 나가라고 한다면 나는 주저없이 35 mm 광각을 고를 것이다. 올림퍼스 포서즈를 쓴다는 것은 고를 수 있는 렌즈가 없다는 것을 의미하는데, 저렴한 단렌즈는 25 mm뿐이다. 예전 풀 프레임의 표준렌즈이다. 약간 좁은 공간에서 화면에 많은 것을 담기에는 초점거리가 다소 길다.

DSLR이라는 굴레를 벗어나서 좀더 작고 가벼우면서 언제나 들고 다닐 수 있는 카메라를 하나 더 구하는 것은 어떨까? 그러나 적당한 가격의 제품이 있을까? 기능을 추구하면 비싸진다. 요즘 나의 사진 생활에서는 오히려 휴대폰이 더 큰 역할을 하고 있지 않던가?

이 중에서 한 가지만이라도 있으면 좋겠네!

http://www.ephotozine.com/article/top-10-best-serious-compact-digital-cameras-2013-16010

2014년 1월 9일 목요일

VirtualBox 업데이트(4.2->4.3)

패키지 저장소 정보가 잘못되어 있어서 업데이트가 되지 않던 virtualbox를 오늘 겨우 성공적으로 업데이트하였다. 호스트의 환경은 우분투 10.04이다.

/etc/apt/sources.list 파일에서...

deb http://download.virtualbox.org/virtualbox/debian lucid contrib

마지막 부분이 contrib이 아니고 non-free로 되어 있었다. 리눅스 호스트를 위한 virtualbox 다운로드 관련 사이트에 따르면, version 3.2까지는 non-free였지만 4.0부터는 contrib section에 있다고 한다.

그 다음에 이렇게 실행하면 된다.

wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -

sudo apt-get update

sudo apt-get install virtualbox-4.3

아이고, 속이 다 시원하네!



잘못된 존댓말

언어는 변한다. 먼저 말이 변하고, 글로 적는 방법이 변하는 것은 좀 더 보수적이기는 하다. 표기는 예전과 같은데 발음이 변하는 경우도 많다. 요즘 '내'와 '네'를 제대로 구분하여 발음하는 사람이 많지 않다. 이름에 들어가는 '혜'와 '해' 역시 그러하다. 내 이름에 '해'자가 들어있기에 더욱 그러하다.

요즘 '드리다'라는 표현이 너무 잘못 쓰이는 것 같다. '고맙습니다' 혹은 '감사합니다' 정도가 옳은 표현일 것이다. '감사를 드리다' -> '감사 드리다'를 거쳐서 아예 한 단어인 '감사드리다'라는 말이 종종 쓰이는데, 이는 옳지 않다고 본다.

심지어 '요청드린다', (파일을) '첨부드린다'라는 글까지 본 적이 있다. '-드린다' 앞에 나오는 것은 인사나 축하, 부탁, 사과 정도가 좋을 것이다.

물건을 사고 돈을 치를 때 '5천원이세요'란 말을 듣는 것도 심히 괴롭다.