2023년 11월 15일 수요일

iTOL 제어판에서 라벨 스타일을 일괄적으로 편집하기

분류학은 규칙을 매우 엄격하게 따지는 학문이라서 이를 조금이라도 어기면 불평을 듣기 십상이다. 예를 들어 미생물을 이명법으로 명명할 때 이탤릭체(기울임꼴)를 준수해야 하는 것이 그 중의 하나다. 웹 환경에서 작성한 글을 꼼꼼하게 교정하지 않고 배포하는 일이 잦아지면서 이탤릭체, 볼드, 또는 첨자와 같은 스타일을 엄격하게 준수하지 않은 글을 많이 접하게 된다. 인터넷 상의 글이야 그렇다 치더라도 정식으로 배포된 출판물에서 이러한 오류를 발견하고 미간을 찌푸리는 미생물 분류학자가 매우 많을 것이다.

2015년 4월부터 온라인으로 전환된 Bergey's Manual of Systematics of Archaea and Bacteria(BMSAB)에 새로운 속(genus)에 관한 챕터를 하나 투고한 일이 있다. 나는 공저자 중의 하나로서 2018년 하반기부터 이에 관한 유전체 분석을 시작하여 2019년 상반기에 투고를 했었는데, 에디터가 정년퇴임을 하면서 공중에 뜬 상태가 되었다가 올 초에 출판사로부터 다시 연락이 와서 그 사이에 새로 공개된 유전체를 포함하여 전면적인 분석을 다시 하고 최종본을 완성하여 리비전 형태로 보냈었다.

세 명의 저자 중 나와 교신저자가 전부 외부 기관에 나와 있기에 이메일 교신이 원활하지 않은 상태라서 galley proof 처리 시한을 놓치고 말았다. 일반적인 저널은 48시간 내에 교정쇄에 수정을 하여 보내라고 하는데 이 저널의 경우 무려 14일의 기한을 준다. 이를 '저널'로 간주해도 옳은지는 잘 모르겠다. 웹사이트에서는 reference work라고 표현하였다. 처음에는 에디터의 사정으로 애를 먹였으니 게재 승인 후 교정 작업에서는 저자 집단이 애를 먹여도 좀 참아주어야 하지 않겠는가... 그렇다 하더라도 이미 DOI 번호(아직 미공개)도 나온 상태이니 올해 안에 출판이 되도록 최대한 작업에 박차를 가해야 되겠다.

프로덕션 에디터의 질의 중에는 내가 iTOL에서 만들었던 annotated tree 그림을 고해상도의 것으로 다시 보내달라는 사항이 있었다. 확대를 해도 글꼴이 뭉개지지 않는 PDF 파일이 있으니 그것을 보내면 된다. 

그런데...

Q11. Generally, the binomials are emphasised in italic. Please check and amend accordingly in Figure 2.

아이고, 57개나 되는 라벨을 미처 이탤릭체로 전환하지 않았더니 이런 요구를 하는구나! iTOL의 유료 구독이 끝난 뒤에 이 논문을 위한 트리 생성 작업을 진행했기에 변경 사항을 저장해 두지 못한다. 오직 tree 자료만 iTOL 계정에 남아 있을 뿐, 나머지 annotation file은 매번 드래그하여 넣어서 최종 트리를 만든 후 export를 해야 된다. 라벨을 개별적으로 더블클릭하여 이탤릭체로 만든다 하더라도, iTOL에 저장이 되지 않는다. 그러니 마지막 수정이라 생각하고 iTOL에서 작업을 완벽하게 해야만 한다.

이렇게 일을 할 수는 없는 노릇이다. 구독료를 납부하지 않고 좀 더 간편하게 라벨의 전체 수정을 할 방법이 없는지 도움말을 찾아 보았다. 'Defining multiple font styles within labels' 섹션에 그 방법이 설명되어 있었다. 라벨은 몇 개의 파트로 이루어지므로, 원하는 위치의 파트에 볼드, 이탤릭, 위 첨자, 아래 첨자를 각각 적용할 수 있다. 이 작업은 iTOL Control panel > Advanced > Other functions > Lable functions > Multi-style에서 하면 된다. 라벨 파트는 기본적으로 3개만 있는 것으로 되어 있다. 따라서 내 자료와 같이 (1)assembly accession (2)genus (3)species-epithet (4)strain의 네 파트 혹은 그 이상(스트레인 명이 여러 단어인 경우도 있으므로 파트 수는 더 늘어날 수 있음)으로 라벨이 이루어진 경우 오류가 있는 것으로 인식하므로, Lable style creator에서 'Add a lable part'를 클릭하여 최대의 파트 수를 갖는 라벨의 수에 맞추어야 한다.

iTOL 제어판(advanced 탭)에서 Label style creator를 사용하는 모습. 2, 3번째 필드를 일괄적으로 이탤릭체로 만들었더니 종이 확정되지 않은 것은 Genus_name sp.의 형태가 되고 말았다. 'sp.'는 다시 정상 형태로 되돌려야 한다. Label style creator에서 이렇게까지 세밀하게 조정하는 것이 가능한지는 잘 모르겠다. Options에서 'Exclude labels: sp.'라고 하면 될까? 그렇지 않다. 'sp.'가 포함된 모든 라벨에 대해서 스타일 적용을 하지 않는 방식으로 작동한다.

iTOL에 저장된 트리 자료에 라벨 정보 파일을 올려서 이와 같이 스타일에 손을 대고 - 제어판에서 건드린 모든 것은 따로 기록을 해 두는 것이 현명할 것이다 - 나머지 annotation file을 입히는 일에는 몇 분이 걸리지 않는다. 역시 찾으면 방법은 나온다! 하지만 해결이 불가능 한 것이 있다. Tree에 곁들인 heatmap에는 leaf(raw) label과 동일한 정보를 column label로 만들어 넣었는데, 이것에도 스타일을 적용하기는 매우 곤란하다.

그러나 문제점을 발견 하였다. 표준 균주의 라벨은 style annotation file을 통해서 볼드체로 만들어 놓았는데, 나중에 이탤릭화를 하면서 다시 얇은 글씨로 되돌아갔다는 점. 하이고... Inkscape에서 일일이 고쳐 보았으나 볼드와 이탤릭 속성을 동시에 줄 수가 없다. 워드나 파워포인트가 아니니 참고 살아야 하는 것 같다.

종합하자면 branch와 leaf label에 대한 색상과 스타일을 결정하는 annotation file(iTOL 도움말샘플)과 제어판을 통해서 조절하는 label style creater의 미묘한 권력 관계에 문제가 있는 것 같다. iTOL에서 표현하는 색상과 스타일을 설정하는 방법이 점차 세분화되는 것도 사용자를 어렵게 한다. 이에 대해서는 나중에 별도로 다루어 보고자 한다. 그리고 텍스트의 속성 중 볼드와 이탤릭은 공존할 수 있는 것인지에 대한 근본적인 질문도 아직 남아 있다. 예를 들자면 위 첨자와 아래 첨자는 공존할 수 없음이 당연하다. 첨자를 이탤릭체로 만들려는 노력은 아무도 하지 않을 것이다. 하지만 이탤릭과 볼드는? 이를 동시에 가질 수 있는 속성으로 만들어 주는 편집기가 있고, 그렇지 않은 것도 있다. 

2023년 11월 16일 업데이트 - text label dataset의 활용

Text label dataset(iTOL 도움말, template)을 사용하면 각 node ID에 텍스트를 연결하여 tree에 표시하되 html tag를 사용하여 매우 다양한 스타일을 적용할 수 있다고 한다. 전통적으로 사용하던 labels annotation file(iTOL 도움말, template)에서는 아무런 스타일이 없는 단순한 텍스트만 표시하게 해 주었다. Text label dataset에서는 <bi>...</bi> 태그를 써서 볼드와 이텔릭을 동시에 나타내는 것이 가능하다. 데이터 파일을 만들기는 상당히 귀찮지만 이것을 잘 이용하면 leaf label을 자유자재로 변형할 수 있을 것으로 기대한다.


댓글 없음: