Bioinformatics/Taxonomy

데이터베이스마다 다른 Phylum이름을 최신버전으로 변경하자

김해김씨99대손 2024. 12. 8. 20:43

 
 
 
 
 

개요

현재 분석에서 SILVA 138.1, RDP 19, Greengenes2, GTDB를 쓰고 있습니다. 문제는 계통 이름이 업데이트되는 과정에서 일부 DB는 적용되지 않았습니다. 그래서 database를 비교할 때 수동으로 변경해주어야 하는 번거로움이 생깁니다. 
 
 
 
 
SILVA 138.1 버전은 는 Phylum에서 Actinobacteriota, Firmicutes, Bacteroidota, Chloroflexi, Cyanobacteria, Pseudomonadota 등으로 변경 전후 이름이 혼합되어 있습니다. 심지어 Actinobacteriota는 Actinobacteria 가 변경을 거치면서 나타난 중간 버전(Actinobacteria -> Actinobacteriota -> Actinomycetota)에서 중간 버전의 이름입니다. 
(https://lpsn.dsmz.de/phylum/actinobacteriota)
RDP 19 버전은 는  Bacillota (=Firmicutes), Actinomycetota(=Actinobacteriota), Bacteroidota, Cyanobacteriota (= Cyanobacteria), Chloroflexota(= Chloroflexi)로 변경 후 이름만 포함하고 있습니다. 
또한 같은 RDP지만 18 버전은 모두 변경 전 이름( Firmicutes, ActinobacteriaProteobacteria..)을 포함하고 있습니다.
 
 
 
+) SILVA 138.2는 변경 후 이름을 반영하고 있다고 합니다! (https://www.arb-silva.de/news/view/2024/07/11/silva-release-1382/)
 
 
 
 

변경된 계통이름

Skin 및 Gut에서 많이 보이는 Phylum이름의 변경 전 후를 확인해 보자.  

Validly published name Type genus Older, not validly published names
Acidobacteriota Acidobacterium Acidobacteria
Actinomycetota Actinomyces Actinobacteria
Bacillota Bacillus FirmicutesFirmacutes
Bacteroidota Bacteroides Bacteroidetes
Campylobacterota Campylobacter Epsilonbacteraeota
Chlorobiota Chlorobium Chlorobi
Chloroflexota Chloroflexus Chloroflexi
Cyanobacteriota Cyanobacterium -
Deinococcota Deinococcus Deinococcus-Thermus
Desulfobacterota Desulfobacter -
Fusobacteriota Fusobacterium Fusobacteria
Pseudomonadota Pseudomonas Proteobacteria
Verrucomicrobiota Verrucomicrobium Verrucomicrobia

(Oren A, npj Biofilms Microbiomes, 2024)

 
 

반응 

 

 


 
이에 대한 많은 반박도 존재합니다. 심지어 혼란스러운 이를 위한 가이드 (Oren A, npj Biofilms Microbiomes, 2024) 도 출판되었습니다 ㅋㅋㅋ
 
"Public databases that are widely used by microbiologists as sources of information about prokaryotic taxa do not always use validly published names." 
" The emended Rule 8 states that the name of a phylum is formed by the addition of the suffix -ota to the stem of the name of the designated type genus."
"The rules of the ICNP only apply to cultivated prokaryotes."
 
 
 

변경 코드

taxonomy table을 df라는 변수로 받고 아래 스크립트를 수행하면 됩니다. 

update_phylum_names <- function(df) {
  # Define the mapping of old names to new names
  phylum_changes <- data.frame(
     old_name = c("Bacteroidetes", "Planctomycetes", "Acidobacteria", "Actinobacteria", "Aquificae",
                 "Armatimonadetes", "Balneolaeota", "Caldiserica", "Calditrichaeota", "Chlamydiae",
                 "Chlorobi", "Chloroflexi", "Chrysiogenetes", "Crenarchaeota", "Deferribacteres",
                 "Deinococcus-Thermus", "Dictyoglomi", "Elusimicrobia", "Fibrobacteres", "Firmicutes",
                 "Fusobacteria", "Gemmatimonadetes", "Ignavibacteriae", "Kiritimatiellaeota", 
                 "Lentisphaerae", "Nitrospinae", "Nitrospirae", "Proteobacteria", "Rhodothermaeota",
                 "Spirochaetes", "Synergistetes", "Tenericutes", "Thaumarchaeota", "Thermodesulfobacteria",
                 "Thermotogae", "Verrucomicrobia", "Myxococcota", "Epsilonproteobacteria",
                 "Thermomicrobia", "Oligoflexia", "Deltaproteobacteria"),
    new_name = c("Bacteroidota", "Planctomycetota", "Acidobacteriota", "Actinomycetota", "Aquificota",
                 "Armatimonadota", "Balneolota", "Caldisericota", "Calditrichota", "Chlamydiota",
                 "Chlorobiota", "Chloroflexota", "Chrysiogenota", "Thermoproteota", "Deferribacterota",
                 "Deinococcota", "Dictyoglomota", "Elusimicrobiota", "Fibrobacterota", "Bacillota",
                 "Fusobacteriota", "Gemmatimonadota", "Ignavibacteriota", "Kiritimatiellota",
                 "Lentisphaerota", "Nitrospinota", "Nitrospirota", "Pseudomonadota", "Rhodothermota",
                 "Spirochaetota", "Synergistota", "Mycoplasmatota", "Nitrososphaerota", "Thermodesulfobacteriota",
                 "Thermotogota", "Verrucomicrobiota", "", "Campylobacterota", "Thermomicrobiota",
                 "Bdellovibrionota", "Desulfobacterota")
  )
  
  # Replace old names with new names
  for (i in 1:nrow(phylum_changes)) {
    df[df$Phylum == phylum_changes$old_name[i], "Phylum"] <- phylum_changes$new_name[i]
  }
  
  return(df)
}

 
 
 
이왕이면 RDP 1.9와 SILVA 138.2의 최신버전을 쓰시는 것을 추천드립니다!
각 DB의 이전 버전 혹은 Greengenes2는 이름 변경이 필요합니다~. 
 
 
 

참고

 

[스크랩] Phylum 이름 변경 from NCBI (2024.6)

https://ftp.ncbi.nih.gov/pub/taxonomy/Major_taxonomic_updates_2023.txthttps://ncbiinsights.ncbi.nlm.nih.gov/2022/11/14/prokaryotic-phylum-name-changes/https://ncbiinsights.ncbi.nlm.nih.gov/2024/08/29/ncbi-taxonomy-updates-to-yeasts/#more-13805

bio-kcs.tistory.com

 

반응형