2018년 3월 29일 목요일

블로그에 애드센스 광고 게재 시작

지난 주말에 전주에 다녀온 것이 약간 무리였었던 것 같다. 감기몸살 증세가 나타나기 시작하여 서 나는 그저께 오후부터 맥을 못추고 있고, 아내도 슬슬 몸이 안좋다고 한다.

전주에 가면 외지에서 온 관광객들이 붐비는 한옥마을만 거니는 것이 아니라 종종 젊음이 넘쳐나는 객사길로 향한다. 대전으로 치자면 으능정이 문화의 거리에 해당한다고 보면 된다. 객사('풍패지관')와 영화의 거리 사이의 골목은 한옥마을과 다른 느낌이 있다.

한옥마을에서 팔달로를 따라 북쪽으로 걸어가는 길에 전라북도예술회관(전주시 완산구 팔달로 161)이 자리잡고 있다. 가끔 이곳을 들러 전시뢰를 구경하고는 한다. 지난 주말에는 수채화가 정유진님의 일곱번째 개인전 '여운을 남기다(링크)'가 진행 중이었다. 수채화이지만 유화 못지않은 강렬함을 주는 그림들이었다. 관람을 마치고 나서려는데 작가께서 차를 따라 내면서 전주 시장님이 오신 줄 알았다고 한다.

구글을 찾아보니 김승수 전주시장은 나와 비슷한 느낌의 외모인 것을 인정하지 않을 수 없다. 나이도 비슷하고... 유쾌한 오해를 받았다 생각하고 자리를 떴다. 기사를 찾아보니 이제 마무리되는 임기 동안 토건업자나 대기업들이 싫어할 일만 골라서 했다고 한다(링크). 6월 지방 선거를 앞두고 재선이 유력하다고도 한다. 고층건물·쇼핑센터·자동차 도로 중심의 개발에 익숙한 사람들에게는 신선한 도전이 아닐 수 없다.

글 제목은 '애드센스 광고 게재 시작'인데 엉뚱하게도 일상 이야기만 하고 말았다. 블로그를 접속하면 오른쪽 사이드바의 글목록(블로그 보관함) 아래에 광고가 보이기 시작한다. 신청은 꽤 오래전에 해 두었는데 셋업하는 방법을 잘 몰라서 방치한 상태였다. 이것이 나에게 대단한 수익을 주거나, 그렇다고 해서 내 블로그를 방문하는 사람들에게 큰 불편함을 줄 것으로는 생각하지 않는다.

2018년 3월 27일 화요일

Barrnap 결과물(GFF3)에서 16S rRNA 서열만 뽑아내기

Barrnap(BAsic Rapid Ribosomal RNA Predictor, 링크)를 사용하여 박테리아의 유전체 서열로부터 ribosomal RNA를 예측하였다. 결과물은 GFF3 파일이다. 여기에서 16S rRNA sequence를 뽑아내려면 어떻게 하면 좋을까? 막상 Perl을 이용하여 GFF와 FASTA file을 파싱하려니 여간 성가신 일이 아니다. 혹시 인터넷을 뒤지면 방법이 나오지 않을까?

역시... 친절한 shell script가 하나 나타났다. bedtoolssamtools를 기반으로 돌아가는 스크립트인 16S_extraction_Barrnap.sh라는 것이 존재하는 것이다.

https://github.com/raymondkiu/16S_extraction_Barrnap

핵심은 다음과 같이 달랑 네 줄이 전부이다. 중요한 명령어는 굵은 글씨로 강조하였다.
grep '16S' $gfffile > 16S-gff.gff;
bedtools getfasta -fi $fastafile -bed 16S-gff.gff -fo 16S-fasta.fna;
grep -m 1 ">" 16S-fasta.fna|sed 's/>//g' > 16S-id.txt;
xargs samtools faidx 16S-fasta.fna < 16S-id.txt > $fastafile-16S.fna
첫단계에서는 Barrnap 결과물인 GFF 파일에서 16S ribosomal RNA feature만 추출한다. 유전체에는 여러개의 16S rRNA가 존재하므로 두번째 줄에서 bedtools getfasta를 이용하여 서열을 추출하면 multiple fasta file(16S-fasta.fna)이 생긴다. 세번째 줄에서는 가장 먼저 출현하는 16S rRNA의 ID 줄(예: >CP013254.1:1163436-1164962)을 뽑아내어 '>'를 제거한 뒤 16S-id.txt에 저장한다. 마지막 명령어(samtools faidx)에서는 16S-id.txt에 저장된 서열 ID에 해당하는 것을 16S-fasta.fna에서 뽑아내는 것이다.

16S-id.txt 파일에는 서열 ID가 하나만 들어있으므로 사실은 마지막 행에서 xargs를 쓸 필요는 없었다.

bedtools와 samtools를 이런 용도로 사용해 본 적은 없었다. 기껏해야 feature와 관련된 수치를 뽑거나, read mapping을 하는 파이프라인 실습 자료가 지시하는 대로 기계적으로 활용했을 뿐이었다. 특히 samtools faidx는 FASTA sequence file의 인덱스 생성에만 쓰는 것으로 생각하였었다. 매뉴얼을 찾아보니 samtools faidx는 'index/extract FASTA'라고 설명이 되어있다.

Multiple fasta file로부터 특정 ID의 서열을 추출하는 용도로는 BioPerl을 사용하여 적당히 코딩한 것을 사용해 왔었는데, 이렇게 samtools를 쓸 수도 있다는 것을 오늘 처음 알았다. 단, 뽑아낼 서열이 별도의 텍스트 파일에 존재하는데 그 수가 여럿이라면(id1, id2, id3...idN) 다음과 같이 쓰거나,
samtools faidx 16S-fasta.fna id1 id2 id3 ... idN
혹은 위에서 보인 것처럼  xargs를 써야 한다. 내가 만든 스크립트는 서열 ID를 수록한 파일이 여러 라인으로 되어 있을 것을 감안한 것이었다.

2018년 3월 26일 월요일

Conda, Anaconda, Bioconda 기초

서버의 운영체제를 CenOS 6.9에서 7.4로 업그레이드하면서 여러 응용프로램을 효율적으로 관리할 방안을 고민하게 되었고, 이에 따라서 자연스럽게 conda를 공부하게 되었다. 앞으로는 Linuxbrew에서 조금씩 멀어지게 될 것만 같다. 전혀 관리자 역할을 할 수 없는 서버를 접속하여 사용한다면 Linuxbrew도 좋은 대안이다.

Conda: Package, dependency and environment management for any language—Python, R, Ruby, Lua, Scala, Java, JavaScript, C/ C++, FORTRAN

Anaconda: open source distribution of the Python and R programming languages

Bioconda: a channel for the conda package manager specializing in bioinformatics software

Conda는 나머지 두 개의 기반이 되는 관리 시스템이기도 하다. 일단 관리자 권한으로 /opt/anaconda3에 설치를 하였다. 일반 사용자 모드에서 설치 스크립트(Anaconda3-5.1.0-Linux-x86_64.sh)를 실행한다면 ~/anaconda3가 기본 설치 위치가 된다.

Conda에서 환경(environment; Managing environments)의 개념을 잡는 것이 조금 어렵다. Python의 virtualenv와 유사한 것이라고 생각하면 된다. 즉 사용자가 지정한 python version과 패키지가 적용되는 환경을 생성하여 activate 명령으로 이에 진입하여 사용하면 되는 것이다. 현재 설치된 환경은 무엇이 있는가?
$ conda info --envs
# conda environments:
#
root                  *  /opt/anaconda3
'root' 하나만 존재한다. 설치 매뉴얼에 있는 그대로 따라서 Bioconda 설치까지 마쳤더니 python package는 176개, /opt/anaconda3/bin에는 무려 873개의 바이너리가 깔렸다. 설치된 모든 패키지의 목록을 보고 싶으면 conda list --explicit라고 하면 된다. Bioconda를 통해서 깔린 패키지도 전부 보임은 당연하다.

아직까지는 나만의 conda environment를 따로 생성할 필요를 느끼지 못한다. root의 것을 그대로 쓰면 된다. Python 2.7.5가 필요하다면 /opt/anaconda3/bin이 $PATH에 속하지 않게만 만들면 되는 것이다. 만약 conda 환경 안에서 python 2.7을 사용하려면 다음과 같이 실행하여 py27이라는 이름의 새로운 환경을 하나 만든 뒤 activate를 하면 된다(Managing python)
$ conda create -n py27 python=2.7 anaconda
설치된 환경을 점검해 보자. 친절하게도 홈 디렉토리 아래에 python 2.7과 관련한 것들을 설치할 공간을 마련하였다. 개별 패키지를 설치하려면 나의 설정 상태에서는 관리자 권한일 필요하지만, 'environment'를 새로 만들 때에는 홈 디렉토리를 이용하므로 일반 사용자 권한으로도 가능하다.
$ conda info --envs
# conda environments:
#
py27                     /home/hyjeong/.conda/envs/py27
root                  *  /opt/anaconda3
채널이란 무엇인가? Conda가 패키지를 찾기 위해 살펴보는 path라고 한다. 이 글의 시작 부분에서 소개했듯이 Bioconda는 일종의 채널이다. Bioconda를 통해서 생명정보용 응용프로그램을 설치할 때를 제외하면 채널을 매만질 일이 없으니 당장은 더 알아볼 필요는 없다. 

이렇게 능률적으로 프로그램 관리를 할 새로운 방안을 익히게 되어 다행스럽게 생각한다.

2018년 3월 25일 일요일

TDA7265 앰플리파이어 속판 작업

트랜스는 자리를 잘 잡았는데 앰프 기판은 똑바로 놓이질 못하였다. 왜 구멍도 제대로 뚫지 못하는가! 

오늘 작업한 것은 사진으로는 그다지 눈에 뜨이지 않는다. 케이스 속판(알루미늄)을 구입하여 전원트랜스포머와 기판을 그 위에 고정하였다. 이전에는 플라스틱 케이스에 구멍을 뚫고 직접 고정하였더니 무거운 부품 때문에 케이스 바닥이 아래로 처지는 느낌이 있었다.

케이스와 속판은 전부 케이스포유 제품이다. 이 케이스(ACE2520L)은 품절되었지만 전후면 속판은 현재 생산되는 것과 호환이 된다.

이번에는 좀 제대로 가공을 해 보고자 노력했으나 역시 많은 아쉬움이 남는다. 바닥판에 가공한 이전 구멍의 위치를 기준으로 뚫었더니 아뿔싸, 패널에 대해서 평행을 유지하지 못하는 것이 아닌가. 게다가 볼트를 너무 조여서 구멍 하나가 뭉개지고 말았다.

스트레스를 받으면서까지 취미활동을 할 필요는 없다. 여유를 갖자. 여유!

독서 기록 - [이 세계의 식탁을 차리는 이는 누구인가] 외 2권


총 네 권의 사진을 찍었지만 '부자의 시간(최윤식 지음)'은 끝까지 읽는데 실패하였다. 다음에 꼭 다시 도전할 생각이다. 저자가 밝히기로는 이 책을 쓴 목적은 부의 흐름을 통찰할 수 있는 지식과 방법을 소개하는 것이라고 했다. 그러려면 경제 인텔리전스를 갖는 것이 중요하다. 기대수명이 길어진 현실에서 육체적으로 노동을 하여 돈을 벌 수 있는 상대적인 시간은 더욱 짧아졌다. 인생의 나머지 기간은 어떻게 하여 살아나갈 것인가? 이를 위해서는 '돈을 갖고서 돈을 버는' 것이 필요하다. 책의 앞부분에서 서양 자본주의의 형성 과정 - 그것이 항상 좋은 의도에서 비롯된 것은 아니지만 - 을 설명한 것은 매우 유익하였다.

얼마전 <성장 없는 번영>이라는 책을 읽었었다(링크). 경제적 세계화의 문제점, 그리고 기본 소득의 개념(뤼트허르 브레흐만의 저작) 등을 조금 접하게 된 나는 팽창을 기본 전제로 하는 금융상품 투자에 대해서 어떤 가치관을 가져야 하는지 아직 고민을 하는 중이다.

나머지 책은 제목과 저자를 소개하는 것으로 이번 독서기록을 마치려 한다. 앉아서 쓰기 시작하면... 힘도 들거니와 자꾸 길어질 것만 같다. 그냥 게으름 탓이라고 해 두자.

이 세계의 식탁을 차리는 이는 누구인가

  • 부제: 인간과 자연을 살리는 푸드 민주주의의 비전
  • 반다나 시바 지음, 우석영 옮김

늙어감의 기술

  • 부제: 과학이 알려주는 나이 드는 것의 비밀
  • 마크 E. 윌리엄스 지음|김성훈 옮김

권력은 왜 역사를 지배하려 하는가

  • 부제: 정치의 도구가 된 세계사, 그 비틀린 기록
  • 윤상욱 지음

2018년 3월 23일 금요일

[CentOS 7] root가 설치한 perl module은 어디로 갔는가?

사용하던 서버 중 하나를 CenOS 7.4.1708로 업그레이드한 다음 필요한 프로그램을 설치하면서 CentOS 6과는 얼마나 달라졌는지를 체험해 나가고 있다. Python, R, 생명정보분석용 프로그램의 관리에는 Conda를 시험삼아 쓰기 시작하였다. 아직은 Anaconda와 Conda 중 어떻게 부르는 것이 정확한지도 잘 알지 못한다. /opt/anaconda3에 패키지가 하나씩 설치되는 중인데 그 분량이 상당히 많다.

관리자 권한으로 Perl module을 몇 개 설치한 다음 BioPerl을 깔았다. 일반 사용자로 되돌아와서 BioPerl을 사용하는 간단한 스크립트를 하나 시험삼아 구동하였더니 모듈이 없다면서 에러가 난다. 오잉? 도대체 어디다 설치를 한거지? 다시 root로 들어가서 @INC를 확인해 보았다. 왜 이렇게 요소가 많은가! 빨강색으로 표시한 경로는 CentOS 6의 관리자 모드에서는 보이지 않던 것이다. 모듈을 몽땅 여기에 깔아버렸으니 일반 사용자가 접근이 불가능했던 것이다.

#  perl -e "print join \"\n\", @INC"
/root/perl5/lib/perl5/5.16.3/x86_64-linux-thread-multi
/root/perl5/lib/perl5/5.16.3
/root/perl5/lib/perl5/x86_64-linux-thread-multi
/root/perl5/lib/perl5

/usr/local/lib64/perl5
/usr/local/share/perl5
/usr/lib64/perl5/vendor_perl
/usr/share/perl5/vendor_perl
/usr/lib64/perl5
/usr/share/perl5
.
CentOS 6.x에서는 특별히 손을 대기 전까지는 PERL5LIB 변수가 정의되어있지 않은 상태였다. 그런데 CentOS 7.4에서는 그렇질 않다.
# echo $PERL5LIB
/root/perl5/lib/perl5:
흠.. startup script에서 미리 손을 써 둔 것이 분명하다. 범인은 .bashrc였다. 다음과 같은 라인이 떡하니 들어있는 것이 아닌가. 이런 요망한 것들이 있나...


전부 주석처리를 한 뒤 다시 로그인을 하여 Perl module을 재설치하였다. 비로소 일반 사용자 모드에서 모듈을 사용하는 것이 가능해졌다. 펄을 꽤 오랫동안 사용해 왔는데도 아직도 이렇게 사람을 혼동스럽게 만드는 일이 생긴다.

2018년 3월 21일 수요일

Bio-Linux 8.0.7(Ubuntu 14.04.5 LTS 기반)에 pyenv 설치하기

지금껏 CentOS 6.9를 사용해 오다가 7.3-1611로 업데이트를 위한 준비를 진행하고 있다. GCC와 python 등의 버전 문제로 꼭 필요한 응용프로그램을 실행하는데 많은 불편함이 있었다. Linuxbrewpyenv 등이 뒤죽박죽된 아주 골치아픈 상황이었다.

이와는 별도로 현장연구를 수강하는 학생을 위해서 Bio-Linux 8의 .ova 파일을 VirtualBox에 '가져오기'를 하여 이것저것을 시연하고 있는데, python 3.5를 설치하기 위한 사전 작업으로 pyenv를 설치하려는 과정에서 난관에 부딛혔다. 대충 설치는 한 것 같은데 python 설치가 안된다.

생각해보니 CentOS에서 pyenv를 설치한 적은 있는데 우분투 기반에서는 아직 해 보지 않았다. 뭐가 문제일까? 답이 잘 찾아지지 않아서 conda를 통해서 python 3.x를 설치한 다음 pip를 사용하여 다른 python 응용프로그램을 깔아보았다. 이렇게 하니 문제는 없다. 어느 python interpreter를 사용하도록 $PATH를 설정하느냐에 따라서 다른 프로그램의 설치도 알아서 된다. 하지만 내가 원하는 것은 이게 아니었다.

다시 pyenv의 GitHub 사이트를 방문하여 설치 방법을 주의깊게 읽어보았다. 아! git clone 명령을 내릴 때 목표 directory를 잘못 설정한 것이었다. 다른 프로그램을 클로닝하듯이 다음과 같이 명령을 내린 것이 나의 실수였다.
$ git clone https://github.com/pyenv/pyenv.git
이렇게 하면 현 디렉토리에 git라는 이름의 클론이 생긴다. 하지만 pyenv는 일반적인 응용프로그램과는 다르다. 그 하위에 많은 리소스를 계층적으로 갖고 있어서 함부로 이름을 바꾸거나 지워서는 안된다. 따라서 숨김 디렉토리에 존재해야 한다. GitHub 사이트의 설명된 설치 방법에는 다음과 같이 클론을 만들라고 분명히 나와있다.
 $ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
이것이 전부가 아니다. startup script에 몇 줄을 써 넣어야 한다. .bashrc인가, 혹은 .bash_profile인가? 설치 설명서에는 bash는 .bash_profile, zsh은 .zshenv, 우분투와 페도라는 .bashrc라고 하였다. Bio-Linux가 zshell을 쓴다고 하여 .zshenv에 써 넣는 것이 아니다. 우분투에 대해서는 .bashrc라고 하지 않았다.

정리하자면 다음과 같이 하면 된다.
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bashrc
Syntaxhighlighter를 써야 하는데 아직도 익숙하지 않다. 이제 exec $SHELL이라 명령하여 shell을 재기동한다. 그러고나서 pyenv install 3.5.1이라 하면 무사히 설치가 된다.

문제점 발견

'pyenv install 3.5.1'을 하면 에러가 발생한다. 위의 사례에서 설치에 성공했던 것은 이것 저것을 건드리다가 Oh My Zsh(링크)가 설치된 상태에서 실행했기 때문이 것으로 보인다. 깨끗한 우분투 14.x 또는 16.x에서는 잘 안된다. 그러나 'pyenv install'로 anaconda 혹은 miniconda를 설치하면 잘 된다.

2018년 3월 20일 화요일

스피커통은 계속 진화한다

진공관 앰프 자작에 진지하게 임하는 사람들의 모임인 Jalbum('제이앨범')에 가입하여 나의 스피커통에 대한 개선 의견을 논의하면서 모습이 조금씩 변하고 있다. 전면에 있던 사각형 모양의 포트를 완전히 막아버리고 후면에는 단자대를 개조하여 둥근 바인딩포스트컵을 노출시켰다. 스피커 유닛은 삼미 HA-165B60. 진지한 음악감상용 스피커는 절대로 아니다.

사용된 유닛은 삼미 HA-165B60.

이 상태만으로도 소리는 한결 나아졌으며 저음도 꽤 풍성하게 울린다. 후면의 구멍 직경은 약 52 mm이다. 여기에는 포트 부속, 즉  온니프라이스에서 판매하는 63/115 mm 포트(링크; 장착용 구멍 직경은 50 mm)와 같은 것을 끼워서 저음 튜닝을 할 수 있다. 예전에 미니 스피커 박스를 만들면서 남은 외경 37 mm PVC 파이프가 있지만 이를 사용하려면 바인딩포스트컵을 다시 끼우고 구멍도 새로 뚫어야 한다. 실톱으로는 깨끗하게 구멍을 잘라낼 자신이 없고, 홀쏘는 가진 것이 없어서 사야 한다. 사진에 보이는 단자대는 뱀부스테이션의 메모지판을 잘라서 만들었다.

큰 소리를 낼 때 통이 약간 울리는 느낌이 있어서 내부에 흡음재를 채우고 저음 튜닝을 마무리하기 위해 적당한 포트를 끼우는 것으로 개선 작업이 끝날 것 같다. 현재 개조 상태에서도 저음이 꽤 잘 나는 편이라 구멍에 별도의 포트를 끼우지 않아도 괜찮지 않을까 생각한다. 이제야 한동안 나를 괴롭히던 '동굴소리'가 거의 줄어들었고, 비로소 저 스피커 유닛의 설계 개념에 맞는 '구내방송용 스피커'의 소리가 잘 난다. 그 말은 음성 재현에 가장 탁월하다는 의미도 되겠다.

만약 이 인클로저가 6.5 인치 드라이버에는 너무 작은 것으로 판명된다면 어떻게 할 것인가? 전면의 구멍을 넓혀 놓았으니 이보다 작은 4-5인치 급의 드라이버를 그대로 끼울 수는 없다. 대신 전면에 맞을 사이즈의 나무판에 구멍을 뚫어서 붙여버리면 된다. 포트를 막았던 나무판은 재주껏 떼어내면 문제가 없다. 대신 지금 상태의 아름다운(?) 무늬목 마감은 포기해야만 할 것이다.

Audio119에서 주파수 특성이 매우 우수한 6.5 인치 한지 풀레인지 스피커 유닛을 개발하여 시판 중이라고 한다(소리전자 소개글 링크; Audio119 원본 글 링크). 언젠가 이렇게 제대로 만든 유닛을 써 볼 수 있다면 얼마나 좋을까?

2018년 3월 19일 월요일

독서 기록 - [당신이 지갑을 열기 전에 알아야 할 것들]


  • 부제: 작게 써도 행복해지는 소비의 비밀
  • 엘리자베스 던·마이클 노튼 지음, 방영호 옮김
원래 지난 주말에 다섯 권 정도의 책을 읽은 것에 대한 독서 기록을 작성해야 했었다. 주중에 있었던 몇 가지 바쁜 일로 인하여 아직 목표량을 다 채우지 못하여 반납 기한을 일주일 연장하였다. 오늘의 독서기록은 어제(일요일)에 알라딘 중고 서점에 나갔다가 앉은 자리에서 다 읽은 책을 소개하는 것으로 대신한다. 취미활동을 위해 뭔가를 손수 만들면서(요즘의 주요 관심사는 오디오) 시행착오를 겪다보면, 이러느니 차라리 완제품을 구입해 버리는 것이 더 비용이 적게 드는 것이 아닌가 하는 생각을 하게 된다. 직접적인 구매 행위와는 약간 거리가 있으나 수시로 인터넷 사이트를 들락거리면서 정보를 검색하는 것도 시간이란 자원을 낭비하게 만드는 일이 된다. 그러나 이 책을 읽으면서, 같은 돈을 쓴다 해도 구매보다는 경험에 투자하는 것이 후일 더 기억에 남고 유익하다는 생각을 갖게 되었다. 이 책은 흔한 자기계발서가 아니라 심리학 + 경제학을 이용하여 합리적인 소비에 도움을 주는 의도로 만들어진 책이라 봐야 할 것이다.


저자가 제시한 다섯 가지 원칙을 살펴보자. 각 장의 마지막에 소개된 사항을 기록하여 보았다.

1. 체험을 구매하라

  • 우리는 흔히 새로운 것에 익숙해진다.
  • 우리의 만족감은 더 나은 것을 보는 순간 사라진다. 이는 인간의 행복 증진을 가로막는 주요한 장벽 중 하나다.
  • 물질적인 것에 의한 기쁨은 서서히 사라지는 경향이 있다. 반면에 체험에 의한 기쁨은 그보다 훨씬 더 오래 지속된다.
  • 여가활동에 지출을 많이 하는 사람일수록 삶에 대해 상당히 높은 만족감을 표현했다.

2. 특별하게 만들어라

  • 어떤 것에 자주 노출될수록 그 영향력이 더 감소하기 마련이다.
  • 평소 즐기던 것을 중간에 끊어보자. 특별한 것으로 전환할 수 있다.
  • 하고 싶은 것을 무조건 참고 견디기보다 적응에 대한 탈출구를 만들어라.
  • 사람들은 기간이 한정되어 있다고 인식할 때 어떻게든 특별한 즐거움을 누리려 한다.

3. 시간을 구매하라

  • 몇 푼 아껴보겠다고 소중한 시간을 버리는 실수를 하지 말아라.
  • 일부러 바쁘게 움직이는 사람들도 시간적 여유를 느껴야 행복을 느낀다는 것을 기억하라.
  • 시간을 기부함으로써 시간 여유를 느끼듯이, 약간의 변화만 주어도 행복을 얻는 뜻밖의 효과를 누릴 수 있다.
  • 긴 통근거리를 감수해 좋은 직장과 집을 얻을 수 있다 해도, 장거리를 통근하다 보면 좋은 집도 싫즌나고 자신의 일에도 그다지 만족하지 못하게 된다는 것을 기억하고, 이를 생활 속에서 적용하라.

4. 먼저 돈을 내고 나중에 소비하라

  • 신용카드를 사용하면, 구매하는 순간에 느끼는 지출의 고통이 경감된다.
  • 직불카드를 사용하면, 비용을 즉시 지급하기에 빚질 일이 없어지고 행복감이 높아진다.
  • 돈을 불린다는 목표에 '올인'하는 태도는 자신의 행복을 떨어뜨리게 된다. 이제는 돈을 많이 버는 것도 중요하지만, 더한 행복을 얻기 위한 지출 원칙을 고민해야 한다. 

5. 다른 사람에게 투자하라

  • 자신에게 지출한 액수는 전반적인 행복감과 관계가 없다.
  • 지출을 많이 한다고 해서 행복감이 높아진다는 법은 없다. 그보다는 어떻게 지출하는가가 훨씬 더 중요하다.
  • 소득을 늘리려고 애쓰고 있다면, 하나만 기억하면 된다. 소득의 일부를 다른 사람을 위해 지출하면, 소득이 늘어나는 만큼의 보상을 얻을 수 있다.
  • 행복의 측면에서, 다른 사람에게 투자한 효과는 가장 가치가 있는 것, 즉 자신이 보물처럼 여기는 것을 베풀 때 가장 높게 나타난다.
  • 자선단체에 기부한 사람들은 다른 사람들에게 금전적으로 더 여유를 느꼈으며, 돈 관리도 더 잘했다.

오늘 당신의 삶을 바꾸기 위해 할 수 있는 가장 위대한 일 하나는 당신이 가진 것에 감사하는 것입니다 - 오프라 윈프리
자신이 가지지 않은 것에 집착하지 말고 자신이 가진 것에 감사하라 - 달라이 라마

2018년 3월 15일 목요일

[EzBioCloud] 내가 등록한 Bacillus velezensis 표준 균주의 유전체는 어떤 상태인가?

KCTC 13012는 Bacillus velezensis의 표준 균주이다. StrainInfo에 의하면 다른 culture collection에서는 B-41569, CR-502, NRRL B-41580이라는 균주 번호로 불린다.

잠깐! 현재 KCTC 웹사이트에서는 KCTC 13012 균주가 검색되지 않는다. 어디로 갔나?

이 균주를 분양받아서 유전체 시퀀싱을 한 간단한 논문을 2015년에 발표하였고(PubMed) NCBI에도 잘 등록된 상태이다(GCF_001267695.1). 당시에는 KCTC가 제공한 정보에 근거하여 Bacillus amyliliquefaciens로 BioProjectBioSample을 등록했었다. 이 기록은 현재도 남아있지만 NCBI에서 현재 통용되는 유전체명은 Bacillus velezensis이다. 큐레이터들이 수고를 많이 하였다.

이 균주가 type material에서 유래했음은 assembly_summary.txt 파일에 명시된 상태이다. 그러면 EzBioCloud에서도 이러한 자격을 여전히 유지하고 있는가?


안타깝게도 그렇지 못하다. 그러면 어느 균주의 유전체 정보가 type의 자격을 획득하고 있는가?


Bacillus velezensis라는 종명 아래에 등록된 133개 스트레인의 유전체 중 NRRL B-41580의 것이다. 이것이 KCTC 13012와 같은 것이지만 '(type)' 표지는 복수의 균주에게 주어지지 않았다. 아마도 assembly 수준이 조금 더 나은 것 하나를 선정하여 표시한 것이 아닐까 한다.

물론 NCBI의 assembly_summary.txt 파일에서는 두 유전체 정보 모두에서 assembly from type material이라는 꼬리표를 붙여 놓았다. 헤아려보니 모두 일곱 가지나 된다. 여러 culture collection에 기탁된 동일 type strain에 대하여 이렇게 제각각 유전체 해독을 한 결과를 등록하게 되니 NCBI에서도 이를 체계적으로 집계하기 위해 많은 고민을 할 것이고, EzBioCloud 역시 마찬가지일 것이다.

서로 다른 culture collection에서 유지된 type strain의 유전체 시퀀싱 결과를 정밀 비교하면 어떤 결과를 얻을 수 있을까? 라벨을 잘못 붙이는 등의 균주 관리에 따른 실수만 없었다면 제한된 폭의 변이가 존재할 것이고, 이를 연구해 보는 것도 흥미로운 일이 되리라 생각한다.

간혹 culture collection에서 균주를 분양받아서 유전체 해독을 해 보면 애초에 표기된 것과 전혀 다른 균주가 나오는 일이 있다. 품질관리에 좀 더 신경을 써야 할 것이다.

표준 균주(type strain)의 유전체 정보가 잘 정리된 사이트는 없을까?

NCBI의 ftp 사이트에 공개된 assembly_summary.txt에서 공개된 미생물 균주 및 유전체와 관련한 대단히 많은 정보를 얻을 수 있다. RefSeq에 등록된 bacteria 유전체의 경우는 다음의 파일을 참조하면 된다.

ftp://ftp.ncbi.nlm.nih.gov/genomes/refseq/bacteria/assembly_summary.txt
ftp://ftp.ncbi.nlm.nih.gov/genomes/README_assembly_summary.txt (설명)

불편한 점이 한 가지 있다면 이 정보로부터 등록된 유전체 정보가 표준 균주(type strain)에서 유래한 것인지를 파악하기가 썩 쉽지는 않다는 것이다. "relation_to_type_material"을 나타내는 22번째 컬럼에 assembly from type material 또는 assembly from synonym type material이라고 기록이 되어 있다면 표준 균주에서 유래한 정보라고 생각해도 될 것 같다.

NCBI에서는 등록된 유전체 정보에 입각하여 이것이 정말 특정 종의 것이 맞는지를 검증하는 일까지는 하지 않는다. 따라서 이에 대해서는 각별한 주의가 필요하다. 천랩의 EzBioCloud에서는 16S rRNA gene sequence와 ANI 등의 지표를 이용하여 등록된 균주의 유전체가 표준 균주의 그것과 일치하는지를 점검하여 species name을 재할당한다. 이것이 original label과 다른 경우는 부지기수로 발생한다.

EzBioCloud의 첫 페이지 오른쪽 상단의 트리모양 그림을 클릭해 보자. 다음 그림에서 빨강색으로 둘러친 곳이다.



그 다음에 나타나는 Taxonomy 페이지의 검색창에 적당한 genus 이름을 넣는다. 예를 들어 Bacillus를 입력하면 오른편에 데이터 타입 카운트가 나온다.



1,740개로 표시된 genome을 클릭하면 유전체 목록이 나온다. Strain name에 'type'이 표시된 것이 앞쪽에 나열되기 때문에 이를 참조하면 type strain의 유전체 정보를 다운받는데 활용할 수 있다. 하지만 이 목록이 여러 페이지에 걸쳐 나오는 경우 엑셀로 저장하는 기능이 없고, 여러 유전체를 선택하여 한번에 EzBioCloud에서 다운로드받기도 어렵다. 내가 주로 사용하는 방법은 GCA_로 시작하는 assembly accession number를 추출하여 NCBI에서 직접 다운로드하는 것이다.

현실은 이보다 좀 복잡하다. NCBI에 Bacillus siamensis라는 이름으로 등록된 다음의 두 유전체를 예로 들어서 설명하겠다. 내가 작업을 하던 파일에서 그대로 복사한 것이라 공백이 들어가야 할 위치에 밑줄이 삽입된 상태이다.

GCF_000262045.1_KCTC_13613_01   Bacillus_siamensis_KCTC_13613
GCF_000966575.1_ASM96657v1      Bacillus_siamensis_XY18

위의 것은 우리 연구소에서 시퀀싱을 하여 내가 등록한 것이다. 표준 균주에 해당하고, assembly_summary.txt 파일에도 assembly from type material라 기록된 상태이다. 두번째 것도 assembly from type material이라 되어 있다. XY18 = KCTC 13613인가? 복수의 culture collection에 기탁되면서 다른 번호를 부여받지만 결국은 같은 material인 경우가 매우 많기 때문이다. 하지만 XY18은 culture collection에서 유래된 번호 같지는 않다. XY18에 대한 논문이 BioProject에 나와있어서 클릭해 보았다.

Phylogenomic analysis shows that ‘Bacillus vanillea’ is a later heterotypic synonym of Bacillus siamensis. Int J Syst Evol Microbiol. 2015 Oct;65(10):3507-10. doi: 10.1099/ijsem.0.000444. PubMed

(later) heterotypic synonym, 즉 이형이명에 대해서 지난번에 글을 작성한 적이 있다(링크). 그러면 바로 위의 논문에서 발견한 사항을 간단히 설명해 보겠다.

  1. Bacillus siamensis는 과거에 보고된 종이다.
  2. Vanilla bean에서 XY18이라는 균주를 발견하여 'Bacillus vanillea'라는 신종으로 보고를 한 일이 있다(논문 링크)
  3. 그런데 DDH와 ANI 분석을 해 보니 이미 보고된 Bacillus siamensis의 type strain과 cutoff 이내로 동일하다.
  4. Therefore, it is proposed that the species 'Bacillus vanillae' XY18 should be reclassified as a later heterotypic synonym of Bacills siamensis KCTC 13613T.
  5. XY18의 특성을 수용할 수 있게끔 B. siamensis의 description을 수정한다(an emended description).
DSMZ의 Prokaryotic Nomenclature Up-to-date에는 B. vanillae가 없다. 이러한 상황이라면 앞으로도 공식 종 명칭으로 등극하게 될 가능성은 없다. EzBioCloud에서는 이 균주를 어떻게 취급하고 있는지 궁금해졌다. GCF_... 번호를 사용하여 찾으면 독립된 species의 type strain으로 나타난다.


그러나 EzBioCloud의 첫 화면에서 Bacillus vanillea를 검색하여 taxonomy 링크를 누르면 Status는 'Invalid name'이라고 나온다(링크). 앞서 살펴본 유전체 목록(Bacillus 또는 Bacillus vaniliea)에서는 이 종명이 valid한지의 여부를 보여주지 않는다. Taxon name을 한번 더 클릭해서 들어가는 수고를 해야 한다.

Assembly accession(RefSeq는 GCF, GenBank는 GCA)을 통해서 EzBioCloud의 public genome과 NCBI genome data를 연결할 수 있다는 것은 그나마 다행이다. Bacillus species의 tree에서 문제의 두 균주를 표시해 보자. PhyloSift marker(37 genes)의 sequence alignment를 FastTree로 처리하여 트리 파일을 생성하였고, 요즘 즐겨 사용하는 iTOL을 이용하여 그림을 그렸다.


Branch length가 매우 짧은 두 개의 tip은 어차피 같은 종이니 별로 많은 정보를 주지 않는다. 바로 밑(Bacillus velezensis)의 경우는 동일한 type material(culture collection만 다름)을 시퀀싱한 것에서 온 것이지만 KCTC 13012는 우리 기관에서 유전체 해독을 한 것이라서 중복임을 알면서도 일부러 표시를 해 놓은 것이다.

오늘의 경험으로부터 얻은 결론: 모든 DB가 완벽하지는 않다.

2018년 3월 14일 수요일

해서는 될 것과 안될 것을 구별할 줄 아는 지혜

요즘 '메이커' 문화가 인기다. Makewith, 메이커스 등의 사이트를 방문해 보면 나도 뭔가 만들 수가 있다는 욕구가 솟는다. 때로는 과도한 관심과 호기심이 일을 그르치는 것이 문제이지만 말이다.

최근 나를 즐겁게 하였던 6J6 앰프의 레벨미터 문제를 자체적으로 해결해 보려고 뚜껑을 여는 것이 결정적인 실수였다. 뚜껑을 열고 닫고 이것 저것 매만지는 도중에 갑자기 소리가 나지 않게 되었다. 진공관 히터에는 빨갛게 불이 들어오고 레벨미터의 조명도 잘 들어오지만 아무런 소리가 나지 않는다. 도대체 왜? 전기적 충격으로 망가질만한 부속도 없는데?

제작자인 이영건 선생님의 사실상 'Lifetime warranty 정책'에 따라서 도움을 요청하였고, 망가진 앰프를 잘 포장하여 되돌려 보냈다. 아... 내가 도대체 왜 그랬을까. 그저 다 만들어진 기판에 커넥터나 납땜하는 정도로 만족했어야 한다. DIY에 대한 자신감이 갑자기 땅 속으로 꺼진 느낌이다.

내가 할 수 있는 일을 하자.


프리앰프를 겸한 진공관 헤드폰 앰프이다. 전원 커넥터의 접촉에 문제가 있는지 케이블을 좌우로 움직이면 전원이 들어왔다 나갔다를 반복하는 사소한 문제가 있었다. DC 플러그의 움직임에 따라 기판에 붙은 소켓의 바깥쪽에서 불꽃이 튀는 것을 확인하였다.

사진출처: 다이조아
위 사진에서 노랑색 동그라미로 표시된 접합 부분이 잘 밀착되지 않아서 접촉 불량이 일어나는 것으로 보였다. 이 부품을 교체하느니 차라리 저 부분을 납땜해서 흔들리지 않도록 하면 될 것 아닌가? 공간이 좁아서 인두를 갖다 대기가 어려웠다. 그래서 인두의 팁을 길게 빼서 작업을 하였다. 결과는 완벽하였다. 

할 수 있는 일을 하되 과도한 욕심을 내지 말자. 이것이 오늘의 교훈이다.

2018년 3월 12일 월요일

소출력 진공관 앰프에 쓸 만한 고효율 스피커 드라이버

스피커의 여러 사양 중에서 SPL(sound pressure level)이라는 것이 있다. Sensitivity 혹은 efficiency로도 표현되는 이 수치는 1 와트의 신호를 공급했을 때 스피커의 정면 축에서 1 미터 떨어진 곳에서 측정한 소리의 크기를 dB로 나타낸 것이다.  정확히 말하자면 dB/W(m)라고 표기하는 것이 옳다. 보통 다음 그림과 같이 입력 신호의 주파수를 변화시켜가며 측정을 한다. 주파수를 나타내는 가로축은 로그 단위로 그린다.

출처: Fluance 웹사이트(https://blog.fluance.com/read-spl-graph/)

트랜지스터 앰프가 대중화되면서 가정용 앰프에서 수십 W를 뽑아내는 것은 아주 일상적인 일이 되었기에 요즘의 스피커는 85-87 dB 정도의 낮은 효율의 것이 많다. 그러나 일반적으로 진공관 앰플리파이어는 출력이 낮기 때문에(싱글 엔디드 앰프의 경우 채널 당 3 와트가 되지 않는 것이 일반적임) SPL 수치가 높은 스피커를 요구한다. 이런 스피커는 주로 풀레인지(full range) 스피커라 부르는 것, 즉 하나의 드라이버(유닛)가 모든 대역을 담당하는 스피커에서 찾아볼 수 있다. 진공관 싱글 앰프에서는 90 dB는 훨씬 넘는 스피커가 필요하다고 보는 것이 일반적이다.

[Song Simian] The 4 Best High Efficiency Speakers - Kit Reviews 2018

호기심으로 소출력의 진공관 앰프를 장만했지만 보유한 SPL 87 dB 근방의 스피커 시스템으로는 만족할만한 레벨의 소리를 얻기 힘들다. 그래서 효율이 좋은 풀레인지 스피커에 눈을 돌리게 되고, 이것을 또 만들어야 한다는 압박감에 시달린다. 한 마디로 악순환이다.

[AnalogStyle] 풀레인지 스피커에 대하여
[소리샵] 풀레인지 스피커의 재미와 매력(1편, 2편)

빈티지 스피커를 제외한다면 완제품 투웨이 스피커로서 효율이 높은 것은 Klipsch R-15M (94 dB)가 가장 저렴한 수준인데 다나와 가격으로 최저가가 26만원 정도이다. 10만원 조금 넘는 가격에 구입한 진공관 앰프(사실 말이 안되는 저렴한 가격이다)을 위하여 이만한 투자를 한다는 것은 쉬운 노릇이 아니다. 그래서 능률이 좋은 풀레인지 스피커 드라이브를 별도로 구입하여 적당한 통에 담으면 될 것이라는 생각을 해 보지만, 이것 역시 총 제작 비용을 생각하면 부담스런 수준이다. 그래도 앞으로 어떻게 마음이 변할지는 알 수 없으니 8옴, 4.5인치~6.5인치 급의 유닛으로서 SPL이 90 dB가 넘는 것을 조사해 보기로 하였다.

Klipsch R-15M monitor smeaker. 출처: www.klipsch.com

Fostex FE126En과 같은 검증된 드라이버(PDF 파일 자료)를 생각해 보자. 4.5 인치 급이라서 저역 재생에는 어려운 점이 있지만 인클로저의 설계에 따라 상당한 수준으로 끌어내리는 것이 가능하다고 하다. SPL은 93 dB이다. madisound 기준으로 하나의 가격은 $57.50이다. 스피커라는 것이 원래 무거운 물건이라 항공 배송료도 만만하지 않고, 1 조를 구하려면 곱하기 2을 해야 한다.

Fostex FE126En. 출처: https://www.fostex.jp/


저렴한 가격으로 소비자를 놀라게 하는 알리익스프레스를 뒤져보자. 염소 가죽으로 테두리를 둘렀다는, 과거의 유명했던 미쓰비시의 Diatone P610(실용오디오 자료; 일본 자료)을 흉내낸 제품이 나오고 있다. 6.5 인치 급은 SPL 93.6 dB이다(링크).  배송비를 포함한 가격은 $140 정도이다. 5 인치 급도 효율은 비슷하다(링크).



Fostex의 것과 유사해 보이는 4.5 인치 급의 iLouder 제품은 감도가 94 dB이다(링크). 가격은 한 조에 $44이다. 판매글에는 공칭 임피던스가 4 옴이라고 하였으나 사진에는 8 옴이라고 되어있다. 뭐가 맞는 것인지?



가장 흥미로운 드라이버는 kapton이라는 재료를 사용한 Sounderlink의 6.5 인치 스피커이다(링크). kapton은 듀퐁에서 개발한 폴리아미드 필름으로서 매우 열에 강한 재료라고 한다. 이것을 스피커의 콘(진동판)에도 사용하는 것이다. 이 스피커의 SPL은 무려 96 dB이다! 4 옴 제품은 98 dB에 달한다. 가격도 배송료 포함하여 하나에 $40 수준으로서 매우 저렴하다. 음악 감상을 위한 스피커가 맞는지 모르겠다. 혹시 가라오케(노래방 장비)용은 아닌지?


iLouder에서도 같은 콘 재질을 이용한 6.5 인치 드라이버를 판매한다. 고음 재생을 위하여 가운데에 총알 형태의 것을 부착해 놓았는데, 바로 위의 Sounderlink 제품과 모델번호 및 specification을 똑같이 사용하고 있다. 뭔가 좀 이상하다. 분명히 특성이 약간은 다를 터인데...

독일 브랜드인 Visaton의 BG17-8 6.5 인치 스피커 드라이버도 저렴한 가격에 쓸만한 성능을 보이는 것 같다(Parts Express 링크).

만약 새로운 스피커 시스템을 또 만들고자 한다면 배송료를 포함하여 10만원 이내, 인클로저는 내가 갖고 있는 것을 사용하자는 것이 기본 원칙이다. 언제 저지를지는 아직 알 수 없다. 사무실 책상 위에서는 볼륨 놉을 높이고 스피커를 가까이 배치하는 것으로 음량 부족을 극복해 나가고 있으니 말이다.

만약 8인치 풀레인지 스피커로 선택의 폭을 넓힌다면...

가격을 감안하여 삼미 ME08B40,  Visaton BG20-8, GRS 8FR-8 정도가 고려 대상이 될 것이다.

2018년 3월 10일 토요일

'밀당 2018'(6J6 push-pull amplifier)의 레벨미터 바늘이 춤을 추는 이유는 무엇일까?

입력 단자에 아무것도 연결을 하지 않았음에도 불구하고 전면 패널의 레벨미터가 움직이는 현상이 있음을 지난번 글(링크)에서 언급했었다. 집에서는 거의 움직이지 않고 사무실에서는 매우 심하게 바늘이 떨린다. 좌우 채널이 똑같이 떨리는 것도 특징이다. 그래서 전원선을 통해서 노이즈가 침입하는 것이 아닌가 하는 생각을 하게 되었다. 아래의 동영상은 사무실에서 찍은 것이다. 사무실은 온갖 실험실 장비과 전원선을 공유한다. 따라서 노이즈가 유입될 가능성이 크다.


혹시 이것이 전원선을 위해 유입되는 common mode noise에 의한 것은 아닐까? 이러한 노이즈는 유도성 코일을 사용하는 부품의 오동작을 유발한다고 하였다. 레벨 미터가 이에 해당한다. 그렇다면 출력 트랜스포머에도...? 그럴 것 같지는 않다. 한가지 확실한 것은 무신호 시에 레벨미터 바늘이 튀어도 스피커에서는 아무런 소리가 나지 않는다. 전혀 들리지는 않는데 눈으로 보이기만 하니 어찌 성가시지 않겠는가.

그렇다면 AC 라인 필터/EMI 필터/AC 노이즈 필터(설명) 등으로 불리는 것을 전원단에 삽입하면 개선되지 않을까? 이 필터는 전원선으로부터 들어오는 노이즈를 제거하는 기능도 하지만 반대로 장치에서 발생하는 노이즈가 전원선을 통해 밖으로 나가는 것을 막는 기능도 있다고 한다. 인터넷에서 '단상 노이즈 필터'를 검색하면 이런 페이지가 나온다. 대략적인 생김새를 알 수 있다. 그런데 디바이스마트나 엘레파츠 등에서는 팔지를 않는다.

Inlet 필터 형태로 노이즈 필터가 앰프에 내장되었더라면 가장 좋았겠으나 저렴한 기기에서 이런 것을 기대하기는 어렵다.

PC용 파워서플라이(SMPS)의 회로도를 찾아보니 전원 입력부에 EMI 필터 회로가 있다. 인렛 필터 형태로 독립된 것은 아니지만 정류용 브릿지 다이오드 이전의 회로부를 떼어서 쓰면 될 것도 같다. 그런데 파워소켓과 같이 붙어있는 220V/110V 전환 스위치가 사람을 헷갈리게 하고 있다. 트랜스포머를 사용한 전원부라면 전압 전환 스위치의 결선 방식은 너무나 자명하지만, SMPS에 대해서는 아무런 지식이 없다. 구글을 뒤져서 PC용 파워 서플라이의 회로도를 찾아보았다(링크). 200V/110V 전환 스위치는 필터 회로를 지나서 적용되므로 무시해도 된다는 결론을 내렸다.

이로써 실험할 거리가 하나 생겼다. 안쓰는 PC용 파워 서플라이(커넥터 선재가 매우 두꺼운 편이라 벌써 몇 개는 잘라서 사용했다)에서 EMI 필터를 추출하여 앰프에 연결해 보자. 레벨미터 바늘이 튀는 현상이 과연 줄어들까? 다음의 사진에서 노랑색 선으로 둘러친 부분이 전원 입력단 바로 다음의 EMI 필터이다.



[2018년 3월 12일에 추가한 글] PC 파워 서플라이에서 추출한 EMI 필터를 전원부에 연결하는 실험을 해 보았으나 전혀 개선되지 않았다. 정말 알다가도 모를 일이다!

2018년 3월 8일 목요일

나의 두번째 진공관 앰프 '밀당 2018'(6J6 push-pull, 제작: 이영건 선생님)

2014년 이영건 선생님을 통하여 주문 제작한 나의 첫 진공관 앰프에는 '지음(知音) 2014'라는 이름을 붙였었다(링크). 만 4년이 지나서 두번째로 갖게 된 진공관 앰프는 '밀당 2018'이라는 이름을 붙이기로 한다. 왜 '밀당'인가? 바로 push-pull 앰프이기 때문이다. 총 4 개의 6J6 진공관(Valve Museum; Radiomuseum; Tung-Sol 데이터 시트 참조)이 쓰였다. 6J6은 일곱 개의 핀을 갖춘 미니어쳐 쌍삼극관이다. 원래 고주파 회로용이지만 간혹 오디오 용으로도 쓰이는 것 같다. 1956년에 처음 등장하였으며 당연히 지금은 생산되지 않는다. 요즘 민수용으로 만들어지는 진공관은 인기있는 모델 몇 가지에 한정된 것으로 알고 있다.

시프트 키를 누른 상태로 6j6을 치면 ^J^이 된다. 웃는 얼굴 모습이다. 먼저 진공관의 모습을 감상하자.

'밀당 2018'의 옆모습. 진공관 네 알은 전부 같은 6J6이다.
'지음 2014'를 비슷한 각도에서 찍었던 사진.
출처: http://blog.genoglobe.com/2014/02/blog-post.html
설 연휴 직전 소리전자 장터의 자작품 게시판에 소형 6J6 푸시풀 앰프를 판매한다는 이영건 선생님의 글을 보고 '이런 가격은 도저히 있을 수가 없다!'고 생각하고 즉시 주문을 하였다. 이런저런 사정으로 배송이 늦어져서 어제 앰프를 겨우 받을 수 있었다. 앙증맞은 레벨미터가 달린 귀여운 앰프이다. 판매 게시판에 올라온 사진으로는 좌우 채널을 각각 별도의 포텐셔미터로 조절하는 줄로만 알았는데 실제 받고 보니 왼쪽은 회전식 전원 스위치였다. 크기는 트랜스부를 제외하고 본체 기준으로 100 x 104 x 205 mm이다. 가장 높은 부분은 약 170 mm이다.

고무발이 없어서 두꺼운 상자 종이 위에 올려놓고 첫모습을 감상한다.
진공관 표면에는 6J6A RCA라는 마킹이 있다.

전원을 넣고 DAC를 입력부에 연결해 보았다. 소리는 잘 나는데 사무실 스피커를 울리기에는 부족하다. 푸시풀 앰프라는 사실에 너무 집중하는 바람에 집에 있는 14GW8 초삼결 앰프보다 출력이 더 클 것으로 잘못 짐작한 것이다. 사용과 함께 따뜻하게 앰프 본체가 데워지면서 전원트랜스로부터 에폭시 수지 냄새가 솔솔 난다. 에이징 및 냄새를 날리기 위해서라도 집중적으로 음악을 재생해야 될 것 같았다. 일단 집에 들고 가서 知音 2014와 비교를 해 보기로 하였다. 갖고 있던 고무발도 붙여 주었다.


집에서 사용하는 스피커는 인켈 SH-950(89 dB)이다. 사무실 스피커에 비해서는 큰 소리가 난다. 확실한 사실은 知音 2014와에 비해서 소리가 작다는 것이다. 이영건 선생님께서는 6V6 싱글 앰프보다 소리가 클 것이라고 하셨는데, 아마도 능률이 좋은 스피커를 쓰시는 바람에 그런 혼동이 오지 않았나 싶다.


배송이 늦어진 주요 원인은 바닥판을 열기 쉽게 개조하느라 시간이 걸린 때문이었다고 한다. 다음 사진에서 보였듯이 뒷면 아래쪽의 볼트를 풀면...


이렇게 바닥판을 밀어서 뺄 수 있다. 전선이나 케이블류를 수납할 때 사용하는 알루미늄 덕트(예를 들어 이런 것)를 사용하여 이렇게 멋들어진 앰프 샤시를 만드는 것은 이영건 선생님의 특기이다. 

바닥에 뚫린 작은 구멍 4 개 말고는 특별한 발열 대책은 없다. 전원트랜스가 엎드려서 배를 딱 붙이고 있고 출력 트랜스도 내부에 거의 밀폐된 상태로 있으니 본체가 따뜻한 정도로 달아오르는 것은 당연하다. 아마 삼십몇 도 정도가 될 것이다. 하지만 하루 종일 틀어 놓아도 어느 이상 따뜻해지지는 않는다. 사무실 책상 위에서는 매우 훌륭한 손난로 역할을 하게 되었다. 3월이 되어 난방을 하지 않으니 오히려 요즘이 더 춥게 느껴진다. 한여름에는 어떨지 모르겠다.

바닥판을 완전히 열어 보았다. 66 코어를 사용한 출력 트랜스가 보인다. 초크 코일을 사용하지 않으면서 험을 잡기 위해 많은 노력을 기울이셨다고 한다.


설계 철학, 마감, 음질, 그리고 가격, 다 맘에 드는데 '밀당'이가 울릴 마땅한 고효율 스피커가 없다는 것이 정말 아쉽다. 이것으로 앰프와 스피커에 대한 호기심은 일단 접으려고 했는데, 새롭게 스피커를 마련해야 하나? 그것도 사무실 전용으로? 그동안 어설픈 스피커 시스템 자작을 하다가 별로 얻은 것 없이 흐지부지 끝나고 말았는데, 소출력 진공관 앰프를 쓰는 사람이라면 누구나 꿈꾸는 풀레인지 스피커 시스템을 자작해야 하는가? 예를 들어 Visaton BG17-8(93 dB 링크)이나 Dayton PM180-8(94.4 dB 링크), 이런 것을 사용하여? 여기에 예시로 든 것은 전부 6.5 인치 급이라서 내가 갖고 있는 통에 넣을 수는 있다. 그러나 앰프 구입 가격보다 더 큰 돈을 스피커에 쓴다는 것이 쉬운 노릇은 아니다.

마지막으로 사소한 문제 하나. 아날로그 디지털 볼트미터를 이용하여 레벨 미터를 구현하였다. 표시 범위는 10-17 볼트이다. 즉 원래 VU 미터용으로 만들어진 것은 아니다. 음악에 따라 춤을 추는 바늘이 시각적 즐거움을 선사한다. 그런데 믿지 못하겠지만 전원을 넣은 상태에서 입력을 연결하지 않아도 레벨 미터가 움직인다! 사무실에서는 매우 심하고, 집에서는 움직임이 있음을 느낄 수 있는 수준이다. 전원에서 유입되는 - 그러나 스피커로는 나오지 않는(?) - 노이즈인가? 일단 이 문제에 대해서는 이영건 선생님께 보고를 하였다. 레벨 미터와 관련한 또 다른 문제는 너무 민감하다는 것이다. CD 플레이어를 연결하여 신호 레벨이 높은 음악을 재생하면 바늘이 끝까지 올라가서 '탁탁' 치는 소리가 난다. 차라리 레벨 미터가 없는 모델(가격은 1 만원 저렴)을 살 것을 그랬나..


Sensitivity가 높은 스피커가 있어야 이 앰프의 진가를 확실하게 파악할 수 있으련만, 현실은 그렇질 못하다. 아내 눈치를 슬슬 보면서 또 스피커통 만들기 프로젝트를 시작해야 되는 것인지... 새로운 숙제가 생겼다.

[결론] 이 가격에 이런 물건이 존재할 수는 없다. 부품값만 해도 판매 가격을 훌쩍 상회할 것이 뻔하다. 사무실 책상 위에 놓고 사용할 작은 진공관 앰프로는 최적이다. 내가 만 사 년째 매우 만족스럽게 잘 사용하고 있는 '지음'이와 비교하면 훨씬 작고 가볍지만(출력도 약간 낮음) 음질은 동등하다. 100 달러를 조금 더 주면(물론 배송료 제외) 알리익스프레스에서 소출력 진공관 앰프를 살 수는 있다. 하지만 샤시가 없는 것도 있고 실체배선도도 없이 직접을 납땜하여 만들어야 하는 것도 있다. 부품의 품질을 어떻게 신뢰할 것인가. 매우 만족스럽다. 그런데... 아, 좋은 풀레인지 스피커를 사서 통에 짜넣고 싶다!

2018년 3월 5일 월요일

옆으로 누운 AIWA 오디오

AIWA Micro Hi-Fi Component System AWP-ZX7. 2006년에 구입한 것으로 기억이 난다. 총 5매의 CD를 넣을 수 있는 기기인데, 구입하면서 언젠가 이 기능이 고장이 날 것이라고 생각했었다. 아니나 다를까, CD 투입과 인식, 재생은 잘 되는데 Eject가 원활하게 되지 않는다. 주말을 맞아서 커버를 벗겨 보았으나 내가 할 수 있는 일은 별로 없었다. 하지만 분해를 하면서 CD가 수평으로 위치하도록 기기를 뉘여놓았더니 CD를 잘 뱉어낸다.


그래서 그냥 이렇게 놓고 쓰기로 하였다. 공간 절약을 위해 CD를 세워서 넣는 것으로 설계한 기기지만 수평으로 작동하도록 하는 것이 당연히 더 바람직하지 않을까? 튜너는 이미 오래전부터 모노로만 작동하는 상태이다. 이걸 고치는 것이 옳은지 그냥 쓰는 것이 좋은지 아직 결정을 내리지 못하고 있다. 아이패드를 AUX IN에 연결하여 유튜브나 인터넷 라디오를 종종 듣고 있어서 튜너부를 빨리 고쳐야 하겠다는 생각도 아직은 별로 들지 않는다.

인켈 CD 플레이어는 수시로 픽업을 교체해야만 했었는데 이 아이와 제품은 그렇질 않다. 그 이유를 도저히 알 수가 없다. 절대 사용 시간이 적은 편이라 그런 것인가?

오랜만에 납땜질도 하였다. 사무실에서 쓰는 JBL FE-M2125 스피커 연결선 끝에 바나나 플러그를 달아준 것이다. 오디오 전용 단자를 쓰면 좋겠으나 비용 절감 차원에서 이런 선택을 하였다. 인두가 40 와트 급이라서 단자 납땜 작업을 하기에는 수월한데 너무 구식이라서 불만이다. 세라믹 히터를 사용한 인두가 하나 있었으면 한다.


Methylomonas denitrificans is not an approved species name

Methylomonas는 Gammaproteobacteria에 속하는 그람 음성 세균으로서 메탄이나 메탄올과 같은 매우 단순한 C1 화합물을 이용하는 aerobic bacteria이다. C1 화합물을 산화시켜서(최종 전자 수용체는 산소) 에너지를 얻음과 동시에 탄소원으로도 사용한다. C-C 결합이 있는 유기물로는 성장을 하지 못한다. Type species는 Methylomonas methanica이다.

Methylomonas koyamae와 관련한 comparative genomic analysis를 하다가 서로 다른 두 species의 ANI가 100%에 육박하는 것을 발견하였다. 하나는 Methylomonas methanica, 나머지는 Methylomonas denitrificans이다. 둘 다 type strain인데 gANI로는 100%가 나왔다. EzBioCloud Identify에서 확인한 pairwise 16S rRNA gene sequence similarity는 98.9%(16/1449)였다. ANI에 비하여 16S rRNA sequence의 차이는 좀 큰 편이다.

Methylomonas denitrificans FJG1(T)를 최초로 보고한 논문을 찾아보았다. 유전체 서열도 이 논문을 통하여 같이 공개하였다.

Methane oxidation coupled to nitrate reduction under hypoxia by the Gammaproteobacterium Methylomonas denitrificans, sp. nov. type strain FJG1. Environ. Microbiol. 2015 (PubMed)

초록만으로는 신종 보고를 위해 필요한 제반 실험을 다 한 것인지 알기가 어려웠다. 일단 도서관에 원문복사신청을 하였다. Methylomonas methanica의 최초 유전체 정보가 공개된 것은 2011년 5월(strain MC09)이고 type strain인 R-45363에 대한 것은 2016년이다. 따라서 Methylomonas denitrificans FJG1 논문을 투고할 시점에는 ANI analysis를 할만한 Methylomonas methanica type strain의 유전체 정보가 공개되지 않았던 것으로 볼 수 있다. 그렇다 해도 FJG1을 신종으로 보고하려면 DDH 실험을 했었어야 할 것이다.

DSMZ의 Prokaryotic Nomenclautre Up-to-data에서 Methylomonas genus의 공인된 종을 찾아보았다. Methylomonas denitrificans는 아직 등재되지 않았다.


다른 종의 type strain과 유전체가 100% 수준으로 똑같다면 신종의 자격을 얻는 것은 불가능할 것이다. 다만 두 균주 사이에서 16S rRNA sequence similarity가 <99 draft="" fjg1="" p="">

2018년 3월 3일 토요일

독서 기록 - [슬픈 옥수수]외 다섯 권

이번에는 문화에 대해서 매우 상반적인 시각을 지닌 책 두 권을 같이 읽게 되었다. 이를 통하여 평소에 한국어에 대해 느끼고 있었던 나의 생각이 그렇게 틀린 것도 아님을 알게 되었다(2017년 7월 28일 작성 지나친 높임말을 참조하라)



한국어, 문화를 말하다

조현용 지음
문화는 판단하는 것이 아니라 이해하는 것이다. 좋고 나쁜 것이 있는 것이 아니라 다름이 있을 뿐이다(제1장 첫 쪽).
'한국어'라는 언어의 단면을 문화적인 측면에서 다룬 책이다. 한국어는 형용사 중심이라는 것(동사와 형용사의 구별이 쉽지 않은 것도 특징임), 반말과 높임말의 발달, 느낌과 감정이 중요한 언어, 고유어화 한자어 및 외래어의 조화, 맥락 중심의 언어라는 특징을 담고 있다. "보면 몰라? 그걸 꼭 말로 해야 알아들어?"라는 고맥락 사회에서는 언어란 정보의 최소한을 전달하는 것이다. 따라서 한국어를 외국어로서 배우는 입장에는 많은 어려움이 있다.

문화에는 좋고 나쁨이 아니라 다름이 있을 뿐이라는 첫 문장을 인용하면서 이번 독후감을 시작하였다. 하지만 지나친 반말과 높임말은 자유로운 사상을 잉태하고 표출하는데 어려움을 겪게 만든다고 생각한다. 이것을 단순한 문화의 차이, 즉 '다름'이라고 해야 하는가, 혹은 극복해야 할 문화적 문제점인가? 간혹 다른나라 언어에도 높임말이 있다고 주장하는 사람이 있지만, 보다 정확하게 말한다면 손아랫사람에게도 반말을 하지 않는다고 하는 것이 맞을 것이다.

이 책의 뒷부분에서는 북한 현지의 언어, 외국에 거주하는 교포의 언어, 국내에 거주하는 탈북자 및 중국 출신 교포('조선족'이라고 부르는 것은 그다지 타당하지 않는다고 보인다. 이에 대해서는 사회적 합의가 필요할 것이다)의 언어, 그리고 이주를 통해 국내에 들어온 외국인의 한국어 사용 문제를 다루고 있다. 이주 노동자는 한국어를 알아야 하는가? 과거 우리나라 노동자들이 중동에 나가서 일을 할 때 아랍어를 배우게 하였었던가? 배우지 않을 권리도 있는 것이다. 외국에 나가 사는 한국인들은 한국어를 잊어서는 안되고, 일자리를 찾아 한국에 들어온 사람들은 한국어를 반드시 익히며 김치를 먹을 줄 알아야 하고... 이것은 너무 자기 중심적인 생각이다.

4차 산업혁명시대 문화경제의 힘

최연구 지음
앞에서는 문화에는 '차이'만 있는 것이라고 하였다. 반면 이 책에서는 미래자본주의사회에서는 문화가 중요함을 주장한다. 사무엘 헌팅턴과 로렌스 해리슨은 <문화가 중요하다(Culture matters)>라는 책에서 이렇게 썼다고 한다. 
가나와 한국의 1960년대 초반 경제상황은 놀라울 정도로 매우 비슷하였는데 30년 뒤에는 어떻게 되었는가? 비약적 발전이 한국에서는 이루어졌지만 가나의 1인당 GNP는 한국의 15분의 1 수준에 불과하다. 이러한 차이를 만드는 데에는 여러가지 요인이 작용했겠지만 '문화'가 결정적인 요인이라고 생각한다.
약간 삐딱한 시선으로 이 글을 곱씹어 보자. '현재의 가나는 한국보다 경제적 상황이 좋지 않으니(GNP라는 기준에서) 가나 사람은 한국인보다 불행한 삶을 살고 있고, 비슷한 상황에서 출발하여 30년이라는 짧은 시간에 이렇게 큰 차이가 벌어진 것은 그들의 문화가 한국에 비해서 우수하지 못했기 때문이다.'가 아니고 무엇이겠는가? 

발에 일절 흙을 뭍히지 않고 포장된 길을 자동차로 왕래하고, 한껏 가공이 된 비싼 음식을 먹고, 유럽의 특정 시기에 유행하던 음악을 듣고... 이것을 문화라고 한다면 미래자본주의사회에서는 팔릴 만한 문화를 적극 개발하여 산업화를 위한 성장 동력으로 삼자고 해야 할 것이다. 내가 생각하기에 정말 중요한 것은 기술과 문화를 혼동해서는 안된다는 것이다(물론 매우 밀접한 상관관계가 있지만). 기술은 제품화하여 팔릴 수 있다. 그러나 문화는 전파되는 것이지 그 자체는 팔리는 것이 아니다. 새로운 문화를 도입하면서 부수적으로 어떤 소비행위가 이루어진다면 문화가 팔렸다고 생각할 수도 있겠지만... 그러면 문화는 어떤 방식으로 전파가 되는가? 수준이 낮은 문화를 누리던 사람이 높은 수준의 문화를 동경하여 결국 이를 들여옴으로 인하여 자연스럽게 전파되는 것이 아닌가? 결국 문화에는 좋고 나쁨이 있는 것이고, 좋은 문화가 전세계적으로 퍼지는 것이라고 볼 수도 있겠다. 그러나 나쁜 문화도 급속하게 파급되는 사례를 우리는 어렵지 않게 찾을 수 있지 않은가? 집단 따돌림이나 비속어 사용 등이 그러하다.

가족끼리 밥을 먹는 자리에서도 각자 휴대폰을 들여다보면서 인터넷에 무슨 새로운 소식이 올라왔는지, 내 글에 몇명이나 '좋아요'를 눌렀는지를 확인하는 우리의 모습이 휴대폰 및 SNS 소통이라는 '문화'에 아직 노출되지 않은 저개발 국가의 사람들보다 더 행복하고 문화적으로 풍성한 삶을 살고 있다고 할 수 있을까? 이 땅에서는 더 많은 휴대폰이 팔리고 사람들은 이를 구입하고 통신비·소셜 네트워크 플랫폼 사용료를 지불하느라(개별 사용자는 직접적을 돈을 내지 않는다고 생각하지만 누군가가 광고료를 내고 있으니 이런 서비스가 돌아가는 것이다) GNP 수치는 더 올라갈 것은 당연하다. 자, 이것이 소위 '성장 동력'이다. 상품화된 문화는 돈을 벌어다 줄 수 있다. 하지만 문화는 사람을 행복하게 해 만들고 지적 만족감을 충족시킴을 주된 목적으로 해야 한다고 믿는다. 아니다! 정의에 따르면 문화에 목적이 있을 이유가 없다. 문화에 고급이니 저급이니 하는 가치 기준을 씌우고 제품화 하려는 자본주의적 시각에서는 더 좋은 문화(상품화가 가능한)가 유리해 보일 뿐이다.

쓰다보니 이 책을 비판하는 쪽으로 치우치고 말았다. 나는 아직도 자본주의의 세례를 받지 못한 순진한 시민인가보다. 

슬픈 옥수수(우리의 음식, 땅, 미래에 대한 위협 GMO)

케이틀린 셰털리 지음|김은영 옮김
나처럼 생명공학을 전공하는 사람은 GMO(유전자변형생물체 혹은 농산물)을 반대해서는 안된다는 부담감을 늘 느낀다. 과학적 근거가 없는 비이성적인 두려움이 GMO에 대한 무조건적인 반대를 부르짖게 한다는 것이다. 그러나 저널리스트인 저자는 어린 아들과 자기에게 나타난 원인 미상의 증세들 - 호흡 정지 증후군, 습진, 안면 발진, 낫지 않는 코감기, 과민성 대장 증후군, 손의 통증 - 의 원인을 찾는 과정에서 결국은 식품 산업에 광범위하게 쓰이고 있는 GM 옥수수가 원인임을 알아내었다. 그녀는 농업인, 전 몬산토 연구자, 학계 종사자, 유럽의 양봉인 등 여러 사람을 직접 만나 심층적인 인터뷰를 하면서 GM 작물이 어떻게 환경을 황폐화하고 건강에 안좋은 영향을 미치며 가난한 농업인들을 나락으로 떨어뜨리고 있는지를 밝혔다.

유전자 변형 기술은 생명공학자에게는 벗어나기 어려운 '유혹'이다. 유전 가능한 생물체의 본질을 바꿀 수 있다는 점에서 조물주의 영역에 접근한다는 성취감 비슷한 것을 주기 때문이다. 물론 성공만 한다면 국가경제에 이바지할 수 있다는 목표의식도 주어진다. 그리고 GM 작물의 위험성이 지나치게 과장되어 유포된다는 의견이 없는 것도 아니다. 살충 단백질 결정인 Bt 독소(Cry protein)를 만들어내는 옥수수를 생각해 보자. 원칙적으로는 Bt 독소는 잎에서만 발현되어 이를 갉아먹는 해충만을 선별적으로 죽여야 한다. 그러나 유전자 발현 기구는 on-off가 완벽한 것이 아니다. 낱알에서 소량 발현된 Bt 독소는 인체에 영향을 미칠 수 있다. 혹자는 소수의 사람이 계란이나 벌독에 알레르기를 보이듯이, 대다수의 사람은 Bt에 의해서 영향을 받지 않으니 일부 과민한 사람은 Bt 옥수수로 만들어진 식품만 피하면 될 것이 아니냐고 할 수도 있을 것이다. 그러나 저자의 경험은 어떠했는가? 우리가 눈으로 보아서 알아볼 수 있는 옥수수를 식재료에서 제외하는 것은 쉽다. 그러나 상상할 수도 없는 많은 종류의 식품, 심지어는 아세트이미노펜(해열진통제 타이레놀의 약효 성분이다)과 종이컵 코팅 등에도 옥수수 추출물이 들어있다. 원재료로서 옥수수 추출물 성분을 쓰지 않은 식품·약품·생활용품을 찾기가 너무나 어려운 것이다!

사람들은 GMO가 해로울지도 모르기에 두려워한다. 실제로 GMO 자체는 대다수의 사람들에게는 치명적이지는 않으며, 극소수의 사람에게만 과민한 반응(이는 종종 치명적일 수도 있다)을 유발하는 것인지도 모른다. 하지만 '일부' 과민한 사람이 GMO를 피할 방법이 별로 없다는 데에 문제가 있다. 공업화된 모든 제품에 성분표가 제대로 찍혀있는 것도 아니고, 이러한 정보가 투명하게 공개된다 해도 GMO가 들어있지 않은 제품을 고를 수 있는 선택의 폭이 너무나 좁다는 것이다. GMO를 허용함으로 인해서 얻는 경제적 이득이 일부 과민한 사람이 접할 위험에 비해서 현저하게 높으니 전면적으로 허용해야 한다면? 이건 경제만을 생각하는 전체주의와 다를 바가 없다.

GMO를 둘러싼 문제의 본질은 GMO가 내포한 기술적인 문제점이 아니라 어쩌면 이를 퍼뜨림으로 인해여 이득을 얻는 자본의 힘에 있는 것인지도 모른다. GMO가 아니면 현재 지구상에 사는 모든 인류를 먹여 살릴 수 있는 만큼의 식량을 도저히 생산할 수 없는가? 보조금에 힘입어 생태 다양성을 해쳐가며 한 가지 작물만을 심는 기업형 농업이 과연 지속 가능한가? GMO를 판매하려는 거대 자본은 이에 대하여 부정적인 연구 결과를 내는 과학자들을 탄압하고 있지는 않는가? 과학자들의 주도하여 좋은 의도로 만들어지는 GM 작물도 물론 존재함을 알아두자(예: 비타민 A를 생산하는 golden rice).

이 책의 두번째 파트는 벌에 관한 것이다. 벌이 없으면 농업도 존재하지 못한다. 최근 들어서 벌이 갑작스럽게 떼죽음을 하는 현상이 벌어지는데, 이것이 어쩌면 GM 작물에 의한 것일 수도 있다는 것이다. 원래 Bt 독소는 특정 곤충에만 독소로 작용하는데, 벌이 흡수한 Bt 독소가 장 내벽 조직에 영향을 주어서 다른 곰팡이나 세균에 취약하게 만들수도 있다는 것이다. 

벌꿀이 GM 식품인가? 벌 자체가 GMO가 아니므로 벌꿀에 이와 관한 규정을 지키라고 주장해서는 안된다고 한다. 그러나 벌은 벌꿀의 '주요' 원료가 아니다. 벌은 꿀을 먹었다가 토해내서 저장하므로 벌의 몸에서 유래한 성분이나 생화학적 작용이 약간은 개입할 것이다. 그러나 주성분은 당연히 꽃의 꿀이고, 벌이 GMO 꽃밭을 돌아다니면서 꿀을 채집하는 것을 막을 수 없다면 이렇게 만들어지는 벌꿀 역시 GMO와 관련된 규정을 적용해야 한다고 믿는다.

마지막 파트에서는 UC 버클리의 미생물 생태학 및 균학 교수인 Ignacio Chapela(1959~, 링크)에 관한 이야기를 다루고 있다. 그는 멕시코 오악사카 고원의 옥수수에 미국의 GMO 유래 유전자가 유입되었음을 밝힌 논문을 2001년 Nature에 발표하면서 논란을 불러 일으켰다. 왜냐하면 그때까지 멕시코는 공식적으로 GMO가 없는 지역이었기 때문이다. GMO 찬성론자들은 차펠라의 연구가 잘못되었다고 맹공을 퍼부었다. 게다가 차펠라는 거대 생명공학 기업인 노바티스와 대학 간에 맺은 계약 - 대학의 연구 결과를 누구보다 먼저 접근하여 권리를 가져가는 대신 거액을 기부하는 5년짜리 계약 - 을 반대하면서 종신 재직권(tenure)을 거부당하는 수모를 겪기도 한다. 위키피디아를 확인해 보니 이러한 차펠라의 이야기는 독일에서 Scientist Under Attack: Genetic Engineering in the Magnetic Field of Money라는 제목의 다큐멘터리로 만들어지기도 했다고 한다.

내가 종사하는 분야의 이야기이기도 해서 좀 상세하게 기록하였다. 이에 대해서 과제 세미나 시간에 이야기를 했더니 무조건적인 GMO 반대론자의 선동적이고 비이성적인 운동에 대한 우려를 표명하는 연구자도 있었다. 앞으로 이 문제에 대해서 학자적인 책임감을 가지고 실제 학술 자료에 근거하여 좀 더 알아볼 생각이다.

2018년 3월 5일에 추가한 글 [BRIC 바이오토픽] GMO, 정말 괜찮을까? 링크 이탈리아 연구진은 1996-2016년 발표된 유전자변형 옥수수에 관한 peer-review 논문 6,006편에 대하여 메타분석을 시도한 결과 유전자변홍 옥수수는 생산성이 증대되었으며 곰팡이 유래 독소의 함유량도 적다는 결론을 내려 이를 Scientific Reports에 보고하였다. 하지만 실제로 저자들의 기준을 통과하여 분석에 쓰인 논문은 한 논문은 6,006편 중에서 76편에 불과하였다. 또한 다른 선행연구에서는 GM 작물이 수확량을 증가시키지 않는다고 보고하였으며, 2016년 뉴욕타임즈에도 이에 대한 비판적인 기사를 실은 바 있다고 한다. 보다 엄격한 해석이 필요한 연구 결과라 하지 않을 수 없다.

(성숙한 시민을 위한 교양 수업) 국가의 품격은 어떻게 만들어지는가

짜우포충 지음|남혜선 옮김
이 책의 원제는 <정치적 도덕>이다. 배신과 협잡이 횡행하는 정치적 현실을 생각한다면 정치가 도덕과는 원래 관계가 있을 필요도 없고 그래서도 안된다고 생각하기 쉽다. 그러나 저자는 모든 사회 구성원이 정치에 관심을 갖고 이상적인 정치 - 즉 구성원 한 사람 한 사람을 평등한 지위를 갖는 자주적인 개체로 보고 이런 바탕 위에 공평하고 공정한 사회 제도를 만드는 - 를 해야 한다고 주장하였다. 자유와 평등은 서로 대립적인 개념이 아니다. 안타깝게도 반공을 국시로 하는 군사독재체제를 경험한 우리나라에서는 자유(liberty)에 대하여 정통적이지 못한 시각이 팽배해 있다. 저자 짜우포충은 홍콩중문대학의 정치철학과 교수인데, 홍콩의 민주화 시위인 우산혁명을 주도했다는 이유로 중국 정부로부터 경계를 받고 있다고 한다. 학생들과의 온라인 토론에서 일부는 현 시민의 수준으로 볼 때 혼란이 초래될지도 모르니 지나친 자유·권리를 아직은 보장할 시기가 아니라는 의견을 피력했지만 짜우포충은 이를 단호하게 반대하였다. 모든 시민은 국가에 공정한 대우를 요구할 권리가 있기 때문이다. 우리를 존중하지 않는 국가에 시민은 불복할 수 있다. 국가라는 제도가 어떻게 하여 국민의 생활 모든 곳에 영향을 미치는 강제성을 가질 수 있는가? 이에 대한 정당성은 오로지 도덕적 이유, 즉 모든 시민이 성찰을 거쳐서 합리적으로 승인한 것에서 기인한다. 존 스튜어트 밀과 존 롤스의 저작을 읽어봐야 되겠다.

오늘은 독후감이 좀 길어지고 있다. 여기까지 쓰느라 다소 지쳐서 나머지 두 권에 대한 독서 기록은 원하는 분량이 나오지 않을 것 같다.

아주 친밀한 폭력

정희진 지음
가정 폭력 생존자인 폴레트 켈리(Paulette Kelly)의 시 '저는 오늘 꽃을 받았어요'를 만나보자. 마지막 연은 나에게 충격으로 다가왔다. 가정에서 남편의 폭력에 고통받는 아내의 현실을 생생하게 증언하는 페미니즘 입문서. 나와는 상관이 없는 일(아직까지는...?)이라 생각할 것이 아니다. 바로 이것이 지독한 가부장제 사회인 한국 가정의 현 주소이기 때문이다.

감정의 온도

김병수 지음
이 책은 인터넷 교보문고의 <자기계발> 카테고리에 들어있지만 내가 판단하기에는 정신건강의학 및 심리학 범주의 책에 더 가깝다. 우리나라 사람들은 자신의 감정을 솔직하게 표현하면 다른 사람에게 불편을 끼칠지도 모른다는 우려에 이를 드러내지 않는 것이 미덕이라는 강박적 태도를 많이 갖고 있다고 본다. 감정을 올바로 느끼고 이를 제대로 표현하며, 타인과의 긍정적인 관계를 이끌어 낼 수 있는 감정의 온도를 올림으로써 자존감을 높여나가는 방법을 차분하게 설명하였다.

부쉬 사중주단(Busch Quartet)의 슈베르트 현악 사중주 음반 - 1937년 및 1940년 녹음

가끔 중고 서점 <알라딘>에서 음반을 구입한다. 유명 연주자의 명음반 같은 것에 대한 지식이 별로 없어서 그저 작곡자를 참조하여 그날 기분에 따라 즉흥적으로 고른다. 이번에 구입한 것은 슈베르트의 즉흥곡 Op. 90과 Op. 142. 앵콜곡으로 종종 슈베르트의 즉흥곡(들어보니 Op. 90 3번 곡)이 연주되는 것을 들은 적이 있어서 어떤 곡들이 더 있는지 궁금했었다. Op. 90의 2번 E flat 장조는 어린시절 누나가 집에서 종종 치던 것이었다. 이 곡이 슈베르트 즉흥곡 중의 하나인줄은 지금까지도 모르고 있었다. 이번 음반은 알프레드 브렌델의 연주였다.


두번째 음반은 슈베르트의 현악 사중주곡 D 단조 "죽음과 소녀(작품번호 D. 810)"와 G 장조 D. 887이 수록된 것이었다. 연주자에 대한 아무런 사전 정보도 없이 CD 플레이어에 음반을 걸고 재생을 시작하였다. 어라? 음질이 왜 이래? 스테레오도 아니고 잡음이 깔린 소리에 놀라서 언제적 녹음인지를 찾아보았다. 죽음과 소녀는 1937년, 두번째 현악 사중주는 1940년이며 1988년 리마스터링되었다. Busch Quartet은 어떤 사람들인가... 아돌프 부쉬(1891-1952)에 의해서 1919년 결성되었으며 특히 베토벤의 후기 현악 사중주곡 녹음은 전설적인 것으로 평가받는다고 한다. 부클릿에는 References EMI라는 표식이 선명하다. 아마존의 음반 사이트(링크)에는 슈베르트의 현악 사중주 15번 녹음 중에는 가장 걸작이라고 한다. 약간의 검색을 통해서 베토벤 현악 사중주 연주도 찾아서 들어봐야겠다는 생각을 갖게 되었다.

[Go!클래식] 부쉬사중주단의 베토벤현악사중주

당시의 녹음 기술로는 어쩔 도리가 없지만, 열악한 음질 속에서도 남아있는 완벽한 연주란 이런 것인가 보다. 세상은 넓고 들을 음반은 많다!

이영건 선생님, 내일은 6J6 푸쉬풀 앰프를 완성하여 보내주실 건가요???

미생물 유전체 - 얼마나 같아야 같은 것인가?(ANI)

제목이 넌센스다. 얼마나 같아야 같은 것이냐? 다시 풀어서 말하자면 미생물 유전체의 유사도를 측정하는 지표로 요즘 가장 널리 쓰이는 average nucleotide identity(ANI)의 수치가 얼마나 높아야 두 미생물 스트레인을 '같은' 것으로 판정할 수 있느냐 하는 문제를 다루고자 한다. ANI의 정의는 매우 단순하지만, 이를 실제로 계산하는 방법은 몇 가지가 있다. MUMmer를 사용하는 ANIm, BLAST를 이용하는 ANIm, 유전자를 먼저 예측한 뒤 이를 대상으로 계산하는 gANI 등이 있다. ANI가 대략 95~95%이면 DDH(DNA-DNA hybridization) similarity 70%에 해당하는 것으로 알려져 있다. 좀 더 구체적으로는 gANI >= 96.5%이면 동일 종으로 본다.

ANI 못지않게 중요한 것은 AF(aligned fraction)이다. 각 유전체에 대해서 실제 alignment가 이루어진 서열의 비율을 뜻한다. 만약 계통발생학적으로 매우 먼 두 미생물에 동일한 transposon이 있다고 가정하자. ANI = 100%가 나올 수도 있지만, AF는 0.1% 정도에 불과할 것이다. dRep 프로그램(gANI 사용)에서는 AF가 10% 미만이면 ANI = 0으로 출력한다.

오늘의 논의에서 참고한 웹사이트는 다음의 두 곳이다.

What defines genomes as being "same"? - dRep 매뉴얼
Are these microbes the "same"? microBEnet(the microbiology of the Built Environment network)

두 종류의 미생물 균주가 '같다'라고 말하는 것의 스펙트럼은 의외로 넓다. 구체적인 ANI 값을 적용해 보자.

  1. <96% ANI = 동일한 16S 클러스터에 속한다.
  2. >96% ANI = 동일한 박테리아 종(species)에 속한다.
  3. >98% ANI = 동일한 E. coli clade이다.
  4. >98.8% ANI = 동일한 Prochlorococcus clade이다.
  5. >99.9% ANI = 동일한 Klebsiella pneumonae outbreak 균주이다.
실험 대상자의 온몸을 면봉으로 샅샅이 문질러서 한천 배지에 도말하여 대장균을 배양해 냈다고 가정하자. 손가락 끝에서 검출된 대장균과 엉덩이 피부에서 검출된 대장균의 유전체가 ANI 기준으로 95%가 같다고 하면 두 대장균은 동일한 곳에서 유래한 것일까? 즉, 화장실에서 볼일을 보고 손을 제대로 씻지 않아서 그 실험 대상자의 대장 속에 머물러야만 했던 대장균이 항문 근처 엉덩이 피부와 손에 남아있는 것이라고 결론을 내려도 될까? 결코 그렇지 않다. 우리의 손이 일상 생활에서 내 것이 아닌 다른 사람의 대장균을 만날 가능성은 얼마든지 있기 때문이다. 그러므로 이러한 질문에 대답하고 싶다면 ANI > 95%여야 함은 당연하지만, 얼마나 높아야 하는지는 심사숙고해야 한다. UC Berkeley의 질리안 반필드(Jillian F. Banfield) 교수 연구팀에서는 2017년 Genome Research에 발표한 논문을 통하여 99.9%를 기준으로 삼았다. 기억을 더듬어보니 2016년에 있었던 Lake Arrowhead Microbial Genomics 미팅에서 논문의 제1저자인 Matthew R. Olm의 발표를 직접 들었었다. 내가 dRep을 처음 듣고 요즘 미생물 유전체 비교 작업에 사용하게 된 것도 이 미팅에 참석한 덕분이었다.


이 논문에서는 병원에서 생후 1개월을 보냈던 미숙아 2 명의 피부와 구강 및 장내 미생물에 대한 metgaenomics 분석을 통해서 어떤 미생물들이 정착하여 성장하는지를 살펴보았다. 이때 동일한 미생물 균주의 기준값은 99.9% whole-genome ANI였고, 정착(colonization)의 기준은 샘플을 채취한 위치에서 >1% read일 때였다. 동일한 균주가 신체 여러 곳에 정착하되 서로 다른 growth rate를 보인다는 것이 주요 결론이었다. 동일한 균주라고 했지만 단 하나의 세포에서 각 집단이 유래하는 것은 아니다. 따라서 이러한 미생물의 정착촌은 시작 단계부터 집단 내 변이가 당연히 존재함을 잊어서는 안된다.

마지막으로 내가 알고있는 ANI 계산 도구를 소개하는 것으로 끝을 맺고자 한다. 단 두 개의 genome sequence를 비교하는 것, 여러 genome 사이를 비교하여 매트릭스 형태의 데이터 파일을 생성하는 것, heatmap을 만들어 주는 것 등 저마다의 특징이 있다. 이것을 전부 다 사용해 본 것도 아니다.