2025년 2월 25일 화요일

GTDB-Tk의 reference database를 release 220으로 업데이트한 뒤 발생하는 'Reference genome missing from FastANI database' 에러 해결하기

GTDB-Tk의 배포용 최신판에는 r202_v2 레퍼런스 데이터베이스가 포함되어 있다(혹은 '있었다?'). 최소한 내가 지난 1월에 Bioconda를 이용하여 이를 설치할 때에는 그러하였다. 최근에 공개된 미생물 표준균주의 유전체는 여기에 반영이 되어 있지 않을 것 같아서 레퍼런스 DB를 최신 버전인 r220으로 업데이트한 뒤 재분석을 실행하니 다음과 같은 에러가 발생하였다.

[2025-02-25 08:40:48] ERROR: Reference genome missing from FastANI database: /data/gtdb/release220/fastani/database/GCF/004/000/985/GCF_004000985.1_genomic.fna.gz

데이터베이스가 설치된 곳(/data/gtdb/release220/)을 확인해 보니 fastani라는 디렉토리 자체가 없다. 패키지에 포함된 download-db.sh 스트립트를 이용하여 무려 두 차례나 재설치 후 분석을 시도했으나 마찬가지였다. 데이터를 받는데 하루 종일 걸렸는데 이게 무슨 일이람... GTDB 데이터베이스 최신판의 풀 패키지는 여기에 있다(r220의 파일 크기는 101.04 GB). 만약 파일이 전송되다가 불완전한 상태로 끊겼다면 다운로드 후 설치 및 환경 설정까지 담당하는는 download-db.sh 스크립트가 정상 종료될리가 없다.

r202_v2의 설치 경로 아래에는 분명히 62 GB나 되는 fastani라는 디렉토리가 있었다. r220은 도대체 뭐가 다른가... 다시 한 번 살펴보니 디렉토리 구조가 조금 다르다. r220에는 r202_v2에는 없었던 skani라는 디렉토리가 있었다. 그 아래에 다시 database가 있고, 하위 구조를 보아하니 이 상태 그대로 fastani 하위에 심볼릭 링크를 만들면 될 것 같았다. 

이와 같이 나름대로 조치를 취한 뒤 다시 GTDB-Tk 분석을 실시하였다. 잘 돌아간다! 최종 결과 파일인 gtdbtk.bac120.summary.tsv가 무사히 생성되었다.

레퍼런스 데이터베이스의 구조가 바뀌었으면 제대로 알려 주었어야 하는 것 아닌가! 현재 설치용 배포판으로 제공하는 GTDB-Tk v2.1.1에서는 skani를 사용하기 전에 개발된 것으로 추측된다. 최신 버전은 v2.4.0인데 비교적 최근에 설치를 한 나는 왜 v2.1.1이란 말인가. 조만간 GTDB-Tk도 v2.4.0으로 업데이트를 해야 되겠다.

GitHub에 가 보니 FastANI가 skani로 대체되었다는 공지가 있었다. 개발자는 자기 할 일을 다 하고 있었는데 나만 몰랐다.

✨ New Features

GTDB-Tk v2.4.0+ includes the following new features:

  • FastANI has been replaced by skani as the primary tool for computing Average Nucleotide Identity (ANI).Users may notice slight variations in the results compared to those obtained using FastANI.

skani는 도대체 무엇인가? FastANI의 뒤를 이을 고속 분석법인가? 그렇다! 대량의 metagenome-assembled genome(MAG)을 상호 비교할 일이 많아지면서 기존의 FastANI도 느리다도 느껴지는 시대가 되었다. 특히 ANI 계산은 contamination과 incompleteness에 대하여 취약하다. skani는 단편 상태의 불완전한 MAG를 비교함에 있어서 FastANI보다 20배 이상 빠르며, 더욱 정확하다고 한다.

조금만 손 놓고 있으면 이렇게 최신 동향을 놓치게 된다. Announcements를 제대로 챙겨 보았다면 내가 설치한 GTDB-Tk 자체의 버전(2.1.0, 2022년 5월 11일)이 너무 옛날 것이라는 것을 알게 될 것이다. 늘 깨어 있으라! 현잰ㄴ 2024년 4월 24일에 배포된 2.4.0이 통용되고 있다.


2025년 2월 27일 업데이트

나의 두 눈으로 똑똑히 보고 말았다.... GTDB-Tk 공식 문서의 Bioconda를 통한 설치 관련 항목(링크)에 어떤 내용이 있었는지를...





2025년 2월 24일 월요일

k-mer 분석 프로그램인 jellyfish를 미련하게 쓰고 있었다

khmer, jellyfish, KAT... NGS read로부터 k-mer 분석을 할 때 내가 즐겨 사용하는 프로그램들이다. 초창기에는 khmer를 즐겨 사용했었다. 이 프로그램은 특히 k-mer에 대해 어떤 기준을 적용하여 필터링을 할 수 있다. 그러나 모든 작업에서 이렇게 데이터를 잘라내는 '침습적' 조작을 필요로 하지는 않는다. 요즘은 khmer의 핵심 프로그램보다는 부속 파이썬 스크립트를 쓰는 일이 많다. 예를 들어 readstats.py나 interleave-reads.py 같은 것.

그다지 크지 않은 데이터셋에 대해서 간편하게 k-mer abundance 분석을 하려면 jellyfish가 더 편리하다. 최근 K-BDS에 등록할 '묵은지와 같은' 옛날 NGS 데이터(일루미나 HiSeq 2000)을 재정비하다가 jellyfish를 아주 무식하게 쓰고 있다는 것을 깨달았다. 사실 Getting started 문서만 제대로 읽었어도 이런 비효율적인 일은 하지 않았을 것이다. 이 비효율적인 실행 방식은 몇 년이나 작동하고 있었다. 이 모든 실수는 게놈 고물상 영업을 개시하면서 비로소 드러난 것이다.

k-mer spectrum을 시각화하려면 'jellyfish count'로 k-mer를 센 뒤, 'jellyfish histo'로 히스토그램을 만든 다음 gnuplot으로 적당히 그림을 그리면 된다. 그런데 미련하게도 첫 명령어에서 산출된 파일에 대하여 'jellyfish dump'로 모든 k-mer의 수를 수록한 텍스트 파일을 뽑은 뒤 다시 여기에서 awk/uniq/sort 조합으로 히스토그램을 만들고 있었으니... 물론 이것도 나의 순수한 창작은 아니고 인터넷 어디선가 검색을 통해서 알아낸 것이었다. 이 미련한 한 줄 스크립트는 아래와 같다. SAMPLE.kmer21.txt는 'jellyfish count'의 결과 파일이다.

awk ‘{print $2}’ SAMPLE.kmer21.txt | sort -n | uniq -c | awk ‘{print $2 "," $1}' > SAMPLE.jf.hist

텍스트 파일 덤프는 정말 쓸데없는 일이었다. 처음부터 히스토그램을 뽑아내면 되는 것이었다. Fwd 및 rev read를 하나로 합쳐서 interleaved fastq file(*.pe.fq)을 만들어 놓은 다음 k-mer abundance plot을 그리는 방법을 알아보자. jellyfish 명령어로 21-mer를 세어서 히스토그램을 만든 뒤 gnuplot에서 플로팅하는 전체 명령어를 다음과 같이 재정비해 보았다. 

for x in *pe.fq
do
  echo Processing $x...
  x=${x%%.pe.fq}
  jellyfish count -m 21 -s 100M -t 12 -C $x.pe.fq -o $x.counts.jf
  jellyfish histo -o $x.jf.hist $x.counts.jf
  echo Running gnuplot...
  echo set term png > $x.jf.gp
  echo set output \"$x.jf.png\" >> $x.jf.gp
  echo set logscale x >> $x.jf.gp
  echo set logscale y >> $x.jf.gp
  echo set grid >> $x.jf.gp
  echo set xlabel \"21-mer frequency\" >> $x.jf.gp
  echo set ylabel \"number of distinct 21-mer\" >> $x.jf.gp
  echo set key off >> $x.jf.gp
  echo set title \"$x\" >> $x.jf.gp
  echo plot \"$x.jf.hist\" using 1:2 with lines >> $x.jf.gp
  gnuplot $x.jf.gp
done

실행을 마치면 *.jf.png라는 파일이 생겨날 것이다. 히스토그램 파일의 필드 구분자가 만약 콤마인 경우에는 'echo set datafile separator \“,\” » $x.jf.gp'라는 줄이 'echo plot...' 전에 들어가야 한다. 

히스토그램 파일을 넣어주면 분석 그림을 그려주는 GenomeScope라는 웹서비스도 있었다. 2020년에 Nature Communitations에 발표된 논문 제목은 'GenomeScope 2.0 and Smudgeplot for reference-free profiling of polyploid genomes'. 교싲신저자인 M.C. Schatz의 이름이 아주 낯이 익다. 어디서 봤더라... 논문 목록을 훑어보다가 'Hawkeye and AMOS'라는 2011년도 논문(링크)을 찾아냈다. 내 블로그에도 몇 차례 언급되었던 소프트웨어이고 사용했던 경험도 있다. 

2025년 2월 23일 일요일

작업 과정을 보여주는 친절한 ChatGPT - '미생물의 유전체 분석을 위한 universal single-copy gene과 관련한 연구 역사를 정리해 줘'

어떤 연구자 그룹에서 발표한 성과물이 어떤 시간 순서대로 나왔는지 알고 싶어서 ChatGPT에게 질문을 던졌다. PubMed에서 조금만 검색을 해 보면 될 일이지만, 어차피 유료로 사용하는 ChatGPT를 이런 목적으로라도 써야 하지 않겠는가. 질문은 다음과 같았다.

UCSD의 Jonathan A. Eisen이 PhyloSift와 AMPHORA, AMPHORA 2를 언제 논문으로 발표했는지 알려줘. 논문 URL도 같이 보여줘.

참고로 amphora는 고대 그리스와 로마 시대에 널리 쓰이던 길쭉한 항아리로, 두 개의 손잡이가 달렸다(위키피디아).

뉴욕 메트로폴리탄 박물관('The MET') 소장품인 Terracotta Nolan amphora(링크). 이 박물관의 소장품 사진 대부분은 자유롭게 복사, 변형, 재배포가 가능하다. 심지어 상업적 용도라 하더라도! 


조금 기다리고 있으면 최종 답변이 나올 것으로 기대하였다. 그런데 화면에서는 현재 ChatGPT가 어떤 궁리를 하면서 내가 던진 질문에 대한 답변을 준비하는지를 보여주기 시작하였다. 내가 제출한 질문을 먼저 확인하고, 정보를 찾은 뒤, 나름대로 논리적 전개를 하여 종합한 다음 마지막으로 점검하는 과정까지 친절하게 보여주는 것이었다. 예전보다는 분명히 더욱 영리해졌다. 작업 화면을 녹화하여 동영상을 만들어 보았다. 중간에 기다리는 시간이 있어서 약간 지루하게 느껴질 수도 있겠다.


이 동영상의 초기 버전을 내 유튜브 채널에 올렸다가 다시 내렸다. 정보량이 그렇게 많은 유용한 동영상은 아니라는 생각이 들었기 때문이다. ChatGPT의 최종 답변은 다음과 같았다. 위에서 보여준 중간 처리 과정과 관련한 메시지는 사라지지 않았다. 다음의 답변 맨 위에 나오는 '1m 44s 동안 이성 처리 완료'를 ChatGPT내에서 클릭하면 '이성 처리의 과정'이 다시 화면에 펼쳐져 나온다. 물론 이 블로그에서는 클릭을 해 봐야 소용이 없다.

다음은 Jonathan A. Eisen 교수 연구실과 밀접하게 관련된 세 가지 도구에 대한 논문 정보입니다.


1. PhyloSift

이 논문은 PhyloSift를 소개하며, 다양한 게놈 및 메타게놈 데이터를 이용해 계통분석을 수행하는 방법을 설명합니다.


2. AMPHORA

비록 이 원 논문의 저자 목록에는 Wu, Y.-W., Simmons, B.A. 그리고 Singer, S.W.가 포함되어 있으며 Eisen 교수의 이름은 없지만, 해당 도구는 Eisen 교수 연구실이 주도한 계통분석 연구와 밀접한 관련이 있습니다.


3. AMPHORA2

이 논문에서는 AMPHORA의 개선판인 AMPHORA2를 소개하며, 미생물 게놈의 계통분석을 위한 자동화된 파이프라인을 제시하고 있습니다. 이 논문에는 Wu, Y.-W., Simmons, B.A.와 함께 Eisen 교수도 공저자로 포함되어 있습니다.


이와 같이 Eisen 교수 연구실에서는 2009년(AMPHORA)과 2013년(PhyloSift 및 AMPHORA2)에 관련 논문을 발표하였습니다. 

이 정도로 정보를 처리할 정도라면, 한 사람의 생애를 정리하여 전기나 연대기를 만드는 것도 어렵지 않아 보인다. '이성 처리'는 rational processing 또는 logical reasoning을 의미하는 것으로 보인다.

오늘 Eisen의 논문을 다시 찾아보게 된 것은 오랜만에 약 160건의 미생물 유전체를 아우르는 phylogenetic tree를 그리기 위함이었다. 5년쯤 전까지만 해도 PhyloSift를 종종 사용하였었는데, marker gene set 다운로드 링크가 더 이상 유효하지 않다. 전에 사용하던 낡은 서버에서 프로그램을 되살릴 수는 있었지만, 보다 최신의 연구 동향 및 도구가 궁금하던 차에 다른 논문을 뒤져보다가 서론 부분에서 Eisen 그룹의 연구 내용이 소개되어서 반가운 마음에 ChatGPT 신세를 좀 져 본 것이었다.

오늘 찾아본 두 편의 논문은 다음과 같다.

A revisit to universal single-copy genes in bacterial genomes - Scientific Reports 2022.

VBCG: 20 validated bacterial core genes for phylogenomic analysis with high fidelity and resolution - BMC Microbiome 2023.

첫 번째 논문은 잘 알려진 일곱 가지의 universal single-copy gene(USCG)를 평가한 것이다. 따라서 새로운 마커 유전자를 제시하거나 여러 유전체 염기서열로부터 이를 찾아내는 파이프라인을 제시하지는 않았다. 두 번째 논문(VBCG)에서 GitHub에 공개한 응용프로그램(링크)이 매우 유용해 보인다. 

두 논문의 서론 부분만 제대로 읽어도 이 분야의 연구 동향을 알아내기에 충분하다. 물론 세상에는 더 많은 마커 유전자 세트가 존재한다. 아직 두 논문을 철저하게 소화한 것은 아니지만, proGenomes database(v3 링크)에서 사용한 40개의 universal, single-copy phylogenetic marker gene("specI", Nature Methods 2013)을 언급한 것 같지는 않다. proGenomes와 specI는 Peer Bork이 이끄는 EMBL-Heidelberg에서 주도한 것으로 알고 있다. specI는 2017년에 내 블로그에서 조금 다루었었다(쉽게 쓴 원핵생물의 종 동정 이야기). proGenome v2에서 사용한 classifier는 GitHub에서 공개하고 있다(링크). phyloSift에 대한 글은 내 블로그에서 꽤 많이 작성해 놓았기에 여기에 전부 링크를 달 수는 없다. 한국에서 개발한 UBCG(up-to-date bacterial core gene set, v2)를 빼놓으면 섭섭할 것 같다.

시대가 변했으니 나도 좀 더 편리한 도구인 VBCG로 옮겨갈 때가 되었다고 본다. 실제로 설치 후 활용해 보니 매우 빠르다. 이따금 ezTree를 사용할 때도 있다. 이 프로그램은 정해진 적은 수의 marker gene set을 쓰는 것이 아니고 PFAM HMM library에 대해 query genome을 다 뒤진 뒤 공통적인 것만 걸러내는 스타일이라서 시간이 많이 걸린다.

올해 들어서 열 번 가까이 실행하고 있는 GTDB-Tk에서도 universal marker gene을 사용한다(설명 링크). 갑자기 공부할 것이 많아졌다!

2025년 2월 22일 토요일

달리는 거리를 8 km로 늘여 보았다

작년에 달리기를 처음 시작할 때의 목표는 딱 30분, 또는 5 km 정도를 지속적으로 뛰는 것이었다. 사실 이 두 개의 목표 수치는 서로 잘 맞지 않는다. 그러려면 6분 페이스를 맞추어야 하는데, 아직 내 페이스는 6분 25초 정도에 불과하기 때문이다.

요즘은 하루에 달리는 거리를 조금씩 늘려 나가고 있다. 5 km로 끝내는 날은 거의 없다. 이번 주의 세 차례 달리기에서는 7 km를 한 번, 8 km를 두 번 달려 보았다.

2월의 달리기 기록, 노란색 원은 7 km, 빨간색 원은 8 km를 달린 날이다. 

최근 6회의 달리기(7 km 4회, 8 km 2회)에서는 케이던스와 페이스도 매우 안정적으로 유지되는 편이다. 예전에는 달리기 후반부로 갈수록 속도가 떨어지는 것이 확연히 드러났었다. 어제는 오랜만에 레드미 워치를 차고 심박수를 측정해 보았다. 165 bpm을 넘겨서 경고가 발생하는 일도 없었다. 몇 달에 걸쳐서 매우 점진적인 수준이나마 개선이 이루어진 것은 분명하다. 확실히 숨은 과거보더 덜 차게 느껴진다.





8 km 달리기의 단점은 시간이 오래 걸린다는 것이다. 집을 나섰다가 돌아오는 시간을 전부 따지면 한 시간을 넘기기 쉽다. 평생 이렇게 지속적으로 시간을 투자해서 무엇인가를 해 본 일이 있었던가? 만약 같은 시간을 어학에 투자했다면? 악기를 연습하거나 레슨을 받는데 투자했다면? 논문을 읽었다면?

일주일에 세 번을 뛴다면 1~2회는 8 km를 채우는 것을 목표로 해야 되겠다. 페이스는 현 수준으로 유지하면서 몸을 적응시켜 나가는 것이 필요하다. 그러다가 7분 이내 페이스로 10 km를 뛰는 날을 하나 둘 만들어 나가면 되지 않을까? 가끔 검색을 해 보면 매일 10 km를 달리는 사람의 경험담을 읽을 수 있는데, 나에게 그런 일이 일어날 것이라고는 생각하지 않는다. 

올해의 목표는 단순하다. 기록 같은 것에 연연하지 않고 이따금 10 km를 달릴 수 있는 몸을 만드는 것, 그리고 평소에는 이틀에 한 번 간격으로 7~8 km를 달리되 6분 25초 이내의 페이스를 유지하는 것. 마지막으로 다치지 않는 것.


[업데이트] 8 km 달린 다음날의 부작용 

하루 종일 졸음이 쏟아짐. 주말이었기에 망정이지...

2025년 2월 19일 수요일

맥키 오닉스 프로듀서(Mackie Onyx Producer) 2•2를 기다리며

내가 쓰는 음악 장비는 대부분 중고, 리퍼비시, 반품 등의 사연으로 인해 할인하여 파는 것을 구입한 것이다. 지금까지 주력으로 사용해 왔던 오디오 인터페이스 역시 그러하다. Behringer U-Phoria UM2를 2023년 여름에 구입하여 녹음용으로 써 왔다.

음율의 <파도혁명> 베이스 파트를 맹렬히 연습하는 중이다. 이러한 스타일의 최신곡이 50대 초보 베이시스트의 '갬성'을 적시는 데에는 상당한 시간이 걸렸다.

구입가를 생각한다면 성능에 대해서 불만을 갖지 말아야 한다. 잡음 수준도 입문용 기기임을 감안하면 준수하고, 마이크 또는 기타 등 악기를 연결하여 녹음하는 용도로는 꽤 괜찮다. 다만 최대 샘플링 레이트가 48 kHz에 불과하고, 외부 기기의 스테레오 출력을 연결하기 불편하며(불가능한 것은 아니나 채널-2는 Hi-Z 전용이라 좌우 레벨을 잘 맞추어야 함), 자체 ASIO driver도 이제는 ASIO4ALL에 자리를 내어 준 상태이다. 반면에 같은 회사에서 만든 U-Control UCA200은 정말 작고 미니멀한 오디오 인터페이스로서 특별한 드라이버 설치 없이 무난히 잘 동작하기 때문에 단순 음악 재생용으로 컴퓨터나 라즈베리 파이(볼루미오)에 거의 고정형으로 붙여서 쓰고 있다. 나는 이 물건을 무려 세 개나 갖고 있다!(관련 글 링크). 

과거를 돌이켜 보니 저가형 오디오 인터페이스를 써서 DAW에서 가상악기를 작동시켜 보려고 애썼던 노력이 정말 눈물겹다. 중고 UM2를 구입한 이후로 그 목마름은 어느 정도 해소되었지만 여전히 아쉬운 부분이 많았다. 만약 Focusrite Scarlett Solo/Duo처럼 전국민이 다 사용한다는 오디오 인터페이스를 신품으로 구입한다면 기본적은 성능을 충족함은물론 번들 소프트웨어를 충분히 활용할 수 있으니 무료 DAW나 플러그인(이펙터 및 가상악기)를 찾아 헤매는 일도 없었을 것이다.

'나도 이제는 제대로 된 오디오 인터페이스를 써 보고 싶다'는 생각은 오래전부터 갖고 있었고, 2023년 네이버에 오른 오디오 인터페이스 50종 성능 비교라는 글을 여러 차례 참고하였었다. 요즘 유난히 싼 가격에 팔리는 Kurzweil Unite-2를 비롯하여 Behringer UMC204HD, ESI U22XT(=Artesia A22XT), Steinberg UR12, ESI Neva Uno, Presonus AudioBox USB 96 등을 알아보다가 결국 찾은 곳은 뮬 악기장터. 너무 많은 사람이 선택하는 Focusrite Scarlett은 일단 건너뛰고 중고 매물을 훑어보던 중에 좋은 가격에 나온 중고 맥키 오닉스 프로듀서 2•2를 발견하였다. 원래 맥키는 믹서나 라우드스피커 등 라이브 음향 장비 전문회사로 유명하다(역사 및 설립자 Greg Mackie의 인터뷰 링크). 나도 이 회사가 만든 TAPCO 브랜드의 Mix60이라는 소형 믹서를 잠깐 소유했던 적이 있었다. 오닉스 프로듀서 전면의 XLR/6.35 mm 콤보 잭 2조는 마이크와 Hi-Z 중에 자유롭게 할당 가능하고, 후면에는 MIDI 단자가 있으니 활용성이 매우 좋다. 루프백이 지원되지 않는다는 것을 제외하면 특별히 흠을 잡을 것이 없다.

뮬에서 발견한 맥키 오닉스 프로듀서(Mackie Onyx Producer) 2•2. 사진은 뮬 게시판에 판매자가 올린 것을 가져온 것이다.


문자를 보내어 재빨리 거래를 완료하였다. 중고품이라서 번들 소프트웨어까지 제대로 넘겨받지 못하는 것은 그대로 감수하기로 하였다. 어차피 나는 무료 프로그램을 잘 쓰고 있으니까 말이다.

U-Phoria UM2, 그동안 수고 많았다! 녹음의 기본을 알게 해 준 고마운 장비였다.

음악인(실제로 드럼 연주를 했다고 함)에서 사업가로! 나중에 시간이 생기면 Greg Mackie의 삶에 대해서 알아보고 싶다.


2025년 1월 21일 업데이트

어제 퇴근 후 배송된 오닉스 프로듀서를 꼼꼼하게 테스트해 보았다. 견고한 금속 케이스와 묵직하게 돌아가는 각종 노브는 신뢰감을 주었다. 별도 드라이버 설치를 하지 않은 상태에서도 기본적인 재생과 녹음은 된다. 드라이버를 다운로드하여 설치하였더니 ASIO 작동도 잘 되었다. 드디어 나도 24비트, 샘플링 레이트 96 kHz의 작업을 할 수 있게 되었다. 사실 48 kHz면 충분하지만...


챗GPT는 Onyx Producer를 이용한다는 것을 전제로 다음과 같이 제안하였다.

🎛 홈레코딩에 추천하는 설정

  • 44.1kHz / 24-bit: 대부분의 음악 홈레코딩에 이상적
  • 48kHz / 24-bit: 영상 작업을 고려한다면 적합

다음으로는 MIDI interface의 기능도 점검해 보았다. 롤랜드 사운드캔버스 SC-D70과 오닉스를 MIDI 케이블로 연결한 뒤, MidiEditor에서 적당한 파일을 재생해 보았다. SC-D70의 오디오 출력은 오닉스의 전면부로 입력하였다. 아무런 문제가 없었다. 테스트 과정은 OBS Studio에서 동영상을 만들어서 유튜브에 올렸다. 



Behringer U-Phoria UM2는 이제 작별을 고해야 할 듯.

인터넷에서 Greg Mackie(1949~)의 생애에 관한 자료를 찾아 보았다(위키피디아). 아마추어 무선가였던 아버지의 영향으로 어려서부터 전자 카탈로그와 부품에 노출되었던 그는 보잉사에서 근무하면서 전자공학에 관심을 갖게 되었고, 밴드 드러머로 일하면서 적은 비용으로도 더 좋은 성능의 믹서 및 프로 오디오 제품을 만드는 것이 가능하다는 신념으로 기업을 설립하였다고 한다. 챗GPT에 의하면 그는 프로페셔널 오디오 장비를 대중화한 혁신가로 여겨진다고 한다. 

가격 대비 성능비가 좋은 음악 관련 장비를 만드는 곳이라면 Uli Behringer(1961~)를 빼놓을 수 없다. 음악 산업이라고 하면 요즘은 음원을 만들고 유통하는 산업을 떠올리겠지만, 이를 가능하게 하는 장비의 개발과 제조를 떼어놓고 생각할 수는 없다. 음악은 정말 많은 사람들의 취미이다. 이를 '제품'까지 연결해 나가는 전설적인 기업인이 정말 부럽다.

 

2025년 2월 16일 일요일

건축은 인간의 삶을 담는 그릇이다

안국동의 (구)풍문여고 건물을 리모델링하여 만든 서울공예박물관 전시1동 1층에는 마치 도넛을 닮은 둥근 고리 모양의 나무 의자가 있다. 탄성이 있는 얇은 나무 재질로 만들어서 앉으면 푹신한 느낌이 든다. 이 의자를 볼 때마다 옛날에 읽었던 동화가 생각이 난다. 여러 마리의 호랑이가 꼬리에 꼬리를 물고 뱅글뱅들 돌다가 녹아 내려서 치즈가 되었다는... 바로 그 노란 치즈를 닮았다.


도대체 그 동화는 무엇이었을까? 구글 검색을 통해서 쉽게 답을 찾을 수 있었다. 그것은 <The Story of Little Black Sambo>, 즉 '꼬마 검둥이 삼보'라는 제목으로 번역되었던 동화로 스코틀랜드 작가 헬렌 베너만이 1899년 발표하였다. 일본에서 인기를 끌었던 동화라서 아마 우리나라에 들어온 것도 일본쪽 번역물을 통해서였을 것이다. 당시 많은 잡지와 참고서를 비롯한 많은 서적이 일본의 것을 참고하여(때로는 원전을 밝히지 않고 그대로 번역하여) 만들어지지 않았었던가. 

사실 이 동화는 기발하고 재미있는 이야기이지만, 인종차별적인 내용으로 인하여 많은 비판을 받고 지금은 거의 잊혀졌다고 한다. 배경이 인도임에도 불구하고 주인공을 흑인으로 묘사한다거나, 인도와는 아무런 관계가 없는 아프리카계 이름을 주인공에게 붙인 것도 적절치 않았다. 백인이 아니면 전부 비슷한 부류의 사람으로 취급하는 것은 마치 대한민국의 모든 지역을 '서울' 아니면 '지방'의 이분법적으로 나누는 것과 같다. 그래서 인도인이나 흑인들은 이 책을 매우 불쾌하게 여겼다고 한다. 모든 동아시아인을 베트남 삿갓(Nón lá)을 쓴 것으로 묘사하면 기분이 좋을 이유가 없듯이. 

1980년대였던가, 한국을 포함한 몇 개 국가가 참여한 <국경 없는 게임>이라는 것을 TV에서 본 일이 있다. 여기에 나왔던 한국 참가자(실제 사람이었는지 맞추기 게임을 위해 인형 모양의 것을 세워 놓은 것인지는 확실히 기억나지 않음) 베트남 삿갓을 쓰고 있었다. 유튜브를 찾아보니 그 게임의 뒷이야기에 대한 방송 클립이 남아 있었고, 게임 진행 전체에 대한 기록은 없었다. 따라서 내 기억이 100% 정확했는지는 장담하기 어렵다. 고 이주일을 스타로 만들었던 코미디 프로그램 <토요일이다! 전원출발>(1980)의 초기 에피소드를 기억하고 있지만 검증을 할 수 없는 것이나 마찬가지. 건축물을 짓는 현장의 해프닝을 정말 재미있게 그렸었다. 따지고 보니 결국 오늘의 주제인 '건축물'과도 연결이 된다.

그림 출처: Cape Gazette(2016).


서울공예박물관에서는 특별기획전 <공예로 짓는 집>이 열리고 있다. 공예와 건축은 규모라는 측면에서 직접 비교하기는 어렵다고만 생각했었다. 그리고 '건축'이라는 인간의 행위에 대해서는 나름대로의 편견도 많이 갖고 있었다. 왜냐하면 나는 인간이 남길 수 있는 가장 대표적인 '유형'의 것으로서 그것(=건축물)이 갖고 있는 의미에 비해 다들 과도한 의미를 부여하고 있다고 비판적으로 생각해 왔기 때문이다. 


예를 들어서 누군가가 갑자기 큰 돈을 벌어서 수백억 원 정도를 모교에 기부한다고 해 보자. 이 돈으로 장학금을 줄 수도 있고, 새로운 학과를 만들 수도 있다. 그러나 대부분 자기 이름을 딴 건물을 짓는 데 쓸 것이다. 말 그대로 건축물을 만들면 오랫동안 흔적이 남기 때문이다. 권력을 쥔 정치가가 자기의 이름을 남기고 싶을 때 가장 흔하게 하는 일이 바로 건축물을 짓는 것 아닌가. 

만약 인류가 멸망한 뒤 수억 년이 지나서 외계인이 지구를 찾는다고 가정해 보자. 그들은 오로지 우리가 지구에 남긴 건축물로만 과거 이 행성에 살았던 생명체를 평가할 것이다.

딸아이가 디자인 및 조형과 관련한 학과를 지망하면서 몇 군데 대학의 수시 입시를 위한 과거 출제 문제를 접한 일이 있었다. 그 문제에서는 마치 건축이나 디자인이 인류의 모든 문제를 해결할 수 있는 유일한 답인 것 같은 자부심이 넘쳐남을 느낄 수 있었다. 나와 같은 생물학자는 그렇게 대담한 포부를 갖고 있지는 못한데 말이다. 건축가들이 자주 한다는 말, '공간이 의식을 지배한다' 또는 '사람은 집을 만들지만, 집은 사람을 만든다'는 말도 비판적으로 수용할 필요가 있다. 이에 대해서는 윤석열 "공간이 의식을 지배한다"는 잘못된 인식이라는 글을 참고하기 바란다. 공간(또는 건축물)보다 중요한 것은 이데올로기라는 점을 기억해 두자.

음악이나 문학과 같이 보이거나 만져지지 않는 인류의 유산은 (대규모) 건축물처럼 즉각적으로 사람을 압도하는 효과를 주지는 못한다. 무형적 유산은 이를 감상하고 내 감정으로 녹여내기까지 상당한 시간이 걸리기 때문이다. 그래서 많은 사람들은 눈에 보이는 인류의 유산에 더욱 쉽게 감동하고 빠져드는 것 같다. 이런 사연 때문에 나는 건축물과 관련된 전시나 이에 대하여 깊은 의미를 부여하는 활동을 별로 좋아하지 않았다.

그러나 이번 전시에서는 그런 편견을 조금은 없앨 수 있었던 것 같다. 




건축가 엄덕문(1919~2012)의 말 '공예가 커지면 인간이 그 속에 들어가고, 그 공예품은 생명을 품는 그릇이 된다. 그것이 건축이다' 자체는 정말 멋있었다. 실용적인 그 무엇인가를 만들어내기 위해 늘 꼼지락거리는 나의 행동과 건축 사이에 이런 연결 고리를 찾을 수 있다니. 오늘 글의 제목인 <건축은 인간의 삶을 담는 그릇이다>라는 말은 정확한 출처가 있는 말은 아니다. 그러나 챗GPT에게 물어보니 르 코르뷔지에나 발터 그로피우스(바우바우스 창시)와 같은 20세기 근대 건축가들의 철학에서 유래한 표현으로 볼 수 있다고 하였다.

엄덕문은 살아 생전에는 세종문화회관이나 과천정부총합청사와 같은 중요한 건축물을 많이 지었다. 그러나 통일교와의 연관성이라는 낙인도 많이 받은 것 같다. 이에 대한 정보는 2012년 매거진 한경에 실린 엄덕문, 지상에서 종교와 건축의 우상이 된 기인을 참고하라.







과거에는 어느 집이나 이런 나무 책상이 있었다. 서랍은 뻑뻑하고, 성장기에 키가 자라면서 몸에 맞게 조정을 할 수도 없었다. 그러나 지금은 이런 책상이 그립다.

조선 궁궐 도배지를 수집하고 재현하는 사람들이 있다.


얼마 전에 CAD로 도면까지 그려 놓고 아직 진도를 나가지 못하고 있는 진공관 앰프의 새시(나무틀을 포함하여), 숟가락, 의자... 이들은 모두 '공예(crafts)'의 범주에 속한다. 이것과 건축이 서로 통하고 있다는 어느 유명한 건축가의 말을 발견하고 이에 공감하게 된 것은 이번 전시회 관람의 아주 중요한 성과하고 생각한다.

현대의 공예에서는 이데올로기를 떠올리기 어렵다. 그러나 건축물에서는? 공간이 정신을 지배한다는 정신에 너무 빠져들면 풍수지리와 다를 바가 없어진다. 공간이 인간 생활에 영향을 미치는 것은 분명하지만, 공간 자체가 정신을 지배하는 것이 아니라 세상을 자기 방식대로 움직이고자하는 사람이 공간을 이용한다고 보는 것이 더욱 타당할 것이다. 

뭔가를 계속 만들어 나가고 싶다. 비록 집을 설계하고 짓는 것은 어렵겠지만. 그리고 '무형'의 것이지만 음악을 창작하는 작업 역시 그러하다. 거기에는 사상을 담을 필요는 없다. 중요한 것은 감정을 담는 일이다.

2025년 2월 12일 수요일

그동안 KRA/SRA 등록을 하면서 library selection 항목을 잘못 입력했던 것 같다

먼저 이 문서는 KOBIC이나 NCBI 데이터 등록 담당자에게 공식적으로 문의하여 얻은 결론을 바탕으로 쓴 것은 아님을 밝혀 둔다. 순전히 웹 검색과 혼자 생각한 것으로만 쓴 것이다.

데이터를 더욱 가치 있게 만드는 것은 제대로 작성한 메타데이터(다른 데이터를 설명하거나 기술하는 데이터)라고 생각한다. 예를 들어 KRA/SRA에 sequencing raw data를 등록할 때, 이 자료가 어떤 장비에서 만들어졌으며 라이브러리는 어떤 키트로 만들었는지 등을 꼼꼼하게 적는 것을 의미한다. 요즘은 시퀀싱 업체에서 리포트를 만들어 제공하므로 이를 찾아 적는 것에 별 어려움이 없지만, 과거에 연구소 내부 센터에 분석을 의뢰한 경우에는 그렇지를 못하였다. 남은 것은 FASTQ 파일과 이것이 어떤 장비에서 생산되었는지에 해당하는 기억이 전부이다. 물론 이런 방법이 통했던 것은, 나중에 담당자에게 전화나 이메일로 물어서 필요한 메타데이터를 얻을 수 있기 때문이다. 요즘은 달라졌을 것으로 생각한다. 

KRA/SRA의 메타데이터 중에 'library selection'이라는 항목이 있다. NCBI 웹사이트에는 자세한 설명이 없으니 K-BDS 웹사이트 자료실의 '2023년도 바이오 연구데이터 표준등록양식' 파일을 다운로드하여 30쪽부터 나오는 해당 항목을 살펴보자. 국문으로는 '라이브러리 선택항목'이라고 번역해 놓았으며, 가능한 34가지 값을 나열해 놓았다. 

나는 습관적으로 library selection을 random이나 PCR로 설정해 놓았었다. Whole-genoe (shotgun) sequencing library는 DNA 단편을 'random'하게 고르는 일부터 출발하고, 라이브러리 제작 막바지 단계에서 PCR을 하니까 그저 막연하게 생각했던 것이다. 요즘은 shotgun sequencing이라는 말도 잘 쓰지 않는 것 같다. PubMed에서 찾은 두 용어의 쓰임새를 보라. Whole genome shotgun sequencing은 clone-by-clone 방식의 genome sequencing 방법에 대체하는 새로운 방식으로서 쓰이기 시작한 것으로 알고 있다. 이제는 shotgun 방식이 아닌  whole genome sequencing을 상상할 수가 없다.

현재는 whole genome sequencing이라는 용어를 압도적으로 많이 쓴다.

심지어 1997년 Genome Research에는 이런 글도 실렸었다. Philip Green의 'Against a whole-genome shotgun'. Whole-genome shotgun을 반대하다니! 전기차를 반대하다니! 인공지능을 반대하다니! 나는 내 블로그에 쓴 2020년 글에서 이 perspective를 언급한 일이 있다(Jvarkit: Java utilities for bioinformatics).

조금 전에 옆 방에서 서울대학교 백대현 교수(지놈포미의 설립자이기도 함)의 온라인 미팅이 있었다. 백대현 교수는 이 글을 쓴 필립 그린의 연구실에서 박사 학위를 받았다. 오늘 접속을 해 보니 필립 그린 웹사이트에서 더 이상 David Gordon의 모습이 보이지 않는 것으로 보아 은퇴를 한 것 같다. 아, 추억의 consed여!


내가 library selection 방법으로 주로 골랐던 값은 다음의 두 개였다.

  • RANDOM: random selection by shearing or other method
  • PCR: source matrial was selected by designed primers

그러나 어제 게놈 고물상(취지, 최근 작업) 관련 일을 하면서 오래전에 만든 HiSeq 2000 데이터를 다루다가 문득 뭔가 잘못되었다는 생각이 들기 시작하였다. 만약 library selection = PCR이라면, genomics DNA로부터 specific primer를 이용하여 PCR을 한 경우에만 이 용어를 써야 하는 것 아니겠는가? 실제로는 Covaris 등의 기기나 효소를 이용하여 fragmentation을 한 뒤 TapeStation 등으로 'size fractionation'을 한 것이므로, 이를 택해서 명확히 기술해야 한다는 생각이 들었다. 그래서 어제 데이터를 등록할 때에는 size fractionation으로 library selection 항목의 값을 넣었다.

그러면 나의 최종 선택은 옳았는가? 아직 확신을 하지 못하겠다. 예를 들어 rapid sequencing kit로 나노포어 시퀀싱을 한다고 생각해 보자. 이 경우에는 분리 과정에서 저절로 깨진 genomic DNA를 그대로 사용한다. 전기영동을 하여 특정 위치에 해당하는 밴드를 오려내지는 않는다. 그렇다면 size fractionation을 실제로 하지는 않은 것에 해당한다. 따라서 random으로 표기하는 것이 옳다고 본다.

일루미나의 경우에는 bead를 이용하여 size selection을 수행하는 것으로 알고 있다. 하지만 이것은 적극적인 size selection에 해당하지 않고 그저 작은 DNA 단편을 제거하는 cleanup에 해당한다고 누군가 강하게 주장한다면 할 말은 없다...

이 sequencing raw data로부터 de novo assembly를 재수행하다가 또 중요한 사실을 하나 알게 되었다. Draft genome sequence를 등록할 때에는 200 bp 미만의 contig는 제거해야 한다. ZGA pipeline에 '--minimum-contig-length $$$' 옵션이 있지만 이는 가장 마지막의 annotation에 투입되는 염기서열의 길이 제한에 쓰일 뿐, 실제 FASTA file은 건드리지 않는다.  BioPerl Bio::Seq 오브젝트를 기억 속에서 소환해서 간단한 스크립트를 짜야 하나? 그럴 필요는 없었다. 다음과 같이 SeqKit(seq subcommand)를 써서 쉽게 해결하였다.

seqkit seq -m 200 IN.FASTA > FILTERED.FASTA


2025년 2월 10일 월요일

달리기 기록이 좋아질 수 있을까

바람이 불지 않는 영하 3도의 밤이란 달리기에 부족함이 없는 여건이다. 원래 밤에는 바람이 잘 불지 않아서 하천변 코스를 달리기에 매우 좋다. 6분 23초 페이스로 7 km를 달리고 돌아왔다. 공교롭게도 이틀 전 6 km를 달렸을 때에도 페이스는 똑같은 6분 23초였다. 지난 8월부터의 기록을 살펴보니 6 km 이상을 달렸던 날 중에 이보다 페이스가 좋은 경우는 없었다.

보충 운동을 전혀 하지 않는 상태에서 페이스 단축을 기대하기는 매우 어렵다. 이런 상황이라면 한 달에 2초를 줄이기도 힘들 것이다. 여기서 2초 단축이라 함은, 약 40분을 달리는 과정에서 전체 시간을 2초를 줄인다는 뜻이 아니다. 1 km를 달리는데 드는 시간(페이스)를 2초 줄이겠다는 뜻이다. 따라서 6 km를 목표로 하는 달리기에서는 전체 시간에서 12초(2초 x 6)를 줄이는 것을 의미한다.

만약 딱 30분만 달리는 것을 목표로 한다면 비교적 단기간에 페이스를 향상시킬 수도 있을 것이나, 요즘은 한 번에 6~8 km를 달리는 것을 목표로 삼고 있으니 쉽게 기록이 나아지지는 않을 것이다.

마라톤 완주를 100번 넘게 하였고 수많은 달리기 환자를 치료한 정형외과 의사 김학윤 원장의 조언(아래 소개한 동영상)으로는 빨리 달리는 것보다 오래 달리는 것을 택하라고 하였다. 예전보다 무리하게 빨리 달려서 기록을 향상시키려 하지 말고, 오래 달리는 것으로 기록을 세우는 것이 더 안전할 것이다. 다음 동영상(의사결정 에피소드 71)의 바로 앞 에피소드 70번도 참조하는 것이 좋다.


올해의 목표는 10 km까지 달려 보는 것이다. 10 km를 달리는 동안 대략 7분 이내의 페이스를 유지할 수 있다면 더 이상 바랄 것이 없겠다. 매번 10 km를 달리는 것은 어려우니 서너 번에 한 번 정도라면 적당할 것이다. 소위 '국룰'은 6 km 페이스, 1시간 10 km라고는 하지만 말이다.

달리기 관련 동영상을 찾아 보다가 얻어 걸린 다음의 쇼츠에서 보이는 같은 준비운동 동작을 많이 권장한다는 것을 알게 되었다.


이는 소위 '에이 스킵(A-skip)'이라 하는 것이다. 조정력, 고관절의 이동성, 다리 힘을 향상시킨다고 한다. 그런데 중년의 몸으로는 이 동작을 따라서 하는 것이 어렵다. 며칠을 탐구(?)하다 오늘 겨우 흉내 비슷한 것을 내게 되었으니 나도 어지간한 몸치가 아닌가 싶다.

달리기를 시작하면서 얻은 첫 부상, 즉 안쪽에 피가 고이면서 들뜬 엄지 발톱이 불편하다. 안에서 새 발톱이 나오고 있지만 들뜬 발톱을 아예 뽑아 버릴 수도 없고...


2025년 2월 9일 일요일

Al Jarreau의 Moonlighting - 초보자의 bass cover 2탄

요즘 (동)영상을 제작한다고 하면 보통 이를 구성하는 두 가지 요소인 비디오와 오디오가 포함된 최종 결과물을 만드는 것으로 인식하는 것 같다. 어떤 카메라를 이용하여 동영상을 촬영하더라도 거의 항상 오디오도 함께 녹음되고, 당연히 그러한 결과물을 기대하기 때문이다. 하지만 제작의 입장에서 두 요소는 나누어서 고려하는 것이 옳다고 생각한다. 비디오 요소는 아주 전문적인 사람이 아니라면 휴대폰으로 찍은 동영상이 일반적이겠지만, 별도로 마련한 이미지 시퀀스도 가능하다. 안드로이드 휴대폰을 PC에 연결하여 웹캠처럼 쓰려면 다음과 같은 글을 참고하면 좋을 것이다.

갤럭시 휴대폰이나 태블릿 카메라를 웹캠으로 사용 방법, 윈도우 11 지원

음악 연주를 공개하는 것이 주요 목적인 영상이라면 무엇을 '비디오'로 택할 것인가? 가장 좋은 것은 물론 연주자가 실제 연주하는 모습을 별도의 카메라로 찍어서 사용하는 일이다. 그러나 여기에는 많은 수고가 따른다. 배경을 정리하고 적당한 조명도 준비해야 하며, 약간의 분장(?)도 있어야 한다. 도와주는 사람이 없이 이 모든 것을 혼자 하기도 쉽지 않다. 도와주는 사람이 있다면 클래퍼 보드(소위 '슬레이트')를 사게 될지도 모른다.

우리집 거실 한쪽 구석은 스튜디오? 별다른 이펙터 하나 없이 이 '노 브랜드' 국산 중고 베이스의 험버커 픽업에서 뿜어져 나오는 소리가 마음에 든다.


연주 영상을 만들기 위해서 녹음 당시의 DAW 화면을 쓰는 것도 나쁘지 않을 것 같다. 다만 대부분의 경우에 ASIO를 통해 작동하는 DAW의 실시간 사운드 출력을 화면 녹화 프로그램으로 보내는 방법을 알아 내야 한다. 아주 초보적인 수준으로 OBS Studio의 사용법(링크)을 익힌 다음, DAW의 실행 화면과 오디오 출력을 OBS Studio로 보내는 방법을 조사해 보았다. 다음의 유튜브 영상 'How to Get Audio from Your DAW to OBS for Recording / Streaming (No Latency) for PC'이 도움이 되었다. 


핵심은 ReaPlugs VTS FX suite를 사용하는 것이었다. 여기에 포함된 다양한 plug-in 중에서 실제로 필요한 것은 ReaStream(audio+MIDI over ethernet) 하나 뿐이니 이것만 설치하면 된다. 기능을 더 익히면 방송으로 내보내는 것도 가능하다.

설치 후 테스트 녹화를 해 보니 Waveform FREE 12에서 작동은 되는데 녹화된 결과물에서 'pops and clicks'가 너무 심하고 재생 속도도 비정상적으로 빠르게 나와서 도저히 쓸 수 있는 상황이 아니었다. 아마도 저가의 오디오 인터페이스가 갖는 필연적인 문제라고 생각한다. OBS Studio의 출력물은 MKV(Matroska Multimedia Container) 파일이다.

고심 끝에 Audacity에서 베이스 녹음을 하는 화면을 OBS Studio에서 그냥 녹화하는 방법을 취해 보았다. 가상 악기를 실시간으로 연주하는 것은 아니므로 ASIO와는 관계가 없다. 어제와 다른 점은 예전에 Gaudio Studio에서 베이스를 제거해 둔 것을 다운로드하여 백킹트랙으로 썼고 녹음 중에 Audacity 안에서 컴프레서를 걸어 주었다는 점이다. 동영상의 최종 마무리는 언제나 그렇듯이 OpenShot 비디오 에디터를 사용하였다.


너무 멋을 부리다가 조금 어색한 노트가 들어간 곳이 없지 않다. Behringer U-Phoria UM2 오디오 인터페이스의 instrument channel인 2번에 베이스가 연결된 상태라서 영상에서는 마치 right channel만 녹음한 것처럼 나오지만, OBS Studio에서 녹음 입력 설정을 MONO로 설정해 주었기에 최종 결과물은 양 채널에서 잘 들린다. OpenShot에서 화면 녹화 앞부분에서 프로그램을 전환하는 모습을 제거하고 타이틀을 삽입하였다. 

이와 같이 녹음/녹화 및 영상 편집 용도로 만들어진 무료 소프트웨어(본문에서 굵은 글씨로 표기)를 익혀 나가는 일도 보람이 있다. 언젠가는 활용할 일이 많을 것이다. 기왕이면 영상 문법에도 관심을 갖는 것이 좋을 것이다.

영상에도 문법이 있다


Moonlighting (Al Jarreau)


Some walk by night
Some fly by day
Nothing could change you
Set and sure of the way

There is the sun and moon
They sing their own sweet tune
Watch them when dawn is due
Sharing one space

We'll walk by night
We'll fly by day
Moonlighting strangers
Who just met on the way

<ChatGPT의 'Moonlighting' 가사 번역 - 지나친 의역?>

우리는 몰래 사랑을 키워가고 있어
아무도 우리가 어디로 가는지 몰라
우리는 별들 아래서 꿈꾸고 있지
우리는 문라이팅 중이야, 모두 다 알게 될 거야

그녀와 나는 오래전부터 계획을 세웠지
우리는 떠나기로 했고, 결국 도망쳤어
이제 우리가 함께 있으면
어디든 갈 수 있어

길게 뻗은 도로 위를 달리며
밤하늘 아래에서 빛나는 꿈을 꾸고 있어
우리는 사랑을 찾아 떠나왔어
우리는 문라이팅 중이야, 모두 다 알게 될 거야

시간이 지나면
이 사랑이 얼마나 소중한지 깨닫게 될 거야
우리는 운명처럼 만났고
이제 누구도 우리를 막을 수 없어

ChatGPT의 설명에 따르면, moonlighting이란 밤에 달빛 아래에서 다른 일을 한다는 뜻에서 유래했다고 한다. 즉 낮에는 본업을 하고 밤에는 부업을 하거나 몰래 다른 일을 함을 의미한다. 드라마 테마곡으로 쓰인 이 곡에서 갖는 의미는 두 남녀 주인공(브루스 윌리스와 시빌 셰퍼드)가 본업을 두고 로맨틱한 감정이 싹터서 비밀스럽게 사랑을 하는 이중적인 관계를 암시한다나?

사실 알 재로나 브루스 윌리스 관련 내용이라면 조사를 통해 몇 편의 글을 써야 할지도 모른다... 나는 두 사람의 열렬한 팬은 아니다. 알 재로는 이미 고인이 되었으니, 건강 상태가 매우 좋지 못한 왕년의 액션 스타 브루스 윌리스가 평안한 노년을 보내길 바랄 뿐이다.


성심당 딸기시루를 처음 영접하다

나는 <오징어게임> 시즌 1도 아직 보지 않은 사람이다. 사람들이 지나치에 열광하는 대상에 대해서는 약간 거부감을 느끼는 성격이기 때문이다. 전국민이 한 번은 다 경험해 보았다는 성심당의 딸기시루 역시 그러하다. 성심당 케익 부띠끄 앞을 지날 때마다 장사진을 이루고 있는 사람들을 보면 '얼마나 대단한 것이라고 왜 저런 고생을 하고 있나?'라고 느끼고 무심히 지나가고는 했다. 크게 기대를 하지 않고서도 동네 빵집에 들러서 가벼운 마음으로 구입조차 하기 어려운 케익이 되어 버렸으니 나에게 도대체 무슨 의미가 있을지..

몇 년 전만 해도 성심당 본점의 케익 부띠크에는 테이블과 의자가 있었다. 조각 케익류를 사서 자리에 앉아 커피와 함께 마시는 일이 결코 어려운 일이 아니었다. 그러다가 딸기시루를 비롯한 과일시루 케익이 전국적인 인기를 끌면서 그런 여유는 사라지고 말았다. 이전에도 밸런타인 데이 등 이벤트가 있을 때마다 공간 확보를 위해 테이블을 일부 치우는 일이 있었다. 이제는 내부에서 여유를 즐기며 케익과 차를 즐기기는커녕 입장조차 쉽지 않은 상태가 되었다. 이를 위해서 매장에서 구입한 제품을 먹을 수 있는 별도의 공간이자 카페를 겸한 성심당문화원이 가까운 곳에 생기기는 했지만 불편한 것은 사실이다.

'성심당을 대전 시민에게 돌려주세요!'

늘 이렇게 외치고 싶었다. 우리 가족은 시루 시리즈의 그 어떤 케익도 아직 경험해 보지 못하였다.

그러던 우리 부부가 드디어 딸기시루를 오늘 처음으로 접하게 되었다. 일요일을 맞아 월산본가에서 갈비탕으로 점심을 먹고 우리들공원 주차장에 차를 세운 뒤 대종로 쪽으로 올라와 보니 성심당 본점의 케익 부띠끄에 입장하려는 대기 줄에 사람이 매우 적었다. 건물 한쪽 면을 다 채우지 못할 정도였으니 말이다. 어쩌다가 이런 일이? 아무런 주저함이 없이 줄을 섰다.



몇 분 기다리지 않고 입장을 하여 전병 등 몇 가지를 더 고른 뒤 계산대에 섰다. 딸기시루 수령은 밖으로 나가서 옆 건물로 가라고 하였다. 이동을 하던 우리는 두 눈을 의심해야 했다. 우리가 줄을 섰던 곳 바로 옆 건물 틈바구니에 갑지기 몰린 사람들이 인산인해를 이루고 있었기 때문이었다. 그 짧은 시간에 갑자기 이렇게 사람이 몰렸다는 이야기인가? 

2.3 kg이라는 딸기시루는 포장을 받아들고 보니 상당히 묵직하였다.

여기가 바로 딸기시루 '공장'이다. 밀려드는 주문을 소화하느라 성심당 직원들은 얼마나 많은 수고를 하고 있을까?



맛은 어떨까? 집에 돌아와서 저녁 대신으로 딸기시루를 펼쳤다. 딸기가 쏟아지기 쉬워서 보통의 방법대로 수직으로 잘라 먹기는 좀 어렵다는 말을 들었기에 층별로 해체해 먹기로 하였다. 그러나 맨 위의 딸기를 먼저 거두어 먹은 것이 실수였다. 그 아래의 브라우니를 덜어내어 조금 잘라서 입에 넣는 순간... 아, 퍽퍽하구나! 딸기와 같이 먹을 것을!

과일이라는 것이 수분이 많고 무거우니 딸기시루와 같이 다층 케익을 만들려면 단단한 브라우니를 중간층에 넣을 수밖에 없었을 것이다. 그렇지 않으면 케익이 찌그러지면서 과일에서 나온 물을 빨아먹을 것이 뻔하기 때문이다. 성심당에서 여전히 인기리에 팔리는 생크림 케익에서 쓰이는 부드러운 재질의 것이 아니라서 호불호가 갈릴 것 같다. 그런데 여름에 나오는 망고시루는 중간층에 초콜릿 브라우니를 쓰지 않았다. 왜 그럴까? 성심당의 개발자들이 모든 조합의 시도를 다 해 본 다음에 나름대로 최적의 결정을 내려을 것이니 괜한 의심은 갖지 말도록 하자. 

아직 3층이 남았다. 다음에는 반드시 딸기와 같이 한 층을 덜어내어 같이 먹어야 되겠다. 


남들 다 하는 것을 따라서 하는 것은 싫지만, 가끔은 그런 고집을 꺾는 것도 필요하다. 중요한 것은 가끔 어쩌다 한 번은 꺾이는 마음이다.


 

녹음하고 달리고

공연 준비를 하는 동안 나의 베이스 기타 두 대는 전부 강당 무대 옆의 대기실에 보관되어 있었다. 집에서는 한동안 베이스를 만지지 못했다는 뜻이다. 주말 외출을 하고 집으로 돌아오는 길에 잠시 직장에 들러서 베이스 하나('빨강이')를 들고 왔다.

그냥 뭔가 녹음을 하고 싶어졌다. 1980년대 인기리에 방송되었던 드라마 Moonlighting의 오프닝으로 잘 알려진 Al Jarreau(1940-2017)의 테마곡을 택했다. 작년부터 사무실 지하에서 유튜브를 틀어놓고 혼자 베이스를 치며 노래도 따라 불렀었다.

유튜브의 원곡을 재생하면서 Audacity에서 루프백 녹음을 하여 WAV 파일로 저장하였다. 파일을 LALAL.AI에 올려서 베이스 라인을 제거하는 것까지는 좋았는데(How to Remove Base), 결과물을 파일로 다운로드하려니 유료 구독을 해야 한다. 흠... 편법이지만 웹 브라우저에서 베이스가 제거된 음원 파일을 재생하면서 또 Audacity에서 루프백 녹음을 하였다. 오디오 인터페이스는 늘 쓰는 Behringer UM2이다.

이것 말고도 Vocal Remover라는 웹사이트에서도 비슷한 일을 할 수 있다. 그러나 돈을 내지 않고서 마음대로 작업을 할 수 있는 서비스는 많지 않다. 하루에 한 번만 분리 작업을 하거나, 10분을 넘는 음원 파일은 처리를 못 한다거나... 어차피 돈을 써야 한다면 차라리 국내 기업의 서비스인 Gaudio Studio를 쓰는 것이 나을 것이다. 


Gaudio Studio가 제공하는 솔루션.


작년에 있었던 두 번째 공연을 준비하면서 여기에서 몇 곡을 올려 작업을 했었다. 글을 쓰는 지금 접속을 해 보니 Moonlighting을 이미 파트별로 분리를 해 놓았었다. 이 사실을 까맣게 잊고서 오늘 불필요한 작업을 한 셈이다.



베이스를 제거한 음원 파일을 Audacity로 불러들인 뒤 오버더빙으로 베이스 녹음을 하려니 자꾸 에러가 난다. 너무 오랜만에 녹음을 하느라 프로그램 사용법을 잊어버린 것인가? ASIO support 기능과 함께 컴파일했던 Audacity를 이용하여 겨우 작업을 마친 뒤 유튜브에 올렸다. 이런 초보자 수준의 베이스 커버 버전을 올려서 인터넷 세상을 더럽하는 것이 부끄럽다...


녹음 후 유튜브 업로드까지 한 다음 오디오 인터페이스에 다이나믹 마이크로폰을 연결하여 테스트를 하다가 무엇이 문제인지를 알게 되었다. 오늘 접한 Audacity의 오류는 녹음과 재생의 sampling rate가 일치하지 않은 때문이었다. 오버더빙을 하려면 당연히 두 수치가 같아야 한다. 이는 Windows의 설정이 아니라 예전 제어판에 들어가야 제대로 맞출 수가 있다. 

나의 연주 동영상을 유튜브에 올리려면 비디오(화면)는 무엇으로 하는 것이 좋은가? 녹음은 어떻게든 겨우 해 보겠지만, 적절한 비디오를 선택하는 것이 늘 고민스럽다. 연주를 하는 내 모습을 직접 찍는 것은 매우 수고스럽고 기술적으로도 쉽지 않다. 오늘의 사례에서처럼 DAW에서 재생하는 화면을 녹화하는 것도 나쁘지는 않다. 그러나 화면 녹화를 위한 소프트웨어 선택은 아직 어려운 문제이다. 리눅스에서는 Kazam이라는 훌륭한 소프트웨어가 있었다. Windows에서 쓸 수 있는 OBS Studio의 사용법을 어서 익혀야 될 것이다.

밤 9시 반이 되어 운동복을 차려입고 밖으로 나갔다. 어제(5 km)에 이어서 오늘은 6 km를 달렸다. 눈이 얼어 미끄러운 산책로에서 넘어지지 않기 위해 많은 주의를 기울였다. 무라카미 하루키는 매일 10 km를 달리거나 1,500 m 수영을 한다고 알려져 있다. 다소 번거롭다고 느껴지더라도 신체를 규칙적으로 쓰는 것이 업무의 스트레스를 해소하는데 큰 도움이 된다. 음악과 관련된 활동도 마찬가지이다.

다음주면 추위가 물러가기 시작할 것이다. 이번 겨울도 만만하지는 않았다.


2025년 2월 6일 목요일

KRIBBtonite의 최초 공연, 출장(강원도 홍천), 그리고 흩날리는 눈발을 뚫고 대전으로 복귀

연구소 설립 40주년을 기념하는 행사에서 우리 밴드 KRIBBtonite가 첫 공연을 하였다. KRIBB + tonight(오늘밤)의 뜻도 있지만, 슈퍼맨도 꼼짝 못하게 만드는 신비한 돌 kryptonite를 뜻하기도 한다. 준비 기간은 약 3개월. 각자 연구와 실험에 바쁜 일정을 소화하면서도 자발적으로 모여 이런 성취를 이룬 것은 대단하다고 생각한다. 우리가 만들어 낸 음악의 질을 논하기에 앞서 정말 수고 많았다고 칭찬부터 하고 싶다.

2025년 2월 4일, 역사가 이루어졌다. 정말 마음에 드는 단체 사진. 촬영자를 기억하지 못함이 아쉽다.

베이스를 치는 내 모습. 이를 보고 가수 이용복(1952~)을 떠올리는 분도 있었으나, 나는 존 윅 4편에 나오는 케인(견자단)의 모습과 대조해 보았다. 


멤버 중 한 명은 공연 후 정리를 마치고 늦은 점심을 먹자마자 부랴부랴 회의를 하려 세종시(과기정통부)로 달려갔다. 

네 곡을 연주했던 공연 전체를 찍은 동영상을 입수하게 되어 밤 늦게 여기에 타이틀과 약간의 자막을 입혀 유튜브에 올렸다. OpenShot 비디오 에디터를 쓴 지가 좀 되어서 사용법을 기억해 내느라 시간이 걸렸다.

동영상 편집 중. 스틸 사진을 모아 쿠키 영상 비슷한 것을 만드는 일이 가장 어려웠다. 여러 이미지 사이의 디졸브를 매끄럽게 설정하는 것은 쉽지 않다.


보컬을 담당하는 멤버가 무려 세 명이라는 것도 KRIBBtonite의 강점이다. 음향 장비를 더욱 확충하여 다양한 여건에서 좋은 사운드를 내는 것이 앞으로의 숙제이다. 아울러서 재능과 끼를 갖춘 멤버가 더 모이면 좋을 것이다.

다음날, 강원도 홍천에서 열린 한국유전체학회 동계심포지엄을 가기 위해 길을 떠났다. 

중간에 들른 남한강 휴게소.

홍천에 왔으니 막국수를!


첫 날에는 90분에 걸친 K-BDS(국가바이오데이터스테이션)세션에서 좌장을, 둘째 날(오늘)은 오전에 열린 또 국가통합바이오빅데이터구축사업 세션에서 발표를 하느라 정신이 없었다. 단지 15분에 불과한 발표이지만 대규모 사업을 소개하는 자리인데다가 과제 책임자인 나는 세부적인 사항을 아주 상세히 알지는 못하기 때문에 사전에 연습을 많이 했다. 큰 발표장임에도 불구하고 여분의 의자를 가져다 놓아야 할 정도로 사람들이 많이 찾았고, 사업단에서도 준비에 많은 정성을 쏟은 흔적이 역력했다. 사업 홍보에 큰 도움이 되었으리라고 믿는다.

그런데 밴드 단톡방에 놀라운 소식이 올라왔다. 인트라넷 로그인 화면에 동영상 링크가 올라온 것이다. 연구소 공식 채널이 아니라 내 개인 채널이라서 송구한 마음을 금할 수 없다. 덕분에 조회수는 올라가겠지만... KRIBBtonite 로고는 챗GTP를 이용하여 내가 만든 것이다.



질의 응답 시간에 이런 질문이 있었다. 100명 정도의 whole-genome sequencing 결과를 갖고 있는데 이를 국가통합바이오빅데이터구축사업에 기탁할 수 있느냐는 것이었다. 이에 대한 백롱민 사업단장의 답변을 기억나는대로 재구성해 보면 다음과 같다.

국가통합바이오빅데이터구축사업은 참여자로부터 데이터에 대한 기부를 받는 동의서에 기반하고 있습니다. 지금까지 있었던 연구에서는 참여자로부터 데이터를 연구 목적으로 사용해도 좋다는 사용 승인을 받은 것이지 기부를 받은 것이 아닙니다. 따라서 이미 만들어진 데이터를 본 사업에 기탁할 수는 없습니다.

만약 기존 데이터를 국가통합바이오빅데이터구축사업의 틀 안에 넣으려면, 참여자를 다시 수소문하여 다시 동의서를 받아야 한다. 이를 다소 어려운 말로는 '동의서 구득'이라고 한다. 이는 인간 대상 연구를 엄격하게 제한하는 우리나라의 규제 현실에서 빚어지는 매우 안타까운 현실이기도 하다. 미국에서는 몇 가지 방법으로 비식별 처리가 이루어진 인체유래 데이터를 이용하는 연구는 인간 대상 연구로 취급하지 않기 때문에 추가적인 동의서나 심지어 IRB 심의도 필요하지 않은 것으로 알고 있다. 이 문제는 내가 블로그에서 여러 차례 언급한 일이있다. 우리나라에서는 비식별 정도가 아니라 원칙적으로 데이터에 대한 익명화를 해야 한다. '보건의료데이터 활용 가이드라인'에서는 익명화보다 수준이 낮은 가명처리를 한 경우 이를 특정 목적-통계 작성, 과학적 연구, 공익적 기록 보존-에 한하여 정보주체(제공자)의 동의 없이 제3자에게 제공하여 사용할 수 있도록 하였으나, 엄격히 말해서 여기에 '연구 데이터'는 포함되지 않는다. 연구데이터를 재활용할 수 있는 유일한 방법은, 연구자가 데이터를 수집하면서 이를 인체유래물은행에 기증한다는 동의서까지 같이 받는 것이다. 데이터를 등록하는 은행이 별도로 존재하고, 이를 인체유래물은행이 담당한다는 것은 매우 어색하다.

엄보영 사무국장의 사업 전체 설명에서 data philanthropy('데이터 자선 활동' - 기업, 기관 및 개인이 보유한 데이터를 공익적 목적으로 공유하거나 활용하는 기부 형태)를 강조한 것은 매우 적절하다고 생각한다. 하지만 기부는 명시적인 의사 표현이 필요하다. 다른 말로는 결국 동의서 구득의 문제로 귀결된다. 그래서 나에게는 미국의 모델이 매우 합리적으로 느껴진다.  

같은 세션에서 발표를 했던 Graeme Bethel 및 일루미나 코리아의 관계자들과 미팅까지 하느라 늦은 점심을 먹어야 했다. 왜 genome sequencing이 필요한가? 환자에게 도움을 주고, 과학자들에게는 연구를 할 수 있는 데이터를 주며, 마지막으로 제약 기업이 신약을 개발하는데 필요하기 때문이다. 이는 Bethel의 말이었다.

Graeme Nethel의 발표.


오후 세시 반이 다 되어서 홍천을 떠나 대전으로 향했다. 또 눈이 내린다! 영하 18도에 가까운 혹독한 강원도의 밤을 보낸 때문일까, 자동차의 내비게이션 화면이 나오지 않는다. 엔진오일을 교환할 때도 되었으니 주말에는 서비스 센터에 가 봐야 되겠다. 지난주의 여수 여행과 서울 나들이를 비록하여 공연, 그리고 어제와 오늘의 강원도 출장까지... 나나 자동차나 모두 수고가 많았다. LibreCAD에서 진공관 앰프 상판 도면을 완성하는 것도 이번 주말의 숙제가 되겠다.



2025년 2월 2일 일요일

8 km 달리기의 후유증 - 쏟아지는 졸음

  • 사흘 전(1/30) - 39:20 / 6.04 km / 6'30" 
  • 이틀 전(1/31) - 12:35 / 1.87 km / 6'41" <- 불편한 신발을 잘못 선택해서 빨리 종료함 
  • 어제(2/1) - 53:19 / 8.01 km / 6'39"

한 번에 8 km를 달린 것은 1월 26일 여수 여행 중이 최초였고 어제는 두 번째였다. 달리기를 시작한 작년 8월부터 어제까지의 총 마일리지는 401.69 km였다.

어제 달린 갑천변 코스.


새로운 기록을 세웠다는 뿌듯함은 좋았지만 오늘 하루 종일 쏟아지는 졸음과 싸워야만 했다. 오늘이 휴일이었던 것이 얼마나 다행인지 모른다. 다리의 뻐근함 또는 묵직함은 다음날 오전이면 다 풀린다. 즉 이 정도의 달리기가 근골격계에 문제를 일으키지는 않는 것 같다. 그러나 피로감을 느낀다면 문제가 있다.

현재의 체력으로는 격일 8 km 달리기는 무리가 있다. 한 달에 꼭 100 km 이상을 달리려고 과도하게 집착하지는 말자. 

  • 2024년 8월(51.66 km), 9월(40.11 km), 10월(68.95 km), 11월(75.22 km), 12월(66.26 km)
  • 2025년 1월(91.12 km) - 총 16회, 회당 5.695 km

올해 1월의 기록을 기준점으로 삼아서 이보다 조금 더 달린다고 생각하면 될 것이다. 이틀에 한 번 꼴로 40분 이상을 달리되 2~3회에 한 번 정도는 8 km(대략 53~54분)를 채우면 될 것으로 본다. 

공주(公州)의 재발견

인기 프로그램 「전현무계획2」에 소개되었던 어떤 식당을 가기 위해 공주에 들렀다. 원조집이 아닌 다른 업체를 통해 이미 이 음식을 먹어본 일이 있던 아들의 말로는 대전-충남권에서만 잘 알려진 것으로서 다른 동네에서는 '괴식(怪食)' 취급을 받는다고 하였다.

과연 한 시간이나 대기하면서 먹을 가치가 있었을까? 그렇게 나쁘지는 않았다. 그러나 이곳을 다시 찾아와서 줄을 서는 수고를 감수하면서 또 먹게 될 것 같지는 않다. 맥주 안주로는 적당해 보였다. 차라리 공주 특산물인 밤을 이용한 디저트류가 더 나았다. '여수(돌산도):갓 = 공주:알밤'이라는 비례식을 떠올려 보았다.


유별난 음식으로 늦은 점심을 먹은 뒤 주변을 검색하여 '#17커피'라는 카페에 들렀다. 대전지방검찰청 공주지청 앞 회전교차로에 접한 곳으로, 밝은 표정으로 손님을 맞는 주인의 모습이 좋았다. 



아무런 계획 없이 향한 다음 목적지는 공산성. 입구에 해당하는 금서루로 오르는 길에 즐비하게 놓인 비석군을 살펴보았다. 공주는 이미 여러 차례 와 보았기에 새로울 것은 없다고 생각했지만, 이 공덕비(선정비 또는 송덕비라고도 부름)를 놓기 위해 주민들은 괜한 수고를 한 것은 아닌지 의문이 들었다. 공주에는  정3품의 목사가 파견되었다고 한다. 공주를 거쳐가는 모든 관찰사가 이곳 백성들이 영원히 기억하고 싶어하는 훌륭한 관리였을 것으로 생각하지는 않는다. 그런 관찰사가 임기를 마치고 물러난 뒤에는 공덕비를 과연 세우지 않고 지나갔을까? 혹은 어떤 관찰사가 머물다 가더라도 그저 관행이라는 이유로 비석을 세운 것일까? 혹시 아직도 관료 사회에 남아있는 '간부 모시는 날'(2025년 1월 조선일보 기사 링크)과 같은 폐습은 아니었을까?


여러 공덕비 중 이 사진의 가운데 것이 가장 특이하면서 조형미가 돋보인다.

조금 검색을 해 보니 2015년 장성신문에 실린 「공덕비 유감」이란 기사에 이런 글이 있었다.

하지만 탐관오리(貪官汚吏)들은 부임하자마자 자기 밑의 아전들을 시켜 공덕비를 세울 돈을 모으게 했다. 이는 공덕비 건립이 조선시대 고을 수령의 공개적인 비자금 창구로 백성들로부터 돈을 각출했고 이를 비채(碑債) 또는 입비전(立碑錢)이라 부르며 성금의 일부만 공덕비 건립에 쓰고 나머지는 사또가 개인적으로 챙기는 돈 이었기 때문이다. 여기에 권력에 아첨하는 이방이나 아전들이 있었을 것은 당연한 이야기다. 정조가 1789년 '세운 지 30년 이내의 비석은 모두 철거하라'는 엄명까지 내린 것을 보면 공덕비의 폐해가 심각했음을 짐작하게 한다.

공덕비에 상투적으로 쓰는 문구가 무엇인지 살펴보았다. 나의 얄팍한 한자 실력으로도 그 뜻을 미루어 쉽게 짐작할 수 있는 '영세불망비(永世不忘碑)'라는 문구가 적힌 비석이 많았다.


어떤 비석에서는 다음 사진과 같이 永('길 영')을 다소 색다르게 새겨 놓았다. 마치 亠(돼지해머리 두) 부수 아래에 물 수자를 쓴 것 같이 보인다. 永은 내 이름에 쓰이는 한자라서 못알아보는 것은 말이 되지 않는데 말이다.


날씨가 별로 춥지 않아서 공산성 성곽을 올라 시계방향으로 2.66 km에 이르는 둘레를 걷기로 하였다. 약간 가파른 구간이 있어서 힘겨워하던 아내도 전체 둘레를 다 돌고 나서는 무척 뿌듯해 하였다. 내가 달리기를 쉬지 못하는 것도 마찬가지 이유이다. 워밍업이 되기 전까지는 힘들지만, 집에 돌아와서 샤워를 하고 난 뒤 밀려드는 개운함과 성취감은 다른 그 무엇으로도 대신할 수 없기 때문이다.

금서루를 비록하여 금강과 면한 곳은 돌로 쌓은 성벽이 있지만 이는 조선시대에 개축된 것이고, 그 뒤편에는 토성 형태를 하고 있다. 중간쯤 돌았을 때 눈이 많이 와서 출입을 금한다는 작은 표지판이 놓인 것을 발견하였으나 포근한 날씨로 눈이 많이 녹은 터라 우리 부부를 비롯한 많은 탐방객이 이를 무시하고 성벽을 따라 돌았다.

정문 역할을 하는 금서루를 배경으로.



누에 씨(알)을 보관하기 위한 잠좀냉장고. 1914년에 세워졌다고 한다.

연지와 만하루.


동문에 해당하는 영동루. 원래 현판이 없었으나 공주시에서 이름을 공모하였다고 한다.

성곽을 따라 걷는 도중 국방색의 긴 가방을 등에 멘 청년과 그 아버지로 추정되는 사람 둘을 만났다. 가방에는 태극기가 붙어 있었다. 가방에 든 것이 무엇이냐고 물었더니 활이라고 하였다. 

"양궁인가요, 국궁인가요?"

"국궁입니다."

나중에 찾아보니 공주 관광단지 안에 관풍정이란 국궁장이 있다고 한다. 전국 380여 국궁장의 종가 역할을 하는 인왕산 기슭의 황학정이 떠오른다. 

해가 뉘엿뉘엿 넘어가면서 시간이 부족하여 성곽을 따라 걷는 것에 집중하느라 영은사(사찰)을 제외하고는 공산성 내부에 있는 많은 건축물과 유구를 둘러보지는 못하였다. 공산성 안에는 왕궁으로 추정되는 유적이 있다. 서기 475년 동안 공주(당시 웅진)로 백제의 도읍지를 옮겨 사비 천도 전까지 약 70년 가까운 시간이 지날 동안 왕궁은 어디에 있었을까? 웅진 시대 왕궁터를 비정할 수 있는 문헌자료는 매우 제한적이며, 공산성 내부는 왕궁을 두기에는 매우 협소하다. 지속적인 발굴 조사를 통해 언젠가는 그 답이 나오리라.

유난히 길었던 2025년 설 연휴 동안의 나들이는 아쉽지만 이것으로 마무리하게 되었다.