[논문리뷰]

Snowflake - 마이크로바이옴 데이터 시각화

" " 2024. 4. 30. 20:43

* Motivation

 

마이크로바이옴 데이터는 기본적으로 상당히 많은 ASVs 를 포함하고 있기 때문에 해당 ASVs 들의 상대적 풍부도를 나타내고 샘플 간의 비교를 위한 시각화를 하는데에 많은 고민이 필요합니다. 

 

다만, 현재는 아래와 같은 막대그래프를 기반으로 하는 시각화 방법이 어느 정도 정착하여 가장 많이 사용되고 있으며 시각적으로 각 feature 의 상대적 풍부도나 샘플 간의 비교를 꽤나 직관적으로 할 수 있게 해 줍니다.

 

Wang, Xiaofan, et al. "Longitudinal investigation of the swine gut microbiome from birth to market reveals stage and growth performance associated bacteria."  Microbiome  7 (2019): 1-18.

 

 

그럼에도 위와 같은 시각화도 완벽하지는 않습니다. 일반적으로 누적막대차트 형태이기 때문에, minor taxon 이라 불리는 전체 샘플 중 정말 작은 부분만을 차지하는 ASVs 에 대해서는 시각적으로 제대로 전달하지 못하게 되며 이는 대다수의 minor taxa 에 대한 정보 전달을 일부 포기하게 만듭니다.

 

 

물론, minor taxa 는 아직까지 그렇게 중요하게 다뤄지지는 않으며 마이크로바이옴 데이터를 해석하는 데에 있어 주로 사용되는 Lactobacillus, Bifidobacterium, Prevotella, Bacteriodetes 등은 대부분의 샘플에서 상대적으로 큰 비중을 차지하기 때문에 이를 중점으로 보여주기 위해 일부 minor taxon 을 포기하는 것은 합리적인 방법처럼 보이기도 합니다.

 

 

다만, minor taxa 의 중요성은 지속적으로 다양한 논문을 통해 발표되고 있으며 한 피부마이크로바이옴 관련 논문 (아래)에서는  개인 간의 구별에 가장 결정적인 단서는 minor taxa 임을 주장하기도 하였습니다. 

 

 

Minor taxa in human skin microbiome contribute to the personal identification

The human skin microbiome can vary over time, and inter-individual variability of the microbiome is greater than the temporal variability within an individual. The skin microbiome has become a useful tool to identify individuals, and one type of personal i

journals.plos.org

( Watanabe, et al. "Minor taxa in human skin microbiome contribute to the personal identification." PLoS One 13.7 (2018): e0199947.)

 

 

그래서 가장 먼저 이야기하고자 하는 것은 '상황에 따라 ASVs 를 걸러내지 않고 모든 ASVs 를 나타내야 하는 상황이 있을 것이며 그때는 기존의 누적막대형이 아닌 다른 방법을 사용하는 것이 더욱 효율적일 것' 입니다.

 

하여, 관련된 논문들을 찾아보다가 꽤 괜찮아 보이는 시각화 방법을 제공하는 논문이 있어 해당 논문을 소개하고자 합니다.

 


 

 

Snowflake: visualizing microbiome abundance tables as multivariate bipartite graphs

Current visualizations in microbiome research rely on aggregations in taxonomic classifications or do not show less abundant taxa. We introduce Snowflake: a new visualization method that creates a clear overview of the microbiome composition in collected s

www.frontiersin.org

 

( Peeters, Jannes, et al. "Snowflake: visualizing microbiome abundance tables as multivariate bipartite graphs." Frontiers in Bioinformatics 4 (2024): 1331043.)

 

아래의 그림을 보면 해당 논문에서 수행하는 시각화가 어떤 컨셉을 가지고 있는지 간단하게 알 수 있습니다.

 

 

 

1. 큰 동그라미는 각각의 샘플을 나타내며 작은 동그라미는 각각의 ASV 를 나타냅니다.

2. 가장 바깥쪽의 작은 동그라미들은 그 집단이 연결되어 있는 단 하나의 샘플 (큰 동그라미) 에만 속하는 ASVs 를 나타냅니다.

3. 샘플과 샘플 사이에 존재하는 동그라미들은 연결되어 있는 선을 따라서 두개 이상의 샘플에 동시에 속하는 ASVs 를 나타내며 바깥쪽에서 안쪽으로 들어갈수록 많은 샘플에 동시에 속한다는 것을 의미합니다.

4. ASVs 를 나타내는 작은 동그라미의 색은 아래 "Observed in number of samples" 에 따라서 색이 변하며, 위 그림에서는 하얀색 ASV 는 1~ 2 개 샘플에 속하며 진한 파란색의 ASV 는 9~10 개 샘플에 속하는 것들입니다.

 


 

 

이렇게 보면 모든 ASVs 를 나타내는 것이 해당 그림을 너무 복잡하게 만드는 것처럼 보입니다. 실제로 해당 ASVs 가 어떤 균주에 해당하는지도 보이지 않고 ASV 가 너무 많아 이 상태로는 해석하기가 어렵습니다. 

 

 

 

그러나 이 R 을 기반으로 하는 프로그램은 결과 파일에서 아래와 같은 상호작용을 지원합니다.

 

 

 

위와 같이 어떤 ASV 에 커서를 올리면 해당 ASV 가 어떤 균주인지 (DADA2 - ASV 분석을 기반으로 함), 어떤 샘플에서 어떤 풍부도로 존재하는지를 보여줍니다. 이러한 상호작용을 통해 위의 prausnitzii 균주가 전체 10 개 샘플중에서 9개의 샘플에 존재하며, 각 샘플에 어떤 풍부도로 존재하는지 (큰 동그라미의 색깔에 따라) 직관적으로 보여줍니다.

 

 

gitlab 의 튜토리얼 파일을 따라가면 R 을 통해 쉽게 구현할 수 있으며 해당 링크는 아래와 같습니다.

 

 

 

example.Rmd · master · vda-lab / snowflake · GitLab

GitLab.com

gitlab.com

 

 

또한, 분석 결과를 바로 체험해보고 싶다면 아래의 html 파일을 다운로드하여 실행해 보면 어떤 식으로 상호작용이 작동하는지도 바로 확인해 볼 수 있습니다.

 

example.html
6.54MB

 

 

저도 제가 갖고 있는 데이터로 분석을 수행해보지는 않았지만, 이후에 특정한 목적이 있는 경우에 이런 그림으로 어필할 수 있다고 생각이 되면 확실히 도전해 볼 만한 방식이라고 생각이 들었습니다.

 

 

 

# reference

 

1) Wang, Xiaofan, et al. "Longitudinal investigation of the swine gut microbiome from birth to market reveals stage and growth performance associated bacteria."  Microbiome  7 (2019): 1-18.

 

2) Watanabe, et al. "Minor taxa in human skin microbiome contribute to the personal identification." PLoS One 13.7 (2018): e0199947.

 

3) Peeters, Jannes, et al. "Snowflake: visualizing microbiome abundance tables as multivariate bipartite graphs." Frontiers in Bioinformatics 4 (2024): 1331043.

 

4) https://gitlab.com/vda-lab/snowflake/-/tree/master?ref_type=heads