레이블이 NCBI인 게시물을 표시합니다. 모든 게시물 표시
레이블이 NCBI인 게시물을 표시합니다. 모든 게시물 표시

화요일, 12월 09, 2025

AGP convert

글을 작성하면서 작성하다가 미루다 미루다 못올린 글들이 있는데
와.... 한... 10년전 기록인데 지금도 사용하고 있는지는 모르겠는데... 그래도 혹시나 모르시 한번 올려봅니다. :) 

--

이번에 paired-end와 mate-paired로 raw data로
assembly할 기회가 있어서 assembly하고 gene prediction(annotation) 작업 후
NCBI submission하는데 기존에 upload랑 다른 점이 있다면..
그거슨 AGP !!!!

모 딱히 Assembly Gap Protocol의 약자로 생각하시는 그 AGP아닙니다. 고갱님 (AGP 아시면 와... 일단 영포티 )

>AGP 2.0 Spec<

ALLPATH-LG같은 경우 AGP를 생성해 주는 것으로 알고 있는데
본인의 경우 SOAPdenovo로 assembly했기에.. agp 그런거 자동으로 안만들어줘서
scaffolds파일 사용해서 agp 파일 만드는 스크립트 제작했습니다.

스크립트는 >여기< 에서 확인하실 수 있습니다.

이 스크립트는 사실 필요할지 모르겠습니다. 요즘에 NCBI에 assembly 데이터를 업로드 할 때 AGP 파일을 함께 업로드 하는지... 거기다 10년전 작성한 글을 심폐소생한 것이라서 이 스크립트 사용해 주의를 하시기 바랍니다. :)


출처: @ye._.vely618

월요일, 11월 24, 2025

미생물 분석시 기준으로 사용할 참조 DB는?

microbiome분석시 사용하는 reference database에 관련된 내용으로 SILVA, RDP, Greengenes, NCBI and OTT — how do these taxonomies compare? 2017년도에 나왔던 것으로 사실 지금은 greengene2의 등장으로 대부분 해소가 되었을 것이긴 하나 그래도 아직 완벽하게 gg2로 모든것이 해결된것은 아니라서... 

gg2가 주로 사용되고 있긴하지만 그래도 다른 DB들을 아예 사용하지 않는 것은 아니라서 SILVA, RDP, greengene, NCBI, OTT에 대해서 한번 둘러보고, 각 DB별로 어떤 특장점들이 있는지 알아가는 기회가 되면 좋을것 같습니다.

DOI: 10.1186/s12864-017-3501-4



clova-x
이 연구는 microbiome sequencing 분석에서 사용되는 다양한 taxonomy의 호환성을 비교하고, 이를 통해 서로 다른 분류 체계 간의 분석 결과를 비교할 수 있는 방법을 제시합니다.
1. **연구 배경**
   - microbiome sequencing 분석의 주요 단계 중 하나는 reads를 taxonomic units에 할당하는 것입니다.
   - SILVA, RDP, Greengenes, NCBI 등 네 가지 taxonomy가 주로 사용됩니다.
2. **연구 방법**
   - taxonomy 간의 호환성을 평가하기 위해 mapping 알고리즘을 개발하였습니다.
   - 이 알고리즘을 통해 서로 다른 taxonomy 간의 mapping을 수행하고, 분석 결과를 비교할 수 있습니다.
3. **결과 및 결론**
   - SILVA, RDP, Greengenes는 NCBI와 OTT에 잘 매핑되지만, 반대 방향으로는 문제가 발생합니다.
   - 가장 큰 두 taxonomy인 NCBI와 OTT는 작은 taxonomy들에 비해 매핑이 어렵습니다.
4. **Taxonomy 설명**
   - SILVA는 bacteria, archaea, eukarya에 대한 정보를 포함하며, 16S/18S rRNA를 기반으로 합니다.
   - RDP는 16S rRNA sequences를 기반으로 하며, bacteria, archaea, fungi에 대한 정보를 포함합니다.
   - Greengenes는 bacteria와 archaea에 초점을 맞추고, 자동화된 tree construction을 사용합니다.
   - NCBI는 모든 유기체의 이름을 포함하며, 매일 업데이트됩니다.
   - OTT는 가능한 한 많은 taxa를 포괄하는 종합적인 tree를 제공하며, phylogenetic trees를 기반으로 합니다.

gemini
## 제목: 미생물 분류의 혼란을 해결하다: SILVA, RDP, Greengenes, NCBI 그리고 OTT는 어떻게 다를까요?
**연구 배경: 미생물 분류, 왜 중요하고 무엇이 문제일까요?**
[cite_start]최근 '마이크로바이옴(Microbiome)'이라고 불리는 우리 몸과 환경 속 미생물에 대한 연구가 활발합니다[cite: 596]. [cite_start]미생물의 DNA 염기 서열을 분석하는 것은 이들 미생물의 구성을 파악하는 핵심 단계입니다[cite: 588, 597]. [cite_start]이러한 분석에서 미생물을 정확하게 분류하고 이름을 붙이는 기준, 즉 **'참조 분류 체계(Reference Taxonomy)'**의 선택이 매우 중요합니다[cite: 598, 601].
[cite_start]문제는 미생물 분류를 위해 널리 사용되는 분류 체계, 예를 들어 **SILVA, RDP, Greengenes, NCBI**가 서로 다르고 일관성이 부족하다는 점입니다[cite: 589, 601]. [cite_start]연구자들은 이 중 하나를 선택해 분석을 진행하지만, 각 분류 체계가 얼마나 비슷한지, 그리고 다른 분류 체계를 사용한 연구 결과를 어떻게 비교해야 할지 명확하지 않았습니다[cite: 590, 604].
**연구 목적: 미생물 분류 체계들을 비교하고 호환성을 확보하자**
[cite_start]이 논문은 널리 사용되는 네 가지 미생물 분류 체계(SILVA, RDP, Greengenes, NCBI)와 최근 발표된 **Open Tree of Life Taxonomy (OTT)**를 비교하여[cite: 592, 602, 607]:
1.  [cite_start]이들 분류 체계가 얼마나 유사한지를 파악하고 [cite: 602]
2.  [cite_start]하나의 분류 체계를 사용한 결과를 다른 분류 체계로 쉽게 변환하여 비교할 수 있는지 확인하는 것 [cite: 604, 606]
을 목표로 합니다.
**연구 방법: 분류 체계 간의 '매핑(Mapping)'과 유사성 점수**
연구진은 분류 체계들을 비교하기 위해 두 가지 주요 접근 방식을 사용했습니다.
1.  **공유 분류 단위 비교 (Shared Taxonomic Units):**
    * [cite_start]Phylum(문)부터 Genus(속) 수준까지, 각 분류 체계가 이름이 동일한 분류 단위를 얼마나 공유하고 있는지 세어 비교했습니다[cite: 710, 714].
    * [cite_start]특히, 네 가지 분류 체계의 합집합('ALL')과 OTT를 비교했습니다[cite: 715].
2.  **매핑 절차 (Mapping Procedure) 기반 비교:**
    * [cite_start]하나의 분류 체계(출발지 A)의 노드(분류 단위)를 다른 분류 체계(도착지 B)의 노드로 연결하는 '매핑' 방법을 정의하고 소프트웨어(**CrossClassify**)로 구현했습니다[cite: 591, 717, 718, 847].
    * [cite_start]**'엄격한 매핑(Strict mapping)'**과 **'느슨한 매핑(Loose mapping)'**을 사용하여 A의 노드가 B에서 동일한 이름과 등급(Rank)을 가진 노드를 찾지 못했을 때의 처리 방식을 다르게 했습니다[cite: 720, 726, 834].
    * 매핑이 완벽하지 않을 때, 두 분류 체계의 노드 등급 차이를 이용해 **'비유사성 점수(Dissimilarity Score, $Q(A,B)$)'**를 계산했습니다. [cite_start]이 점수는 0(완벽한 매핑)부터 1(모든 노드가 뿌리 노드에 매핑) 사이의 값을 가집니다[cite: 814, 816, 817, 842].
**연구 결과: 큰 분류 체계가 작은 분류 체계를 잘 포용한다**
1.  **공유 분류 단위:**
    * [cite_start]네 가지 분류 체계(SILVA, RDP, Greengenes, NCBI)는 Genus(속) 수준에서 무려 89%의 분류 단위가 다른 분류 체계와 공유되지 않는 등, 분류 단위의 차이가 컸습니다[cite: 928].
    * [cite_start]SILVA는 NCBI와 가장 많은 분류 단위를 공유했습니다 (Phylum, Class, Order에서 60%, Family, Genus에서 10%)[cite: 929].
    * [cite_start]다른 세 가지 분류 체계(SILVA, RDP, Greengenes)의 교집합이 NCBI를 제외하고는 매우 작았는데, 이는 이들 세 분류 체계가 대부분 NCBI 분류 체계에 포함됨을 시사합니다[cite: 930].
2.  **매핑 비교:**
    * [cite_start]**SILVA, RDP, Greengenes**와 같은 작은 분류 체계는 **NCBI와 OTT**와 같은 큰 분류 체계로 **잘 매핑**되었습니다 (낮은 비유사성 점수)[cite: 593, 608, 937, 938].
        * [cite_start]특히 NCBI와 OTT는 평균 비유사성 점수가 각각 0.08과 0.06으로 매우 낮았습니다[cite: 938].
    * [cite_start]반면, **NCBI와 OTT**와 같은 큰 분류 체계는 작은 분류 체계로 매핑할 때 **문제가 많았습니다** (평균 비유사성 점수 약 0.68로 훨씬 높음)[cite: 593, 608, 939].
    * [cite_start]가장 큰 **OTT**는 **NCBI**에 매핑할 때 (비유사성 0.12)보다 **NCBI**가 **OTT**에 매핑할 때 (비유사성 0.02) 훨씬 더 유사성이 높았습니다[cite: 940].
**고찰 및 의의와 시사점: NCBI를 공통의 언어로 사용하자**
* [cite_start]**크기 효과:** 단순한 공유 분류 단위 비교는 분류 체계의 크기에 크게 좌우되어 구조적 호환성에 대한 정보를 거의 제공하지 못했습니다[cite: 1004, 1006].
* [cite_start]**구조적 호환성:** 매핑 분석은 **SILVA, RDP, Greengenes**가 **NCBI와 OTT**에 비교적 잘 포용된다는 것을 보여주어, 이들 작은 분류 체계의 연구 결과를 더 큰 분류 체계로 변환하는 것이 가능하다는 것을 시사합니다[cite: 593, 608].
* **분류 체계 선택의 중요성:**
    * [cite_start]OTT는 다섯 가지 분류 체계 중 가장 크고 다른 분류 체계들이 잘 매핑되지만, 현재는 서열 데이터베이스가 없어 미생물 유전체학(Metagenomics) 연구에 직접 사용하기에는 한계가 있습니다[cite: 1048, 1049].
    * [cite_start]따라서, 이 연구는 **다른 분류 체계를 사용하여 수행된 분석들을 비교할 때 공통의 프레임워크로 NCBI 분류 체계를 사용할 것을 권장**합니다[cite: 1050].
    * [cite_start]16S 서열 분석만 수행하는 연구에서도 널리 사용되는 SILVA 대신 NCBI 분류 체계를 사용하거나, 16S 및 샷건 시퀀싱을 모두 사용하는 연구에서는 NCBI를 고려해야 합니다[cite: 1051].
**이 연구가 중요한 이유**
[cite_start]이 연구는 서로 다른 미생물 분류 체계 간의 복잡하고 구조적인 유사성을 정량적으로 비교할 수 있는 **새로운 방법과 소프트웨어(CrossClassify)**를 제시했습니다[cite: 591, 605, 606, 847]. [cite_start]미생물 분류의 일관성 부족은 마이크로바이옴 연구의 결과를 통합하고 비교하는 데 큰 걸림돌이었습니다[cite: 590, 604]. [cite_start]이 연구의 결과와 도구는 연구자들이 서로 다른 분류 체계 기반의 **마이크로바이옴 연구 결과를 공통의 분류 체계로 통일하여 비교할 수 있도록** 지원함으로써, 향후 연구의 **호환성과 재현성을 크게 향상**시키는 데 기여할 것입니다[cite: 606].

chatGPT
다음은 업로드하신 논문 **「SILVA, RDP, Greengenes, NCBI and OTT — How do these taxonomies compare?」(BMC Genomics, 2017)**의 내용을 일반 독자가 이해하기 쉽게 정리한 블로그용 요약입니다.
(A4 두 장 분량, 연구 배경 → 목적 → 방법 → 결과 → 고찰 → 의의 순서)
---
## 미생물 분류의 ‘지도’를 비교하다 — 다섯 가지 미생물 분류체계의 차이점
### 🧬 연구 배경
우리 몸이나 환경 속의 미생물을 분석할 때, 연구자들은 ‘누가 살고 있는가’를 알아내기 위해 **DNA를 직접 시퀀싱(염기서열 분석)** 합니다.
하지만 여기서 큰 문제가 하나 있습니다.
분석한 DNA 조각들을 ‘어떤 생물 분류체계(taxonomy)’를 기준으로 분류하느냐에 따라 **결과가 달라질 수 있다는 것**입니다.
현재 미생물 연구자들이 가장 널리 쓰는 분류체계는 다음 네 가지입니다.
* **SILVA**
* **RDP (Ribosomal Database Project)**
* **Greengenes**
* **NCBI Taxonomy**
최근에는 여기에 **Open Tree of Life Taxonomy (OTT)** 라는 방대한 계통수가 새로 등장했습니다.
이들 분류체계는 모두 ‘미생물의 계통학적 이름표’를 제공하지만, 구성 방식과 깊이, 세분화 수준이 제각각입니다.
그래서 서로 다른 연구에서 결과를 비교하거나 통합하기가 매우 어렵습니다.
---
### 🎯 연구 목적
이 논문은 **이 다섯 가지 분류체계가 얼마나 유사하거나 다른지**를 분석했습니다.
즉, “같은 미생물이라도 다른 분류체계에서는 이름과 위치가 다르게 나타나는 이유는 무엇일까?”를 탐구한 것입니다.
이를 통해 연구자들이 **서로 다른 분류체계를 쓴 연구 결과를 공정하게 비교할 수 있는 방법**을 제시하고자 했습니다.
---
### 🧩 연구 방법
연구팀은 **“CrossClassify”라는 소프트웨어**를 만들어,
한 분류체계의 생물 이름을 다른 분류체계로 **‘매핑(mapping)’** 할 수 있도록 했습니다.
매핑에는 세 가지 방식이 쓰였습니다.
1. **엄격한 매핑(strict mapping)** – 이름과 계급(문, 강, 목 등)이 완벽히 일치할 때만 연결.
2. **느슨한 매핑(loose mapping)** – 일부 단계가 달라도 가능한 한 가까운 수준으로 연결.
3. **경로 비교(path comparison)** – 동일한 생물로 이어지는 계통 경로가 얼마나 비슷한지 비교.
이 과정을 통해 각 분류체계의 구조적 유사도(또는 차이)를 수치화했습니다.
---
### 🔬 연구 결과
1. **SILVA, RDP, Greengenes는 NCBI와 OTT에 잘 매핑된다.**
   → 이 네 체계는 대부분 NCBI에 포함되거나 유사한 구조를 가집니다.
2. **하지만 NCBI나 OTT를 반대로 작은 체계(SILVA·RDP·Greengenes)에 매핑하면 오류가 많다.**
   → 큰 지도(OTT)를 작은 지도 위에 억지로 맞추려는 셈이죠.
3. **Greengenes는 가장 단순하고 오래되어 불일치가 많다.**
   → 2013년 이후 업데이트되지 않아 현재는 최신 연구에 부적합합니다.
4. **NCBI와 OTT는 매우 유사하다.**
   → OTT가 더 크지만, 구조적으로 거의 일치(불일치율 < 2%)했습니다.
5. **결론:** SILVA·RDP·Greengenes보다 **NCBI가 중심 기준으로 사용하기 가장 적합**합니다.
---
### 💡 고찰 및 시사점
미생물 연구에서 분류체계는 ‘지도’와 같습니다.
다섯 가지 지도 중 어떤 것을 쓰느냐에 따라 **같은 데이터를 다르게 해석할 수** 있습니다.
예를 들어, 한 연구에서 “어떤 세균이 많다”고 한 결과가 다른 분류체계에서는 이름이 달라지거나 아예 존재하지 않을 수도 있습니다.
이 논문은 “지도 간의 차이”를 정량화하고, 이를 자동으로 변환할 수 있는 도구를 제시했습니다.
이를 통해 연구자들은 **다른 분류체계를 쓴 연구들을 비교·통합·검증**할 수 있게 되었습니다.
또한, 미생물 데이터베이스 업데이트와 표준화의 중요성을 강조했습니다.
---
### 🌍 연구의 의의와 중요성
이 연구는 단순히 데이터베이스를 비교한 것이 아니라,
**전 세계 미생물 연구의 ‘공통 언어’를 만드는 기초 작업**이라 할 수 있습니다.
* 앞으로 수많은 미생물 유전체 연구가 쏟아질 텐데,
  이들을 정확히 비교하려면 신뢰할 수 있는 기준이 필요합니다.
* 이 연구가 제시한 매핑 방법은 서로 다른 연구 결과를 하나의 체계로 통합할 수 있는 **‘번역기’ 역할**을 합니다.
* 궁극적으로는 **인체 마이크로바이옴, 환경 미생물 연구, 신약 개발** 등 다양한 분야에서
  연구 간의 일관성을 높이고 데이터 활용도를 극대화할 수 있습니다.
---
요약하자면,
이 논문은 “미생물 분류체계 간의 경계선을 비교해, 서로 다른 지도들을 하나로 읽을 수 있게 만든 연구”입니다.
그 결과 **NCBI Taxonomy를 중심으로 통합 연구를 진행하는 것이 가장 합리적**이라는 결론을 제시했습니다.

chatGPT (스토리텔링)
아래는 논문 **〈SILVA, RDP, Greengenes, NCBI and OTT — How do these taxonomies compare?〉**를 기반으로 한
스토리텔링형 블로그 글입니다.
전문적 내용은 유지하되, 일반 독자가 흥미롭게 읽을 수 있도록 서사와 비유를 곁들였습니다.
---
# 🧬 다섯 개의 미생물 지도, 누가 진짜 표준인가?
“같은 장소를 가리키는데, 지도마다 위치가 다르다면?”
이런 상황이 실제로 **미생물 연구 세계**에서 벌어지고 있습니다.
과학자들은 인체, 토양, 바다 속에 사는 미생물들의 DNA를 분석해
‘누가 살고 있는지’를 밝히려 하지만,
문제는 **그 결과를 어디에 맞춰 해석하느냐**에 따라 달라진다는 것입니다.
그 이유는 바로 —
세상에는 서로 다른 **다섯 개의 미생물 분류 지도**,
즉 **SILVA, RDP, Greengenes, NCBI, OTT**가 존재하기 때문이죠.
---
## 🗺️ 서로 다른 지도, 혼란스러운 미생물 세계
미생물 연구에서 가장 중요한 단계 중 하나는
DNA 조각(시퀀스)을 읽어들인 뒤,
그 조각이 **어떤 생물**에 속하는지를 분류하는 일입니다.
이때 과학자들은 특정 **분류체계(taxonomy)**를 기준으로
“이건 세균 ○○속(genus)에 속한다” 식으로 이름을 붙입니다.
그런데 분류체계가 여러 개인 탓에,
같은 미생물도 어떤 연구에서는 ‘A속’, 다른 연구에서는 ‘B속’으로 불리기도 합니다.
예를 들어, 우리가 ‘서울’이라 부르는 도시를
어떤 지도에서는 ‘한성’, 어떤 지도에서는 ‘Seoul City’로 적어두는 셈이죠.
이렇게 이름이 제각각이면 연구자들끼리 결과를 비교하기가 매우 어렵습니다.
그래서 튀빙겐 대학의 **모니카 발보추테(Monika Balvočiūtė)**와 **다니엘 휴손(Daniel Huson)**은
이 문제를 정면으로 다루었습니다.
그들의 목표는 명확했습니다.
> “다섯 개의 미생물 지도가 얼마나 닮았는가,
> 그리고 그 차이를 어떻게 하나의 기준으로 묶을 수 있을까?”
---
## 🔍 연구진의 도전: 서로 다른 분류체계를 이어 붙이다
연구팀은 각 분류체계를 서로 ‘매핑(mapping)’하는
새로운 방법과 프로그램을 만들었습니다.
이 프로그램의 이름은 **CrossClassify** —
말 그대로 “분류체계를 교차시켜 비교한다”는 뜻이죠.
그들은 세 가지 방식으로 각 분류체계를 연결했습니다.
1. **엄격한 매핑(strict)**
   * 이름과 단계(문, 강, 목 등)가 정확히 일치할 때만 연결.
   * 가장 보수적인 방식입니다.
2. **느슨한 매핑(loose)**
   * 일부 단계가 달라도 비슷한 위치라면 연결.
   * 실제 연구 상황에 가까운 비교입니다.
3. **경로 비교(path)**
   * 같은 생물로 이어지는 ‘가지 구조(계통)’가 얼마나 유사한지 평가.
이 과정을 통해 연구진은
“각 지도 간의 거리”를 수치로 계산할 수 있게 되었습니다.
---
## 📊 결과: 가장 넓고 안정적인 지도는 ‘NCBI’
분석 결과는 흥미로웠습니다.
* **SILVA, RDP, Greengenes**는 대부분 **NCBI**와 잘 맞았습니다.
  → 즉, NCBI는 다른 지도들과 겹치는 영역이 많았습니다.
* 반대로 **NCBI나 OTT(Open Tree of Life Taxonomy)** 같은 큰 체계를
  작은 체계로 매핑하려 하면 충돌이 많았습니다.
  → 큰 지도를 작은 지도 위에 억지로 덮어씌운 셈이죠.
* **Greengenes**는 특히 불일치가 컸습니다.
  → 2013년 이후 업데이트가 중단되어, 이미 ‘낡은 지도’가 되어버렸습니다.
* **OTT와 NCBI는 거의 완벽히 일치(불일치율 2% 미만)**했습니다.
  → OTT는 더 방대한 버전의 NCBI라 볼 수도 있죠.
연구팀은 결론을 이렇게 요약했습니다.
> “미생물 연구에서 서로 다른 결과를 비교하고 통합하려면
> **NCBI 분류체계를 기준**으로 삼는 것이 가장 바람직하다.”
---
## 🧭 왜 이 연구가 중요한가?
이 연구는 단순히 데이터베이스를 비교한 게 아닙니다.
미생물학의 근본적인 문제,
즉 “**서로 다른 연구가 같은 언어로 소통할 수 있는가**”를 다룬 것입니다.
예를 들어, 한 연구팀이 사람 장내 세균을 NCBI 기준으로 분석하고,
다른 팀이 SILVA 기준으로 분석했을 때
같은 세균이 서로 다른 이름으로 나올 수 있습니다.
그럼 두 결과를 비교하거나 통합하는 게 불가능하죠.
하지만 이 논문에서 제시한 방법을 쓰면,
서로 다른 분류체계 간의 대응 관계를 자동으로 계산해
하나의 공통 기준으로 바꿔줄 수 있습니다.
일종의 **‘미생물 세계의 번역기’**인 셈입니다.
---
## 🌍 앞으로의 의미
이 연구는 미생물 연구의 ‘표준화 시대’를 여는 첫걸음이라 할 수 있습니다.
NCBI를 기준으로 데이터를 통합하면
전 세계의 연구자들이 같은 기준으로 미생물 생태계를 분석할 수 있고,
이는 곧 **질병 연구, 신약 개발, 환경 생태 연구**의 정밀도를 높여줍니다.
‘다섯 개의 미생물 지도’는 이제 하나의 공통 언어를 찾았습니다.
그리고 그 중심에는,
**가장 크고 정교한 지도 — NCBI Taxonomy**가 있습니다.
---
🧠 **정리하자면:**
이 연구는 “어떤 미생물 지도(분류체계)를 써야 할까?”라는 오랜 의문에
명확한 해답을 준 논문입니다.
다양한 데이터와 도구가 넘쳐나는 지금,
정확한 기준을 세우는 일은 모든 과학의 출발점이죠.
> 미생물학자들에게 이 연구는,
> ‘지도 제작의 혼돈’을 끝내고 ‘공통의 나침반’을 제공한 역사적인 작업이었습니다.


grok3
### 미생물 분류 데이터베이스 비교: SILVA, RDP, Greengenes, NCBI, OTT
#### 연구 배경
미생물 군집 분석(마이크로바이옴 시퀀싱)은 세균이나 곰팡이 같은 미생물을 실험실에서 키우지 않고 DNA를 직접 분석하는 기술입니다. 이 과정에서 DNA 시퀀싱 데이터를 '분류학 단위'(예: 균종, 속, 과)로 배정하는 게 핵심인데, 보통 SILVA, RDP, Greengenes, NCBI라는 네 가지 데이터베이스를 사용합니다. 하지만 이 데이터베이스들이 서로 얼마나 비슷한지, 다른 걸 썼을 때 결과를 어떻게 비교할지 불분명합니다. 이 논문은 이런 문제를 해결하려고 시작됐어요. 추가로 최근 나온 OTT(생명나무 열린 분류학)도 포함해 비교합니다.
#### 연구 목적
네 가지 주요 분류학(SILVA, RDP, Greengenes, NCBI)과 OTT를 비교하고, 하나의 분류학을 다른 것으로 '매핑'(대응시키기)하는 방법을 개발하는 게 목표입니다. 이를 통해 서로 다른 데이터베이스를 쓴 분석 결과를 공통적으로 비교할 수 있게 하려 해요. 궁극적으로 미생물 연구에서 분류학 선택의 중요성을 밝히고, 호환성을 높이는 도구를 제공합니다.
#### 연구 방법
먼저 각 분류학의 크기와 구조를 분석했습니다. SILVA는 12,117개 노드(분류 단위), RDP는 6,128개, Greengenes는 3,093개, NCBI는 1,522,150개, OTT는 2,627,066개로 크기가 다양해요. 주요 계급(도메인, 문, 강, 목, 과, 속, 종)만 고려했습니다.
비교 방법:
- **공유 단위 비교**: 각 계급에서 이름이 같은 단위를 세서 겹침 정도를 봅니다. (NCBI 동의어 사전으로 이름 통일)
- **매핑 절차**: 한 분류학의 노드를 다른 분류학에 대응시킵니다.
  - 엄격 매핑: 위에서 아래로 완벽 일치할 때만 매핑, 아니면 부모 노드로.
  - 느슨 매핑: 아래에서 위로, 일부 불일치 허용.
  - 경로 비교: 공통 노드의 뿌리부터 경로만 비교.
- 불일치 점수(Q): 매핑된 노드의 계급 차이를 계산해 전체 유사도 측정 (0: 완벽, 1: 완전 불일치).
이 방법을 Java 프로그램 'CrossClassify'로 구현해 BIOM 형식 파일 처리 가능하게 했습니다.
#### 연구 결과
- 공유 단위: 네 분류학 중 NCBI가 SILVA와 가장 많이 겹칩니다(문/강/목 계급 60%). 전체 네 개의 합집합(ALL)은 OTT와 목/과 계급에서 59%/46% 공유하지만, 속/종은 OTT가 더 다양합니다.
- 매핑 결과: SILVA, RDP, Greengenes는 NCBI/OTT로 잘 매핑(불일치 0.06~0.21)되지만, 반대(큰 걸 작은 걸로)는 어려움(0.58~0.77). NCBI와 OTT는 서로 잘 맞아요(0.02~0.12). 경로 비교는 불일치가 적지만(중앙값 0.02), 공유 구조에도 약간 차이 있음.
- 시각화: 히트맵과 병렬 세트로 불일치 패턴 보임. 예: Greengenes에서 Persicus 종 경로 매핑 예시.
#### 고찰
크기 차이(OTT/NCBI가 훨씬 큼)가 매핑 어려움의 주원인입니다. 엄격 매핑은 코어 구조 불일치를, 느슨 매핑은 전체 호환성을 보여줘요. OTT는 크지만 시퀀스 데이터 없어 메타게놈 연구에 제한적. SILVA/RDP/Greengenes는 16S rRNA 기반으로 비슷하지만, Greengenes는 업데이트 안 돼 덜 다양. NCBI는 16S와 샷건 시퀀싱 모두에 적합해 공통 프레임워크로 추천합니다. 추가 응용: 다른 빈닝 방법(예: LCA vs. wLCA) 비교에도 유용.
#### 의의와 시사점
이 연구는 분류학 간 매핑 도구를 제공해, 서로 다른 데이터베이스를 쓴 미생물 연구 결과를 비교 가능하게 합니다. 예를 들어, SILVA 기반 분석을 NCBI로 변환할 수 있어요. 미생물 분류의 불일치(8% 알려짐)를 고려하면, 연구자들이 더 일관된 결과를 낼 수 있게 돕습니다. 시사점으로는 OTT처럼 포괄적 분류학이 미래지만, NCBI처럼 실용적인 걸 우선 쓰라는 조언입니다.
이 연구가 중요한 이유는 미생물 군집 분석이 건강, 환경, 농업 등에 핵심인데, 분류학 차이로 결과가 왜곡될 수 있기 때문입니다. 호환성을 높여 연구 신뢰성을 강화하고, 더 정확한 미생물 이해를 돕습니다. (약 850자, A4 1.5장 분량)

NotebookLM
## 논문 요약: SILVA, RDP, Greengenes, NCBI, OTT — 이 분류 체계들은 어떻게 비교될까요?
**대상 독자:** 미생물 유전체 분석에 관심 있는 일반 성인 독자
---
### 연구 배경: 미생물 분석의 기준점을 찾아서
최근 건강과 환경 분야에서 **마이크로바이옴**(특정 환경에 서식하는 미생물 군집) 연구가 활발합니다. 이 연구는 미생물을 실험실에서 배양하지 않고 DNA 염기서열만을 분석하여 미생물의 종류와 구성을 파악합니다.
이 분석 과정에서 가장 중요한 단계 중 하나는 수많은 염기서열 조각들을 해당하는 **분류 단위(taxonomic units)**로 할당하는 것입니다. 이때 미생물을 분류하는 기준이 되는 **분류 체계(taxonomy)**가 필요합니다. 현재 미생물 염기서열 분석, 특히 16S rRNA 유전자 분석에서는 주로 네 가지 분류 체계, 즉 **SILVA, RDP, Greengenes, NCBI** 중 하나를 사용하고 있습니다.
문제는 이 네 가지 분류 체계가 서로 얼마나 유사한지, 그리고 서로 다른 분류 체계를 사용해 도출된 분석 결과를 어떻게 신뢰성 있게 비교할 수 있는지 명확하지 않다는 점입니다. 이 연구는 이러한 불확실성을 해소하고자 시작되었습니다.
### 연구 목적: 분류 체계 간 호환성 확인
이 논문의 주된 목적은 널리 사용되는 네 가지 미생물 분류 체계(SILVA, RDP, Greengenes, NCBI) 간의 유사성을 정량적으로 확인하는 것입니다. 나아가, 한 분류 체계를 사용하여 얻은 분석 결과가 다른 분류 체계로 **쉽게 변환되거나 비교될 수 있는지** 알아보고자 했습니다. 이 연구에서는 이 네 가지 분류 체계와 함께 최근 발표된 방대한 규모의 **OTT (Open Tree of life Taxonomy)**도 함께 비교 대상으로 포함했습니다.
### 연구 방법: 분류 체계 매핑 기법 개발
연구진은 다섯 가지 분류 체계를 비교하기 위해 **한 분류 체계의 분류 단위를 다른 분류 체계로 대응(mapping)시키는 방법과 소프트웨어(CrossClassify)**를 개발했습니다.
다섯 가지 분류 체계는 규모와 분류 수준(해상도)에서 큰 차이를 보입니다. 예를 들어, NCBI와 OTT는 종(Species) 이하 수준까지 분류하는 반면, SILVA와 RDP는 속(Genus) 수준까지만 분류합니다.
연구진은 분류 체계의 계층적 구조를 기반으로 세 가지 매핑 절차를 정의했습니다:
1. **엄격한 매핑(Strict mapping):** 완벽하게 일치하는 분류 단위를 찾지 못하면 상위 조상으로 매핑합니다.
2. **느슨한 매핑(Loose mapping):** 부분적으로 일치하는 경우에도 최대한 가까운 순위로 매핑하여 전반적인 호환성을 파악합니다.
3. **경로 비교(Path comparison):** 이름과 순위가 동일한 분류 단위까지 이르는 경로(계층 구조)의 차이만을 비교합니다.
이러한 매핑 결과를 기반으로, 두 분류 체계 간의 순위 배치 차이를 계산하여 **비유사도(dissimilarity)** 점수(0~1 사이 값)를 도출했습니다. 이 점수가 낮을수록 두 분류 체계가 호환된다는 의미입니다.
### 연구 결과: NCBI와 OTT로의 일방향 매핑
1. **분류 단위의 중복성:** 단순히 분류 단위의 이름만 비교했을 때, 네 가지 분류 체계(SILVA, RDP, Greengenes, NCBI)는 서로 공유하지 않는 고유한 분류 단위(예: 속(genus)의 89%)를 매우 많이 포함하고 있었습니다.
2. **NCBI의 포괄성:** 흥미롭게도, SILVA, RDP, Greengenes 세 분류 체계의 교집합은 매우 작았는데, 이는 이 세 분류 체계의 분류 단위들이 **대부분 NCBI 분류 체계 안에 포함되어 있음**을 시사합니다.
3. **매핑의 호환성:** 엄격한 매핑 결과, 대부분의 분류 체계 쌍에서 호환성이 낮았습니다 (비유사도 중앙값 0.5). 이는 분류 체계의 핵심 구조에 상당한 불일치가 있음을 보여줍니다.
4. **일방향 매핑 성공:**
    *   **SILVA, RDP, Greengenes**는 규모가 더 큰 **NCBI**나 **OTT**로 **잘 매핑되었습니다** (비유사도 점수가 낮게 나옴).
    *   그러나 그 반대 방향, 즉 NCBI나 OTT를 더 작은 분류 체계(SILVA, RDP, Greengenes)로 매핑하는 것은 **문제가 있었습니다** (비유사도 점수가 높게 나옴).
5. **NCBI와 OTT의 유사성:** 두 가장 큰 분류 체계인 NCBI와 OTT는 서로 매우 유사하게 매핑되었습니다. 특히 NCBI를 OTT로 매핑했을 때 비유사도는 0.02로 매우 낮았습니다. 이 두 분류 체계는 경로 비교에서도 매우 흡사했습니다 (< 0.01). 다만, OTT가 NCBI보다 노드 수가 거의 두 배 많습니다.
### 고찰 및 논의: 구조적 비교의 필요성
연구진은 단순히 이름으로 분류 단위를 비교하는 것은 가장 작은 분류 체계의 크기에 좌우되기 때문에, **분류 체계의 구조적(위상적) 호환성**에 대해서는 거의 알려주지 못한다고 지적했습니다. 따라서, 이 연구에서 개발한 매핑 방법을 통해 분류 체계 간의 구조적 불일치를 정량적으로 파악하는 것이 중요합니다.
엄격한 매핑과 느슨한 매핑 결과의 큰 차이는 분류 체계 간의 고위 순위(예: 문, 강)에서의 불일치가 흔하게 나타나지만, 전체적인 호환성은 느슨한 매핑을 통해 더 잘 파악할 수 있음을 보여줍니다.
### 연구의 의의와 시사점: 공통 프레임워크의 제안
이 연구는 서로 다른 미생물 분류 체계를 사용하여 얻은 분석 결과를 **통합적으로 비교하고 해석**할 수 있는 구체적인 방법론과 소프트웨어(CrossClassify)를 처음으로 제공했습니다.
OTT는 다섯 가지 분류 체계 중 가장 크고 다른 모든 분류 체계들이 OTT로 잘 매핑된다는 점에서 이상적인 참조 분류 체계가 될 수 있습니다. 그러나 현재 OTT는 시퀀스 데이터베이스가 연결되어 있지 않아 메타게놈학 분석에서의 실용성이 제한됩니다.
**따라서 연구진은 서로 다른 분류 체계를 사용하는 분석 결과를 비교할 때 NCBI 분류 체계를 공통 프레임워크로 사용할 것을 권고합니다.** 특히 16S 염기서열 분석과 전체 염기서열(샷건) 분석을 모두 사용하는 연구에서는 NCBI 분류 체계를 사용하는 것이 유리하다고 제안했습니다.
---
### 이 연구가 중요한 이유
마이크로바이옴 연구가 의학, 생태학 등 다양한 분야에서 중요해지면서, 연구 결과의 **일관성과 재현성**이 핵심 과제가 되었습니다. 이 연구는 연구자들이 각자의 선호에 따라 사용하는 다양한 미생물 분류 체계(SILVA, RDP, Greengenes 등)가 서로 얼마나 다르고, 어떤 구조적 불일치를 가지고 있는지 **객관적인 수치와 수학적 모델**로 규명했습니다.
이를 통해 연구자들은 서로 다른 분류 체계 기반의 분석 결과를 **표준화된 프레임워크(NCBI)로 통합**하고 비교할 수 있게 되었으며, 이는 마이크로바이옴 데이터 분석의 신뢰성과 상호 운용성을 획기적으로 향상시키는 기반이 됩니다. 또한, 이 매핑 기술은 미생물 분류 체계 자체를 비교하는 것 외에도, 염기서열 데이터를 분류 단위로 할당하는 **다양한 소프트웨어 방법론의 성능을 평가**하는 데에도 활용될 수 있어, 향후 분석 도구 개발에도 중요한 시사점을 제공합니다.

Perplexity.ai
이 논문 **“SILVA, RDP, Greengenes, NCBI, 그리고 OTT — 미생물 분류체계는 얼마나 다른가?”**(Balvočiūtė & Huson, 2017)은 미생물 유전체 연구에서 널리 사용하는 다섯 가지 분류체계의 차이를 체계적으로 비교한 연구이다.  
다음은 일반 독자도 쉽게 이해할 수 있도록, 연구의 핵심 내용을 A4용지 두 장 이내 분량으로 정리한 내용이다.
***
## 연구 배경
최근 미생물 연구에서는 ‘미생물군집(마이크로바이옴)’ 분석이 중요하다. 예를 들어 우리의 장이나 토양 속에 존재하는 다양한 미생물의 DNA를 분석해 어떤 미생물이 얼마나 사는지를 알아내는 것이다. 이런 분석에서 가장 첫 번째 단계는 DNA 조각(읽힘, read)을 **어떤 생물 종에 속하는지** 분류하는 일인데, 이를 위해 미리 정리된 **참조 분류체계(taxonomy)** 가 필요하다.
하지만 연구자마다 사용하는 분류체계가 다르다. 대표적인 다섯 가지는 **SILVA, RDP, Greengenes, NCBI, OTT(Open Tree of Life Taxonomy)** 이다. 문제는 이 다섯 시스템이 서로 이름과 구조가 조금씩 달라, 같은 데이터라도 분류체계에 따라 결과가 달라질 수 있다는 점이다. 이 논문은 “이들 분류체계가 얼마나 비슷하거나 다른가?”를 정량적으로 조사했다.
***
## 연구 목적
이 연구의 목표는 다음 두 가지였다.  
1. **SILVA, RDP, Greengenes, NCBI, OTT** 다섯 가지 분류체계가 서로 얼마나 일치하는지 객관적으로 비교하기.  
2. 서로 다른 분류체계를 사용하는 연구 결과를 **비교 가능하게 만드는 방법과 소프트웨어**를 개발하기.
***
## 연구 방법
저자들은 각 분류체계의 계층 구조(‘domain–phylum–class–order–family–genus–species’)를 컴퓨터 프로그램으로 분석해 서로 어떻게 연결될 수 있는지 ‘매핑(mapping)’이라는 절차로 비교했다.  
사용한 세 가지 비교 방법은 다음과 같다.  
- **Strict mapping(엄격 매핑)**: 같은 이름·같은 계급일 때만 일치로 인정.  
- **Loose mapping(느슨한 매핑)**: 같은 이름이면 계급이 약간 달라도 일치로 인정.  
- **Path comparison(경로 비교)**: 각 분류체계의 계층 구조(계통 경로)를 따라 유사도를 비교.  
이 분석 절차는 오픈소스 프로그램 **CrossClassify**로 구현됐다.
***
## 주요 결과
1. **크기와 계층 깊이 차이**  
   - NCBI와 OTT가 가장 방대한 분류체계로, **종(species) 단계까지** 내려간다.  
   - SILVA와 RDP는 **속(genus)** 단계까지만 분류하며 상대적으로 단순하다.  
   - Greengenes는 가장 작은 규모로, 일부 구간이 오래전 이후 업데이트되지 않아 최신성이 떨어진다.
2. **공통 속명(Genus)과 과(Family) 수준 비교**  
   - 다섯 분류체계가 공유하는 이름은 매우 적었다.  
   - 예를 들어 90% 가까운 속(genus) 이름이 특정 분류체계에만 존재했다.  
   - **SILVA와 NCBI** 사이의 일치는 비교적 높았으며, **RDP와 Greengenes**는 일치율이 낮았다.
3. **매핑 결과의 일관성**
   - SILVA, RDP, Greengenes는 NCBI로 옮기기가 비교적 수월했지만, 그 반대(즉 NCBI에서 다른 분류로)는 잘 되지 않았다.
   - 가장 큰 OTT 체계는 다섯 분류체계를 모두 잘 포함할 수 있었으며, NCBI와 OTT 간에는 높은 유사도가 나타났다.
   - 전체적으로 **SILVA, RDP, Greengenes → NCBI/OTT 방향**으로의 변환이 원활했다.
4. **수학적 분석 결과**
   - 유사도를 0(완전히 같음)~1(완전히 다름)으로 나타냈을 때,  
     느슨한 매핑에서 NCBI와 OTT의 평균 차이값은 약 0.08~0.06으로 매우 낮았고,  
     Greengenes는 약 0.77로 가장 달랐다.  
   - 즉, NCBI와 OTT는 거의 비슷한 구조를 가진 반면, Greengenes는 독자적이고 제한된 분류를 가진다.
***
## 고찰
이 연구는 미생물 분류체계의 한계와 불일치를 구체적으로 보여준다.  
특히 **Greengenes**와 **RDP**처럼 특정 영역(박테리아 16S rRNA 분석용)에 특화된 체계는 다른 분류체계와 호환성이 떨어져, 연구 간 결과 비교에 어려움을 만든다.
반면 **NCBI** 분류체계는 방대한 데이터베이스와 폭넓은 생물 종을 포함하기 때문에, 다른 체계로부터 쉽게 대응(mapping)된다.  
그러나 OTT(Open Tree of Life)는 구조적으로 이상적이지만, 아직 관련한 DNA 서열 데이터베이스가 부족해 실용성이 떨어진다.  
따라서 현재로서는 **NCBI 분류체계를 공통 기준으로 사용하는 것이 가장 적절하다**는 결론에 도달했다.
***
## 의의와 시사점
이 연구의 가장 큰 의의는 **서로 다른 미생물 분류체계를 직접 연결할 수 있는 알고리즘을 제시했다**는 점이다. 이를 통해 연구자들은 서로 다른 데이터 분석 결과를 변환하거나 비교할 수 있다.  
또한 프로그램 **CrossClassify**를 공개해, 미생물유전체 연구에서 일관된 데이터 비교를 가능하게 했다.
***
## 이 연구가 중요한 이유
현대 생명과학에서는 수많은 미생물 데이터를 분석하지만, 같은 DNA 데이터를 연구자마다 다른 분류체계로 해석한다면 결과는 호환되지 않는다.  
이 논문은 그러한 **‘언어의 불일치’를 해소하는 번역기 역할**을 한다.  
이를 통해 서로 다른 실험과 연구 간의 결과를 공통된 기준으로 비교할 수 있으며, 궁극적으로는 **지구상 미생물의 진화적 관계를 하나의 거대한 계통수로 통합하는 데 기여**한다.  
다시 말해, 미생물 분류의 통합은 각기 다른 연구를 잇는 ‘공용 언어’를 만드는 작업이며, 이 논문은 그 중요한 첫걸음을 제시했다.



출처: @ye._.vely618


수요일, 5월 07, 2025

유전자에 대해서 정확하게 답변해주는 GeneGPT

오늘은 LLM을 활용해서 Biomedical 정보에 더 쉽게 접근 할 수 있는 방법을 소개하려고 합니다.  이미 2024년 작년에 출판된 논문으로 NCBI 훃아들이 자기들 DB 활용해서 만들었다고 합니다. 여튼 제목은 GeneGPT: augmenting large language models with domain tools for improved access to biomedical information 입니다.

DOI: 10.1093/bioinformatics/btae075


clova-x

GeneGPT는 대규모 언어 모델(LLM)을 생물의학 정보에 더 쉽게 접근할 수 있도록 NCIB 웹 API를 활용하여 향상시키는 방법입니다. 이 연구는 GeneGPT가 GenoTuring 벤치마크에서 기존의 LLM보다 우수한 성능을 발휘함을 보여줍니다.

1. **연구 배경 및 목적**

   - LLM은 다양한 작업에 성공적으로 적용되었지만, 환각 현상이라는 도전에 직면해 있습니다.

   - 도메인 특정 도구를 통해 LLM의 생물의학 지식 접근성을 향상시키고자 합니다.

2. **GeneGPT의 설계 및 작동 방식**

   - GeneGPT는 Codex를 사용하여 NCBI 웹 API를 통해 유전체 질문에 답하도록 가르칩니다.

   - API 사용법을 시연하고, API 호출을 감지하고 실행할 수 있는 증강 디코딩 알고리즘을 사용합니다.

3. **성능 평가 및 결과**

   - GeneGPT는 GenoTuring 벤치마크의 여덟 가지 작업에서 평균 점수 0.83으로 최고 성능을 달성하였습니다.

   - 이는 New Bing(0.44), BioMedLM(0.08), BioGPT(0.04), GPT-3(0.16), ChatGPT(0.12)보다 훨씬 높은 성과입니다.

4. **GeneGPT의 특징 및 기여**

   - API 시연은 문맥 학습에 문서화보다 더 유용하며, 여러 API 호출을 일반화할 수 있습니다.

   - GeneGPT는 새로운 GeneHop 데이터셋을 통해 다단계 유전체 질문에 응답할 수 있습니다.



chatGPT

# 유전학 질문에 똑똑하게 답하는 AI, GeneGPT 이야기

## 연구 배경 – 왜 이런 연구가 필요했을까?

요즘은 ChatGPT 같은 인공지능이 사람처럼 글을 쓰고, 질문에도 똑똑하게 답하죠. 하지만 이런 AI도 전문 지식이 필요한 분야에서는 가끔 “지어내는” 답을 하기도 해요. 특히 생명과학이나 유전학처럼 정보가 방대하고 복잡한 분야에서는 더더욱 그렇습니다. 그래서 연구자들은 AI가 믿을 수 있는 데이터베이스를 직접 찾아보게 하면 더 정확한 답을 할 수 있지 않을까 하는 아이디어를 떠올렸습니다.

## 연구 목적 – 연구진은 무엇을 알고 싶었을까?

연구팀은 “AI가 유전학 정보를 정확하게 검색하고 활용할 수 있도록 도와주는 방법”을 만들고 싶었습니다. 그래서 미국 국립생명공학정보센터(NCBI)의 유전학 데이터베이스를 AI가 직접 사용할 수 있도록 훈련시킨 ‘GeneGPT’라는 시스템을 만들었죠.

## 사용된 데이터 – 어떤 자료를 활용했을까?

이 연구에서 사용한 데이터는 NCBI에서 제공하는 공식 유전학 데이터베이스(API)를 기반으로 합니다. 쉽게 말하면, 인터넷 주소를 통해 유전자, 단백질, 질병 정보 등을 검색할 수 있는 시스템이에요. 연구팀은 이 API를 사용해 유전 정보를 찾는 과정을 AI에게 가르쳤습니다.

## 연구 방법 – 어떻게 연구를 진행했을까?

연구팀은 OpenAI의 Codex 모델(코드를 잘 이해하는 AI)을 활용해, 특정한 질문이 들어오면 필요한 정보를 NCBI 데이터베이스에서 검색하고 그 결과를 분석한 뒤 답변을 만들도록 했어요. 예를 들어 "이 DNA 조각이 어느 유전자에 해당하나요?" 같은 질문을 받으면, AI가 단계별로 관련 정보를 찾아서 답을 구성하죠.

이를 위해 연구팀은 AI에게 API를 사용하는 예시를 여러 개 보여주고, 그 패턴을 스스로 익히도록 했습니다. 이 과정을 ‘인컨텍스트 러닝’이라고 해요. 복잡하게 들리지만, 쉽게 말해 "이런 식으로 검색해 봐~"라고 보여주는 식입니다.

## 연구 결과 및 예시 – 어떤 결과가 나왔을까?

GeneGPT는 ‘GeneTuring’이라는 유전학 질문 시험에서 매우 높은 성적(평균 0.83점)을 기록했어요. 기존의 ChatGPT나 바이오 전문 AI보다 훨씬 나은 성능이었습니다. 예를 들어 다른 모델이 "이 SNP(유전변이)는 어떤 유전자와 관련이 있나요?"라는 질문에 잘 답하지 못했지만, GeneGPT는 정확하게 찾아낼 수 있었어요.

또한, GeneGPT는 한 번에 여러 단계를 거쳐 답해야 하는 복잡한 질문(예: 특정 질병에 관련된 유전자의 위치는 어디인가요?)에도 잘 대응했답니다.

## 의미와 영향 – 이 연구가 우리에게 주는 의미는?

이 연구는 AI가 단순히 '아는 척' 하는 것을 넘어서, 실제로 믿을 수 있는 데이터를 찾아서 답하도록 진화할 수 있다는 것을 보여줍니다. 특히 생명과학, 의학처럼 정밀한 정보가 중요한 분야에서는 큰 도움이 될 수 있어요. 앞으로 GeneGPT 같은 시스템이 발전하면, 일반 사람들도 더 쉽게 유전 정보를 검색하고 활용할 수 있는 시대가 열릴지도 모릅니다.



NotebookLM

## 안녕하세요! 유전자 정보, 이제 똑똑하게 물어보세요: GeneGPT 연구 이야기

안녕하세요, 오늘 여러분께 **인공지능이 유전자와 질병 정보를 더 쉽고 정확하게 알려줄 수 있는 흥미로운 연구**를 소개해 드리려고 합니다. 복잡한 유전체 정보에 대한 궁금증, 이제 어렵게 검색하거나 전문가에게 물어보지 않아도 될 날이 머지않았는지도 모릅니다!

### 연구 배경 – 왜 이런 연구가 필요했을까요?

최근 인공지능, 특히 **사람처럼 자연스럽게 글을 쓰고 이해하는 거대 언어 모델(LLM)**이 정말 많은 분야에서 활용되고 있습니다. 하지만 이러한 모델들도 **정확하지 않은, 그럴듯해 보이는 답변(‘환각’이라고 부릅니다)**을 할 때가 있어서, 특히 **정확성이 중요한 의학이나 유전체 분야**에서는 큰 문제로 지적되어 왔습니다. 예를 들어, 어떤 유전자의 정확한 위치나 특정 질병과 관련된 유전자를 물어봤을 때, 모델이 사실과 다른 정보를 제공할 수 있다는 것이죠. 그래서 연구자들은 이러한 문제를 해결하기 위해 고민하기 시작했습니다. **“인공지능에게 정확한 정보를 찾고 활용할 수 있는 ‘도구’를 알려주면 어떨까?”** 하고 말이죠.

### 연구 목적 – 연구진은 무엇을 알고 싶었을까요?

이 연구를 진행한 연구진은 **거대 언어 모델이 전문적인 도구를 사용할 수 있도록 가르치는 새로운 방법**을 개발하고자 했습니다. 특히, **국립생물정보센터(NCBI)**에서 제공하는 다양한 **생물학 데이터베이스와 분석 도구의 웹 API**를 거대 언어 모델이 직접 활용할 수 있도록 하는 것이 목표였습니다. 마치 우리가 스마트폰 앱을 사용하듯이, 인공지능이 필요한 유전자 정보를 NCBI 데이터베이스에서 정확하게 찾아내고, 이를 바탕으로 질문에 답변할 수 있게 만드는 것이죠. 이렇게 하면 **부정확한 답변의 가능성을 줄이고, 더욱 신뢰할 수 있는 정보를 얻을 수 있을 것**이라고 연구진은 생각했습니다.

### 데이터 또는 재료 설명 – 어떤 ‘재료’들이 사용되었나요?

이 연구에서는 다음과 같은 중요한 ‘재료’들이 사용되었습니다.

*   **NCBI 웹 API:** NCBI는 유전자, 단백질, 질병 등 **다양한 생물학 정보를 담고 있는 거대한 데이터베이스**입니다. NCBI 웹 API는 이러한 데이터베이스에 **인터넷을 통해 접근하고 필요한 정보를 가져올 수 있도록** 만들어진 일종의 ‘문’과 같습니다. 마치 식당에서 메뉴판을 보고 음식을 주문하는 것처럼, 정해진 ‘주문 방식’(URL)에 따라 원하는 정보를 요청할 수 있습니다. 주요 API로는 **E-utilities** (유전자, 단백질 정보 검색 및 요약)와 **BLAST URL API** (DNA 또는 단백질 서열 유사성 검색)가 있습니다.

*   **GeneTuring:** 연구진들은 개발한 방법의 성능을 평가하기 위해 **유전체학 관련 질문과 답변으로 이루어진 ‘시험 문제’ 세트인 GeneTuring**을 사용했습니다. 이 시험에는 다양한 종류의 유전자 관련 질문들이 포함되어 있습니다.

*   **GeneHop:** 더 나아가, **하나의 질문에 여러 단계를 거쳐 답해야 하는 복잡한 질문 세트인 GeneHop**을 새롭게 만들어 인공지능의 추론 능력을 시험했습니다. 예를 들어, “특정 SNP와 관련된 유전자의 기능은 무엇인가?”와 같은 질문은 먼저 SNP와 관련된 유전자를 찾고, 그 유전자의 기능을 다시 찾아야 답할 수 있는 다단계 질문입니다.

*   **Codex:** 연구진은 처음에는 **코딩 능력이 뛰어난 거대 언어 모델인 Codex**를 사용하여 NCBI 웹 API를 활용하도록 가르쳤습니다.

### 연구 방법 – 인공지능에게 ‘도구 사용법’을 어떻게 가르쳤을까요?

연구진은 **GeneGPT**라는 새로운 방법을 개발하여 인공지능에게 NCBI 웹 API 사용법을 가르쳤습니다. 이 방법의 핵심은 다음과 같습니다.

*   **프롬프트 디자인:** 인공지능에게 **“당신의 임무는 NCBI API를 사용하여 유전체학 질문에 답변하는 것입니다.”**라는 **명확한 지시**를 내립니다. 그리고 NCBI 웹 API의 기능과 사용법에 대한 **설명서 (Documentation)**와 **실제 사용 예시 (Demonstration)**를 함께 제공합니다. 마치 요리책의 레시피처럼, API의 ‘문법’과 실제 ‘요리 과정’을 보여주는 것이죠. 흥미로운 점은 **단순한 설명서보다 실제 사용 예시가 인공지능의 학습에 더 효과적이었다**는 것입니다.

*   **추론 알고리즘:** 인공지능이 답변을 생성하는 과정에서 **“->”라는 특별한 표시**를 감지하면, 그 시점에서 생성을 멈추고 **API 호출 URL을 만들어 실제로 NCBI 웹 API를 실행**합니다. API 실행 결과로 얻은 **생생한 데이터**를 다시 인공지능에게 입력하여 답변 생성을 이어가도록 합니다. 마치 숙련된 연구원처럼, 필요한 정보를 데이터베이스에서 직접 찾아보고, 그 결과를 바탕으로 결론을 내리는 방식입니다.

### 연구 결과 및 예시 – 어떤 결과가 나왔나요?

GeneGPT를 사용하여 GeneTuring 문제들을 풀어본 결과, **기존의 다른 어떤 인공지능 모델들보다 훨씬 높은 정확도**를 보였습니다. 특히, **새로운 Bing (0.44점) 이나 BioMedLM (0.08점), BioGPT (0.04점), 심지어 GPT-3 (0.16점)와 ChatGPT (0.12점)보다 평균 0.83점이라는 압도적인 성능**을 나타냈습니다.

예를 들어, GeneGPT는 다음과 같은 질문에 NCBI 웹 API를 활용하여 정확하게 답변할 수 있습니다 (실제 블로그 글에서는 더 쉬운 예시로 각색될 수 있습니다):

*   **질문:** “BRCA1 유전자의 다른 이름들은 무엇인가?”

    *   GeneGPT는 NCBI의 E-utilities API를 사용하여 ‘BRCA1’을 검색하고, 그 결과에서 BRCA1 유전자의 공식 명칭 외에 알려진 다른 이름들(이명)을 정확하게 찾아낼 수 있습니다.

*   **질문:** “특정 DNA 서열과 가장 유사한 인간 염색체는 무엇인가?”

    *   GeneGPT는 BLAST URL API를 사용하여 주어진 DNA 서열과 인간 유전체 데이터베이스를 비교 분석하고, 가장 유사한 염색체 위치를 찾아낼 수 있습니다.

더욱 놀라운 점은 GeneGPT가 **여러 단계를 거쳐야 하는 복잡한 질문(GeneHop)**에도 비교적 잘 답변했다는 것입니다. 예를 들어, “특정 질병과 관련된 유전자들의 염색체 위치는 어디인가?”라는 질문에 대해, 먼저 질병과 관련된 유전자 목록을 찾고, 각 유전자의 염색체 위치를 순차적으로 파악하는 능력을 보여주었습니다.

### 의미와 영향 – 이 연구가 우리 삶에 어떤 의미를 가질까요?

이 연구는 **인공지능이 생물 의학 분야의 전문 지식에 더욱 쉽고 정확하게 접근**할 수 있는 가능성을 보여줍니다. 특히, 전문 지식이 없는 일반 대중도 **유전자나 질병에 대한 궁금증을 해소하는 데 큰 도움**을 받을 수 있을 것으로 기대됩니다. 더 이상 복잡한 전문 용어와 씨름하거나 여러 웹사이트를 뒤적거리지 않아도, **인공지능에게 질문하면 필요한 정보를 정확하게 얻을 수 있는 시대**가 다가올 수 있다는 의미입니다.

또한, 연구자들이 **방대한 생물학 데이터를 분석하고 새로운 발견을 하는 과정**에서도 GeneGPT와 같은 기술이 중요한 역할을 할 수 있습니다. 데이터베이스 관리의 부담을 줄이고, 더 효율적인 연구를 가능하게 할 잠재력을 가지고 있습니다.

물론 아직 연구 단계이지만, GeneGPT가 보여준 가능성은 **미래의 의료 및 생명 과학 분야에 큰 변화를 가져올 수 있을 것**으로 기대됩니다. 복잡하고 방대한 유전체 정보를 누구나 쉽게 이해하고 활용할 수 있는 날을 꿈꿔봅니다!



grok3

안녕하세요, 여러분! 오늘은 흥미로운 연구 논문 하나를 소개하려고 해요. 이 논문은 'GeneGPT'라는 이름으로, 생물학 정보를 더 쉽게 찾을 수 있도록 도와주는 새로운 기술에 관한 거예요. 전문 용어가 많을 수 있지만, 제가 최대한 쉽게 풀어서 설명할게요. 자, 시작해볼까요?

---

### 연구 배경 – 이 연구가 왜 필요했는지

우리는 요즘 인공지능(AI), 특히 대형 언어 모델(LLM, 쉽게 말해 똑똑한 챗봇 같은 거예요)을 많이 사용하죠. 이 AI들은 책, 뉴스, 웹사이트 같은 텍스트를 학습해서 질문에 답할 수 있어요. 하지만 문제는, 가끔 AI가 잘못된 정보를 만들어내거나(이걸 '환각'이라고 불러요), 전문적인 생물학 정보는 잘 찾지 못한다는 거예요. 예를 들어, 특정 유전자에 대해 물어보면, AI가 엉뚱한 답을 내놓거나 "모르겠어요"라고 할 때가 많죠.

특히 생물학이나 유전학 같은 분야는 전문 데이터베이스에서 정확한 정보를 찾아야 하는데, 일반 AI는 이런 데이터베이스를 잘 활용하지 못해요. 그래서 연구진은 AI가 생물학 정보를 더 정확하고 쉽게 찾을 수 있도록 도와주는 방법을 만들어보자고 생각했어요.

---

### 연구 목적 – 연구진이 알고자 했던 것

이 연구의 목표는 AI가 생물학 전문 데이터베이스(특히 미국 국립생물공학정보센터, NCBI의 데이터베이스)를 직접 활용해서 유전자 관련 질문에 정확히 답할 수 있게 만드는 거였어요. 연구진은 AI가 검색엔진처럼 웹을 뒤지는 대신, 전문 도구를 사용해 더 믿을 만한 답을 주도록 하고 싶었죠. 또, 단순한 질문뿐 아니라 복잡한 질문(예: "이 유전자와 관련된 질병은 뭐야?" 같은)에도 잘 대답할 수 있는지 확인하고 싶었어요.

---

### 데이터 또는 재료 설명 – 어떤 데이터나 재료가 사용되었는지

이 연구에서는 실제로 물리적인 재료 대신, 컴퓨터와 데이터베이스를 사용했어요. 핵심은 두 가지 도구예요:

1. **NCBI 웹 API**: NCBI는 생물학 정보를 모아놓은 거대한 도서관 같은 곳이에요. 여기에는 유전자, 단백질, DNA 정보가 가득하죠. 웹 API는 이 도서관에서 정보를 꺼내오는 '사서' 같은 역할을 해요. 예를 들어, 특정 유전자의 이름을 검색하거나 DNA 조각이 어디에 맞는지 찾아줄 수 있죠.

2. **GeneTuring과 GeneHop 데이터셋**: 연구진은 AI가 얼마나 잘 답하는지 테스트하기 위해 두 가지 질문 모음을 사용했어요. 

   - **GeneTuring**은 유전자 이름, 위치, 기능 같은 단순한 질문 450개가 담긴 시험지예요. 예: "이 유전자는 어디에 있어?" 같은 질문이죠.

   - **GeneHop**은 좀 더 복잡한 질문 150개로, 여러 단계를 거쳐야 답을 찾을 수 있어요. 예: "이 DNA 조각이 속한 유전자의 별칭은 뭐야?"처럼요.

이 질문들은 일반인이 이해하기 쉽게 비유하자면, 도서관에서 책 제목 찾기(단순 질문)와 책 내용을 읽고 저자 정보까지 알아내기(복잡 질문) 같은 차이예요.

---

### 연구 방법 – 연구가 어떻게 진행되었는지

연구진은 AI(여기서는 Codex라는 모델을 주로 사용했어요)에게 NCBI 데이터베이스를 사용하는 법을 가르쳤어요. 어떻게 했냐면, 마치 선생님이 학생에게 예제를 보여주듯이 AI에게 몇 가지 예시를 보여줬어요. 예를 들어:

- "이 유전자 이름을 찾으려면 NCBI에서 이렇게 검색해"라며 검색 방법과 결과를 보여줬죠.

- 또, "DNA 조각을 비교하려면 BLAST라는 도구를 이렇게 써"라고 알려줬어요.

이걸 전문 용어로 '인컨텍스트 학습'이라고 하는데, 쉽게 말하면 AI에게 "이렇게 해봐!"라고 예시를 주고 따라 하게 만드는 거예요. 그리고 AI가 질문에 답할 때, NCBI 데이터베이스에서 정보를 직접 가져오도록 했어요. 예를 들어, AI가 "이 유전자는 뭐야?"라는 질문을 받으면, NCBI에 접속해서 정확한 답을 찾아오는 식이죠.

또, 복잡한 질문에는 AI가 문제를 작은 조각으로 나눠서 하나씩 해결하도록 했어요. 이를 '생각의 연쇄(chain-of-thought)'라고 부르는데, 마치 퍼즐을 맞추듯 단계별로 답을 찾아가는 방식이에요.

---

### 연구 결과 및 예시 – 어떤 결과가 나왔고, 일반인들이 이해할 수 있는 예시

결과는 정말 놀라웠어요! GeneGPT라는 이 새로운 AI는 기존 AI들보다 훨씬 잘했어요. GeneTuring 시험지에서 8개 과목(유전자 이름 찾기, 위치 확인, DNA 비교 등) 평균 점수가 0.83(1점 만점)이었어요. 비교하자면, 다른 AI들은 0.44(뉴 빙), 0.08(바이오메드LM) 정도로 훨씬 낮았죠.

**예시 하나**: 

질문: "SNP rs1241371358이라는 유전 변이가 어떤 유전자와 관련이 있지?"

GeneGPT는 NCBI 데이터베이스에서 이 변이를 검색해서 "LRRC23"이라는 유전자를 찾아냈어요. 심지어 "이 유전자의 기능은 뭐야?"라는 추가 질문에도 "세포질에서 활동할 가능성이 있다"고 정확히 답했죠.

**일반인에게 비유**: 이건 마치 여러분이 도서관에서 책 제목만 알고 저자를 찾아야 할 때, 사서가 정확한 책을 찾아서 저자 이름까지 알려주는 것과 같아요. 다른 AI들은 책을 대충 뒤져서 엉뚱한 답을 줄 때가 많았지만, GeneGPT는 제대로 찾아줬어요.

복잡한 질문에서도 GeneGPT는 잘했어요. GeneHop 시험지에서 평균 0.50점을 받았는데, 뉴 빙은 0.24점에 그쳤죠. 예를 들어, "이 질병과 관련된 유전자는 어디에 있어?" 같은 질문에서 GeneGPT는 질병을 먼저 찾아보고, 관련 유전자를 확인한 뒤, 그 유전자의 위치까지 정확히 알려줬어요.

---

### 의미와 영향 – 이 연구가 우리 일상이나 사회에 어떤 영향을 줄 수 있는지

이 연구는 우리 삶에 큰 도움을 줄 수 있어요! 왜냐하면:

1. **의료와 건강**: 유전자 정보를 빠르고 정확히 찾을 수 있으면, 의사나 연구자들이 질병 원인을 더 쉽게 파악할 수 있어요. 예를 들어, 특정 유전자가 암과 관련이 있는지 알아내면 더 나은 치료법을 찾는 데 도움이 되죠.

2. **일반인의 접근성**: 생물학은 복잡하지만, GeneGPT 같은 기술이 발전하면 우리 같은 일반인도 유전자 정보를 쉽게 이해할 수 있어요. 예를 들어, "내 유전자 검사 결과가 뭐를 의미하지?" 같은 질문에 AI가 친절히 설명해줄 날이 올지도 몰라요.

3. **과학 연구 속도 UP**: 연구자들이 유전자 데이터를 찾는 데 시간을 덜 쓰고, 새로운 발견에 더 집중할 수 있게 돕죠. 이건 결국 신약 개발이나 질병 예방 같은 분야에서 큰 진전을 가져올 수 있어요.

4. **AI의 신뢰도 향상**: AI가 엉뚱한 답을 덜 내놓고, 전문 데이터베이스를 활용하면 더 믿을 만한 답변을 들을 수 있어요. 이건 생물학뿐 아니라 다른 분야에서도 비슷한 기술로 확장될 가능성이 크죠.

---

### 마무리

GeneGPT는 AI가 생물학 정보를 더 똑똑하게 찾아주는 첫걸음이에요. 아직 완벽하지는 않지만, 이 기술이 발전하면 우리 모두가 유전자와 건강에 대해 더 쉽게 알 수 있는 날이 올 거예요. 여러분은 이 연구에서 어떤 점이 가장 흥미로웠나요? 댓글로 알려주세요! 😊



perplexity.ai

### 연구 요약: GeneGPT - 대형 언어 모델의 생물정보학 활용 증대

---

**연구 배경 – 이 연구가 왜 필요했는지**  

대형 언어 모델(LLMs)은 자연어 처리(NLP) 분야에서 뛰어난 성과를 내고 있지만, 여전히 잘못된 정보를 생성하거나 과도한 일반화를 하는 "환각(hallucination)" 문제를 겪고 있습니다. 특히 생물정보학과 같은 전문 분야에서는 정확한 데이터 접근이 중요하기 때문에, 기존 LLM의 한계를 극복하고 더 신뢰할 수 있는 답변을 제공할 수 있는 방법이 필요했습니다[1].

---

**연구 목적 – 연구진이 알고자 했던 것**  

이 연구는 LLM에 생물정보학 데이터베이스를 활용하는 능력을 부여하여 전문적인 질문에 더 정확히 답변할 수 있도록 하는 새로운 방법을 개발하는 것을 목표로 했습니다. 이를 위해 연구진은 GeneGPT라는 시스템을 설계하여, LLM이 NCBI(National Center for Biotechnology Information)의 웹 API를 통해 데이터를 검색하고 활용할 수 있도록 했습니다[1].

---

**데이터 또는 재료 설명 – 어떤 데이터나 재료가 사용되었는지**  

GeneGPT는 NCBI의 웹 API를 사용하여 생물정보학 데이터베이스에 접근합니다. 이 API는 유전자 정보, 단백질 구조, DNA 서열 등을 포함한 38개의 데이터베이스를 제공합니다. 또한 BLAST API를 통해 DNA 또는 단백질 서열을 비교하여 유사성을 분석할 수 있습니다. 일반 사용자는 인터넷 연결만으로 이러한 데이터를 활용할 수 있습니다[1].

---

**연구 방법 – 연구가 어떻게 진행되었는지**  

GeneGPT는 두 가지 주요 구성 요소로 이루어져 있습니다:

1. **특별히 설계된 프롬프트**: API 사용법에 대한 문서와 예시를 포함하여 LLM이 API 호출을 학습하도록 돕습니다.

2. **추론 알고리즘**: LLM이 질문을 이해하고 필요한 데이터를 검색한 후 API 호출 결과를 기반으로 답변을 생성하도록 설계되었습니다.

GeneGPT는 Codex라는 LLM을 기반으로 작동하며, 생물정보학 관련 질문에 대해 NCBI API를 호출해 데이터를 검색하고 이를 바탕으로 답변을 생성합니다[1].

---

**연구 결과 및 예시 – 어떤 결과가 나왔고, 일반인들이 이해할 수 있는 예시가 있다면 함께 설명**  

GeneGPT는 GeneTuring이라는 생물정보학 질문 벤치마크에서 평균 점수 0.83을 기록하며 기존 모델(Bing, BioGPT 등)을 크게 능가했습니다. 예를 들어, 특정 질병과 관련된 유전자를 찾거나 DNA 서열의 위치를 인간 염색체와 매칭하는 작업에서 매우 높은 정확도를 보였습니다. 이는 일반인에게도 유용한 정보로, 특정 질병의 원인을 이해하거나 유전자 분석 결과를 해석하는 데 도움이 될 수 있습니다[1].


그냥 LLM에 물어보는 것보다는 이런 전문화된 LLM에 물어보면 조금 더 내가 원하는 답에 가까운 답변을 얻을 수 있었어요가 결론이네요. 각각 분야마다 특화된 LLM들을 만들면.... 근데 그러기에는 너무 세분화되어야하는 문제도 있을거 같은데.... 어떻게든 해결하겠죠 :)



출처: @ye._.vely618


일요일, 4월 28, 2024

NCBI API Key 발급받기

생명정보학을 하는 사람뿐만 아니라 생명공학을 전공하는 공부하는 사람들은 NCBI를 활용하지 않을 수 없는 시대에 왔습니다.

아마 생명공학을 전공한다면 이전에는 하얀까운 입고 클린벤치앞에서 파이펫가지고 실험하는 생각이 지배적이었는데 조만간 컴퓨터 화면앞에서 까만 화면앞이나 웹사이트를 이리저리 오가면서 분석하는 것이 더 익숙해질지도 모르겠습니다.

그래서 오늘은 오랜만에 NCBI를 활용할 때 대량의 데이터를 다운받을 때 API를 사용할 수 있게 해주는 API Key를 발급받는 방법을...

사실 저도 API Key를 받아가면서 다운로드 받지 않았는데..

이제는 그러지 않고는 NCBI에서 너님좀 그만 접속해라는 status만 return하고 정작 제가 원하는 자료들은 넘어오지 않아서 API Key를 발급 받을 수 밖에 없었습니다. 

Orz

여튼 그래서 구글님에서 "NCBI의 API Key를 발급 받으려면 어떻게 해야하나요?"

라고 검색해보면 다음과 같은 링크하나 떨궈 줍니다.

> 여기요 <

위에 URL에 나와있는 대로 회원 가입하고 발급받으시면 됩니다. :)

혹시나하고 아래와 같이 스샷들을 첨부하였읜 참고해서 잘 받으시기 바랍니다.


목록중에 있는 외부 계정 활용해서 로그인 하시면 되겠습니다. 전 구글을 잘 이용합니다.


브라우저에 구글 계정이 설정되어 있으면 이 계정으로 계속 할꺼야? 라고 물어봅니다. 다른 계정하고 싶으시면 아래 [다른 계정 사용]을 클릭해서 진행 하시면 되겠습니다.


그럼 선택하신 계정을 사용해서 nih.gov 서비스를 사용하실 수 있게 됩니다. [계속] 버튼을 클릭하시면 되겠습니다.


새로 계정 만들래, 기존 계정에 연결할래? 음.. 계정 생성의 복잡도를 생각해서 그냥 새로 계정을 만드시는게 편하지 않을까합니다. 


축하드립니다. NCBI 계정을 본인 계정을 사용해서 로그인 하실 수 있게 되었습니다.

단, 우리의 목적은 NCBI 계정 탈.. 생성이 아니라 API Key 발급이었죠? 상단 우측의 Accout를 클릭하면 [Account Settings] 라는 메뉴에 들어갈 수 있습니다.

현재 API Key가 없는 것을 알 수 있고, 친절히 [Creat API Keys] 버튼이 큼직만하게 있습니다. 이 버튼을 클릭하시면...

그냥 API Key가 만들어집니다. :)



그럼 주말 저녁 잘 마무리하시기 바랍니다. :)







출처: @ye._.vely618


월요일, 9월 04, 2023

NCBI에서 제공하는 ribosomal RNA Database

때는 바야흐로 2020년 초

NCBI에 Blog에 새로운 ribosomal RNA 데이터베이스가 출시되었다는 글이 하나 떴었네요...


사실 그 전부터 BLAST용 ribosomal RNA 서열은 제공하고 있었습니다.

다만 그 전까지는 NCBI에 수집된 nucleotide 서열을 모아놓은 수준이었던것 같은데,

2020년에 공개된 데이터는 단순히 모아놓는 부정확한 정보 수준이 아닌 각 서열을 정확하게 식별하고 분류할 수 있도록 엄선하였다고 하네요 

rRNA뿐만 아니라 ITS 서열까지.. 2020년즈음에는 microbiome에 이어 mycobiota도 관심이 증가하고 있었던 시기였던터라 이전에 ITS 서열을 제공하지 않았던것 같은데, 역시 NCBI 훃님들은 페달 밟으면 아주 시원하게 뽑아주는듯 합니다.

여튼 요즘에는 16S, 18S, ITS 서열들을 잘 정리해서 식별할 수 있도록 (aka taxonomy 정보가 잘 정리되어 있다는 것이겠죠) 제공하고 있습니다.


>여기< 에 우리가 알고 있는 nt db와 nr db 말고도 다양한 local용 blast database들이 제공되고 있으니 잘 다운로드 받아 잘 사용하면 좋을 것 같습니다. 


또 유익한 정보를 가지고 블로그에 글을 적어보도록 하겠습니다. 





출처: @ye._.vely618




목요일, 8월 10, 2023

NCBI기반의 분류데이터를 손쉽게 다루는 방법

NCBI의 taxonomy 데이터는 드려다 보신 분들은 아시겠지만 환장의 도가니라고 할 수 있죠

그래서 보다 못한 호주의 어느 용자께서 NCBI의 taxonomy 데이터를 처리할 수 있는 스크립트를 개발하셔서 github에 올려주셨습니다. 물론 논문도 투고하셨고요


이름하여 ncbi-taxonomist, NCBI 분류학자라니.. Orz

Collecting and managing taxonomic data with NCBI-taxonomist

doi: https://doi.org/10.1093%2Fbioinformatics%2Fbtaa1027


여튼 재미있는 기능 중 하나가 NCBI의 nucleotide이든 protein이든 accession을 입력하면 이 accession의 taxonomy 정보를 알려준다는 것입니다.

물론 NCBI 분류학자답게 NCBI의 taxonomy ID과 종 이름(약간의 오타가 있어도, 그 오타가 NCBI에 등록되어 있다면)로도 검색할 수 있습죠.

accession 정보를 이용하여 taxonomy 정보를 파악하는게 생각보다 번거로운 작업인데 ncbi-taxonomist에서 명령어 한번 때려주면 호로록 검색해서 결과를 알려줍니다.

여튼 오늘은 간단한 기능을 보여주는 tool을 소개하였는데
밤새 태풍에 무탈하시기 바랍니다. :)



출처: @ye._.vely618


화요일, 8월 01, 2023

ncbi 횽아들은 어디까지 만들어 낼 것인가

이것저것 작업하면서

ncbi tool들을 다시 사용하고 있는데..

훗.. 역시 우리 ncbi 훃아들의 위대함을 다시 한번 느꼈다는...


NCBI BLAST에서 taxonomy로 제한 거는 기능을 당연히 stand-alone에서도 사용할 수 있는데 NCBI의 -taxid의 숨은 함정이 종 수준의 taxid만 제한 걸 수 있다는..

(근데 써보면 종 수준의 taxid만 제한이 걸리는지 갸우뚱 거리긴 함.. )


여튼 종 수준의 taxid만 제한할 수 있다는 것이 무엇이냐면..

종보다 상위 class의 taxid인 Enterobacterales의 taxid를 사용하면 정상적으로 작동을 안하게 된다는 말씀.

그러므로 NCBI BLAST 프로그램을 다운 받았을 때 함께 있는 get_species_taxids.sh를 활용하면 이 문제를 피해갈 수 있다고 합니다.

사실 최근까지 get_species_taxid.sh가 왜 있는지 관심은 없을 뿐더러
왜 쓰잘떼기 없는 shell script는 왜 넣어놨는지 했다는 ㅎㅎ 


여튼 언제나 NCBI 훃님들께 감사인사를... :)


참고 URL: https://www.ncbi.nlm.nih.gov/books/NBK569846/



출처: @ye._.vely618


일요일, 9월 23, 2018

Microbiome Database를 만들어볼까? -NCBI편 4-

지난번 글에서 받기시작했던 nt.gz파일은 잘 받아졌나요?

그럼 이제 이 파일에서 무엇인가 뽑아내야 겠죠?

무엇을 뽑아내느냐?
16S rRNA를 뽑아낼겁니다.
어떻게?
다음 스크립트를 작성해 봅시다.

$vi parser_nt.py

import glob,sys,re,gzip
from Bio import SeqIO

try:
        input_fa = sys.argv[1]
except:
        print "fasta_split.py <in.fa.gz>"
        exit(1)
for rec in SeqIO.parse(gzip.open(input_fa),format='fasta'):
        desc = rec.description
        seq = str(rec.seq)
        name = desc.strip().split('\x01')[0]
        if name.upper().find(' 16S RIBOSOMAL RNA ') != -1 or name.find(' 16S RIBOSOMAL RNA,') != -1:
                if name.upper().find('MITOCHONDRIA')!= -1:
                        pass
                elif name.upper().find('CHLOROPLAST')!= -1:
                        pass
                elif name.upper().find(' 23S ') != -1:
                        pass
                else:
                        if name.upper().find(' SIMILAR ') != -1:
                                pass
                        elif name.upper().find(' INTRON') != -1:
                                pass
                        elif name.upper().find(' PLASTID') != -1:
                                pass
                        else:
                                print '>%s\n%s\n'%(desc,seq)


※ 위의  스크립트를 수정해서 입맛에 맞게 교정하시고 사용하시면되겠습니다.

$python parser_nt.py nt.gz > nt.fasta
위에 스크립트 실행시키면 떡 하니 수 gb 짜리 파일이 하나 나올겁니다.

이 파일안에는 nt서열 중에서 16S rRNA 서열 (대신 mitochondria와 chloroplast의 16S rRNA는 제외하고 이것도 16S rRNA지만 저한테는 일단 필요없어서 뺐습니다. 사용하고 싶으시면 사용하셔도 됩니다. :) )이 500만개 정도 들어 있습니다.

이 파일에는 온갖 종의 16S rRNA 서열이 있지만 문제가 있다는 점!

16S rRNA 서열이 품질이...
어떤 녀석은 full 서열이 있지만 어떤녀석은 서열의 일부만 가지고 있는 경우가 있습니다.

그래서 그런 녀석들을 잘 확인해서 제거를 하던지 merge를 하던지... 

그건 개인 취향으로 남겨 놓도록 하겠습니다. :)
aka 필터링을 하던 안하던 문제 생기면 그 문제의 책임은 오롯이 당신의 것!!

그리고 즐거운 추석보내시기 바랍니다. :)

출처 SM


수요일, 9월 19, 2018

Microbiome Database를 만들어볼까? -NCBI편 3-

지난 시간에 이곳에서 귀한 자료를 받아 봤을 겁니다.
그게 무엇이냐!!!

지금까지 공개된 bacteria의 서열들이죠 정확하게 말하면
현재까지 수많은 연구자들이 자발적(자의타의)으로
공개해준 것을 NCBI가 아름답게 정리한 RNA서열들만 다운받았습니다.

근데 우리는 RNA 서열이 아니라 rRNA 서열이 필요하죠

이전 글에서 우리는 rna라는 폴더 안에 12만개에 달하는 파일들을 다운받았습니다.
아마 그냥 ls하시면 어쩌구 저쩌구 long 할겁니다.
ls로 불러오기에 item이 너무 많다 이거죠
그럼 어쩌지?? @.@

우리에겐 귀도 훃님의 파이썬이 있지 않겠습니꽈

간단하게 다음과 같은 스크립트를 뚝딱 뚝딱 만들어보죠

import os,glob
from Bio import SeqIO
for files in glob.glob('rna/*gz`):
    for rec in SeqIO.parse(gzip.open(files), format='fasta'):
        name =rec.description
        seq = rec.seq
        if name.find('[product=16S ribosomal RNA]') != -1:
            print '>%s\n%s\n'.format(name,seq)

(python2.7에 Biopython이 설치되어 있어야 하고 *_rna_form_genomic.fna.gz 파일이 rna폴더 밑에 위치하고 있어야 합니다.)

$python script.py > ncbi.fa

라고 해주면 헤더에 "[product=16S ribosomal RNA]"가 포함된 aka 우리가 원하는 바로 그것! 16S rRNA 서열을 각 종에서 샤샤샥 ncbi.fa라는 파일에 저장할 수가 있습니다.

-12만개 파일 읽어 오는거라 순차적으로 하면 3-4시간 걸릴것이고
subprocess로 잘 해주시면 적어도 십수분? 30분이내면 충분히 끝날각 되겠습니다.

출처: SM Town

일요일, 9월 09, 2018

Microbiome Database를 만들어볼까? -NCBI편 2-

지난 시간에 이곳에서 자료를 받아 봤습니다.

오늘은 또 다른 ncbi 자료를 받아 볼겁니다.

※지겹다고요? 제가 그랬잖아요? 당분간은 맨날 다운 받을 거라고 ㅋ
빨라야 추석 이후에야 무엇인가 하지 않을까 기대합니다.

지난번에는 ncbi에서 제공하는 모 그런걸 받았습니다.
-자세한 내용은 다음 글에... ㅎㅎ :)

그렇다면 이번에는 우리가 ncbi라고 하면
맨날 다운받았던 blast의 db를 만드는 source fasta파일인
nt.gz 을 받아보도록 하겠습니다.

자 웹브라우저에서 ftp://ftp.ncbi.nlm.nih.gov/blast/db/fasta/
들어가시면 nt.gz이 보입니다.

물론

$wget ftp://ftp.ncbi.nlm.nih.gov/blast/db/fasta/nr.gz 

하셔서 다운받아도 무방합니다.

그럼 대략 40G 정도의 gzip파일을 받아봅시다. :)



출처: SM Town

토요일, 9월 01, 2018

Microbiome Database를 만들어 볼까? -NCBI편-

Microbiome Database를 만들려면
database에 들어갈 무엇이든 뭐든지 있어야 겠지요?

지구상에서 생명공학을 공부하면서 한번도 안들어 갈수 없는
한번 들어 가봤으면 다시는 안 갈 수 없는 바로 그곳! 거기!

근데 일단 거기는 들어갈 필요는 없구요
NCBI에서 데이터를 받아봅시다!
-아니 이양반아 거기에 안들어가고 무엇을 한단말인가?

그렇죠! 그래서 저희는 이곳을 이용할겁니다.

assembly_summary_refseq.txt 파일을 작업서버에 살포시 다운로드 받아보겠습니다.


$ wget ftp://ftp.ncbi.nlm.nih.gov/genomes/refseq/bacteria/assembly_summary.txt

이제 다 받아졌다면 잘 받아졌는지 파일을 한번 볼까요?

앜 내눈!!! 글씨밖에 없죠? 정상적인 파일입니다. 다행히 잘 받아졌군요

이 파일에서 우리가 필요한 파일들을 받을 수 있는 주소들이 있습니다.
자 파일 라인 갯수가 #으로 처리된 헤더 2라인을 제외하면 124,529개 밖에 안됩니다. ;)

대략 20번째 컬럼에 있는 ftp 주소를 한개의 파일로 한땀 한땀 모으시면됩니다.
모 번뜩 생각나는 방법은 txt파일을 엑셀에서 불러들여서 20번째 컬럼에 있는 내용 복붙하셔도...

그러나 좀 편리하게 awk를 사용하는 방법이..

$ awk '{FS="\t"} !/^#/{print $20}' assembly_summary.txt > bacteria.list
그럼 bacteria.list에 ftp주소가 모입니다.

그 다음에

for M in `cat bacteria.txt`
do
wget -P rna $M/*rna_from_genomic.fna.gz
done

이렇게 해주시면 rna폴더에 rna_from_genomic.fna.gz 파일들이 차곡 차곡  쌓입니다.

대신 12만개 다운 받아야하니.. screen 실행시킨 다음에 하시고요

그럼 다 받을때까지 요즘 날씨도 좋으니 놀다오는걸로 :)

#날씨도좋은데놀아보자 출처: YOUTUBE 캡쳐

월요일, 3월 26, 2018

NCBI Website and Data Usage Policies and Disclaimers

관련 NCBI 원문 URL

Website Disclaimer
쓰는건 님 자유지만 어떠한 유형의 문제가 발생하면 쓴 너님 문제

Website Usage
NCBI 웹페이지는 Title 18 조항에 의해 보호되니깐 작은 하마를 건들면 ㅈ되는 것처럼 똑같이 됨.


Copyright Status of Webpages
NLM (National Library of Medicine) 웹 페이지의 공개 정보는 자유롭게 배포 및 복사 할 수 있습니다. 그러나 몇몇 저작물(그게 무엇인지는 비밀)에 대해서는 NLM에 적절한 확인을 요청해야 합니다. 


Molecular Data Usage
NCBI 웹 사이트의 분자 데이터베이스는 nucleotide sequences (GenBank), protein sequences, macromolecular structures, molecular variation, gene expression, and mapping data를 통칭.
NCBI는 이 안에 포함된 데이터의 사용이나 배포에 대한 아무런 제한을 두지 않는다. 제출자가 재사용/재배포에 대한 제한을 요청해도 승인하지 않는다. 그러나 제출자가 특허나 저작권 또는 기타 지적 재산권을 주장 할 수는 있다. NCBI는 이러한 청구에 대해서 평가를 하는 기관이 아니다. 제출자로부터 권리를 양도받지 않았기에 NCBI는 제 3자에게 양도 할 권리가 없다.
요약: 문제의 소지가 있는 데이터가 존재 할 수 있고 문제 발생 시 NCBI는 관여하지 않으니 니들끼리 알아서 해결하세요


Human Genomic Data Submitted to Unrestricted-Access Repositories
대규모 인체 게놈 데이터를 NCBI에 보관하고 싶으면 NIH 게놈 데이터 공유 정책(GDS)의 조건에 충족해야한다.


Use of Web Browsers
NCBI는 크롬과 불여우, 사파리 그리고 에지의 최신버전및 이전 두 버전을 지원한다.
놀랍게도 IE11이상이면 IE에서도 작동한다. 역시 자국 소프트웨어를 써주는건 어느나라나 동일한듯.


Accessibility Policy
가능한 모든 사람들이 접근 할 수 있도록 노력을 기울이고 있습니다.


Privacy Policy
NCBI는 님들 정보따위에 관심없으니 걱정마셈


Medical Information and Advice Disclaimer
NLM은 특정 의학 조언을 제공하는 것이 아닌 자신의 건강 및 진단된 장애를 더 잘 이해할 수 있는 정보를 사용자에게 제공하기 위함이니 정확학 임상적인 조언은 진단을 할 수 있는 자격을 갖춘 의사와 상담하길 바란다.


Guidelines for Scripting Calls to NCBI Servers
NCBI 시스템에 부하를 주지마세요. https://eutils.ncbi.nlm.nih.gov 를 사용하세요.

금요일, 3월 23, 2012

Blastall Manual


NCBI에서 제공되는 Blastall에 대한 메뉴얼
blast-2.2.18을 기준으로 작성합니다. 현재 2.2.20이 나와있죠??
아마 옵션은 거의 동일할것입니다.
제가 많이 사용하는 것을 중심으로 설명합니다.
-지금은 더 업되어 있을 겁니다.
 그리고 이제는 슬슬 BLAST+로 옮겨타보려고 계획중입니다. :)

-p 5개의 기본 blast 프로그램중 하나를 선택하는 옵션
ex) -p {blastn|blastp|blastx|tblastn|tblastx}

-d blast를 돌리기 위한 데이터베이스 선택하는 옵션
ex) -d {nr|nt|your_database_file}
blast에서 데이터베이스로 사용하기 위해서는 fasta파일을 formatdb로 blast에 사용할 수 있는 데이터베이스로 변환시켜주어야 사용 가능. formatdb 수행후 붙는 확장자 명은 적어주지 않아도 됨. 파일이름 적음.

-i 검색해보고 싶은 서열(들) 입니다. Query 파일은 fasta format으로 되어있어야 함.
ex) -i your_query_file.seq 현재폴더에 있는 서열 파일      
      -i /your/home/path/query.fasta 다른 폴더에 있는 서열 파일

-e Expectation value를 정해줘서 설정된 값보다 크면 결과에 포함시키지 않는 옵션. 일반적으로 blastn의 경우 1e-06/1e-12, blastp의 경우 1e-03/1e-06으로 설정하고 상황마다 조정하면서 사용.
ex) -e 1e-06
-m 결과 파일을 저장할때의 format 결정 옵션. 일반적으로 로컬에서 blast를 돌리시려는 분들은 대량의 서열을 분석하기 위함이니, -m 8이 결과 파일을 분석하기 용이함,
ex) -m 8


-o Blast 결과 파일 설정하는 옵션
ex) -o your_output_file


-M blast를 실행시킬때 Matrix를 사용하게 하는 옵션. 서열과 서열을 비교하면서 weight를 주어서 peptide 서열을 검색할때 사용됨. 기본값은 BLOSUM62.
Matrix는 /your_blast_folder/data/ 밑에 있음.
ex) -M {BLOSUM62|PAM250|your_matrix}

-a CPU가 1개 이상일때 blast 수행시 하나 이상의 cpu를 사용하게 하는 옵션
ex) -a 2

Local에서 Blast 작업 돌리기


BLAST는 최근 생명공학을 하는데 기본 도구중에
하나가 되었지만 그럼에도 많은 연구자들이 BLAST를
제대로 사용하지 못하고 있는 것이 현실이다.

BLAST를 수행하는데 Database가 NCBI나 다른 여타의 사이트에서
제공안되는 Database를 이용해야만 되는 경우가 발생하면 어떻게 할 것인가?

혹은 BLAST를 해야할 Query가 수십개가 아닌 수백, 수천개라면
어떻게 할 것인가?

이런경우 자신의 컴퓨터에서 BLAST를 수행하게 된다면 원하는 작업을
손쉽고 빠르게 할 수 있다.

BLAST 프로그램은 대부분 연구자들이 알고 있듯이
NCBI에서 다운로드 받을 수 있다.
ftp://ftp.ncbi.nih.gov/blast/executables/release
위의 ftp 주소에 들어가 자신의 플랫폼에 맞는 파일을 다운로드 받으면 일단 BLAST를
수행할 수 있는 준비가 된다.

다운로드 받은 압축 파일(실행파일(*.exe)로 압축되어있는)을 풀면
bin, data, doc 세개의 폴더가 나타난다.
BLAST를 직접 수행하는 실행파일은 bin 폴더안에 있다.

기본적으로 BLAST를 사용하기 위해서 두개의 파일이 필요하다.
blastall과 formatdb이다.
blastall은 일반적인 blast, 즉 blastn, blastp, blastx, tblastx,tblastn를 수행할 때 사용된다.
formatdb는 blast를 할 수 있는 database를 만들어 주는 파일이다.
blast에 사용되는 database는 항상 ncbi나 다른 웹사이트에서 제공해주는 것이 아니기
때문에 자신만의 database를 만들 수 있어야 한다.


formatdb -i INPUT_FILE -p T|F -o T|F


- i INPUT_FILE은 fasta form을 따르는 서열들이 모인 파일이면 문제없다.
- p INPUT_FILE이 DNA서열인지  Protein 서열인지 확인하는 옵션값 protein의 경우 T
- o INPUT_FILE를 paser하는 옵션 NCBI에서 수집한 서열의 경우 -o T를 하여도 문제 없지만, NCBI의 form을 완벽하게 따르지않았다면 F 값을 사용.


blastall -p SELET_PROGRAM -i INPUT_FILE -d DATABASE_FILE -o OUTPUT_FILE  -m  OUTPUT_FORMAT


- p 어떤 blast 프로그램을 사용할지 선택
- i Query가 될 서열, 하나의 서열 혹은 다수의 서열이 하나의 파일에 존재 할 수 있다.
- d blast할 database
-o blast를 수행한 후 결과를 저장할 파일 이름을 지정한다.
-m -m 옵션을 지정하지 않으면 NCBI에서 blast를 수행한 화면을 볼 수 있다. 만약 다른 정보들은 필요 없고, 어느 서열이 어떤 서열과 유사성이 있는지 환인 할 수 있는 정보만 필요하다면 -m의 옵션값을 조절하여 원하는 정보만 저장 할 수 있다. 본인의 경우 -m 8을 많이 애용한다.