2018년 3월 29일 목요일
블로그에 애드센스 광고 게재 시작
전주에 가면 외지에서 온 관광객들이 붐비는 한옥마을만 거니는 것이 아니라 종종 젊음이 넘쳐나는 객사길로 향한다. 대전으로 치자면 으능정이 문화의 거리에 해당한다고 보면 된다. 객사('풍패지관')와 영화의 거리 사이의 골목은 한옥마을과 다른 느낌이 있다.
한옥마을에서 팔달로를 따라 북쪽으로 걸어가는 길에 전라북도예술회관(전주시 완산구 팔달로 161)이 자리잡고 있다. 가끔 이곳을 들러 전시뢰를 구경하고는 한다. 지난 주말에는 수채화가 정유진님의 일곱번째 개인전 '여운을 남기다(링크)'가 진행 중이었다. 수채화이지만 유화 못지않은 강렬함을 주는 그림들이었다. 관람을 마치고 나서려는데 작가께서 차를 따라 내면서 전주 시장님이 오신 줄 알았다고 한다.
구글을 찾아보니 김승수 전주시장은 나와 비슷한 느낌의 외모인 것을 인정하지 않을 수 없다. 나이도 비슷하고... 유쾌한 오해를 받았다 생각하고 자리를 떴다. 기사를 찾아보니 이제 마무리되는 임기 동안 토건업자나 대기업들이 싫어할 일만 골라서 했다고 한다(링크). 6월 지방 선거를 앞두고 재선이 유력하다고도 한다. 고층건물·쇼핑센터·자동차 도로 중심의 개발에 익숙한 사람들에게는 신선한 도전이 아닐 수 없다.
글 제목은 '애드센스 광고 게재 시작'인데 엉뚱하게도 일상 이야기만 하고 말았다. 블로그를 접속하면 오른쪽 사이드바의 글목록(블로그 보관함) 아래에 광고가 보이기 시작한다. 신청은 꽤 오래전에 해 두었는데 셋업하는 방법을 잘 몰라서 방치한 상태였다. 이것이 나에게 대단한 수익을 주거나, 그렇다고 해서 내 블로그를 방문하는 사람들에게 큰 불편함을 줄 것으로는 생각하지 않는다.
2018년 3월 27일 화요일
Barrnap 결과물(GFF3)에서 16S rRNA 서열만 뽑아내기
역시... 친절한 shell script가 하나 나타났다. bedtools와 samtools를 기반으로 돌아가는 스크립트인 16S_extraction_Barrnap.sh라는 것이 존재하는 것이다.
https://github.com/raymondkiu/16S_extraction_Barrnap
핵심은 다음과 같이 달랑 네 줄이 전부이다. 중요한 명령어는 굵은 글씨로 강조하였다.
grep '16S' $gfffile > 16S-gff.gff;첫단계에서는 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에서 뽑아내는 것이다.
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
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 기초
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
$ conda create -n py27 python=2.7 anaconda
$ conda info --envs
# conda environments:
#
py27 /home/hyjeong/.conda/envs/py27
root * /opt/anaconda3
2018년 3월 25일 일요일
TDA7265 앰플리파이어 속판 작업
![]() |
| 트랜스는 자리를 잘 잡았는데 앰프 기판은 똑바로 놓이질 못하였다. 왜 구멍도 제대로 뚫지 못하는가! |
오늘 작업한 것은 사진으로는 그다지 눈에 뜨이지 않는다. 케이스 속판(알루미늄)을 구입하여 전원트랜스포머와 기판을 그 위에 고정하였다. 이전에는 플라스틱 케이스에 구멍을 뚫고 직접 고정하였더니 무거운 부품 때문에 케이스 바닥이 아래로 처지는 느낌이 있었다.
케이스와 속판은 전부 케이스포유 제품이다. 이 케이스(ACE2520L)은 품절되었지만 전후면 속판은 현재 생산되는 것과 호환이 된다.
이번에는 좀 제대로 가공을 해 보고자 노력했으나 역시 많은 아쉬움이 남는다. 바닥판에 가공한 이전 구멍의 위치를 기준으로 뚫었더니 아뿔싸, 패널에 대해서 평행을 유지하지 못하는 것이 아닌가. 게다가 볼트를 너무 조여서 구멍 하나가 뭉개지고 말았다.
스트레스를 받으면서까지 취미활동을 할 필요는 없다. 여유를 갖자. 여유!
독서 기록 - [이 세계의 식탁을 차리는 이는 누구인가] 외 2권
총 네 권의 사진을 찍었지만 '부자의 시간(최윤식 지음)'은 끝까지 읽는데 실패하였다. 다음에 꼭 다시 도전할 생각이다. 저자가 밝히기로는 이 책을 쓴 목적은 부의 흐름을 통찰할 수 있는 지식과 방법을 소개하는 것이라고 했다. 그러려면 경제 인텔리전스를 갖는 것이 중요하다. 기대수명이 길어진 현실에서 육체적으로 노동을 하여 돈을 벌 수 있는 상대적인 시간은 더욱 짧아졌다. 인생의 나머지 기간은 어떻게 하여 살아나갈 것인가? 이를 위해서는 '돈을 갖고서 돈을 버는' 것이 필요하다. 책의 앞부분에서 서양 자본주의의 형성 과정 - 그것이 항상 좋은 의도에서 비롯된 것은 아니지만 - 을 설명한 것은 매우 유익하였다.
얼마전 <성장 없는 번영>이라는 책을 읽었었다(링크). 경제적 세계화의 문제점, 그리고 기본 소득의 개념(뤼트허르 브레흐만의 저작) 등을 조금 접하게 된 나는 팽창을 기본 전제로 하는 금융상품 투자에 대해서 어떤 가치관을 가져야 하는지 아직 고민을 하는 중이다.
나머지 책은 제목과 저자를 소개하는 것으로 이번 독서기록을 마치려 한다. 앉아서 쓰기 시작하면... 힘도 들거니와 자꾸 길어질 것만 같다. 그냥 게으름 탓이라고 해 두자.
이 세계의 식탁을 차리는 이는 누구인가
- 부제: 인간과 자연을 살리는 푸드 민주주의의 비전
- 반다나 시바 지음, 우석영 옮김
늙어감의 기술
- 부제: 과학이 알려주는 나이 드는 것의 비밀
- 마크 E. 윌리엄스 지음|김성훈 옮김
권력은 왜 역사를 지배하려 하는가
- 부제: 정치의 도구가 된 세계사, 그 비틀린 기록
- 윤상욱 지음
2018년 3월 23일 금요일
[CentOS 7] root가 설치한 perl module은 어디로 갔는가?
관리자 권한으로 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
.
# echo $PERL5LIB
/root/perl5/lib/perl5:
2018년 3월 21일 수요일
Bio-Linux 8.0.7(Ubuntu 14.04.5 LTS 기반)에 pyenv 설치하기
이와는 별도로 현장연구를 수강하는 학생을 위해서 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"' >> ~/.bashrcSyntaxhighlighter를 써야 하는데 아직도 익숙하지 않다. 이제 exec $SHELL이라 명령하여 shell을 재기동한다. 그러고나서 pyenv install 3.5.1이라 하면 무사히 설치가 된다.
$ 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
문제점 발견
2018년 3월 20일 화요일
스피커통은 계속 진화한다
![]() |
| 사용된 유닛은 삼미 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 웹사이트에서는 KCTC 13012 균주가 검색되지 않는다. 어디로 갔나?
이 균주를 분양받아서 유전체 시퀀싱을 한 간단한 논문을 2015년에 발표하였고(PubMed) NCBI에도 잘 등록된 상태이다(GCF_001267695.1). 당시에는 KCTC가 제공한 정보에 근거하여 Bacillus amyliliquefaciens로 BioProject와 BioSample을 등록했었다. 이 기록은 현재도 남아있지만 NCBI에서 현재 통용되는 유전체명은 Bacillus velezensis이다. 큐레이터들이 수고를 많이 하였다.
이 균주가 type material에서 유래했음은 assembly_summary.txt 파일에 명시된 상태이다. 그러면 EzBioCloud에서도 이러한 자격을 여전히 유지하고 있는가?
안타깝게도 그렇지 못하다. 그러면 어느 균주의 유전체 정보가 type의 자격을 획득하고 있는가?
물론 NCBI의 assembly_summary.txt 파일에서는 두 유전체 정보 모두에서 assembly from type material이라는 꼬리표를 붙여 놓았다. 헤아려보니 모두 일곱 가지나 된다. 여러 culture collection에 기탁된 동일 type strain에 대하여 이렇게 제각각 유전체 해독을 한 결과를 등록하게 되니 NCBI에서도 이를 체계적으로 집계하기 위해 많은 고민을 할 것이고, EzBioCloud 역시 마찬가지일 것이다.
서로 다른 culture collection에서 유지된 type strain의 유전체 시퀀싱 결과를 정밀 비교하면 어떤 결과를 얻을 수 있을까? 라벨을 잘못 붙이는 등의 균주 관리에 따른 실수만 없었다면 제한된 폭의 변이가 존재할 것이고, 이를 연구해 보는 것도 흥미로운 일이 되리라 생각한다.
간혹 culture collection에서 균주를 분양받아서 유전체 해독을 해 보면 애초에 표기된 것과 전혀 다른 균주가 나오는 일이 있다. 품질관리에 좀 더 신경을 써야 할 것이다.
표준 균주(type strain)의 유전체 정보가 잘 정리된 사이트는 없을까?
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를 입력하면 오른편에 데이터 타입 카운트가 나온다.
(later) heterotypic synonym, 즉 이형이명에 대해서 지난번에 글을 작성한 적이 있다(링크). 그러면 바로 위의 논문에서 발견한 사항을 간단히 설명해 보겠다.
- Bacillus siamensis는 과거에 보고된 종이다.
- Vanilla bean에서 XY18이라는 균주를 발견하여 'Bacillus vanillea'라는 신종으로 보고를 한 일이 있다(논문 링크)
- 그런데 DDH와 ANI 분석을 해 보니 이미 보고된 Bacillus siamensis의 type strain과 cutoff 이내로 동일하다.
- Therefore, it is proposed that the species 'Bacillus vanillae' XY18 should be reclassified as a later heterotypic synonym of Bacills siamensis KCTC 13613T.
- XY18의 특성을 수용할 수 있게끔 B. siamensis의 description을 수정한다(an emended description).
2018년 3월 14일 수요일
해서는 될 것과 안될 것을 구별할 줄 아는 지혜
최근 나를 즐겁게 하였던 6J6 앰프의 레벨미터 문제를 자체적으로 해결해 보려고 뚜껑을 여는 것이 결정적인 실수였다. 뚜껑을 열고 닫고 이것 저것 매만지는 도중에 갑자기 소리가 나지 않게 되었다. 진공관 히터에는 빨갛게 불이 들어오고 레벨미터의 조명도 잘 들어오지만 아무런 소리가 나지 않는다. 도대체 왜? 전기적 충격으로 망가질만한 부속도 없는데?
제작자인 이영건 선생님의 사실상 'Lifetime warranty 정책'에 따라서 도움을 요청하였고, 망가진 앰프를 잘 포장하여 되돌려 보냈다. 아... 내가 도대체 왜 그랬을까. 그저 다 만들어진 기판에 커넥터나 납땜하는 정도로 만족했어야 한다. DIY에 대한 자신감이 갑자기 땅 속으로 꺼진 느낌이다.
내가 할 수 있는 일을 하자.
프리앰프를 겸한 진공관 헤드폰 앰프이다. 전원 커넥터의 접촉에 문제가 있는지 케이블을 좌우로 움직이면 전원이 들어왔다 나갔다를 반복하는 사소한 문제가 있었다. DC 플러그의 움직임에 따라 기판에 붙은 소켓의 바깥쪽에서 불꽃이 튀는 것을 확인하였다.
![]() |
| 사진출처: 다이조아 |
2018년 3월 12일 월요일
소출력 진공관 앰프에 쓸 만한 고효율 스피커 드라이버
이 글은 2018년 3월에 작성된 글입니다. 그림 링크가 깨진 것을 수선한 것 외에는 현재 상황에 맞게 업데이트하지 않았으니 이를 감안하셔서 읽으시기 바랍니다. 만약 이 글을 업데이트하게 된다면 아마 새로운 글로 작성하게 될 것입니다(2025년 12월 8일).
스피커의 여러 사양 중에서 SPL(sound pressure level)이라는 것이 있다. Sensitivity 혹은 efficiency로도 표현되는 이 수치는 1 와트의 신호를 공급했을 때 스피커의 정면 축에서 1 미터 떨어진 곳에서 측정한 소리의 크기를 dB로 나타낸 것이다. 정확히 말하자면 dB/W(m)라고 표기하는 것이 옳다. 보통 다음 그림과 같이 입력 신호의 주파수를 변화시켜가며 측정을 한다. 주파수를 나타내는 가로축은 로그 단위로 그린다.
트랜지스터 앰프가 대중화되면서 가정용 앰프에서 수십 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가 넘는 것을 조사해 보기로 하였다.
Fostex FE126En과 같은 검증된 드라이버 (PDF 파일 자료)를 생각해 보자. 4.5 인치 급이라서 저역 재생에는 어려운 점이 있지만 인클로저의 설계에 따라 상당한 수준으로 끌어내리는 것이 가능하다고 하다. SPL은 93 dB이다. madisound 기준으로 하나의 가격은 $57.50이다. 스피커라는 것이 원래 무거운 물건이라 항공 배송료도 만만하지 않고, 1조를 구하려면 곱하기 2를 해야 한다.
저렴한 가격으로 소비자를 놀라게 하는 알리익스프레스를 뒤져보자. 염소 가죽으로 테두리를 둘렀다는, 과거의 유명했던 미쓰비시의 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)의 레벨미터 바늘이 춤을 추는 이유는 무엇일까?
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, 제작: 이영건 선생님)
시프트 키를 누른 상태로 6j6을 치면 ^J^이 된다. 웃는 얼굴 모습이다. 먼저 진공관의 모습을 감상하자.
![]() |
| '밀당 2018'의 옆모습. 진공관 네 알은 전부 같은 6J6이다. |
![]() |
| '지음 2014'를 비슷한 각도에서 찍었던 사진. 출처: http://blog.genoglobe.com/2014/02/blog-post.html |
![]() |
| 고무발이 없어서 두꺼운 상자 종이 위에 올려놓고 첫모습을 감상한다. 진공관 표면에는 6J6A RCA라는 마킹이 있다. |
[결론] 이 가격에 이런 물건이 존재할 수는 없다. 부품값만 해도 판매 가격을 훌쩍 상회할 것이 뻔하다. 사무실 책상 위에 놓고 사용할 작은 진공관 앰프로는 최적이다. 내가 만 사 년째 매우 만족스럽게 잘 사용하고 있는 '지음'이와 비교하면 훨씬 작고 가볍지만(출력도 약간 낮음) 음질은 동등하다. 100 달러를 조금 더 주면(물론 배송료 제외) 알리익스프레스에서 소출력 진공관 앰프를 살 수는 있다. 하지만 샤시가 없는 것도 있고 실체배선도도 없이 직접을 납땜하여 만들어야 하는 것도 있다. 부품의 품질을 어떻게 신뢰할 것인가. 매우 만족스럽다. 그런데... 아, 좋은 풀레인지 스피커를 사서 통에 짜넣고 싶다!
2018년 3월 5일 월요일
옆으로 누운 AIWA 오디오
그래서 그냥 이렇게 놓고 쓰기로 하였다. 공간 절약을 위해 CD를 세워서 넣는 것으로 설계한 기기지만 수평으로 작동하도록 하는 것이 당연히 더 바람직하지 않을까? 튜너는 이미 오래전부터 모노로만 작동하는 상태이다. 이걸 고치는 것이 옳은지 그냥 쓰는 것이 좋은지 아직 결정을 내리지 못하고 있다. 아이패드를 AUX IN에 연결하여 유튜브나 인터넷 라디오를 종종 듣고 있어서 튜너부를 빨리 고쳐야 하겠다는 생각도 아직은 별로 들지 않는다.
인켈 CD 플레이어는 수시로 픽업을 교체해야만 했었는데 이 아이와 제품은 그렇질 않다. 그 이유를 도저히 알 수가 없다. 절대 사용 시간이 적은 편이라 그런 것인가?
오랜만에 납땜질도 하였다. 사무실에서 쓰는 JBL FE-M2125 스피커 연결선 끝에 바나나 플러그를 달아준 것이다. 오디오 전용 단자를 쓰면 좋겠으나 비용 절감 차원에서 이런 선택을 하였다. 인두가 40 와트 급이라서 단자 납땜 작업을 하기에는 수월한데 너무 구식이라서 불만이다. 세라믹 히터를 사용한 인두가 하나 있었으면 한다.
Methylomonas denitrificans is not an approved species name
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="">99>
2018년 3월 3일 토요일
독서 기록 - [슬픈 옥수수]외 다섯 권
한국어, 문화를 말하다
문화는 판단하는 것이 아니라 이해하는 것이다. 좋고 나쁜 것이 있는 것이 아니라 다름이 있을 뿐이다(제1장 첫 쪽).'한국어'라는 언어의 단면을 문화적인 측면에서 다룬 책이다. 한국어는 형용사 중심이라는 것(동사와 형용사의 구별이 쉽지 않은 것도 특징임), 반말과 높임말의 발달, 느낌과 감정이 중요한 언어, 고유어화 한자어 및 외래어의 조화, 맥락 중심의 언어라는 특징을 담고 있다. "보면 몰라? 그걸 꼭 말로 해야 알아들어?"라는 고맥락 사회에서는 언어란 정보의 최소한을 전달하는 것이다. 따라서 한국어를 외국어로서 배우는 입장에는 많은 어려움이 있다.
문화에는 좋고 나쁨이 아니라 다름이 있을 뿐이라는 첫 문장을 인용하면서 이번 독후감을 시작하였다. 하지만 지나친 반말과 높임말은 자유로운 사상을 잉태하고 표출하는데 어려움을 겪게 만든다고 생각한다. 이것을 단순한 문화의 차이, 즉 '다름'이라고 해야 하는가, 혹은 극복해야 할 문화적 문제점인가? 간혹 다른나라 언어에도 높임말이 있다고 주장하는 사람이 있지만, 보다 정확하게 말한다면 손아랫사람에게도 반말을 하지 않는다고 하는 것이 맞을 것이다.
이 책의 뒷부분에서는 북한 현지의 언어, 외국에 거주하는 교포의 언어, 국내에 거주하는 탈북자 및 중국 출신 교포('조선족'이라고 부르는 것은 그다지 타당하지 않는다고 보인다. 이에 대해서는 사회적 합의가 필요할 것이다)의 언어, 그리고 이주를 통해 국내에 들어온 외국인의 한국어 사용 문제를 다루고 있다. 이주 노동자는 한국어를 알아야 하는가? 과거 우리나라 노동자들이 중동에 나가서 일을 할 때 아랍어를 배우게 하였었던가? 배우지 않을 권리도 있는 것이다. 외국에 나가 사는 한국인들은 한국어를 잊어서는 안되고, 일자리를 찾아 한국에 들어온 사람들은 한국어를 반드시 익히며 김치를 먹을 줄 알아야 하고... 이것은 너무 자기 중심적인 생각이다.
4차 산업혁명시대 문화경제의 힘
가나와 한국의 1960년대 초반 경제상황은 놀라울 정도로 매우 비슷하였는데 30년 뒤에는 어떻게 되었는가? 비약적 발전이 한국에서는 이루어졌지만 가나의 1인당 GNP는 한국의 15분의 1 수준에 불과하다. 이러한 차이를 만드는 데에는 여러가지 요인이 작용했겠지만 '문화'가 결정적인 요인이라고 생각한다.
슬픈 옥수수(우리의 음식, 땅, 미래에 대한 위협 GMO)
2018년 3월 5일에 추가한 글 [BRIC 바이오토픽] GMO, 정말 괜찮을까? 링크 이탈리아 연구진은 1996-2016년 발표된 유전자변형 옥수수에 관한 peer-review 논문 6,006편에 대하여 메타분석을 시도한 결과 유전자변홍 옥수수는 생산성이 증대되었으며 곰팡이 유래 독소의 함유량도 적다는 결론을 내려 이를 Scientific Reports에 보고하였다. 하지만 실제로 저자들의 기준을 통과하여 분석에 쓰인 논문은 한 논문은 6,006편 중에서 76편에 불과하였다. 또한 다른 선행연구에서는 GM 작물이 수확량을 증가시키지 않는다고 보고하였으며, 2016년 뉴욕타임즈에도 이에 대한 비판적인 기사를 실은 바 있다고 한다. 보다 엄격한 해석이 필요한 연구 결과라 하지 않을 수 없다.
(성숙한 시민을 위한 교양 수업) 국가의 품격은 어떻게 만들어지는가
오늘은 독후감이 좀 길어지고 있다. 여기까지 쓰느라 다소 지쳐서 나머지 두 권에 대한 독서 기록은 원하는 분량이 나오지 않을 것 같다.
아주 친밀한 폭력
가정 폭력 생존자인 폴레트 켈리(Paulette Kelly)의 시 '저는 오늘 꽃을 받았어요'를 만나보자. 마지막 연은 나에게 충격으로 다가왔다. 가정에서 남편의 폭력에 고통받는 아내의 현실을 생생하게 증언하는 페미니즘 입문서. 나와는 상관이 없는 일(아직까지는...?)이라 생각할 것이 아니다. 바로 이것이 지독한 가부장제 사회인 한국 가정의 현 주소이기 때문이다.
감정의 온도
이 책은 인터넷 교보문고의 <자기계발> 카테고리에 들어있지만 내가 판단하기에는 정신건강의학 및 심리학 범주의 책에 더 가깝다. 우리나라 사람들은 자신의 감정을 솔직하게 표현하면 다른 사람에게 불편을 끼칠지도 모른다는 우려에 이를 드러내지 않는 것이 미덕이라는 강박적 태도를 많이 갖고 있다고 본다. 감정을 올바로 느끼고 이를 제대로 표현하며, 타인과의 긍정적인 관계를 이끌어 낼 수 있는 감정의 온도를 올림으로써 자존감을 높여나가는 방법을 차분하게 설명하였다.
부쉬 사중주단(Busch Quartet)의 슈베르트 현악 사중주 음반 - 1937년 및 1940년 녹음
두번째 음반은 슈베르트의 현악 사중주곡 D 단조 "죽음과 소녀(작품번호 D. 810)"와 G 장조 D. 887이 수록된 것이었다. 연주자에 대한 아무런 사전 정보도 없이 CD 플레이어에 음반을 걸고 재생을 시작하였다. 어라? 음질이 왜 이래? 스테레오도 아니고 잡음이 깔린 소리에 놀라서 언제적 녹음인지를 찾아보았다. 죽음과 소녀는 1937년, 두번째 현악 사중주는 1940년이며 1988년 리마스터링되었다. Busch Quartet은 어떤 사람들인가... 아돌프 부쉬(1891-1952)에 의해서 1919년 결성되었으며 특히 베토벤의 후기 현악 사중주곡 녹음은 전설적인 것으로 평가받는다고 한다. 부클릿에는 References EMI라는 표식이 선명하다. 아마존의 음반 사이트(링크)에는 슈베르트의 현악 사중주 15번 녹음 중에는 가장 걸작이라고 한다. 약간의 검색을 통해서 베토벤 현악 사중주 연주도 찾아서 들어봐야겠다는 생각을 갖게 되었다.
[Go!클래식] 부쉬사중주단의 베토벤현악사중주
당시의 녹음 기술로는 어쩔 도리가 없지만, 열악한 음질 속에서도 남아있는 완벽한 연주란 이런 것인가 보다. 세상은 넓고 들을 음반은 많다!
이영건 선생님, 내일은 6J6 푸쉬풀 앰프를 완성하여 보내주실 건가요???
미생물 유전체 - 얼마나 같아야 같은 것인가?(ANI)
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 값을 적용해 보자.
- <96% ANI = 동일한 16S 클러스터에 속한다.
- >96% ANI = 동일한 박테리아 종(species)에 속한다.
- >98% ANI = 동일한 E. coli clade이다.
- >98.8% ANI = 동일한 Prochlorococcus clade이다.
- >99.9% ANI = 동일한 Klebsiella pneumonae outbreak 균주이다.
- JSpecies
- JSpeciesWS
- pyani
- ANI.pl - 간단하게 두 genome을 비교할 때.
- Tools in EzBioCloud (ANI Calculator, OrthoANI using usearch or blast
- ANIcalculator - gANI와 AF를 계산
- FastANI




























