2018년 2월 21일 수요일

[하루에 한 R] ANI 계산 결과 다루기 - column 혹은 row 이름을 통한 조작

R을 이용해서 '4차 산업혁명' '빅데이터' 시대에 걸맞는 거창한 일 - 말하자면 방대한 데이터 속에서 새로운 지혜를 발굴하는 - 을 해야 하는데, 아직까지도 기초 수준의 자료 작성 기법을 익히는데 머물고 있으니 어찌 한심하지 않겠는가!

기본적인 자료 조작을 할 줄 알아야 통계분석, 시각화 등등의 고급스런 일을 비로소 할 수 있다. 앞으로 더 멋진 일을 하기 위한 기초 소양을 쌓아나간다고 생각하고 오늘도 부끄럽지만 [하루에 한 R]을 기록해 나간다.

매트릭스 형태의 자료 파일(csv, txt, tab-delimited...)를 R에서 데이터프레임으로 읽어들인 다음에 어떤 일을 할 수 있을까? 그동안은 각 cell을 채운 자료 자체에 집중을 하는 편이었지만 요즘은 컬럼과 로우(한글로는 '로'인가 '로우'인가? '윈도'가 표준 표기법이니 '로'라고 하는 것이 맞겠지만 어색함을 떨치기 어렵다, '로우'라고 쓰자.)의 이름을 활용하는 것이 더 흥미가 있다.
  • key,value1(value2,value3...) 형태의 파일 여러개를 key 값 기준으로 합치고 싶다(key 값은 동일할 수도 있고 그렇지 않을 수도 있다).
  • 컬럼이나 로우의 이름을 기준으로 재배열하고 싶다.
  • 컬럼이나 로우의 이름을 일괄적으로 바꾸고 싶다(스트링 조작 혹은 외부 데이터 사용).
  • 컬럼이나 로우의 이름을 이용하여 데이터 프레임의 일부를 덜어내고 싶다(slicing).
  • 최대값(혹은 최저값)에 해당하는 컬럼 혹은 로우의 이름을 알아내고 싶다.
  • 특정 로우 그룹의 평균값, 최대값(혹은 최저값)을 추출하고 싶다.
내가 종사하는 생명과학 분야, 특히 유전체학과 관련한 분야에서는 microarray data, RNA-seq (expression value) data, OTL table, BLAST result(tabular format) 등 다양한 종류의 매트릭스 형태 데이터 파일을 접하게 된다. 대개 하나의 로우는 하나의 레코드에 해당하지만 생명과학 분야 데이터에서는 레코드가 컬럼 단위로 기록되는 경우가 많다. 따라서 hclust() 함수를 쓰거나 할 때 트랜스포즈를 미리 하는 등의 변환이 필요함을 염두에 두어야 한다.

아마 과거에 작성한 글에 이미 이에 대한 방법을 일부 기록해 놓은 것이 있을지도 모른다. 오늘 쓰는 글은 최종 정리판이라고 보면 된다. 사용할 데이터 파일은 pyani에서 만든 ANIb_percentage_identity.tab(다운로드 링크)이다. 어떻게 생겼는지 살짝 열어보자. OpenOffice를 사용해서 command line에서 이런 종류의 파일을 한 번에 스프레드시트로 열 수 있다(ooffice --calc ANIb_percentage_identity.tab). 


R에서 읽어들이려면 다음과 같이 하면 된다. 컬럼 및 로우 네임을 정확히 지정하는 것, 그리고 대각선을 중심으로 대칭이 되게 만드는 것이 관건이다. 이 경우에는 컬럼과 로우의 네임 순서가 정확히 같다는 것을 가정하고 있다.
> d = read.table("ANIb_percentage_identity.tab",sep="\t",header=T,row.names=1)
> d2 = t(d)
> d3 = (d + d2)/2
만약 컬럼과 로우의 이름 순서가 일치하지 않는다는 의심이 든다면 다음과 같이 하면 된다. 전처리가 끝난 데이터프레임의 이름은 d3임을 기억해 두자. 자료 유형이 데이터프레임인 경우 colnames()나 names()나 차이가 없다.
> d3 = d3[, order(names(d3))]
> d3 = d3[order(row.names(d3)), ]
다음으로는 컬럼/로우 이름이 너무 길다는 것이 불만이다. 전부 동일 종에서 유래한 서로 다른 스트레인의 유전체 정보를 사용한 것이니 종 이름을 남겨둘 이유가 없다. 이는 사용자 함수를 만들어서 적용하면 된다.
> a = names(d3)
> trim.species = function (x) sub("^Lactobacillus_rhamnosus_","",x)
> names(d3) = trim.species(a)
> rownames(d3) = trim.species(a)
row.names()와 rownames() 함수는 무엇이 다른가? 이것은 천천히 알아보자. colnames() 함수는 있는데 col.names() 함수는 존재하지 않는다(?col.names를 입력하면 아무런 문서도 나오지 않으므로 그렇게 생각하는 것이다). 데이터프레임의 외형을 다듬는 일은 전부 끝났다. 이번에는 특정한 이름을 갖는 컬럼 하나를 뽑아서 어떤 데이터가 들어있는지 보고싶어졌다. 방법은 다음의 두 가지가 가능하다.
> d3[, which(names(d3) == "DSM_20021_GCF_001435405.1")]
> d3[, which(names(d3) == "DSM_20021_GCF_001435405.1"),drop=F]
> d4 = d3[, which(names(d3) == "DSM_20021_GCF_001435405.1"),drop=F]
drop=F 파라미터를 하나 추가하는 것이 훨씬 바람직한 결과를 낳는다. d4의 구조를 살펴보라. 컬럼과 로우의 이름이 전부 지정된 상태이다.

컬럼의 이름을 완벽하게 지정할 필요도 없다. DSM_20021로 시작하는 이름을 갖는 컬럼을 골라내도록 하자.
> d3[, grep("^DSM_20021",names(d3)),drop=F]
컬럼이 여러 개 선택될 가능성도 염두에 두어야 한다. 다음으로는 뽑아낼 컬럼이 여러개인 경우를 생각해 보자. 해당되는 컬럼의 이름은 벡터에 미리 지정해 둔다. 정규식 패턴을 벡터에 저장하여 적용하는 것은 아마 어려울 것이다.
> vec = c("Pen_GCF_00207655.1","ATCC_8530_GCF_000233755.1","4B15_GCF_002158925.1")
> d3[, which(names(d3) %in% vec)]
다음으로는 특정 컬럼에 대해여 최대값이 들어있는 cell의 로우 네임을 뽑아보는 일을 해 보겠다. 쉽게 해서 특정 유전체에 대하여 ANI가 가장 높게 나오는 것은 누구인지를 찾아내자는 것이다. 그런데 조심할 것은 당연히 자기 자신에 대한 ANI가 가장 높으므로 이것이 출력되는 것을 배제해야 한다. JSpecies에서는 자기 자신에 대해서는 값을 계산하지 않지만 pyani는 정직하게 1을 산출해 놓는다. 이를 전부 NA로 바꾸어 놓자.
> d3[d3 == 1] = NA
각 컬럼에서 최대값을 갖는 것들의 row name을 찾아보자.
> names(d3)[apply(d3,1,which.max)]
이보다 미려한 출력을 만들고 싶다면 좀 더 연구를 해야 한다. 데이터 프레임의 컬럼 혹은 로우 네임을 named vector를 사용하여 일괄적으로 바꾸려면 http://genoglobe.kr/kribb/data_visualization 를 참고하도록 한다.

2018년 2월 19일 월요일

삼미 HA-165B60 스피커통의 개조 - 후면 개방형으로 바꾸어보다

삼미 HA-165B60 스피커 유닛(소위 6.5인치; 삼미스피커 주식회사의 제품소개 링크)는 Hi-Fi와는 거리가 먼 제품이다. 천장에 묻어서 구내 방송용으로 쓰거나, 게임기나 앰프 등에 수납할 용도로 제조되는 유닛이다. 능률이 높고 전 대역을 평탄하게 재생하는 특성이 있어서 적당히 인클로저에 수납하여 진공관 앰프 용도로 쓰는 사람이 간혹 있는 모양이다. 나도 이러한 용도로 쓰려고 이를 아세아전자상가에서 직접 구입했었다. 생애 최초로 주문제작하였던 전면 덕트형 단일 유닛용 스피커용 통은 소소한 개조는 물론 유닛을 이리저리 바꾸어가며 여러 테스트를 거쳤는데, 두번째이자 마지막(?) 시도였던 삼미 HA-165B60 유닛이라고 해서 월등한 소리를 내지는 못하였다.

[2016년 10월] 스피커를 5인치에서 6.5인치(삼미 HA-165B60)로 바꾸다.
[2016년 12월] 스피커 통 개조하기 - 이번에는 성공?

내부에 흡음재를 채우고, 각재를 모서리에 붙여서 보강을 하고, 나무토막을 넣어서 용적을 줄이고, 내벽에 스폰지를 붙이고, 덕트의 면적을 줄이고, 큰 유닛을 고정하기 위해 배플면의 구멍을 넓히고... 유닛 하나로 모든 영역을 재생하려니 고음과 저음이 부족한 것은 당연하게여기고 받아들이겠지만, 마치 동굴 속에서 소리가 울리듯이 나는 증세는 아무리 개조를 거듭하여도 달라지지 않았다. 마침 사무실에서 운용할 스피커가 더 늘어나면서(JBL FE-M2125, 링크) 자작 스피커통에 대한 관심은 더욱 가라앉게 되었다.

그러다가 지난주 이영건 선생님의 6J6 푸시풀 앰프를 주문하게 되면서 이 스피커통을 살려보자는 생각을 하게 되었다. 지금까지 해 보지 않은 개조를 시도하는 것이다. 후면 개방형으로 쓰면 어떨까? 뒷판을 열고 단자의 위치만 바꾸면 되는 매우 간단한 개조이다.  좀 더 완벽하게 개조하려면 통 내의 덕트 입구를 막는 일까지 해야 되겠지만 적당한 재료를 찾지 못해서 아직 여기까지는 시도하지 않았다.

돌아다니는 자작나무 합판 조각(원래는 트위터 거치대로 만든 것을 부수었음)을 통 내부에 고정하여 단자대로 삼았다.



컴퓨터에 연결한 USB DAC을 통하여 LM1876 앰프를 물려 놓았다. 좀 나아졌는가? 으음... 잘 모르겠다. 울림 자체가 많은 음악인 류트 연주곡을 틀어놓고 이에 익숙해지려고 노력하고 있다. 만약 팝이나 락을 재생한다면 아마도 잘 어울리지 않을 것이다.


효과가 진정으로 있는 개조였는지 아닌지 알기가 어렵다. 컴퓨터 바탕화면에서 날 지켜보는 스칼렛 조핸슨에게 위로나 받아야 되겠다. 날 노려보는 건가?

"어이~ 스피커는 그만 갖고 놀고 이제 일이나 하시지?"

2018년 2월 18일 일요일

R 코드를 위한 Syntax Highlighting

드디어 Syntax Highlighting을 사용하여 구글 블로거에서 R code를 예쁘게(?) 표현하는 방법을 찾았다. Perl과 Bash에 대해서는 쓰는 방법을 대충 알아낸 상태였었다.

나에게 도움을 준 페이지는 다음의 것이다.

블로거(blogger, blogspot)에서 R code block 추가 및 syntax highlighting

여기에 소개된 방법 중 두번째의 것인 '좀 더 복잡하지만 두고두고 써먹을 수 있는 방법'을 이용하였다. 블로거 테마 메뉴에서 html 소스 코드가 보이게 만든 다음 <\head> 태그 직전에 약간의 코드를 삽입하는 것이었다. 그 다음에는 HTML 모드에서 다음은 실제로 이를 적용하여 작성한 것이다.

a = c("alpha","bravo","charlie","delta")
a[1]

이상하다. 잘 작동하지 않는다. 다음의 것은 어떤가?
a = c("alpha","bravo","charlie","delta") a[1]
흠, 아직도 잘 모르겠다. 위에서 소개한 '두번째의 복잡한 방법'이라는 것은 Alex Gorbatchev가 개발한 Syntax Highlighter는 아니다. 이것은 코드 블록을 둘러싸는 태그의 형태도 약간 다르다.

my $var = 123;
print STDERR $var, "\n";

실제 코드 블록을 둘러싸는 방법은 다음과 같이 하면 된다. 어느 방법을 쓰든 글 작성 중이나 미리보기에서는 최종적으로 어떻게 보이는지 알 수는 없다.


2018년 2월 15일 목요일

무엇이 옳은가

일제 강점기가 끝나고 군정치하에서 남한이 단독으로 정부 수립을 준비할 때 일제에 부역했던 많은 사람들에 대한 청산이 이루어지지 못했음을 우리는 잘 알고 있다. 이러한 불행한 잔재는 지금까지도 고스란히 남아서 한국 사회 곳곳에서 아직 해소되지 않은 갈등의 불씨가 되고 있다. 정부 수립 과정까지의 복잡하고 짧은 기간 동안의 모든 책임을 당시 군정을 책임진 미군에 물을 수는 없을 것이다. 그러나 바로 직전까지 한국을 지배했던 계급을 그대로 이용한다는 것이 미군 입장에서는 효율면에서 가장 적합해 보였었을지도 모른다.

선진국이 후진국이나 개발도상국을 지원하면서 그 나라를 현실적으로 통치하고 있는 독재 정권과 손을 잡은 사례를 우리는 어렵지 않게 찾을 수 있다. 만약 그 나라의 국민 대다수가 고통을 받고 있고 현 독재 정부를 타도하기 위해 투쟁을 하는 조직이 있다고 하자. 그러면 이 국가를 지원하고자 하는 외국은 어느 경로를 통해서 도움을 주어야 하는가? 독재 정권? 지하에서 투쟁하는 조직?

평창 올림픽을 맞아서 모처럼 남북한 사이에 긴장 완화의 기운이 느껴지고 있다. 우리나라를 찾은 북한의 고위급 인사들은 마치 연예인이나 유명인사처럼 언론과 대중의 관심을 받고 있고, 선정적인 취재거리를 찾는 기자들은 어떻게 해서든 뉴스 거리를 만들어내려고 지나칠 정도의 경쟁을 벌이는 듯하다. 분명히 의미가 있는 사건이지만, <'백두혈통' 김여정이 한국에 온다>는 기사 제목은 좀 불편하다.

어떻게 보면 현재 북한을 통치하는 사람들은 북한 민중들의 고달픈 삶에 대한 큰 책임이 있다(이 고통이 모두 미국의 경제재제 때문이라고 주장할 수도 있을 것이지만). 현재 북한의 정권은 반드시 붕괴될 것이고, 또 그렇게 되어야만 한다고 생각하는 사람들은 우리 정부가 북한의 통치 계급과 협조하는 듯한 모습을 보이는 것이 매우 잘못된 것이라고 - 심지어 역사에 죄를 짓는 것이라고 - 강하게 주장한다.

무엇이 옳은지 나도 잘 모르겠다. 한반도의 긴장 완화를 위해서 할 수 있는 다른 대안이 별로 없다고 느껴진다. 고립이냐 대화냐의 두 가지 선택이라는 단순한 문제로 환원시켜 놓고 생각해 본다면 현재의 북한 지도부와 대화를 모색하는 것이 그나마 나은 방법이라는 것이 나의 생각이다.

냉전과 분단 체제가 너무나 오래 지속되다보니 이 현상을 유지함으로 인하여 이익을 얻는 집단의 목소리가 점점 커지는 것도 사실이다. 이는 옳지 않다고 본다. 군사적 긴장감을 완화하고 상호 협력하는 관계로 나아가야만 한다. 어떤 형태의 통일이어야 하는가에 대해서는 많은 고민이 필요하다. 하지만 정치적 통합을 이루기 전에 문화·경제적으로 협력하고 동질감을 찾는 것이 시급하다고 본다.

언젠가 남북이 화해를 하고, 김정은이 과거 6·25 전쟁을 일으킨 것에 대해서 사과를 하게 된다면 정말 좋을 것이다. 그러나 그게 가능할까? 북한에서는 남한이 먼저 북으로 침공한 것으로 국민들을 가르쳐 왔는데...

이영건 선생님이 제작한 6J6 푸시풀 앰프 앰프를 주문하다

소리전자 판매장터의 자작품 장터 게시판을 구경하다가 이영건 선생님께서 올린 소출력 앰프 판매 글을 접하게 되었다. 마침 사무실 책상 앞에서 잔잔하게 음악을 을려줄 TDA7265-LM1876의 뒤를 이을 '세번째'의 앰프를 찾는 중이었고, 기왕이면 진공관 앰프라면 더욱 분위기가 있을 것이라고 생각하고 있었다. 최근에 올린 글(LM1876 앰프 개조, 요즘의 책상-Fi 풍경, JBL FE-M2125 스피커를 얻다)에서 볼 수 있듯이 결코 사치를 부리지 않는 수준에서(내 생각일 뿐) 상당히 다채로운 구성으로 음악을 들으며 일을 하고 있다. 여기에 앰프를 또 추가할 생각을 하는 것이다!

사진 출처: 소리전자.

이영건 선생님이 이번에 제작하여 판매하는 앰프는 쌍삼극관인 6J6 4 개를 이용한 푸시풀 앰프로서 판매 수량은 8 대이다. 레벨 미터가 있는 것과 없는 것이 준비된 상태였는데 밤 늦은 시간에 게시판에 글을 올렸음에도 불구하고 문의가 폭주하여 그 다음날 모두 팔리고 말았다. 나는 운좋게도 글이 올라온 직후에 발견하여 빨리 주문을 할 수 있었다.

최근 수년 동안 진공관 오디오가 다시 조금씩 인기를 얻고 있다. 출력이나 수치로 표현되는 여러 측정치들이 반도체 앰프에 비하여 결코 월등하다고는 할 수 없으나 이를 넘어가는 그 '무엇'이 분명히 존재한다. 무겁고, 가끔 진공관을 교체해야 하고(그렇게 흔한 일은 아니다), 열도 많이 나지만 말이다. 중국에서 제조된 염가의 키트 혹은 완제품을 알리익스프레스와 이베이를 통해 누구나 쉽게 구입할 수 있게 된 것도 이러한 추세에 불을 붙였다. 국내에도 많지는 않지만 진공관 앰프 제작자가 있다. 공장에서 대규모로 만들 수가 없는 물건이라서 큰 규모로 사업을 하기는 어렵겠지만 홈페이지를 구축하여 적극적으로 영업을 하는 사람이 있는가 하면 소리전자 판매장터를 통해서만 꾸준히 판매하는 사람도 있다. 그리고 제조자(판매자)와 소비자가 명확하게 구분되지 않는 것도 진공관 앰프의 특징이다. 자작이 비교적 용이하기 때문이다. 

이영건 선생님은 내가 알기로는 별다른 광고를 하지 않고 순전히 알음알음으로만 자작품 오디오를 팔고 계신다. 소리전자 판매 게시판에 이 선생님이 직접 판매글을 올린 것을 본 것도 이번이 처음이다. 매우 드물게 주문을 받는다는 글을 올려서 성황리에 제작 및 판매가 종료되면 글을 지우시는지도 모른다(근거: 2009년에 작성된 글 '그냥 오디오 잡설'). 이번 6J6 앰프처럼 믿기 어려운 파격적인 가격에 제작품을 판매하셔서 나 같은 사람이 얼떨결에 혜택을 입게 만드시기도 한다. 나의 첫번째 진공관 앰프(14GW8 싱글 엔디드 슈퍼트라이오드결선 앰프)도 이영건 선생님의 작품이었다(글 링크). 그러나 이 선생님이 가격대비 성능이 극도로 우수한 입문자용 진공관 앰프를 주로 만드시는 것은 절대로 아니다. 어찌보면 이것은 주머니 사정이 가벼운 사람을 위한 '선물'과 같은 것이고, 요즘에는 고가품 위주로 작업을 하고 있다고 들었다. 아무튼 나에게 진공관 앰프의 세계를 소개하고 이 선생님과의 인연을 만들어준 친구 K가 늘 고맙다.

나의 첫번째 진공관 앰프(2014년 초 구입).
2018년 3월 3일에 추가한 글: 케이스를 수정하시느라 아직 보내시질 못했다고 한다. 다른 구매자의 것들은 이미 다 발송이 되었다는데... 기다림이 길어지니 기대도 커진다.

2018년 2월 13일 화요일

왜 GenBank에 존재하는 일부 bacterial genome이 RefSeq에는 존재하지 않는가?

요즘 Paenibacillus genus에 속하는 균주의 comparative genomics 분석을 수행하면서 천랩의 EZBioCloud를 많이 참고하고 있다. 여기에서는 GenBank에 공개된 유전체를 가져다가 자체적으로 QC를 실시하여 특정 species로 할당된 genome을 제공한다. 간단하게 설명하자면 type strain(표준 균주)와 ANI 측면에서 같은 종으로 묶이는 자료를 그 종의 카테고리에 실어 놓는 것이다. 비록 GenBank에 제출하면서 부여한 original label이 Paenibacillus polymyxa strain=XYZ라 하여도 EZBioCloud의 QC 결과에 따라서 다른 species candidate(여기에서는 CP000154_s와 같은 'phylotype'으로 취급)에 넣게 되는 일도 벌어진다는 뜻이다.

이 작업을 하는 도중에 GenBank에는 존재하지만 해당되는 자료가 RefSeq에 없는 것을 세 건 발견하였다. 원칙적으로 NCBI에는 assembly accession에서 접두어(GCA: GenBank, GCF: RefSeq)만 달리한 두 레코드가 존재해야 한다. 다음의 자료는 이에 해당하는 RefSeq 자료가 없다. 아래에 표시한 것은 GenBank assembly에 대한 링크이다. 여기를 클릭해 들어가면 왜 그러한지를 짐작할 수 있다.

https://www.ncbi.nlm.nih.gov/assembly/GCA_001447315.1
Excluded from RefSeq:
  • many frameshifted proteins
RefSeq assembly accession: 
n/a


https://www.ncbi.nlm.nih.gov/assembly/GCA_001874405.2

RefSeq assembly accession: 
GCF_001874405.1 (suppressed)

https://www.ncbi.nlm.nih.gov/assembly/GCA_001874425.2
RefSeq assembly accession: 
GCF_001874425.2 (suppressed)

뒤의 두 자료는 단지 'suppressed'라고만 적혀있다. 어떤 자료가 suppress될 운명에 처하는 것일까? Prokaryotic RefSeq Genome Re-annotation Project에 그 설명이 있었다.

Suppressed genomes: Several hundred RefSeq bacterial genomes that did not pass assembly or annotation quality validation have been suppressed. An FTP report file listing the most recent suppressions will be provided soon in the RefSeq FTP site.

RefSeq FAQ 페이지에서도 상세한 설명을 볼 수 있다. Suppressed accession에 대한 상세한 정보는 두 달에 한번 배포되는 RefSeq release(2018년 2월 현재 release86)의 README 파일을 참조하라. NCBI의 자료를 편하게 다운로드하여 쓸 생각만 했지 accession이 바뀌거나 사라진(임시 혹은 영구적) 경우까지 감안해야 할 줄은 몰랐다. 제출자에 의한 update 이상의 일이 벌어지고 있음을 비로소 깨닫게 되었다.

2018년 2월 11일 일요일

독서 기록 - [착한 기부 나쁜 기부] 외 다섯 권

약 2주 간격으로 지역 도서관에서 책을 빌려서 열심히 읽고 주말 저녁에는 컴퓨터 앞에 앉아서 독서 기록을 적는다. 주로 책을 빌려온 주에 집중해서 거의 다 읽어버리고 나머지 한 주는 잘 읽히지 않는 책을 붙들고 씨름을 한다. 요즘은 일부러 소설을 읽으려고 애를 쓰지만 항상 우선 순위에서 뒤로 밀린다. 이번에 빌린 책 일곱 권 중에서 SF 작가 필립 K. 딕의 단편소설집은 아직 1/3도 읽지 못했다.

이번 주는 지력(智力)이 달려서 그런지 주말을 맞아서는 전혀 지적인 일을 하지 않았고, 독서 기록을 쓰는 것도 왠지 버겁게 느껴진다. '읽는 것만 즐기고 기록은 하지 말까?'하는 간사한 생각이 잠시 머리를 스쳐 지나가지만 책을 반납하기 전에 포스트잇을 끼워둔 쪽을 다시 살피면서 짧게라도 기록을 하지 않으면 머릿속에 남는 것이 없다는 생각에 다시 생각을 다잡아 본다.


(인도주의의 눈으로 바라본) 착한 기부 나쁜 기부


신상문 지음. 기부가 항상 착한 것만은 아니며 인도주의적 시각을 함양하는 것이 필요하다. 각종 매체를 통해서 어려운 형편에 놓인 사람들이 소개되고, 월 몇만원이면 바로 그 사람이 수혜자가 된다는 기부 독려 광고를 요즘 많이 보게 된다. 이 광고는 기부자를 불러모으는 데에는 꽤 효과가 좋지만 어떤 면에서는 역효과를 불러 일으킨다. 왜냐하면 노출된 직접적 수혜자는 그 가족 혹은 집단에서 단순한 수입원으로 취급될 수도 있기 때문이다. 또 다른 문제는 '꼴찌의 함정'이다. 가장 어려운 대상을 선정하여 돕게 되면 그 대상자는 꼴찌를 면하게 되지만 결국 또 다른 새로운 꼴찌가 나타나게 된다. 지역사회의 동의와 공감이 없이 기부가 이루어지면 이런 문제가 생길 수 있다. 
신영복은 머리 좋은 것이 마음 좋은 것만 못하고, 마음 좋은 것이 손 좋은 것만 못하고, 손 좋은 것이 발 좋은 것만 못하다고 하였다. 관찰보다는 애정이, 애정보다는 실천적 연대가, 실천적 연대보다는 입장의 동일함이 더욱 중요하고, 입장의 동일함 그것은 관계의 최고 형태라는 것이다... 기부는 일방향의 행위가 아니라 쌍방향의 교류이고, 목적 자체는 동일함을 지향해야 한다(75쪽).
기부금을 받아 그것을 여러가지의 형태로 전달하는 과정에서는 비용이 든다. 그런데 기부자의 입장에서는 어떤 지역, 어떤 목적에 딱 맞추어서 자기가 기부한 돈이 그대로 전달되기를 바라고, 이미지 개선이나 세제 혜택에 좀 더 관심이 많은 기업 또는 단체의 경우 이러한 입장을 강하게 고수하려 한다. 그러면 특정히 사용처를 지정하지 않은 기부자들의 돈이 운영비로 주로 들어가거나, 혹은 그런 용도의 매칭 기부자를 대리 기관이 만들어야 하는 불합리한 일이 벌어지기도 한다. 이는 내가 이 책을 읽기 전에는 전혀 알지 못하던 것이다. 또한 우리가 도와주려는 지역이 지금 우리의 기준에서 낙후되어 있으니 문명화를 시켜야 한다는 생각을 버려야 한다. 이 문제에 대해서는 저자가 소해한 조현범의 [문명과 야만: 타자의 시선으로 바라본 19세기 조선]이라는 책을 다음 기회에 읽어보아야 되겠다. 기부자는 익명성과 무대가성을, 대리기관은 전문성과 투명성을, 수혜자는 자립과 역량강화에 힘써야 인도주의에 입각한 올바른 기부 문화가 형성될 것이다.

세계화와 그 불만(부제: 전세계은행 부총재 스티글리츠의 세계화 비판)

조지프 스티글리츠 지음/송철복 옮김

노예의 길(부제: 사회주의 계획경제의 진실)

프리드리히 A. 하이에크 지음/김이석 옮김

두 책은 서로 상반된 내용을 다룬 책이다. 스티글리츠는 새'케인즈학파'의 경제학자이고, 그보다 앞세대의 사람인 하이에크는 케인즈와 치열한 대립 관계에 있던 자유주의적 경제학자이다. 두 저자 전부 노벨 경제학자를 받은 석학이기도 하다. 하이에크가 이 책을 출판했던 1944년의 시대적 상황을 이해할 필요가 있다. 그에게는 전쟁으로 이어진 실수를 피하는 것이 가장 중요했다. 당시 독일은 사회민주주의를 표방하면서 국가 체제를 일사불란하게 가동하고 있었고, 독일과 대결 중이었던 영국에서도 이러한 사회주의적인 이상에 대한 인기가 높아가는 것을 막아야 하겠다는 것이 그의 신념이었다. 즉, 전시라는 특수한 상황에서 조직화된 사회·경제 체제를 평화시에도 도입하는 것이 바람직할 것이라는 기대가 퍼지는 것을 크게 우려했던 것이다. 하이에크는 개인의 자유를 위한 정책이 유일한 진보적 정책이라는 것을 일관되게 주장하고 있다. 독점, 계획 경제(명령 경제)는 불합리하다. 개인주의는 이기주의와는 다르다. 개인주의 입장의 본질은 바로 개인을 자기 자신의 목적에 대한 최종적 재판관으로 인식하라는 것이다. 이 책은 개인적으로 대단히 읽기 힘들었다. 번역이 너무 딱딱했기 때문이다. 원작의 표현을 지나치게 직역한 데서 온 문제라고 생각한다.

먼저 짚어보아야 할 것은 우리가 '자유'라고 번역하는 단어는 freedom과 liberty로 분명히 나뉘며 그 뜻도 다르다는 점이다(Freedom과 Liberty의 차이를 아시나요?). 자유주의, 신자유주의, 자유민주주의의 '자유'는 liberty이지만 우리나라에는 유독 freedom(억압과 속박이 없는 상태)의 뜻으로 자의적으로 해석되어 왔다. 이에 대해서는 나중에 좀 더 공부를 할 필요를 느낀다. 민족이라는 단어에 대해서도 나중에 기회가 되면 좀 더 알아볼 생각이다.

개인이나 단체가 자유롭게 경제적 행위를 하는 것이 큰 범주에서는 세계화 또는 자유화로 불릴 수 있을 것이다. 이것이 개발도상국의 어려운 처지에 있는 사람들을 풍요롭게 만드는 잠재력이 있다고 많은 사람들은 믿는다. 하이에크가 믿은 대로 세상이 돌아갔다면 스티글리츠의 책은 나오지 않았을 것이다. 하지만 지극히 예외적인 국가를 제외하면 국가간의 장벽을 제거하는데 노력했던 여러 국제무역협정, 그리고 세계화 진행을 위해 개발도상국에게 가해졌던 정책이 오히려 이들 국가를 황폐하게 한 현실을 바로 보아야 한다. 저자는 다음과 같은 사항에서 개혁이 필요함을 주장하였다.

  1. 자본시장 자유화의 위험 인정
  2. 파산개혁과 지불정지
  3. 구제금융에 대한 의존 축소
  4. 은행규제의 개선
  5. 위험관리 개선
  6. 안전망의 개선
  7. 위기관리 개선

성장 없는 번영(부제: 협동조합과 사회적 경제를 위한 생태거시경제학의 탄생)


팀 잭슨 지음, 전광철 옮김. 이번에 읽은 책들은 굴곡진 현대사를 살아오면서 우리의 마음 속에 자리잡은 고정관념에 대한 심각한 질문을 던지는 것이 많았다. 네번째 책도 그러하다. 경제적 성장이란 그 누구도 부정할 수 없는, 어느 사회도 의심할 여지 없이 반드시 추구해야 할 목표라고 누구나 당연하게 생각해 왔다. 조지프 슘페터는 경제적 성장을 촉진하려면 혁신 과정, 즉 신상품('창조적 파괴')이 필수적이라고 하였다. 궁극적으로, 성공적인 기업조차 단지 비용 최소화를 통해서는 살아남을 수 없다는 것이다. 더글러스 부스가 말했듯이 '신상품과 지위 추구형 소비자와 독점 추구형 기업가는 서로 뒤얽히며 장기적인 경제성장의 토대를 구축'한다고도 하였다. 신상품에 대한 욕구는 소비주의 사회논리를 강화 → 소비주의 사회논리는 다시 신상품에 대한 욕구를 강화시키는 무한 사이클이 지금까지 경제성장을 부추겨왔다.

하지만 자원은 유한하다. 세계 인구가 90억 명이 되는 시점에 모두가 OECD 국가에서 기대하는 만큼의 풍요로움에 도달한다면 , 2050년까지 지금보다 15배 이상, 금세기말에 가서는 40배 이상의 경제 규모가 되어야 한다는 것이다. 이것이 과연 가능할까?  새 시대를 주도할 새로운 경제 파라다임이 필요한 시점이 되었다. 새로운 경제에서는 다음과 같은 특징 때문에 성장 속도가 둔화될 것임을 예측하였다.
  1. 생태 한계의 부과
  2. 경제가 서비스 기반 활동으로 구조적 이행을 하면서 지금까지의 생산성 향상 속도가 근본적으로 지속가능하지 않음
  3. 생태투자가 실행된 부분으로 상당한 규모의 자원이 이동
결론적으로 새로운 경제에서는 다음과 같은 거시경제 정책이 필요하다는 결론을 내리고 있다.
  1. 서비스 기반 활동으로의 구조적 이행
  2. 생태적 자산에 대한 투자
  3. 안정화 메커니즘으로서의 노동시간 정책
이 책은 좌파적 경제학자가 개인 의견을 전제로 쓴 책이 아니다. 영국의 지속가능개발위원회가 지속가능성과 경제성장 사이의 관계에 대해 진행한 연구의 결산에 해당한다. 부록에 의하면 이 연구는 위원회가 '번영 다시 정의하기'를 출간한 2003년에 착수되었다고 한다. 우리 정부가 한국형 녹색 뉴딜을 내세워서 전국적인 삽질을 시작한 4대강 사업을 시작한 것이 2008년이었다. 반면 영국 지속가능위원회에서는 2009년에 <성장 없는 번영> 보고서를 출간하였다. 우리가 삽질을 하는 동안, 영국에서는 번영을 다시 정의하고('Redefining Prosperity') 경제적 영향을 줄이며 구조에 맞서고 잘 사는(물질이 아닌 정신적 만족) 문제를 다루고 토론했던 것이다.

지성만이 무기다(부제: 읽기에서 시작하는 어른들의 공부법)


시라토리 하루히코 지음/김해용 옮김. 성인이 독서를 통해서 공부하는 방법을 설명한 책이다. 단순히 교양을 쌓거나 시험에 통과하기 위한 공부가 아니라 지성을 갖춘 인간이 되기 위하여 공부하는 방법을 다루는 것이다. 이를 위해서 가장 강력한 무기는 바로 '독서'이다.  하지만 쇼펜하우어는 이렇게 말했다 한다.
독서에만 전념하는 한, 사실 우리의 머리는 타인의 사상이 뛰노는 운동장에 불과하다. 그 때문에 거의 통째로 하루를 다독에 허비하는 부지런한 사람은 스스로 생각하는 힘을 잃어간다(131쪽).
그러면 어떻게 해야 하는가? 다양한 종류의 책을 두루 섭렵하면서 특정 책의 논리를 곧이곧대로 받아들이지 않도록 해야 한다. 세상의 평가 기준을 자신의 평가 기준으로 삼지 말고, 사회성 편중의 압력에 굴복하지 말아라. 그리고 연구비를 받으면서 전문이라는 '가늘고 긴 구멍'속에서 여유있게 사는 소위 전문가가 되지 말고 - 현대는 전문가라는 것이 학자로서의 장사 도구가 되었다 - 구멍 밖의 밝은 지표에 있는 제너럴리스트가 되어라.

그럼 무엇을 배워야 할까? 외국어, 철학사상, 그리고 종교에서 시작하라. 그리고 공부에는 절대적으로 시간이 필요하다. 시간을 어떻게 늘릴까? 좀 과격하지만 저자는 다음과 같이 주장하였다. (1) 취미를 버려라. (2) 망상을 버려라. (3) 시간 계획을 세우지 않는다. 심지어 주변 관계와의 일시적 격리(일주일 중 주말 이틀 동안이라도)라는 결단이 필요할 수도 있다.

하마터면 깨달을 뻔(부제: 인지심리학자가 본 에고의 진실게임)


크리스 나이바우어 지음/김윤종 옮김. 원제는 <신경증 환자를 위한 깨달음 회피하기 지침서(The Neurotic's Guide to Avoiding Enlightment)>이다. 표지에는 참선 중인 부처가 한쪽 눈만 감은 채 다른쪽 눈을 빤히 뜨고 있는 모습을 우스꽝스럽게 그려 놓았다. 마음을 통제해서 무엇인가를 이루고자 하는 것은 애초에 불가능하다. 좌뇌라는 해석기가 얼마나 기만적인지를 보여주는 60년대 마이클 가자니가(Michael Gazzaniga)의 연구를 소개하는 것으로 이 책은 시작한다. 정상인의 좌뇌와 우뇌는 뇌교(pons)라는 신경섬유 다발로 연결되어 있다. 만약 이를 절단할 경우 두 반구는 서로 독립적으로 작동한다. 왼쪽 눈을 비롯하여 신체 왼쪽을 통하는 모든 입출력은 우뇌로 연결되고, 나머지 절반은 반대이다. 하지만 정상인에게서는 뇌가 하나의 전체적인 그림으로 정보를 처리하기 때문에 이처럼 반씩 나뉘는 과정은 전혀 느껴지지 않는다. 가자니가 박사는 뇌교를 부득이하게 절단한 'split brain' 환자에게 좌뇌로는 닭발을, 우뇌로는 눈이 덮인 경치를 각각 보게 하였다. 그리고 본인이 보았던 영상에 가장 부합하는 그림을 고르도록 하였다. 우뇌는 (왼손을 사용하여) 눈 치우는 삽을, 좌뇌는 (오른손을 이용하여) 닭의 그림을 골랐다. 여기까지만 본다면 뇌의 각 반구는 자기가 입수한 초기의 시각적 정보에 충실한 두번째 그림을 고른 셈이다. 그런데 이 환자에게 아주 단순한 질문을 던졌다. "당신의 왼손은 왜 삽을 골랐나요?" 언어중추는 좌뇌에 속하는 기능이다.

(정직한 좌뇌라면) 어, 글쎄요. 우뇌랑 이야기한지 너무 오래 되어서 왜 우뇌가 그런 선택을 했는지 모르겠네요.
(실제 대답) 오, 그건 간단하죠. 닭발은 당연히 닭과 연관이 있고요. 삽은 닭똥을 치울 때 쓰는 거니까 역시 닭과 연관이 있지요.

좌뇌의 대답은 실제 상황과는 매우 다르다. 그러나 매우 그럴싸한 설명을 만들어내는 '해석기' 역할을 하고 있는 것이다. 모든 문제는 여기에서 시작된다. 자아를 찾고 깨달음을 얻고자 하는 노력은 어차피 부질없는 일이다. 저자는 이러한 노력이 덧없음을 누누이 지적해 왔고, 이를 반-자기계발 운동(anti-self-help movement)라 부르고 싶어한다.
오직 좌뇌만이 규칙을 필요로 한다. 에고적 마음에 투자할수록 더 많은 규칙이 필요해지고, 그로 인해 우리는 더 점점 피곤해진다. 반면 에고적 마음의 규칙을 줄이면 규칙의 필요성도 함께 감소한다(271쪽).
해석하는 마음, 그리고 그로부터 발생하는  모든 괴로움의 면면은 단순히 본연의 모습이 아닌 척하고 있는 우주일 뿐이고, 대립성 법칙에 따라 작동하는 좌뇌는 이 놀이를 위해 설치된 것이다. 겉으로 보기는 우주의 유순하고 자애로운 드라마와 그 배후에 있는 우주의 장난기 넘치고 악동 같은 본성은 서로 조화를 이루고 있다(275쪽).
에크하르트 톨레(Eckhart Tolle)와 앨런 왓츠(Alan Watts)라는 새로운 인물을 알게 되었다. 다음번 읽을 책을 고를 때 참고해야 되겠다. 그리고 '자아'에 대한 공부를 곁들여서.