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

수요일, 11월 12, 2025

발빠른 식품매개질병 탐지를 위한 첫걸음

간만에 PCR 디자인 하는 tool을 가져와봤습니다. 이전에도 이런 류의 프로그램들이 있었고 아마 covid19의 효과로도 계속 필요할 텐데 qPCR 프라이머 디자인하는게 생각보다 쉽지가 않더라구요. 그래도 지속적으로 이렇게 개선하는 tool들이 나오고 있어서 한번 가져와봤습니다. 제목은 FBPP: software to design PCR primers and probes for nucleic acid base detection of foodborne pathogens 식품매개 병원균으로 제한을 두고 있는데 모든 병원균에 대해서 다 할 수 있다 보단 이게 현실적으로 보입니다. 

DOI: 10.1038/s41598-024-51372-5


코드도 공개되어 있으니 한번 경험해보는것도 좋아 보입니다. 다만 이 코드로 인해서 각자가 봉착했던 문제가 알아서 해결할 수 있겠다라는 기대를 품는건 각자의 자유입니다. :)

github: FBPP


clova-x

FBPP는 식품 매개 병원균의 핵산 염기 검출을 위한 프라이머 및 프로브 설계 도구로, 기존 소프트웨어의 한계를 극복하고 자동화된 설계와 시뮬레이션 기능을 제공합니다.

1. **FBPP의 목적**

   - FBPP는 식품 매개 병원균의 핵산 염기 검출을 위한 프라이머 및 프로브를 설계하는 데 사용됩니다.

   - 이 도구는 안전한 식품 공급을 보장하고 식품 매개 질병을 예방하기 위해 필수적입니다.

2. **설계 과정**

   - FBPP는 타겟 시퀀스를 식별하고, Primer3 모듈을 통해 다수의 프라이머 쌍을 생성합니다.

   - 생성된 프라이머 쌍은 PCR 및 겔 전기영동 시뮬레이션을 통해 유효성을 검증합니다.

3. **주요 기능**

   - FBPP는 프라이머 및 프로브의 특이성을 체크하고, 잘못된 음성 결과를 피하기 위한 시뮬레이션 기능을 제공합니다.

   - 사용자는 프라이머의 속성을 조정할 수 있으며, 다양한 옵션을 통해 설계 과정을 맞춤화할 수 있습니다.

4. **기존 도구와의 차별점**

   - FBPP는 식품 매개 병원균의 virulence 유전자 데이터베이스를 포함하고 있으며, 사용자 친화적인 그래픽 인터페이스를 제공합니다.

   - 다른 소프트웨어 도구와는 달리, FBPP는 검출 애플리케이션에 특화된 기능을 제공합니다.


gemini

## 식중독균 검출을 위한 새로운 도구: FBPP 소프트웨어 개발

**연구 배경**

[cite_start]식품을 통해 전파되는 식중독균은 전 세계적으로 질병 및 사망의 중요한 원인이 되며, 사회 경제적 발전에 큰 장애물로 작용합니다[cite: 6, 12]. [cite_start]안전한 식품 공급과 식중독 예방을 위해 식중독균을 신속하게 검출하는 것이 매우 중요합니다[cite: 6, 13]. [cite_start]핵산 염기 검출 방법은 식중독균 검출에 가장 빠르고 널리 사용되는 방법 중 하나입니다[cite: 7, 14]. [cite_start]이 방법은 표적 핵산 서열에 상보적인 합성 올리고뉴클레오타이드(프라이머 또는 프로브)를 결합시키는 원리에 기반합니다[cite: 8, 15]. [cite_start]이 방법의 핵심적이고 초기 단계는 프라이머와 프로브를 설계하는 것입니다[cite: 9, 16].

[cite_start]기존에도 프라이머 설계를 위한 다양한 소프트웨어 도구들이 있었지만 [cite: 19][cite_start], 핵산 기반 검출 방법을 위해 자동화된 프라이머-프로브 세트를 설계하는 데 특화된 도구는 없었습니다[cite: 20]. [cite_start]또한, 기존 소프트웨어는 표적 분석 능력에 한계가 있어 [cite: 21][cite_start], 사용자들이 프라이머 특이성을 검사하기 위해 추가적인 도구를 사용해야 하는 경우가 많았습니다[cite: 22].

**연구 목적**

[cite_start]본 연구는 이러한 문제점을 극복하고, 식중독균 검출 목적에 적합한 프라이머 및 프로브를 자동화하여 설계하고 검증하는 새로운 생물정보학 도구인 **FBPP (Foodborne Pathogen Primer Probe Design)**를 개발하는 것을 목표로 했습니다[cite: 10, 25].

**연구 방법 (FBPP 소프트웨어의 구성 및 작동 방식)**

[cite_start]FBPP는 사용자 친화적인 그래픽 인터페이스를 갖춘 오픈 소스 Python 기반 애플리케이션이며, 식중독균 독성 인자(virulence factors)에 대한 SQL 데이터베이스를 지원합니다[cite: 11, 25].

[cite_start]FBPP 프로그램은 크게 네 가지 모듈로 구성됩니다[cite: 34]:

1.  [cite_start]**sqlite3 모듈**: 식중독균 독성 유전자 데이터베이스를 생성하고 접근하는 데 사용됩니다[cite: 34].

2.  [cite_start]**수정된 Primer3 모듈**: 검출 목적에 맞게 일부 수정되었으며, 주어진 주형 서열에 대한 후보 프라이머 쌍을 생성하는 데 사용됩니다[cite: 34, 39].

3.  [cite_start]**Pydna 모듈 기반의 PCR 및 젤 전기영동 사진 시뮬레이션 모듈**: PCR 및 젤 전기영동 결과를 시뮬레이션하여 거짓 음성(false negative) 결과를 피하도록 돕습니다[cite: 35, 40, 67].

4.  [cite_start]**Bio.Blast 모듈 기반의 특이성 검사 모듈**: 프라이머와 표적 간의 일치 여부를 확인하고 비표적 영역과 일치하지 않도록 하여, 거짓 양성(false positive)을 방지합니다[cite: 35, 36, 41].

[cite_start]**프라이머 및 프로브 설계 과정은 네 단계로 이루어집니다[cite: 37]:**

1.  [cite_start]**표적 서열 식별**: 대부분 프로그램 데이터베이스나 사용자 입력 섹션에서 선택됩니다[cite: 37, 38].

2.  [cite_start]**후보 프라이머 쌍 생성**: 수정된 Primer3 모듈이 사용자가 지정하거나 기본 설정된 프라이머 속성에 따라 다수의 후보 프라이머 쌍을 생성합니다[cite: 39].

3.  [cite_start]**PCR 및 젤 전기영동 시뮬레이션**: 생성된 후보 프라이머 쌍을 시뮬레이션하여 모든 증폭 산물(amplicons)을 계산하고 밴드가 거짓 음성 결과가 아닌지 확인합니다[cite: 40].

4.  **특이성 검사**: 앞 단계에서 성공한 프라이머들에 대해 BLAST 모듈을 사용하여 특이성을 확인합니다. [cite_start]이는 프라이머 서열과 최대 35%의 불일치를 포함하는 표적까지 감지할 수 있는 높은 민감도를 보장하여 비특이적인 프라이머를 제외하고 거짓 양성 결과를 피하게 합니다[cite: 41].

**연구 결과 및 고찰**

[cite_start]FBPP는 사용자 선택에 따라 세 가지 결과 보고서를 제공합니다[cite: 60]:

1.  [cite_start]**프라이머 특이성 보고서**: 생성된 프라이머의 서열, 길이, 위치, 융해 온도($T_m$), GC 함량, 자가 상보성(self-complementarity), 자가 3' 상보성(self-3' complementarity) 등의 기본 속성을 보여줍니다[cite: 61].

2.  [cite_start]**PCR 및 젤 전기영동 시뮬레이션 보고서**: 첫 번째 보고서의 정보에 더해 PCR 과정 시뮬레이션과 예상 밴드의 그림을 보여줍니다[cite: 62].

3.  [cite_start]**특이성 검사 보고서**: 특이성 검사 결과에 대한 추가적인 진술을 보고합니다[cite: 63].

[cite_start]FBPP는 다른 소프트웨어 도구에는 없는 여러 기능을 제공합니다[cite: 64, 307]:

* [cite_start]식중독균 핵산 검출 기반 방법을 위한 프라이머/프로브 예측에 특화된 유일한 도구입니다[cite: 65].

* [cite_start]대부분의 식중독균 독성 유전자에 대한 데이터베이스를 포함하고 있습니다[cite: 66].

* [cite_start]검출 도구에서 거짓 음성 결과를 피하기 위해 결과 시뮬레이션을 제공합니다[cite: 67].

* [cite_start]프라이머/프로브의 특이성 확인과 비의도적 표적에 대한 불일치(mismatches) 수, 그리고 특정 수의 불일치가 있어야 하는 맞춤형 3' 말단 영역을 확인할 수 있는 능력이 있습니다[cite: 68].

[cite_start]예를 들어, 널리 알려진 Primer-BLAST는 Primer3의 한계를 물려받아 [cite: 299][cite_start], 검출 애플리케이션 용도로 특화되지 않았고, 시험관 내(in silico) PCR, 젤 시뮬레이션을 포함하지 않으며, 식중독균에 대한 데이터베이스도 포함하고 있지 않습니다[cite: 299]. [cite_start]반면, FBPP는 프라이머/프로브 설계, PCR/젤 전기영동 시뮬레이션 및 특이성 검사를 모두 제공합니다[cite: 302, 308].

**의의와 시사점**

[cite_start]FBPP는 특정 목적의 표적 특이적 PCR 프라이머/프로브 설계 도구로서, 사용자 친화적인 그래픽 인터페이스와 함께 독성 유전자 데이터베이스, 그리고 사전 테스트된 매개변수 기본값을 제공하여 생물정보학 지식이 없는 사용자나 분자생물학 비전문가도 쉽게 사용할 수 있습니다[cite: 303, 309].

[cite_start]핵산 기반 검출 방법이 일상적인 미생물학 실험실에서 전통적인 검출 방법을 점차 대체하거나 보완하고 있는 상황에서 [cite: 304, 310][cite_start], FBPP는 이러한 방법론의 적용을 위한 가치 있는 분석 설계 도구가 될 것으로 예상됩니다[cite: 305, 311]. [cite_start]이 도구는 특히 높은 변동성을 가진 서열을 다루고 PCR을 통한 DNA 품질 관리 작업에서 유용할 것입니다[cite: 305, 311].

**이 연구가 왜 중요한가요?**

[cite_start]이 연구는 **식중독균 검출이라는 특정 목적에 맞추어 프라이머와 프로브 설계를 자동화하고 그 결과를 검증하는 통합된 도구(FBPP)를 제공**했다는 점에서 중요합니다[cite: 65, 307]. [cite_start]기존 도구들이 제공하지 못했던 **PCR 및 젤 전기영동 시뮬레이션 기능**을 포함하여, 거짓 음성(False Negative) 오류 가능성을 줄이고 [cite: 67][cite_start], **높은 민감도로 특이성을 확인**하여 거짓 양성(False Positive) 오류를 방지할 수 있습니다[cite: 41]. [cite_start]궁극적으로 이는 **식중독균 검출의 정확성과 효율성을 높여** 식품 안전을 확보하고 식중독 발생률을 낮추는 데 기여할 수 있는 실용적인 도구를 현장 연구자들에게 제공한다는 점에서 큰 의미를 가집니다[cite: 13, 26, 305].


chatGPT

다음은 업로드하신 논문 **「FBPP: 식중독균 핵산 기반 검출을 위한 PCR 프라이머·프로브 설계 소프트웨어」(Scientific Reports, 2024)**의 내용을 바탕으로,

비전공자도 이해하기 쉽게 정리한 블로그용 요약입니다. (A4 두 장 분량)

---

## 🧫 식중독균을 빠르게 잡는 디지털 도구, **FBPP**

### 🔍 연구 배경

식중독은 전 세계적으로 여전히 큰 보건 문제입니다. 식품에 섞인 병원성 미생물은 감염과 사망을 일으킬 뿐 아니라, 경제적 손실도 초래합니다.

이 때문에 **식중독균을 신속하고 정확하게 검출하는 기술**이 식품 안전의 핵심으로 떠올랐습니다.

최근에는 눈으로 세균을 직접 확인하는 대신, **핵산(유전자) 기반 검출법**이 널리 사용되고 있습니다.

이 방법은 세균의 유전자 일부를 인식하는 “프라이머(primer)”나 “프로브(probe)”를 이용해, 특정 유전자가 존재하는지 확인하는 방식입니다.

하지만 이 과정의 출발점인 **프라이머 설계**는 매우 까다롭습니다.

* 표적 세균의 고유한 염기서열을 찾아야 하고,

* 비슷한 균과 착각하지 않도록 높은 특이성을 확보해야 하며,

* 실험 조건에 맞는 물리화학적 특성도 고려해야 합니다.

기존에 사용되던 프로그램(예: Primer3, Primer-BLAST)은 유용하지만,

식중독균 검출 목적에 최적화되어 있지 않거나, 사용이 복잡하다는 한계가 있었습니다.

---

### 🎯 연구 목적

이 연구팀은 이러한 문제를 해결하기 위해 **FBPP(Foodborne Pathogen Primer Probe Design)**라는

**새로운 오픈소스 소프트웨어**를 개발했습니다.

이 프로그램은 식중독균의 유전자 데이터를 기반으로,

PCR(유전자 증폭) 실험에 필요한 **프라이머와 프로브를 자동 설계**하고,

그 결과를 **시뮬레이션 형태로 시각화**해줍니다.

---

### ⚙️ 연구 방법 및 프로그램 구조

FBPP는 파이썬(Python) 언어로 만들어졌으며, 다음 네 가지 핵심 모듈로 구성되어 있습니다.

1. **SQLite 데이터베이스** – 식중독균의 병원성 유전자(독소, 감염인자 등)를 저장

2. **Primer3 모듈(개선판)** – 프라이머 후보군을 생성

3. **PyDNA 모듈** – PCR 및 전기영동(겔 이미지) 시뮬레이션

4. **Biopython의 BLAST 모듈** – 프라이머가 다른 균의 DNA와 겹치지 않는지 특이성 검사

프라이머 설계 과정은 다음과 같이 단계적으로 진행됩니다.

① 표적 유전자 선택 → ② 프라이머 후보 생성 → ③ PCR 시뮬레이션으로 가짜 음성 검출 방지 → ④ BLAST를 이용해 특이성 검증

또한 프로그램은 주기적으로 온라인 BLAST 데이터를 새로 갱신해 최신 유전자 정보에 대응합니다.

---

### 💻 주요 기능과 결과

FBPP의 화면은 직관적인 두 개의 탭으로 구성됩니다.

* **“Add New Gene” 탭**: 새 유전자 정보를 추가 (직접 업로드하거나 NCBI에서 자동 불러오기)

* **“Select Primer” 탭**: 선택한 유전자에 대해 프라이머/프로브 설계 및 시뮬레이션 수행

결과 보고서에는 프라이머의 염기서열, GC 함량, 융해온도(Tm), 자기결합 가능성 등이 포함되며,

시뮬레이션된 PCR 밴드 이미지를 통해 **실험 전 결과 예측**도 가능합니다.

또한, 사용자는 특정 유전자(예: *Salmonella*의 invA 유전자)를 선택해

그에 맞는 프라이머를 즉시 설계하고, 다른 균과의 교차 반응 여부까지 확인할 수 있습니다.

---

### 💬 고찰

연구진은 FBPP가 기존 도구들의 한계를 다음과 같이 보완한다고 설명합니다.

* **Primer3**: 설계는 가능하지만 특이성 검사 기능이 없음

* **Primer-BLAST**: 특이성 검사는 가능하지만 식중독균용 데이터베이스나 PCR 시뮬레이션 기능은 없음

* **기타 툴들(QuantPrime, FastPCR 등)**: 특정 응용 분야(예: 메틸화 분석, 마이크로어레이 등)에만 적합

반면, FBPP는

✅ 식중독균 검출에 특화된 유전자 데이터베이스 내장

✅ PCR 결과 시뮬레이션 및 겔 이미지 출력

✅ 사용자 친화적 인터페이스

✅ 생물정보학 비전공자도 쉽게 사용 가능

즉, 생명과학 전문지식이 없어도 **“유전자를 입력하면 곧바로 검출용 프라이머 세트를 얻을 수 있는”** 수준의 접근성을 제공합니다.

---

### 🧩 연구 의의와 시사점

FBPP는 단순히 프라이머 설계 도구가 아니라,

**식품 안전 분야의 디지털 혁신을 상징하는 플랫폼**으로 평가됩니다.

* 실험자가 복잡한 계산 없이 신뢰도 높은 검출 세트를 만들 수 있어,

  식중독균 검출의 효율과 정확도가 향상됩니다.

* 데이터베이스 기반이기 때문에, 새로운 병원체나 변이균이 등장해도

  빠르게 대응할 수 있습니다.

* 오픈소스로 배포되어 있어, 학계나 산업계 연구자 누구나 개선과 확장이 가능합니다.

---

### 🌍 이 연구가 중요한 이유

식중독균은 매년 전 세계 수억 명에게 영향을 미칩니다.

정확한 검출이 하루라도 늦어지면 식품 유통 과정 전체가 위험해질 수 있습니다.

FBPP는 이러한 문제를 해결할 **과학적 도구**로서,

“누구나 손쉽게 사용할 수 있는 식품안전 연구 플랫폼”을 제시했습니다.

즉, **기술을 통해 식품의 안전을 더 빠르고 공정하게 보장하는 길**을 연 것입니다.

---

**참고:** FBPP 프로그램은 [GitHub 공개 저장소](https://github.com/mohamedmoez1983/FBPP)에서 무료로 다운로드할 수 있습니다.


chatGPT(스토리텔링)

아래는 논문 내용을 기반으로, **일반 독자용 스토리텔링형 블로그 글**로 구성한 버전입니다.

전문용어는 쉽게 풀어 쓰고, 내용은 원 논문에 충실하게 담았습니다.

제목은 예시 형식에 맞춰 제안했습니다.

---

# 🧬 AI가 만든 가상의 실험실, 식중독균을 미리 잡는 프로그램 ‘FBPP’

우리가 먹는 음식은 매일 우리의 몸속으로 들어가는 가장 직접적인 외부 환경입니다.

그런데 그 음식 속에 **눈에 보이지 않는 세균이 숨어 있다면?**

식중독은 한 끼의 불운으로 끝나지 않습니다. 심하면 목숨을 잃는 일도 있고,

국가 경제 전체에 손실을 입히기도 합니다.

이 거대한 문제를 해결하기 위해 과학자들은 매일같이

‘식중독균을 얼마나 빨리, 정확하게 찾아낼 수 있을까’를 고민합니다.

그리고 2024년, 이집트의 한 연구팀이 그 답 중 하나를 제시했습니다.

바로 **‘FBPP’(Foodborne Pathogen Primer Probe Design)**라는 이름의

프라이머 설계 소프트웨어입니다.

---

## 🧫 눈에 보이지 않는 적을 찾아내는 유전자 기술

식중독균을 찾는 방법은 여러 가지가 있지만,

가장 빠르고 정확한 방식 중 하나는 **핵산(유전자) 기반 검출법**입니다.

이 기술은 세균의 DNA 속 특정 염기서열을 겨냥하는 ‘프라이머’라는 분자 가위를 사용합니다.

프라이머가 목표 유전자를 정확히 찾아붙으면,

PCR(유전자 증폭) 기술을 이용해 그 존재를 눈에 띄게 ‘증폭’시킬 수 있습니다.

그런데 이 과정에는 큰 어려움이 하나 있습니다.

바로 **프라이머를 설계하는 일**입니다.

프라이머는 너무 민감해서, 조금만 엇나가도

엉뚱한 균을 감지하거나 전혀 반응하지 않을 수도 있습니다.

과학자들이 수십, 수백 번의 시도를 반복하는 이유가 여기에 있죠.

---

## 💡 연구자들의 발상 — “이걸 자동으로 만들어주면 어떨까?”

논문의 주저자인 모하메드 솔리만(Mohamed A. Soliman) 교수와 동료 연구진은

이 문제를 해결하기 위해 **‘디지털 실험실’을 만들기로** 했습니다.

이들은 파이썬(Python) 언어를 이용해

**FBPP라는 새로운 오픈소스 프로그램**을 개발했습니다.

이 프로그램은 식중독을 일으키는 세균들의 유전정보를 담은

**병원성 유전자 데이터베이스(SQL 기반)**를 바탕으로 작동합니다.

연구자가 유전자 정보를 입력하면,

FBPP는 몇 초 만에 적합한 프라이머와 프로브 후보를 생성합니다.

이뿐만 아니라,

* PCR 실험을 **가상으로 시뮬레이션**해 결과 밴드를 예측하고,

* **특이성 검사(BLAST)**를 통해 비슷한 유전자를 가진 다른 균과 혼동하지 않도록 확인하며,

* 모든 과정을 **그래픽 인터페이스로 시각화**해 보여줍니다.

즉, 컴퓨터 속에서 **‘가상의 PCR 실험’**이 이루어지는 셈입니다.

---

## 🧩 FBPP가 기존 프로그램과 다른 점

사실, 프라이머를 설계하는 프로그램은 이미 여럿 존재합니다.

가장 유명한 것은 **Primer3**나 **Primer-BLAST** 같은 도구들이죠.

하지만 이들은 대체로 **식중독균 검출에 특화되어 있지 않거나**,

**전문가가 아니면 다루기 어려운 구조**를 가지고 있습니다.

FBPP는 이 한계를 정확히 짚고 들어갔습니다.

✅ **식중독균 전용 데이터베이스 내장**

✅ **PCR·전기영동 시뮬레이션 제공**

✅ **누구나 클릭 몇 번으로 결과 확인 가능**

✅ **프라이머 특이성까지 자동 점검**

즉, “유전자를 입력하면 바로 검출용 프라이머 세트가 완성되는”

**원스톱 식품안전 솔루션**인 셈입니다.

---

## 🧪 실제로 써보면 이런 모습

FBPP의 인터페이스는 단순하고 직관적입니다.

‘Add New Gene’ 탭에서는 원하는 식중독균의 유전자를 추가할 수 있고,

‘Select Primer’ 탭에서는 그 정보를 불러와

바로 프라이머 설계와 PCR 시뮬레이션을 진행할 수 있습니다.

예를 들어, *Salmonella*(살모넬라)균의 **invA 유전자**를 선택하면

프로그램이 자동으로 가능한 프라이머 세트를 제안하고,

PCR을 가상으로 실행한 후 밴드 이미지를 보여줍니다.

마치 실험실에서 전기영동 결과를 보는 것처럼요.

---

## 🧭 실험실 밖으로 나온 과학

연구팀은 FBPP를 **무료로 오픈소스 공개**했습니다.

누구나 [GitHub 페이지](https://github.com/mohamedmoez1983/FBPP)에서 프로그램을 내려받아 사용할 수 있습니다.

이는 “누구나 사용할 수 있는 과학 도구”라는 점에서 큰 의미가 있습니다.

식품검사기관, 학교 연구실, 심지어 개인 연구자도

전문 장비 없이 간단히 유전자 검출 실험을 설계할 수 있게 된 것이죠.

---

## 🌍 이 연구가 중요한 이유

식중독균은 ‘눈에 보이지 않는 전염병’입니다.

그 확산 속도는 빠르고, 피해는 막대하지만,

대부분의 검출 과정은 여전히 느리고 인력 의존적이었습니다.

FBPP는 이러한 상황을 바꾸는 **디지털 전환의 신호탄**입니다.

생물정보학의 복잡한 계산을 자동화해

누구나, 어디서든, 빠르고 정확하게 세균을 찾아낼 수 있도록 만든 것입니다.

식품 안전을 위한 싸움에서,

이제 과학자들은 시험관이 아닌 **컴퓨터 속 가상 실험실**에서 전투를 벌이고 있습니다.

FBPP는 그 싸움의 효율을 몇 배로 끌어올릴 수 있는 **스마트한 무기**가 될 것입니다.

---

🧠 **한 문장으로 요약하자면**

> “FBPP는 식중독균 검출을 위한 유전자 실험을 자동으로 설계해주는

> 연구자 친화형 오픈소스 도구이자, 식품 안전의 새로운 표준을 제시한 기술입니다.”


grok3

### FBPP: 식중독 병원체 검출을 위한 소프트웨어 개발

#### 연구 배경

식중독은 전 세계적으로 사망과 질병의 주요 원인으로, 사회경제적 발전을 저해합니다. 안전한 식품 공급을 위해 병원체를 빠르게 검출하는 것이 중요하죠. 핵산 기반 검출 방법(예: PCR)은 가장 빠른 방법 중 하나로, 병원체의 DNA나 RNA를 타겟으로 삼아 합성된 짧은 DNA 조각(프라이머나 프로브)을 사용해 결합합니다. 하지만 이 프라이머/프로브를 디자인하는 과정은 복잡합니다. 기존 도구들은 특이성 검사나 시뮬레이션이 부족하거나, 식중독 병원체에 특화되지 않아 사용자가 여러 프로그램을 번갈아 써야 했어요.

#### 연구 목적

연구팀은 이러한 문제를 해결하기 위해 'FBPP(Foodborne Pathogen Primer Probe Design)'라는 오픈소스 소프트웨어를 개발했습니다. 이 프로그램은 식중독 병원체(예: 살모넬라 등)의 독성 유전자 검출을 위한 프라이머/프로브를 자동으로 디자인하고, PCR 과정과 젤 전기영동 결과를 시뮬레이션하며, 특이성을 검사하는 기능을 제공합니다. 목표는 초보자도 쉽게 사용할 수 있는 사용자 친화적 도구를 만드는 거예요.

#### 연구 방법

FBPP는 Python으로 작성되었고, SQLite 데이터베이스를 사용해 식중독 병원체의 독성 유전자를 저장합니다. 주요 모듈은 다음과 같아요:

- Primer3 모듈을 수정해 검출 목적에 맞는 프라이머 후보를 생성(길이, 녹는 온도, GC 함량 등 사용자 설정 가능).

- Pydna 모듈로 PCR과 젤 전기영동을 시뮬레이션해 가짜 음성 결과를 방지.

- Biopython의 BLAST 모듈로 프라이머의 특이성을 검사(타겟 외 시퀀스와 35% 미스매치까지 감지).

프로세스는 4단계: 타겟 시퀀스 선택 → 후보 생성 → 시뮬레이션 → 특이성 검사. BLAST 결과는 데이터베이스에 저장해 반복 검색을 피하고, 3개월마다 업데이트합니다. Windows에서 테스트되었고, EXE 파일로 배포되어 Python 설치 없이 실행 가능해요.

#### 연구 결과

프로그램 인터페이스는 두 탭으로 구성: '신규 유전자 추가' 탭에서 NCBI 접근 번호나 GenBank 파일로 독성 유전자를 입력, '프라이머 선택' 탭에서 유전자 선택 후 속성 설정. 결과 보고서는 프라이머 시퀀스, 길이, 위치, 녹는 온도, GC 함량, 자가 결합 등을 보여줍니다. 예를 들어, 살모넬라의 invA 유전자에 대해 프라이머 쌍을 디자인하면 PCR 시뮬레이션(밴드 이미지 포함)과 특이성(미스매치 수) 결과를 출력해요. 세 옵션(단순 디자인, 시뮬레이션 포함, BLAST 검사)으로 유연하게 사용할 수 있습니다.

#### 연구 고찰

기존 도구처럼 Primer3는 특이성 검사나 시뮬레이션이 없고, Primer-BLAST는 검출 특화가 아니에요. 다른 프로그램(BatchPrimer3, Primaclade 등)은 미스매치 많은 시퀀스에 약하거나, 식중독 병원체 데이터베이스가 없죠. FBPP는 이러한 한계를 극복: 특화 데이터베이스, 시뮬레이션으로 거짓 결과 방지, 미스매치 허용 범위 설정 가능. 비전문가도 기본 설정으로 사용 가능하며, 전문가는 고급 옵션을 조정할 수 있어요.

#### 의의와 시사점

FBPP는 핵산 기반 검출 방법을 더 효율적으로 만들어, 변이 많은 병원체 시퀀스나 DNA 품질 제어에 적합합니다. 미생물학 실험실에서 기존 방법을 대체하거나 보완할 수 있어요. 오픈소스로 무료 배포(GitHub)되어 연구자들이 쉽게 접근하고 개선할 수 있죠.

이 연구는 식중독 예방에 핵심적인 검출 기술을 민주화합니다. 빠르고 정확한 병원체 검출로 식품 안전이 강화되면, 전 세계 건강과 경제가 보호될 수 있어요. 특히 개발도상국에서 저비용 도구로 큰 역할을 할 거예요!


NotebookLM

## FBPP: 식품 안전을 지키는 혁신적인 도구, 식인성 병원균 탐지용 맞춤형 프라이머 설계 소프트웨어 (연구 요약)

**대상 독자:** 전문 지식이 없는 일반 성인 독자

---

### I. 연구 배경: 식품 안전과 핵산 탐지의 중요성

식인성 질병(식품 매개 질병)은 전 세계적으로 사망률과 이환율(병에 걸리는 비율)의 중요한 원인이며, 사회경제적 발전을 저해하는 심각한 장애물로 간주됩니다. 따라서 안전한 식품 공급을 보장하고 이러한 질병을 예방하기 위해 식품 내 병원균을 신속하고 정확하게 탐지하는 것이 매우 중요합니다.

현재 가장 빠르고 널리 사용되는 방법 중 하나는 **핵산 기반 탐지법(Nucleic Acid Base Detection)**입니다. 이 방법은 표적 핵산 서열(예: 병원균의 유전자)에 상보적인 합성 핵산 조각인 **프라이머(primer) 또는 프로브(probe)**를 결합(Hybridization)하여 병원균의 존재 여부를 확인합니다.

문제는 이 프라이머와 프로브를 설계하는 과정이 **예비 단계이면서도 매우 중요하고 까다로운 작업**이라는 점입니다. 프라이머는 다음과 같은 조건을 충족해야 합니다:

1.  **높은 특이성:** 다른 비표적(nontarget) 서열을 증폭시키지 않아야 합니다.

2.  **높은 민감도:** 의도된 표적만을 효율적으로 증폭할 수 있어야 합니다.

3.  **생물학적 매개변수:** GC 함량, 녹는 온도(Tm), 그리고 자기 이합체(self-dimer)나 헤어핀 구조와 같은 이차 구조의 형성이 효율적인 증폭에 적합해야 합니다.

기존의 프라이머 설계 소프트웨어들은 종종 이러한 특이성 확인이나 시뮬레이션 기능이 부족하여 사용자가 추가적인 도구를 사용해야 하거나, 핵산 탐지 기반 방법(detection base method)에 특화되어 있지 않다는 한계가 있었습니다.

### II. 연구 목적 및 접근 방법: FBPP의 개발

이러한 문제들을 극복하기 위해, 연구진은 식인성 병원균 탐지 목적에 특화된 새로운 오픈 소스 애플리케이션인 **FBPP (Foodborne Pathogen Primer Probe Design)**를 개발했습니다.

**FBPP의 주요 목적은 다음과 같습니다:**

1.  탐지 목적에 적합한 프라이머/프로브 설계.

2.  PCR 및 젤 전기영동(Gel Electrophoresis) 사진 시뮬레이션 수행.

3.  설계된 프라이머/프로브의 특이성 검사 자동화.

FBPP는 **사용자 친화적인 그래픽 인터페이스**를 갖춘 파이썬(Python) 기반의 오픈 소스 프로그램입니다. 특히, 식인성 병원균의 독성 인자(virulence factors) 유전자 정보를 담고 있는 **SQL 데이터베이스**를 지원한다는 것이 특징입니다.

#### FBPP의 4단계 설계 과정

FBPP에서 프라이머 및 프로브를 설계하는 과정은 네 단계로 이루어집니다:

1.  **표적 서열 식별:** 프로그램 데이터베이스에서 선택하거나 사용자가 직접 입력합니다.

2.  **후보 쌍 생성:** 수정된 Primer3 모듈을 사용하여 사용자가 지정하거나 기본 설정된 프라이머 속성에 따라 많은 후보 프라이머 쌍을 생성합니다.

3.  **PCR 및 젤 전기영동 시뮬레이션:** 생성된 후보 쌍을 시뮬레이션에 적용하여 모든 증폭 산물(amplicons)을 계산하고, **위음성(false negative) 결과를 피할 수 있도록** 밴드를 확인합니다.

4.  **특이성 검사:** 시뮬레이션을 통과한 프라이머의 특이성을 검사합니다. 기본적으로 BLAST 모듈을 사용하며, **프라이머 서열에 최대 35%의 불일치(mismatches)를 포함하는 표적까지도 탐지**할 수 있도록 높은 민감도를 보장합니다. 이 검사를 통해 **위양성(false positive)을 유발할 수 있는 비특이적 프라이머**를 제외합니다.

### III. 연구 결과: FBPP의 독특한 특징

FBPP는 기존 소프트웨어에는 없는 여러 중요한 기능을 제공합니다:

1.  **특화된 데이터베이스 포함:** 대부분의 식인성 병원균 독성 유전자(virulence genes)에 대한 데이터베이스를 내장하고 있습니다.

2.  **시뮬레이션을 통한 오류 방지:** **PCR 및 젤 전기영동 시뮬레이션** 기능을 제공하여 탐지 도구에서 발생할 수 있는 위음성 결과를 피할 수 있도록 결과 시뮬레이션을 보여줍니다. 이는 Primer3나 Primer-BLAST와 같은 유명한 기존 도구들이 제공하지 않는 기능입니다.

3.  **고급 특이성 검사:** 프라이머/프로브의 특이성을 확인하는 것은 물론, 의도하지 않은 표적에 대해 특정 프라이머 쌍이 가져야 할 불일치(mismatches)의 개수와 3' 말단 영역의 맞춤형 불일치 수를 확인할 수 있습니다.

FBPP는 **EXE 파일** 형태로도 제공되어, 사용자가 파이썬 인터프리터나 패키지 없이도 애플리케이션을 실행할 수 있습니다. 사용자는 그래픽 인터페이스를 통해 유전자 템플릿 입력, 프라이머 속성(길이, Tm, GC 함량 등) 설정, 그리고 시뮬레이션 옵션 선택 등 다양한 작업을 수행할 수 있습니다.

### IV. 고찰 및 의의와 시사점

**고찰:**

프라이머 설계를 위한 다양한 도구가 존재하지만, 많은 도구가 특이성 검사나 시뮬레이션 기능을 제공하지 못하는 한계가 있었습니다. 예를 들어, NCBI에서 제공하는 유명한 웹 브라우저인 Primer-BLAST 역시 Primer3의 한계를 물려받아 탐지 애플리케이션에 특화되지 않았고, *in silico* PCR 및 젤 시뮬레이션 기능이 부족합니다.

FBPP는 이러한 기존 도구의 한계를 극복하고, **특정 목적(식인성 병원균 핵산 탐지)**에 특화된 프라이머/프로브 설계 도구를 제공합니다.

**의의 및 시사점:**

1.  **접근성 향상:** FBPP는 사용자 친화적인 그래픽 인터페이스와 미리 테스트된 기본 매개변수 선택을 제공하므로, **생물정보학 기술이 없거나 분자 지식이 부족한 사용자**도 쉽게 사용할 수 있습니다. 반면, 분자생물학자나 생물정보학자는 고급 옵션을 통해 매개변수를 맞춤 설정할 수 있습니다.

2.  **효율적인 실험 설계:** FBPP는 프라이머 설계, 시뮬레이션, 특이성 검사를 하나의 도구로 통합하여 시간과 노력을 절약하고, 실험실에서 높은 신뢰도를 가진 분석을 설계할 수 있도록 돕습니다.

### V. 이 연구가 중요한 이유

이 연구는 루틴 미생물학 실험실에서 핵산 기반 탐지 방법이 전통적인 탐지 방법을 점진적으로 대체하거나 보완하고 있는 상황에서, 이러한 새로운 방법론을 위한 **가치 있는 분석 설계 도구**를 제공한다는 점에서 중요합니다.

FBPP의 개발은 식품 공급의 안전성을 확보하고 식인성 질병의 발생률과 비용을 낮추려는 전략을 지원하는 **기술적 기반**을 마련합니다. 특히, 독성 유전자 데이터베이스와 시뮬레이션 기능을 통합하고 비전문가도 쉽게 사용할 수 있도록 설계됨으로써, 현장에서의 **병원균 탐지 및 DNA 품질 관리** 작업을 더욱 신속하고 정확하게 수행할 수 있게 하는 중요한 진전을 의미합니다.


Perplexity.ai

이 논문은 식중독을 일으키는 세균(식중독 병원균)을 빠르고 정확하게 검출하기 위한 새로운 소프트웨어 **FBPP(Foodborne Pathogen Primer Probe)**를 개발한 연구입니다. 복잡한 생명정보학 지식 없이도 PCR을 위한 프라이머(primer)와 프로브(probe)를 손쉽게 설계할 수 있도록 도와주는 프로그램을 만드는 것이 목표입니다.[1]

***

### 연구 배경

식중독은 세계적으로 매년 수많은 사망과 질병을 일으키며, 사회·경제적 부담이 큰 공중보건 문제입니다. 오염된 음식 속의 병원균을 조기에 검출하는 것이 예방의 핵심이지만, 전통적인 배양법은 시간이 오래 걸립니다. 이에 따라 최근에는 병원균의 **유전물질(DNA, RNA)을 직접 검출하는 핵산 기반 진단법**이 주목받고 있습니다. 이 방법은 빠르고 정확하지만, 핵심 단계인 ‘프라이머(유전물질을 증폭하는 짧은 DNA 조각)’ 설계가 어렵고 고도의 전문성이 필요합니다.[1]

***

### 연구 목적

이번 연구의 목적은 **사용자 친화적이고 자동화된 프라이머·프로브 설계 도구**를 개발해, 식중독 원인균의 유전자 검출을 쉽게 수행할 수 있도록 하는 것입니다. 연구진은 특히, 기존 도구들의 한계를 극복하고 비전문가도 사용할 수 있는 그래픽 기반의 오픈소스 프로그램을 만드는 데 초점을 두었습니다.[1]

***

### 연구 방법

연구진은 **Python 언어**로 FBPP 프로그램을 개발했습니다. FBPP는 다음의 4개 모듈로 구성됩니다 :[1]

1. **SQLite 데이터베이스 모듈**: 식중독 병원균의 독성 유전자를 저장하고 관리.

2. **Primer3 모듈 수정 버전**: 프라이머 후보군을 자동 생성.

3. **PCR 및 전기영동 시뮬레이션 모듈(Pydna 기반)**: 실험 과정의 결과를 화면에서 미리 확인.

4. **특이성 검사 모듈(BLAST 기반)**: 프라이머가 목표 유전자에만 정확히 반응하도록 확인.

FBPP는 Windows 운영체제에서 실행되며, 별도의 프로그래밍 환경 설치 없이 바로 사용할 수 있습니다. 사용자는 단순히 유전자 서열을 입력하거나 내장 데이터베이스에서 선택해 ‘검출용 프라이머’를 자동 생성할 수 있습니다.[1]

***

### 주요 결과

FBPP는 3가지 기능을 제공합니다:

1. **프라이머 생성 결과 보고서**: 각 프라이머의 길이, 위치, GC 함량, 녹는 온도(Tm), 자기 결합 여부 등이 표시됩니다.

2. **PCR 및 전기영동 시뮬레이션**: 실제 실험 결과처럼 증폭된 DNA 밴드를 그래픽으로 제공합니다.

3. **특이성 검증 리포트**: BLAST를 이용하여 비표적 유전자의 교차 반응 가능성을 평가합니다.[1]

이 프로그램은 특히 **식중독 병원균 전용 데이터베이스와 가상 PCR 실험 기능**을 동시에 제공하는 최초의 도구로, 기존 소프트웨어보다 현저히 높은 정확도와 편의성을 제공합니다.

***

### 논의와 의의

기존의 대표적 프라이머 설계 툴인 **Primer3**나 **Primer-BLAST**는 특정 병원균 검출용으로 설계되어 있지 않고, 전기영동 시뮬레이션이나 교차 반응 검증이 불가능했습니다. 반면 FBPP는 **설계–시뮬레이션–특이도 검증**의 전 과정을 한 번에 수행할 수 있습니다. 또한, 분자생물학 지식이 부족한 연구자나 식품 안전 관련 실무자도 쉽게 사용할 수 있어 실용적 가치가 높습니다.[1]

핵산 기반 진단법이 점점 더 보편화되는 가운데, FBPP는 새로 등장하는 다양한 식중독 병원균에 즉시 대응할 수 있는 **유연하고 신뢰성 있는 검출 도구 개발 플랫폼**의 역할을 합니다.[1]

***

### 시사점 및 중요성

이 연구의 중요성은 단순히 “새로운 프로그램 개발”에 있지 않습니다.  

FBPP는  

- **식품 안전 검사 자동화의 기반**을 마련하고,  

- **분석 속도와 정확도 모두를 향상**시키며,  

- **비전문가도 이용 가능한 오픈소스 도구**라는 점에서 사회적 가치가 큽니다.[1]

즉, FBPP는 식중독 예방은 물론, 향후 신종 병원균이나 바이러스의 빠른 대응에도 활용될 수 있는 **차세대 식품 안전 진단 기술의 핵심 기반**이라 할 수 있습니다.[1]

***

이 논문은 “프라이머 설계”라는 복잡한 전문 영역을 자동화해, 더 많은 사람과 기관이 식품 안전과 공중보건 향상에 기여할 수 있도록 길을 연 연구로 평가받고 있습니다.



출처: @ye._.vely618


수요일, 1월 06, 2021

너도 AB1파일가지고 pdf 만들수 있어 (1)

국내 회사에서 일반 시퀀싱 즉 Sanger Sequencing을 맡기시면
시퀀싱되어 바이너리 정보로 저장되어 있는 ab1파일, 서열정보가 들어있는 fasta파일과 함께 Applied Biosystems 로고가 찍혀있는 pdf파일 혹은 시퀀싱을 요청한 회사의 로고가 찍혀있는 pdf파일을 받아 보실 수 있으실겁니다. 

자세히 보다보시면 서열과 plot의 위치가 맞는거 같으면서도 안맞는거 같기도하고..
대놓고 틀린건 아닌데 그렇다고 안대놓고 맞는건 아닌거같고..

그러면 이 파일은 대체 어떻게 만들어지는걸까?
그럼 나는 저런거 못만드나?

그럴리가 있겠습니까?
그래서 이 글의 제목이 "너도 AB1파일로 pdf 만들 수 있어" 아니겠습니까?

예전에는 ab1.py? ab1_parse.py? 어떤 용자께서 제작하신 3rd party파일을 python에 import하여 사용하였었는데

이번에는 biopython에서 제공되는 ab1파일을 핸들링 하는 기능을 사용해서 작업해보려고 합니다.


ab1파일을 parsing하려면 ab1파일이 어떻게 생겼는지 알아야 하겠죠?
그래서 ab1파일에 어떤 항목에 어떤 내용들이 담겨져 있는지 확인을 해보시기 바랍니다.


다음번에는 ab1파일안에 들어있는 내용들을 확인해보는 시간을 가지도록 하겠습니다.

진짜로~
제발~




출처: @sana_twice.09


토요일, 5월 30, 2020

Entrez를 이용한 fasta 파일 다운받기

간만에 Biopython에 포함되어 있는 Entrez 함수를 이용하여 assceesion넘버로 fasta파일 다운받기를 해봤습니다.

git: https://github.com/gwlee/study/blob/master/entrez_access2fasta.py


python entrez_access2fasta.py accessionid 하면 {accessionid}.fasta파일이 생성됩니다.

참 쉽죠?

Biopython만 잘 사용하셔도 갱장한 것들을 하실 수 있으시고
그런 의미에서 다음번에는 좀더 재미진 내용으로 찾아오도록 하겠습니다. :)








출처: @sana_twice.09
출처: @sana_twice.09



일요일, 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

수요일, 7월 18, 2018

Biopython Entrez 사용하기

최근에 rosalind를 다시 해보면서
가능하면 파이썬 기본 라이브러리로 해결해보려고 했는데
Bioinformatics Armory 부분의 일부 문제는 Biopython을 사용하지않으면
꽤나 곤란한 상황이 발생할것 같아서
일부 문제에서는 걍 추천하는대로 biopython을 사용하는걸로..

그리고 Biopython과 함께 E-utilities를 사용해야 하는데
역시 간만에 보니 생각이 안나는게 인지상정

관련 NCBI 페이지


E-utility에서 사용하는 DB 이름..
Entrez DatabaseUID common nameE-utility Database Name
BioProjectBioProject IDbioproject
BioSampleBioSample IDbiosample
BiosystemsBSIDbiosystems
BooksBook IDbooks
Conserved DomainsPSSM-IDcdd
dbGaPdbGaP IDgap
dbVardbVar IDdbvar
EpigenomicsEpigenomics IDepigenomics
ESTGI numbernucest
GeneGene IDgene
GenomeGenome IDgenome
GEO DatasetsGDS IDgds
GEO ProfilesGEO IDgeoprofiles
GSSGI numbernucgss
HomoloGeneHomoloGene IDhomologene
MeSHMeSH IDmesh
NCBI C++ ToolkitToolkit IDtoolkit
NCBI Web SiteWeb Site IDncbisearch
NLM CatalogNLM Catalog IDnlmcatalog
NucleotideGI numbernuccore
OMIAOMIA IDomia
PopSetPopSet IDpopset
ProbeProbe IDprobe
ProteinGI numberprotein
Protein ClustersProtein Cluster IDproteinclusters
PubChem BioAssayAIDpcassay
PubChem CompoundCIDpccompound
PubChem SubstanceSIDpcsubstance
PubMedPMIDpubmed
PubMed CentralPMCIDpmc
SNPrs numbersnp
SRASRA IDsra
StructureMMDB-IDstructure
TaxonomyTaxIDtaxonomy
UniGeneUniGene Cluster IDunigene
UniSTSSTS IDunists
모 그렇다고 합니다.

금요일, 9월 14, 2012

파일의 포맷을 변환하는데 필요한 것들

내가 아니란 말이닷!!! ㅋㅋ

python에서 Biopython을 이용하여
간단하게 convert하는 샘플 코드를 제공하고 있으니
여러분들도 쉽게 만들수 있어요~ :)
Biopython에서 제공하는 Tutorial 


오늘 문의가 들어온 파일은 sff파일
Roche의 454 GS FLX? sequencing 결과파일로....
ABI와 함께 illumina한테 밀려서 뒷방으로 들어앉은 파일 포맷입니다.
그러나 아직도 쓰는 이유는 read 길이가 길기때문 :)

그렇습니다. PacBio도 Nanopore다 디립다 길게 sequencing해준다는
애들이 있습니다. 그런데 왜 옛날꺼 쓰냐?? PacBio는 base quality가 안습이고,
Nanopore는.... 언제 출시일지 전 잘 모르겠습니다. 업자가 아닌관계로 ㅎㅎ

그래서 위의 길게 sequencing 해준다는 시퀀서를 제외하고는 Roche의 454가 read 길이가 가장 길다고 할 수 있겠습니다. NGS중에선 말이죠

그런데 sff파일을 보려고 하면 문제가 생깁니다.
권모씨께서 문의를 한것이 그것때문인지는 모르겠지만 걍 일반인이
sff파일을 걍 직접 볼수가 없습니다. 왜냐 binary파일이니깐요(sff파일이 binary라고
알고 있는데  직접 다뤄본적이 없어서... ㅎㅎ )

그래서 사람이 볼수 있게 파일을 변환시켜줘야 한다는 겁니다.

convertSff.py
#!/usr/bin/python

import os, sys
from Bio import SeqIO

try:
inputSFF = sys.argv[1]
outputPREFIX = sys.argv[2]

except:
print "Usage: python convertSFF <input.sff> <output_name>"
print ""
exit(1)


SeqIO.convert(inputSFF,"sff","%s.fasta"%(outputPREFIX), "fasta")
SeqIO.convert(inputSFF,"sff","%s.quality"%(outputPREFIX), "qual")
SeqIO.convert(inputSFF,"sff","%s.fastq"%(outputPREFIX), "fastq")


권모씨의 요청으로 급조한 날림 convert python 코드 ㅋㅋ
이 스크립트를 수행하면 세개의 파일이 나오게 될것으로 예상됩니다. ㅎㅎ
안나오면 어쩔수없고... ㅎㅎ


아.. 그리고 사족으로 LT사의 SOLiD의 경우 우리가 알고 있는 서열과 달리
첫 염기 서열만 서열이고 그 다음부터는 A/G/T/C 알파벳이 아닌 숫자로 되어있는데..
이걸 굳이 변환해서 reference geneome에 mapped 작업하지 말라고 합니다.
Re-sequencing하는 경우라면 변환해서 mapping하지 말고 원래 원본 파일 그대로를
input으로 하는 align 프로그램을 사용해서 mapped한 다음에 그 다음 작업을
일반적으로 사용하는 samtools나 GATK같은 프로그램을 사용하라고 합니다.
(다들 알고있는거 한번더 상기 시켜드렸습니다. 혹시 아나요 SOLiD 포맷을 분석하게 될지.. ㅎㅎ)

분석시 raw 파일을 사용해야 하는 이유는 SOLiD만의 월등한 quality 효과를 볼수 있어서
그러지 않겠나하는....  믿거나 말거나 저 혼자만의 생각입니다.. ㅎㅎ
다만, 타사 제품과 다르게 복잡하게 숫자로 표현한건 아니겠죠...
나름의 숨은 뜻이.... 쿨럭.. (설마... 간지용;;;;; )

Re-sequencing이 아닌 denovo일 경우 모 어쩔수 없이 fastq파일로 변환을 해야 하지 않을까 합니다. assembly 프로그램을 작동시키려면 아무래도 SOLiD format보다는 fastq 포맷이
수월하니깐요.. :)

그럼....





수요일, 5월 16, 2012

Python 설치 순서

1여년만에 업그레이드 기념 OS 재설치 후 필요한 프로그램 재설치 중에 있습니다.
오늘은 제가 주력으로 사용하는 스크립트 언어인 Python 설치 순서에 대해서 정리하는 포스팅을 하겠습니다.
(이 순서는 지극히 개인적인 생각으로 하는 것이오니 순서바뀐다고
 경찰차 출동안합니다. 쇠고랑 안찹니다. :) )

지금 사용하는 OS가 64비트이기 때문에 기존에 호환되는 라이브러리들이 잘 작동하지 않습니다.
특히나 Rpython의 경우 64bit 윈도우에서는 정상적으로 작동 잘 안되는 것같습니다.
-Rpython이 지원하는 R과 pythpn버전이 정확히 일치해야 작동하는 듯 보입니다.

제가 주로사용하는 라이브러리들은 모 정해져 있으니.. :)

- Python 2.6.6 (Python 2.6버전에서 msi파일은 2.6.6이 마지막입니다.)

- Base-x.x.x (Base-12.5.7)

- mxBase-x.x.x (egenix-mx-base-3.2.4)

- numpy-x.x.x (numpy-MKL-1.6.2rc1)

- scipy-x.x.x (scipy-0.10.1)

- Biopython-x.x.x (biopython-1.59)

- distribute-x.x.x (distribute-0.6.26)

- PIL-x.x.x (PIL-1.1.7)

- reportlab-x.x.x (reportlab-2.5)

모.. 요정도??