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

수요일, 3월 13, 2024

Long-read 시대의 정렬 알고리즘

사실 아직 Long-read 시대라고 하기에는 전세계 적으로 생산되는 시퀀싱 데이터의 비율로 보면 꼬꼬마이긴 하나 그래도 비용이나 지금까지의 축적된 자료 활용이라는 몇몇 점들을 제외하면 짧은 애들시대는 조만간 저물지 않을까 합니다.

물론 짧은 애들 또한 계속 필요는 합니다. 그러나 Long read 이전과는 같지 않을 것이기에 Long read 시대를 준비해서 나쁘지는 않을겁니다.

그래서 "A survey of mapping algorithms in the long-reads era" 라는 논문 하나 준비해봤습니다.

DIO: 10.1186/s13059-023-02972-3

시대가 시대이고 영어 읽기 귀찮으니 구글에게 한번 맡겨보았습니다.


Q: 내 드라이브에서"s13059-023-02972-3.pdf" 파일을 읽고 자세히 한글로 요약해줘

서론:

DNA 염기서열 분석은 생명과학 분야의 핵심 기술이며, 롱리드 시퀀싱 기술의 발전은 이 분야에 큰 변화를 가져왔습니다. 롱리드 기술은 기존의 짧은 리드 시퀀싱 기술에 비해 훨씬 더 긴 염기서열 정보를 얻을 수 있지만, 이에 따라 데이터 분석 과정에서도 새로운 문제들이 발생했습니다. 그 중 하나가 롱리드 데이터를 참고 유전체에 매핑하는 과정입니다. 

본 논문에서는 롱리드 시대의 DNA 염기서열 분석에 사용되는 다양한 매핑 알고리즘에 대한 조사 연구 결과를 제시합니다.


1. 롱리드 기술 개요:

롱리드 기술은 10kb 이상의 긴 염기서열 정보를 얻을 수 있는 기술입니다.

롱리드 기술의 장점은 다음과 같습니다.

  • 유전체 구조 변형 (SV) 분석에 유리
  • 단일 분자 haplotyping 가능
  • 염기서열 조립 (assembly) 과정 개선

롱리드 기술의 단점은 다음과 같습니다.

  • 높은 오류율
  • 높은 컴퓨팅 비용


2. 매핑 알고리즘 종류:

롱리드 매핑 알고리즘은 크게 씨앗-확장 (seed-and-extend) 프레임워크와 씨앗-체인 (seed-and-chain) 프레임워크로 나눌 수 있습니다.

씨앗-확장 프레임워크는 짧은 리드 매핑 알고리즘에서 사용되는 기본적인 방법입니다.

씨앗-체인 프레임워크는 롱리드 데이터의 특징을 고려하여 개발된 새로운 방법입니다.


3. 주요 매핑 알고리즘 비교 분석:

본 논문에서는 다음과 같은 주요 매핑 알고리즘을 비교 분석했습니다.

  • Minimap2
  • NGMLR
  • GraphMap
  • LSC
  • BWA-MEM
  • LAST
  • BLASR
  • RapMap
  • SMALT

비교 분석 기준은 다음과 같습니다.

  • 정확도
  • 속도
  • 메모리 사용량
  • 특징


4. 매핑 알고리즘 선택 가이드:

연구 목적에 따라 적절한 매핑 알고리즘을 선택해야 합니다.

정확도가 가장 중요한 경우 Minimap2 또는 NGMLR을 사용하는 것이 좋습니다.

속도가 가장 중요한 경우 LSC 또는 BWA-MEM을 사용하는 것이 좋습니다.

메모리 사용량이 가장 중요한 경우 GraphMap 또는 LAST를 사용하는 것이 좋습니다.


5. 향후 연구 방향:

  • 롱리드 기술 발전에 따라 새로운 매핑 알고리즘 개발
  • 멀티 샘플 데이터 분석을 위한 효율적인 알고리즘 개발
  • 염기서열 변형 (variant) 분석을 위한 정확한 알고리즘 개발


결론:

본 논문은 롱리드 시대의 DNA 염기서열 분석에 사용되는 다양한 매핑 알고리즘에 대한 종합적인 개요를 제공합니다. 각 알고리즘의 특징, 장단점, 성능 비교 등을 분석하여 연구 목적에 맞는 최적의 알고리즘 선택에 도움을 줍니다.

오... 비약도 있고 생략도 많지만 (물론 클로드 3에 비해서는 아직 갈길이 멀듯합니다)그래도 pdf파일을 요약해줍니다. 근데.. 추가 정보에 롱리드 시퀀싱 기술의 url이..  신박한 링크를 넣어놨네요;; Orz


출처: @ye._.vely618

목요일, 3월 07, 2024

나노포어용 정렬 프로그램을 비교해보자

오늘은 최근에 논란의 중심에 서 있는 claude3를 사용해보았습니다.

Comparative analysis of alignment tools for application on Nanopore sequencing data

이 논문을 선택한 이유는 claude.ai에서 무료로 해주는 양의 논문이라서 선택하였습니다.

 

Q. 요약해줘

이 논문에서는 나노포어 시퀀싱 데이터에 대한 6가지 다양한 정렬 도구(BLASR, GraphMap, LAST, minimap2, NGMLR 및 BWA MEM)의 성능과 정렬 품질을 실험 데이터셋을 사용하여 비교 분석했습니다. 주요 내용은 다음과 같습니다:

3개의 서로 다른 실험 나노포어 시퀀싱 데이터셋(람다 파지 전장 유전체, 인간 MEFV 유전자 암플리콘, SARS-CoV-2 전장 유전체)을 사용하여 정렬 도구를 비교했습니다.

각 도구의 CPU 시간, 메모리 사용량, 일치율, 불일치율, 오류율 등의 성능 및 품질 지표를 측정하고 비교했습니다.

Minimap2가 모든 데이터셋에서 속도와 메모리 효율성 면에서 가장 우수한 성능을 보였습니다.

BLASR, GraphMap, NGMLR는 상대적으로 느린 속도를 보였고, NGMLR는 높은 메모리 사용량을 보였습니다.

일치율, 불일치율, 오류율 측면에서 LAST를 제외한 도구들이 대체로 유사한 수준의 높은 정렬 품질을 보였습니다.

데이터셋 특성과 알고리즘 접근법에 따라 도구 간 차이가 있었으며, 실험 설계와 추가 분석 과정을 고려하여 적절한 도구를 선택해야 합니다.


Q. 그럼, 나노포어 왜 전용 정렬 도구가 필요합니까?

논문에 따르면 나노포어 시퀀싱 기술의 가장 큰 단점은 다른 시퀀싱 기술에 비해 높은 에러율(error rate)이라고 설명하고 있습니다. 구체적인 문장은 다음과 같습니다:

"So far, the most important disadvantage of this technology is the increased error rate compared to other sequencing technologies."

이처럼 나노포어 시퀀싱 데이터는 기존 단분자 시퀀싱 데이터와는 다른 에러 프로파일을 가지고 있어, 이러한 높은 에러율을 보완하기 위해 전용의 정렬 도구가 필요하다고 설명하고 있습니다.


Q. 좀더 자세히 설명해줘

네, 더 자세히 설명드리겠습니다.

나노포어 시퀀싱은 전기화학적 신호를 읽어 DNA/RNA 서열을 분석하는 새로운 기술입니다. 이 기술의 장점은 긴 읽기(long reads)가 가능하고 빠르며 비용이 저렴하다는 점입니다. 하지만 단점으로 다른 기존 시퀀싱 기술에 비해 상대적으로 높은 에러율을 가지고 있습니다.

이런 높은 에러율은 나노포어 시퀀싱 데이터의 고유한 에러 프로파일에서 비롯됩니다. 삽입(insertion), 삭제(deletion), 치환(substitution) 등의 에러가 많이 발생합니다. 이러한 에러들을 효과적으로 다루지 않으면 후속 데이터 분석 단계에서 오류가 커질 수 있습니다.

따라서 나노포어 시퀀싱 데이터를 정확하게 분석하기 위해서는 이러한 높은 에러율과 특수한 에러 프로파일을 잘 보완할 수 있는 전용 정렬(alignment) 도구가 필요합니다. 기존의 단분자 시퀀싱 데이터 분석용 도구들은 나노포어 데이터의 특성을 제대로 반영하지 못해 정확성이 낮을 수 있기 때문입니다.

요약하면, 나노포어 시퀀싱의 높은 에러율과 특수한 에러 프로파일을 보완하여 정확한 데이터 분석이 가능하도록 최적화된 전용 정렬 도구가 필요한 것입니다.


음.. 일단 무료 요금에서 사용하는 양인 경우 일단 쓸만한데 대부분의 논문 양은 유료버전 사용하시라고 뜰껍니다. :)



출처: @ye._.vely618


화요일, 2월 13, 2024

생명정보를 끄집어 내는 나노포어!!

음.. 21년도에 옥스포드 나노포어에 관련하여 잘 설명한 글이 있었네요

"Beyond sequencing: machine learning algorithms extract biology hidden in Nanopore signal data"

DOI: 10.1016/j.tig.2021.09.001


그래서 당연히 이것도 gemini에게 블로그에 게재할 요약 글 하나 적어달라고 해봤습니다.


제목: 나노포어 시퀀싱, 숨겨진 생명 정보를 끄집어내는 미래 기술

나노포어에 대해 잘 모르는 분들을 위한 블로그 글을 쓰고 싶다고 하셨네요. 좋은 선택이에요! 이 글에서는 나노포어 시퀀싱 기술이 어떻게 작동하고, 어떤 흥미로운 활용 방식이 있는지 알아볼 예정입니다.


나노포어 시퀀싱의 기본 원리

먼저 나노포어 시퀀싱이 무엇인지 알아볼까요? 간단히 말하면 DNA나 RNA를 작은 구멍(나노포어)을 통과시켜 염기 서열 정보를 읽는 기술입니다. DNA/RNA 가닥이 나노포어를 통과하며 발생하는 전류 변화를 분석하여 염기 서열을 추측합니다. 하지만 이 전류 변화 패턴은 복잡하고 해석하기 어렵죠.


머신러닝과 나노포어의 만남

여기서 머신러닝이 중요한 역할을 합니다! 머신러닝 알고리즘은 대量の 나노포어 전류 데이터를 분석하여 이 패턴을 알파벳 코드(A, C, T, G)로 변환하는 방법을 배우게 됩니다. 이를 베이스 콜링(base calling)이라고 합니다. 

초기에는 단순한 통계적 방법과 규칙 기반 알고리즘이 사용되었지만, 최근에는 머신러닝 기반 알고리즘이 주목받고 있습니다. 이 알고리즘은 실험 데이터를 대량 학습하여 전류 패턴과 염기 사이의 복잡한 관계를 파악합니다. 대표적인 알고리즘으로는 히든 마르코프 모델 (Hidden Markov Model, HMM)과 신경망 (Neural Network)이 있습니다.

 - HMM: 각 염기마다 고유한 상태를 가정하고, 전류 패턴의 변화를 통해 상태 이동을 예측합니다. 이를 통해 전체 염기 서열을 추측합니다.

 - 신경망: 복잡한 전류 패턴을 직접 분석하여 염기 예측 확률을 계산합니다. 최근에는 딥러닝 기반의 신경망 모델들이 우수한 성능을 보여주고 있습니다.

이러한 알고리즘은 지속적으로 발전하고 있으며, 베이스 콜링 정확도는 점점 향상되고 있습니다. 하지만 아직 완벽하지 않으며, 특히 동일한 전류 패턴을 유발하는 modified base 구분은 어려움이 있습니다. 연구는 지속적으로 진행되고 있으며, 더 정확하고 신뢰할 수 있는 베이스 콜링 알고리즘 개발이 활발히 이루어지고 있습니다.

또한 베이스 콜링을 통해 염기 서열을 얻었지만, 이것만으로는 충분하지 않습니다. 마치 흩어진 퍼즐 조각처럼 이 염기 서열을 참고 게놈 전체에 위치를 정확하게 매핑해야 합니다. 이 과정을 시퀀스 매핑(sequence mapping)이라고 합니다.

시퀀스 매핑 알고리즘은 크게 두 가지 방법이 있습니다.

 - 참조 게놈 기반 매핑: 이미 알려진 참조 게놈을 사용하여 읽은 염기 서열과 유사한 부분을 찾아 매핑합니다. 빠르고 정확하지만 돌연변이가 있는 경우 정확도가 떨어질 수 있습니다.

 - De novo 매핑: 참조 게놈 없이 읽은 염기 서열 자체를 조합하여 전체 게놈을 재구성합니다. 돌연변이가 있어도 정확하게 매핑할 수 있지만, 계산량이 많고 어렵습니다.

최근에는 이 두 방법을 결합하여 정확도와 속도를 높이는 하이브리드 방식도 사용되고 있습니다. 또한 롱 리드 시퀀싱 기술인 나노포어는 다른 시퀀싱 기술에 비해 더 긴 염기 서열을 읽을 수 있어 매핑 과정의 정확도를 높이는 데 유리합니다. 머신러닝 알고리즘은 이 과정에도 활용되어, 정확한 매핑을 위해 지속적으로 발전하고 있습니다.


나노포어 활용의 무한 가능성

이제 흥미로운 부분, 나노포어를 활용하여 무엇을 할 수 있는지 알아볼까요? 기존 시퀀싱 기술에 비해 장점이 많은 나노포어는 다양한 분야에서 혁신을 가져올 것으로 기대됩니다.

 - DNA 메틸화 분석: DNA에 달린 메틸 그룹은 유전자 발현을 조절합니다. 나노포어는 이 메틸화 정보를 전류 패턴에서 직접 읽을 수 있어 유전자 발현 연구에 유용합니다.

 - 단백질-DNA 상호 작용 분석: DNA와 상호 작용하는 단백질을 나노포어를 통해 직접 확인할 수 있습니다. 이는 질병 유발 기작 연구 등에 활용될 수 있습니다.

 - RNA 구조 분석: RNA는 독특한 구조를 가지고 있으며, 나노포어는 이 구조 정보도 전류 패턴에서 추측할 수 있습니다. 이는 RNA 기능 연구에 중요한 정보를 제공합니다.

이 외에도 나노포어는 미생물 동정, 식물 연구, 개인 맞춤 의료 등 다양한 분야에서 활용 가능성이 높습니다.


결론

나노포어 시퀀싱은 빠르게 발전하는 기술이며, 머신러닝과의 결합은 더욱 강력한 생명 과학 연구 도구로서 활약할 것입니다. 이 글을 통해 나노포어에 대한 기본적인 이해를 얻고, 앞으로의 발전 가능성에 대해 기대를 갖게 되었기를 바랍니다!


참고

* 이 글은 생명공학 분야 기초 지식을 가진 독자를 대상으로 이해하기 쉽게 설명했습니다.

* 논문 원본은 영어이지만, 주요 내용을 한국어로 요약했습니다.

* 더 자세한 정보는 제공된 논문 링크를 참조하세요.

저도 나노포어 기술의 발전을 지켜볼 예정이니, 앞으로 더 흥미로운 소식을 공유하도록 하겠습니다!


응? 왜 니가 나노포어 기술의 발전을 지켜볼 예정이니? ㄴ(°0°)ㄱ 내가 블로그에 작성하는 글이라고 하니 사람이 쓰는 것처럼 소식을 공유하겠다는 멘트도 깨알같이 놓치지 않았네요.   

그럼 다음에도 어딘가에 제가 아직 보지 못한 논문들을 찾아서 AI를 활용하여 글을 또 써보도록 하겠습니다. 물론 AI가 글을 쓰겠지요 :)



출처: @ye._.vely618


일요일, 11월 12, 2023

Long Read Sequencing을 전적으로 믿으셔야 합니다.

항상 느끼는것이지만 사람들은 익숙한것에 익숙하다는...
물론 이 글을 쓰는 본인도 별반 차이 없다는게 현실
그럼에도 불구하고 세상에는 익숙한것을 거부하고 한 걸음 나아가는 분들이 있어서 발전한다는...

오늘은 유전체분야에서 다들 익숙한 짧은길이의 시퀀싱 플랫폼 대신 Long read 시퀀싱 플랫폼을 왜 써야하는지 보여주는 논문이 있어 들고와봤습니다.

The blooming of long-read sequencing reforms biomedical research

DOI: 10.1186/s13059-022-02604-2


Long read 시퀀싱의 대표주자인 PacBio와 Nanopore가 나온지도 꽤 된것 같으나, 아직 주류 시퀀싱 플랫폼으로서는 자리매김을 하지 못한... 조명받지 못하고 있지만.. 그 진가를 하나둘씩 알게되고 안쓸수 없지 않을까 합니다.

물론 이 Long read 플랫폼을 안 쓸수 없지만 PacBio/Nanopore 플랫폼을 이용해서 진단 키트를 개발하여 돈을 벌 수 있게 된다는 것은 아닙니다. 오해 없으시기 바랍니다. Long read 플랫폼에서 기존 NGS 시스템에서 해온 것 같이 하려고 하면 개인적인 생각으로는 그냥 하지 마세요 라고 말하고 싶네요. 그런 생각이라면..


여튼 Long read 플랫폼은 genome assembly과 transcriptome 분야에서 활약을 하고 있다고 하는데 이는 기존 NGS의 짧은 read로 인한 한계를 극복하였기 때문에 가능한 당연한 결과였을 듯 합니다.

genome assembly를 설명하면서 이런 저런 설명을 하였는데 사실 T2T genome이 세상에 나왔는데 무슨 설명이 더 필요할지... 물론 다배체면서, repeat 서열이 엄청 긴 식물과 같은 다양한 생물의 유전체 연구에서는 아직 할일이 많이 남아있을듯 합니다.

그리고 더불어 transcriptome, 전사체에서도 두각을 나타내고 있다고 합니다. 이전에 PcaBio사에서 나온 Iso-Seq이라는 플랫폼이 있었는데 기존 숏리드 플랫폼으로는 할 수 없었던 full-length 유전자 서열을 확인하여, 다양한 gene의 isoform 을 확인 할 수 있었는데, 이제는 이는 당연한것이고, read count를 활용하여 정확한 발현 측정까지도.. 가능하다고 합니다. 또한 이 논문에서 처음 보았는데 exitron이라는 것도 확인하였다고 하네요.

더불어 당연히 암연구에서도 long-read 플랫폼이 중요한 역할을 하고 있는데, 시퀀싱을 위해 dna나 rna가닥을 증폭시키지 않은 특징 때문에 가능 응용법이긴하죠. 특히 nanopre 플랫폼을 사용하여 급성 골수성 백혈병 (AML) 환자의 RNA변이와 fusion gene 구조를 확인하기도 하였고, 대장암 세포주에서 5mC 위치와 양을 정량하여 각각 AML와 대장암 연구에 도움이 되고 있다고 합니다.

이렇듯 Long Read Seq 플랫폼은 이제 쓰지 않을 이유가 없는 플랫폼으로 우리 곁에 생각보다 가깝게 다가왔으나 생각에는 Long이든 Short든 정확하게 내 병의 이유를 빠르고 "싸게" 알아낼 수 있으면 모두 행복한 것 아니겠습니까?

그럴 수 있는 방법이 어딘가에 있겠죠, 없으면, 언제나 그러했듯이 우리는 또 해답을 찾아내겠죠. :)




출처: @ye._.vely618


월요일, 2월 06, 2023

우리들의 Nanopore는 결핵균을 잘 시퀀싱하여 세계 공중 보건에 기여할 수 있을까?

Evaluation of Nanopore sequencing for Mycobacterium tuberculosis drug susceptibility testing and outbreak investigation: a genomic analysis

https://doi.org/10.1016/S2666-5247(22)00301-9 


그래서 한번 알아 보았습니다.

일루미나 일색인 시퀀싱 시장에 신성처럼 찾아온 (찾아왔지 떨어지지 않았습니다.) long-read sequencing의 이단아 ONT을 사용한 결핵균의 drug susceptibility testing (DST) 결과가 기존 일루미나 결과에 비해 부족하지 않고, 동등한 결과와 정보를 제공해 줄 수 있는지 확인해 보았습니다.


영국, 남아프리카등의 샘플을 MiSeq, HiSeq, NextSeq, MinION, GridION, PacBio 기기를 사용하여 시퀀싱 진행하였습니다. 물론 개별 시퀀서마다 동일한 샘플을 시퀀싱한 것은 아니고 영국샘플은 MiSeq, GridION에서, 남아프리카나 마다가스카르 샘플은 HiSeq, NextSeq, MinION에서 진행하였으나, 전체적으로 short와 long read 시퀀서간에 비교 할 수 있도록 디자인은 되었습니다.

일루미나는 UK에서 사용하는 COMPASS를 사용해서, Nanopore는 BCFtools를 사용하여 변이를 확인하였습니다.

그래서 일루미나와 Nanopore의 변이 결과를 확인해보니(본문의 figure1을 참고) 재현율이 다소 떨어지는 경향을 확인 할 수 있었습니다. 

Nanopore는 정밀도: 99.3%, 재현율: 90.2%

일루미나는 정밀도: 99.6%, 재현율: 91.9%

그리고 151개의 isolate(시퀀싱한 isolate는 208개이나 일루미나와 Nanopore를 동시에 비교 할 수 있는 데이터는 151개 였음)에서 66,537개의 저항성 변이가 call되었는데 일루미나와 Nanopore간에 4개의 차이밖에 보이지 않았다고 합니다. (이정도면 거의 동일한 수준 아닌가?)

그래서 결론은 우리 모두 예상하듯이 Nanopore 데이터로도 정밀한 변이 call이 가능함을 확인하였고, 그 결과 또한 일루미나와 동등한 수준이므로, 깨작 깨작 하지 말고 Nanopore를 이용해서 MTB 전체 서열을 한번에 분석해서 결과를 주면 좋지 않을까 기대하고 싶다. 되지 안하을까합니다.


본 저자는 ONT.L 주식을 (아직) 보유하고 있지 않습니다.










수요일, 7월 20, 2022

Long Read 조립은 누가누가 잘하나

Piroplasm를 나노포어를 사용하여 genome project를 진행했고 나노포어를 활용한 assembler들에 대한 성능 비교 논문 되겠습니다.


제목은 Systematic Comparison of the Performances of De Novo Genome Assemblers for Oxford Nanopore Technology Reads From Piroplasm

doi는 https://doi.org/10.3389/fcimb.2021.696669


piroplasm이 몬지는 모르겠으나 일단 그렇게 엄청나게 복잡하지는 않은 원생동물이나 사람이나 동물들에게 질병을 일으키는 녀석 되는 것 같습니다. funding중에 동물 전염병 및 인수공통전염병 관련 프로그램이 있는것으로 보아하니...


여튼 중요한건 nanopore로 읽어낸 서열을 사용하여 genome 조립할때 어떤 어떤 조립 프로그램이 제일 좋은지를 검토해본 것이니 OLC (Over-Layout-Consensus)나 전통적인 de-Brujin graph, string graph-based 방법 등등의 NECAT, Canu, wtdbg2, Miniasm, Smartdenovo, FlyeNextDenovo, Shasta와 같이 일반적으로 long-read에 사용하는 assembler들을 비교 테스트 하였다고 합니다.

대신 여기서는 assembly의 정확도와 함께 CPU 사용량, 메모리 사용량, 분석시간 사용방법 등등에 대해서도 함께 평가했다고 합니다. 참 바람직한 태도라고 봅니다. 모든 연구팀들이 그래픽카드 4개꼽히고 6T 메모리의 4U 서버를 가지고있는것은 아니니 말입니다.


실험 방법은 prioplasm free한 양 2마리(??)에게 prioplasm을 감염시켜 잘 배양(??)시킨 다음 Qiagen 사용 prep kit을 가지고 DNA 추출하고 PromethION으로 시퀀싱하였고 데이터 셋트에 따른 assembly 결과 평가를 위해 6가지 생산량 (약 15x, 30x, 50x, 70x, 100x, 120x)의 셋트를 만들었다고 합니다. 그리고 추가적(aka error correction)으로 (일루미나와 특허 소송에서 승리한) MGI로도 시퀀싱을 하였다고 합니다.


여튼 결과적으로

N50과 contig개수(적을수록 좋음)는 생산량과 밀접하고,
분석 시간은 생산량이 많으면 어떤 assembler를 사용하던 길어졌고,
polishing은 안하는것보다 하는것이 좋은것 같고 각 tool의 장단점은 Figure3에 방사형 그래프로 이쁘게 표현하였으니 한번 참고하시면 좋을것 같습니다.

그래서 Miniasm, Flye, wtdbg2는 그닥 좋은 선택지는 아닌것 같고 평균 커버리지가 30x 이상 확보된다면 NECAT, Canu, NextDenovo, Smartdenovo가 더 나은것 같다 정도 되겠습니다.

(사실 위의 tool들을 실행시키려면 평균 30x 이상은 있어야 작동을 합니다. 안그러면 작동안하던지 말도안되는 결과들을 뱉어내곤 합니다.)


그리고 시간이 충분했는지 각 assembler 결과들을 병합/후처리하는 작업을 하여 더 나은 assembly 결과를 보여주는지 테스트 했고 몇몇 조합에서 결과물이 향상된것을 확인했다는데... dramatically 좋은 결과는 보여주지 않은것 같았습니다. 

만약 병합/후처리하는 결과가 좋았다면 논문 결과가 single assembler 쓰지말고 ensemble방법을 추천드립니다라고 했었을테니 말이죠.. 



출처: @candyz_hyojung


일요일, 11월 07, 2021

HLA를 빠르고 정확하게 할 수 없을까

그래서 나노포어가 준비했습니다.

절대적으로 빠른 건지, 정확도의 수준은 정확히 모르겠으나 일단 샘플당 $80되겠습니다.
물론 이게 재료비값인지 소비자가인지는.....
아마 본인들이 했을때 가격인듯.... (일반 소비자가 이 가격에 가능할지는 모르겠네요)

Rapid, highly accurate and cost-effective open-source simultaneous complete HLA typing and phasing of class I and II alleles using nanopore sequencing

그럼 HLA(Human leukocyte antigen)검사는 무엇이냐? 쉽게 얘기하면 장기이식할때 장기이식할수 있는지 여부를 확인하는 검사되겠습니다. 이 HLA가 내거와 내거 아닌거를 구분하게 해주는 녀석되겠습니다. 

면역학 책 들춰보시면... 책을 덮습니다.

일반적으로 HLA는 A,B,C인 Class I, DRA1, DRB1/3/4/5, DQA1, DQB1, DPA1, DPB1인 Class II인데 우리나라는 A,B,C를 포함해서 일부만 본다고 합니다. 

여튼 나노포어는 긴 길이로 시퀀싱하는 장점과 빠른 시퀀싱속도를 바탕으로 시퀀싱 시간은 8시간내 (물론 라이브러리 제작시간은... 따로 좀 봐야할것 같습니다.) 분석은 샘플당 30분(근데 사용한 서버 수준이... 32core 256g 메모리 서버)소요 됐다고하는데...

1 샘플(aka 1검체)의 경우 나노포어 한개 사용해서 기존 일루미나나 써모 플랫폼보다 빠르고 싸게 결과를 도출할 수 있도록 해준다는데...

영어의 짧음인지...  가끔 나노포어가 더 안좋아 보이게 설명하는거 같기도합니다. 


결론은 나노포어가 더 길게 시퀀싱하기 떄문에 복잡한 HLA에서 더 정확하게 구별할 수 있고,
기존에 short 시퀀싱에 적합한 pcr primer말고 long range PCR에 적합하게 프라이머를 변경해서 진행하면 HLA의 복잡한 부분들을 더 잘 잡아낼 수 있을것이라고 털고있습니다.


여튼 개인적으로 기존 short 시퀀서 플랫폼 보다는 나노포어가 HLA에서는 좀더 나은 성능을 보여주지 않을까합니다. HLA의 복잡도 때문에 나노포어의 장점을 활용할 수 있는 PCR 프라이머로 재 디자인해서 진행하면 시퀀싱 시간/분석 시간/정확도에서 가장 적합하기 않을까하는 생각입니다.




@ye._.vely618


화요일, 9월 14, 2021

Long-read sequencing identified a causal structural variant in an exome-negative case and enabled preimplantation genetic diagnosis

아니.. 2018년도에 이런 논문을 블로그에 keep놓고 그냥 놀고 있었다니..
여하튼 눈에 띄어서 한편 사브작 하나 올려봅니다.
역시 일이 많을때 딴짓은 국룰이라는 명제를 증명하듯......


WGS(Whole Genome Sequencing)이 아무리 저렴해졌다고하나 내 genome에 이상이 있는지 진단을 위해서 시퀀싱하는 비용이 억대에서 천만원 정도로 떨어진거지 아직은 WGS가지고 일반인이 무엇을 하기에는.... 물론 Private Premium Platinum Gold Special Society 같은 수식어의 멤버 라면... 할려면 할수는 있겠다만..

여튼 현재 아직까지는 유전체 진단에서 가장 현실적이고 합리적인 방법은 WES이나.. 짧은 read들을 가지고는 structural variant를 탐지하기에는 무리가 좀 있으니 long read로 해야하지 않겠냐라고 얘기하는 2018년도 논문되겠습니다.

해당 논문에서 언급하는 환자는 G6PC 유전자에 돌연변이가 생겨 간비대, 신장비대를 초래하는 recessive inheritance 질환으로 긴 지역에 deletion이 있었으나 WES만으로 진단하였을 때는 확인하지 못했고 nanopore (long read seq)를 사용하여 확인하였을 때에는 정확히 긴 길이의 SV를 확인 할 수 있어다 라는게 주제되겠습니다. 지금까지 short read만으로 시퀀싱하여 진단되지 않거나 오진되는 환자들의 돌연변이를 정확하게 확인 할 수 있는 도구가 임상 진단에서 하나더 생겼고 그로 인해 정확한 진단을 할 수 있게 되었다는 자화자찬의 평을 내면서 논문을 마무리하였습니다.

사례를 통해 short read만으로는 진단에 한계가 있다는것을 확인하였고 long read 방법이 이제 진단에 슬슬 자리 잡아야 하지 않나 싶은 생각이 드는....

(근데 길게 뽑으려면 나노포어 실험이 그렇게 쉽지 않은듯하던데.... )





출처: @ye._.vely618
출처: @ye._.vely618









토요일, 1월 02, 2021

High Heterozygosity genome 어셈블리 할 때 해결사로 자처하고 나온 어셈블러

2021년 첫 포스팅 시작합니다. :)

오늘은 de novo assembly관련된 tools 소개 글입니다.

모델 생물 혹은 그외의 생명체에 대해서 genome을 알고 싶다면...
그냥 절래절래 하거나 아니면 필요하거나 알고 싶은 부분만 클로닝해서 슬쩍 슬쩍 알아내던 시절... 

돈없는 연구자들은 손가락이나 빨고 눈물이나 흘리던지 어딘가에 끼어서 연구를 진행했었어야 했으나...

이제는 바야흐로 2021년!! (사실 글의 초안을 작성하고 있었던 때는 2020년 11월;;;)

454 따위 역사속으로 사라지고 킹왕짱 long read인 PacBio와 나노포어가 활발히 사용되는 시대에 살고 있습니다.

(물론 de novo는 454와 일루미나로 이어 붙여야 제맛이지 하는 라떼들도 있지만...)

저는 박테리아에서 PacBio 써본 후 박테리아 연구에서 PacBio 사용하지 않고 일루미나 플랫폼을 사용한다고하면 일루미나 주식을 가지고 있나 생각하게 되었고, 그외에 genome을 de novo작업은 nanopore를 추천하고 있는데 굳이 나노포어를 사용하지 않겠다라고 한다면... 굳이? 라는 궁금증으로 가지게 되었다능.. ㅋㅋ
(당연히 무조건 저걸 써야하는건 아니쥬 ㅎㅎ 연구 목적에 따라 봐야 하는 결과물에 따라 플랫폼을 잘 선택하시면되겠습니다.)

※ 여기서 나노포어 base의 quality는 굳이 논할 이유는 없고 제대로된 데이터 만져보면 나노포어 쓰지 않을 이유가 없으실 겁니다.


이제는 PacBio나 나노포어를 굳이 사용하지 않을 이유가 없는 것이 예전이라면 PacBio나 나노포어를 지원해주는 프로그램이 많지 않아서 좀 꺼려질수 있었지만.. 지금은 반대로 너무 많아셔져서 어떤 tools을 사용해야 하나 할 정도니...

그중에서 어셈블리를 하면서 문제가 되는 부분이 High heterozygous region들이 있는데 (그 와 함께 저세상 텐션을 보여주는 polyploidy;; ) 이런 문제들을 해결에 주겠다는 해결사로 자처하고 나온 tools이 있어서 한번 끄적여 보았습니다.

Purge Haplotigs: allelic contig reassignment for third-gen diploid genome assemblies

물론 이전에도 heterozygous 문제를 해결하는 tools이 없지는 않았습니다.
이전 글에서도 잠시 소개했었던 HaploMerger2 도 있고 저는 잘 몰랐지만 Redundans라는 도구도 있었다고 합니다. 다만 이전에 나온 tools의 단점은 사용자가 수동으로 contig를 재 할당해야한다는 문제가 있다고 합니다.
(음.. 저도 이전에 한두번 HaploMerge2를 사용해었는데;;; 여기서 얘기하는 contig 재할당에 대한 얘기가 정확히 어떤 의미인지는 정확하게 모르겠네요;; 여튼... 좀 단계 단계를 수동으로 작업을 하기는 했었습니다만 여기서 얘기하는 "수동"이 이 얘기가 아닌거 같은데...)

여튼... purge의 분석 pipeline은 다음과 같은 단계들로 진행됩니다.
purge의 분석 Flow chart >Figure1<


음... 확실히 장점으로는 draft로 조립된 genome에서 중복되는 contig들을 제거해서 draft assembly 서열의 크기를 줄여서 실제 genome size에 가깝게 된다는 것 이긴 합니다.

그리고 이 tool을 사용할 시 참고할 점으로는 일루미나 데이터를 가지고 purge를 진행할때는 지양했으면 합니다.
제가 해봤을때에 nanopore-raw 서열가지고는 분석이 가능했는데 일루미나 데이터로 작업하였을 때 purge_haplotigs의 hist 명령어를 사용하여 cov의 input 값이 -l, -m, -h 값을 구하는 작업을 할때 -l, -m, -h 값을 특정 할 수 있는 문제가 좀 있었습니다. 너무 값들이 낮아서 어떤 값을 low, mid, high을 사용할지가 모호하더라구요..

여튼..

de novo  작업을 하시다가 생각보다 genome 크기가 큰 경우 내 genome 중간에 heterozygous한 지역이 있구나 생각하시고 이 tools한번 돌려보시면 좋을것 같습니다. :)



출처: @ye._.vely618





토요일, 12월 26, 2020

Long read는 Long read alignment로....

간만에 글 투척합니다.

오늘은 Long read align관련된 내용 투척 하도록 하겠습니다.

시퀀싱 기술이 좋아져서 PacBio와 함께 nanopore가 (최근 covid도 있었고) 함께 많이 이용되고 있는데 질좋은 long read를 생산하셨다면 bwa/bowtie와 같은 short read alignment보다는 long read에 최적화된 long read alignment인 minimap2같은 tool를 사용하시는게 정신건강에 좋을 것 같습니다.

최근 제가 별생각없이 long read서열을 human genome에 aling할때 bwa mem의 -x ont2d옵션을 사용하여 진행했었는데...

통수를 후려 갈기는... (원래 통수는 후려 갈기는 맛이 좋다능)


bwa mem -x ont2d를 사용하는 경우 원래 생산된 read(raw read 개수)보다 더 많은 read 들이 aligned되는 것 처럼 보인다는... (?? 생산된게 100개 read인데 align된 read는 200개라고?)

근데 minimap2를 사용하였을 때에는 reference에 align된 read의 개수와 생산된 read 개수(raw 리드 개수)가 유사한(aka 생산된 read 개수보다 적은) read 개수를 확인 할 수 있었습니다.

개발자도 같고(Heng Li), 같은 align하는 tool인데 왜 이렇게 차이가 나느냐 

음... bwa와 minimap2를 자세히 까보지는 않았지만(못하지만) bwa의 경우 mem -x ont2d를 사용한다고 하더라도 태생부터가 short read를 위해서 만들어진 alginment이고 nanopore의 경우 마음먹고 시퀀싱이 된다면 수십 kb의 길이가 나오는 관계로 bwa mem에서 seed를 기준으로  align할때 mismatch나 error에 대해서 관대하게 조건을 잡으면서 확장을 한다로 하더라도 수십 kb까지 확장하지 못하는 경우가 발생 하고 그 경우 split이 되어 다른 reference에 align되는 경우가 발생하는것으로 보였습니다.

대신 minimap2의 경우 long read를 고려해서 만들다 보니 확장이 비상식적으로 read가 길더라도 확장을 하지 split하지 않아서 bwa의 경우와 같이 생산된 read보다 많은 read가 align된 것 처럼 보이는 이상한 문제는 발생하지 않는 것 처럼 보였습니다.

결론은 내 데이터에 맞는 mapper를 사용해서 분석하자 되겠습니다. ㅠ.ㅜ


추신: 2018년도 이런 글(Minimap2 and the future of BWA)도 있었군요;; 



출처: @ye._.vely618


일요일, 4월 26, 2020

Benchmarking of long-read assemblers for prokaryote whole genome sequencing

나노포어는 현존하는 시퀀서중에 가장 긴 서열을 뽑아내는 시퀀서임에는 그 누구도 부인하지 못할것입니다. 근데.. 생산된 리드의 각 base의 phred score를 보자면.. 왜 갑자기 눈에서 물이나오는 이유는 왜때문일까요?
(그렇지만 저는 de-novo할때 보수적인 그룹이 아니라면 나노포어를 권장하는건 비밀..)

여하튼.. 현재 나노포어 어셈블리 용으로 이런저런 어셈블러가 판치고 있는 난세에 누가누가 좋은지 확인하는 작업을 해서 투고하신분이 나타나셨습니다.
제목도 정직합니다. 단, prokaryote대상입니다.
Benchmarking of long-read assemblers for prokaryote whole genome sequencing

prokaryote에서도 개판이면 굳이 사용할 이유가 있겠느냐? 주의 되겠습니다.
일단 가장 좋은것은 모르겠지만 최악은 걸러내야 해야 시간 낭비, 전기 낭비 하지 않지 않겠습니까?

현재(aka 당시에) 돌려볼 수 있는 7개 어셈블러 (Canu, Flye, Miniasm/Minipolish, NECAT, Raven, Redbean, Shasta)의 성능을 비교 평가 했습니다.
어셈블리의 정확성은 당연하고, prokarypte다 보니 circularisation도 중요하고, 계산시 사용되는 리소스와 분석 시간등을 평가했다고 합니다.

아름다운 figure는 상단에 링크된 논문에서 감상하시면 되고,
canu는 그나마 볼만한 서열들을 제공해줬고
flye는 canu다음으로 괜찮은 서열로 어셈블리 했다고 합니다.
redbean(wtdbg2) 과 shasta는 계산 리소스와 분석 시간에서는 효율적이었지만 결과는 그다지 효율적이지 않았고 하네요.

그래서 종합해서 논문에서 결론을 냈는데
모.. de-novo aseeembly 해보신분이라면 알고계시다 싶이.. 다들 장단점이 있었고, 원탑인 어셈블러는 없었지만 그 중에서 Flye, Miniasm / Minipolish와 raven이지 않나 싶다고 하네요

Flye는 믿을만한 서열을 제공했고(low depth에서도 나름..)
Miniasm / Minipolish는 circularisation이 좋았고
raven은 identity가 낮은 read set들에서 tolerant가 있었다고 합니다.

역시 최적의 어셈블리를 위한 정도는 당신이 사용 가능한 리소스를 동원해서 다양하게 돌려보고 비교한 게 킹왕짱이지 남의말 믿고 쓰면 너만 바보 되고
개발자님들인 이런 상황이니 개발좀 굽신굽신 :)



출처: @sana_twice.09

금요일, 3월 31, 2017

nanonet 사용법


Nanonet Git Hub

Nanopore MinION raw 데이터인 fast5에서 2D read 추출하려고 하는데
nanopore로 검색하면 나오는 poretools, nanopolish, nanook들을 사용했음에도
어느하나 2D 서열을 추출 못하고 있어서 전전긍긍하고 있을때

혜식처럼 나타나는 그분이 알려주신 바로 그 tool!!

nanonet되시겠습니다.

우선 CPU기반으로 사용하였습니다. nanonet은 GPU도 지원하고 있는데
GPU로 하였을때 CPU기반으로 돌렸을 때 확인되던 2D가 나오지 않았다능..

일단 어쩔수 없지만 cpu기반으로 수행

fastq로 저장을 해보자!
$nanonet2d --fastq --jobs 8 --chemistry r9.4 pass output.r94

fasta로 저장을 해보자!
$nanonet2d --jobs 8 --chemistry r9.4 pass output.r94

다른 tools들과 다른 점은 chemistry버전을 선택할 수 있는 것과 무엇인지 모르겠지만 간지나 보이는 trmplate와 complement의 model 선택 옵션
그리고 이를 뒷받침하듯이 nanonettrain명령어도 있고....
poretools같은 일반적인 tools이 안먹힐때는 nanonet도 한번 사용해 보시기 바랍니다. ;)

화요일, 3월 14, 2017

poretools 사용법

poretools doc사이트

poretools git url

Oxford Nanopore 데이터 핸들링을 위한 tools중 하나로
현재 다양한 nano로 시작하는 tools들이 있긴 하지만
우선 이 tools을 먼저 살펴보았습니다.

이유는 간단합니다. 제가 사용하고 있으니 작업 로그 삼아 글쓰는거죠 ㅎㅎ

설치는 간단합니다.
먼저 poretools에 필요한 hdf5, numpy, cython 라이브러리들을 설치해 주시고
다음과 같이 샤샤샥

git clone https://github.com/arq5x/poretools
cd poretools
python setup.py install
물론 이렇게 해서 한큐에 되는 경우는 그렇게 많지는 않죠..
물론 위는 root권한이 있어야 가능하고요
저같은 일반 유저들은 다음과 같이 해야겟죠(물론 이런 저런 라이브러리는 알아서 잘 설치를...)

git clone https://github.com/arq5x/poretools
cd poretools
python setup.py install --home=/path/to/install 
그럼 일단 큰 문제 없이 설치는 될 겁니다.

poretools는 nanopore read 추출/통계정도의 작업제외하고는 할 수 있는게...
그래서 여기서는 extract read관련한것만 간단히 적고자 합니다.

nanopore데이터는 hdf5로 PacBio와 format이 유사해서 직접 데이터를 확인 할 수 없습니다.
그래서 fasta파일이나 fastq파일로 추출 작업을 거쳐야 합니다.

다행히 추출 방법은 그리어렵지 않습니다(사실 어려울게 없죠).

poretools {fasta|fastq} /path/to/reads/pass/ > reads.{fa|fq}

이렇게 하면 fast5파일에서 fasta나 fastq정보를 추출해서 파일로 만들어 줍니다.
근데 nanopore보시다 보면 1D다 2D다 이상한 얘기를 하는것을 볼 수 있습니다.
1D, 2D는 sequence type입니다. 쉽게 얘기해서 1D는 한번 읽고 2D는 두번 읽은거

그래서 2D가 먼데?  요기

그러면 2D 서열은 어떻게 추출하는건가?

다음과 같이 각 type에 따라 저장 할 수 있습니다.
poretools {fasta|fastq} --type {all|fwd|rev|2D|fwd,rev|best} /path/to/reads/pass/ > reads.{fa|fq}

수요일, 2월 15, 2017

Oxford Nanopore 쉽게 이해하기


이제 옥스포드 나노포어가 나온지 좀 됐죠?

롱롱롱 read도 시퀀싱(아직 accuracy문제는 있긴 하지만..) 하고
시퀀싱 후에 듣보잡 서버에서만 쿵짝쿵짝했어야
수십기가 txt파일 받았었는데
이녀석은 내 데스크탑에서 usb꼽으면 빨강파랑초록 왔다갔다거리고
그래프도 막 나오고 조만간에는 아이퐁에서도
시퀀싱을 해볼 수 있다는 찌라시도 가끔나오다가 업자들의 입에서도 심심치 않게 나오고..

그리고 이거 돌아가는 꼬라지를 보니 그냥 시덥지 않은 우스개 소리가 아니라
이제 곧 현실이 될 것 같기도 한데 그림은 봐도 잘 모르겠고..

그래서 옥스포드 나노포어를 조금 쉽게 이해해보는 글을 하나 투척합니다.
이게 real은 아닙니다. 이해를 쉽게 돕고자 제가 이해한 바를 풀어 해친겁니다.




http://blogs.nature.com/naturejobs/2017/10/16/techblog-the-nanopore-toolbox/


최근 NGS시대를 맞이하면서 일루미나가 한번런에 몇샘플 할 수 있다 생산량이 500G다. 시퀀싱기계를 10EA 묶음 판매한다. 몇일이면 몇백명 exome 시퀀싱을 해서 이제 시퀀싱 단가 10만원이 실현됐다, 팩은 10kbp read 시퀀싱한다 많이들 떠들고 있습니다.

일단 현재 전세계에서 범용적으로 운영되고 있는 시퀀싱플랫폼은 대게 3개정도 입니다.
일루미나/PacBio/PGM 이 3대 시퀀싱 플랫폼이 모두 엄밀히 말하면 시퀀싱의 부산물을 가지고 시퀀싱(basecalling)하고 있는 것입니다. 일루미나와 PacBio은 형광, PGM은 H+

근데 가장 핫한 Nanopore의 경우 현존하는 시퀀싱 플랫폼과 달리 직접 서열을 확인하는 기기라고 말씀드릴 수 있습니다.
엄밀히 얘기하자면 직접 들여다 보는건 아니고 전기신호로 각 base의 그림자를 확인해서 실체를 알아낸다고 하는게 더 맞을 수 있습니다.


이게 무슨말이냐!!!

옛날 옛적에 8-90년대 국민학교시절때 드래곤볼인가 어떤 게임 카드 뒤에 아래와 같은 글씨

가 적혀 있던 것을  기억하시는분!!! 분명 있으실겁니다.
이것은 숫자인데 특정 카드 집에 카드를 꼽으면 해당 카드의 공격력(?)을 알 수 있게 해놓은 카드 입니다. 쉽게 숫자를 판독할 수 없게 해서 꼭 카드집에 꼽아야 해당 숫자를 확인 할 수 있게... 물론 시간이 흐르면 대충 저 기호만 봐도 공격력(?)을 알 수 있게 학습된다는... ㅋㅋ









쉽게 생각하면 나노포어가 이와 같이 시퀀싱을 해석한다고 보시면됩니다.
원래 숫자(A/C/G/T)가 있으나 우리는 그것을 직접 알 수 없지만 저런 기호(전기적신호)로는 저장을 할 수 있다!



그래서 저 기호를 해독 할 수 있는 카드집에 저 기호를 대보면 원래 숫자를 알 수 있게 되는것이죠



좀 이해가 되시나요?

근데 이 숫자들이 단지 숫자로만 되어있다면 간단한데
숫마뿐만 아니라 영문자도 섞여 있다면 이 카드집으로도 간단할까요?

위의 그림은 숫자와 영문자가 있는 기호라고 합니다.

이것을 지금까지 숫자만 판독하던 카드집에 넣고 확인을 하면 다음과 같습니다.


어랏!! 일단 읽혀지긴 합니다.
그럼 이것을 어떻게 읽으시겠습니까?

A125c947로 읽으실건가요?
AI2Sc947? 아니면 A12Sc947? 이런 문제가 여기서 뿐만아니라
나노포어에서도 생기게 됩니다.

나노포어가 기존 시퀀서들과 다른점이 여기에 있습니다.

기존 시퀀서들의 경우 A/G/C/T에 각각에 형광을 부착하던지
혹은 현재 합성되는 base가 무엇인지 이미 알고 있습니다. 시퀀싱, basecalling을 합니다.
(그럼에도 불구하고 플랫폼의 한계들로 에러가 포함되고 있습니다.)

그러나 나노포어의 경우 사전정보가 없습니다. 그냥 AGCT가닥을 pore에 집어넣어서
전기적 신호의 차이를 읽어서 시퀀싱을 하기때문에 이 전기적 신호에 대한 연습이 필요하게 됩니다.

위에서 나온 두번째와 네번째 기호에 대한 구분을 어떻게 할지 연습이 필요한것 처럼 말입니다.


위의 방법은 두가지가 있습니다.
측정한 자료를 마사지해서 지금써오던 단순한 카드집을 계속 사용한다.
아니면 새로운 카드집으로 변경한다.

첫번때는 정보의 손실과 기존 카드집에서보다 더큰 에러를 발생할 수 잇는것이죠 A라는 정보는 원래 없었으니 A와 비슷한 8로 치환, S자도 어차피 없는 정보니 S를 5로 오독하는것이죠

이러면 안되겠죠
그래서 지금까지 써왔던 단순한 카드집 대신
조금더 세련된 1과 I, 5와 S를 구분 할 수 있는
카드집이 필요한것이죠


나노포어도 계속 기존 정보를 마사지하는것이 아니라 새로운 카드집을 계속 개선해나가고 있다고 생각하시면 될것 같습니다.



조만간 영국에서 Brexit말고 나노포어의 얘기가 건너오길 기대하면서
낚시글은 이만 줄이도록 하겠습니다. :)


(2017년 2월 18일 글 중간 중간 수정 및 첨언을 하였습니다.)
(2021년 1월 1일 이미지를 나노포어 설명과 관련된 이미지를 새로 업로드하였습니다.)


금요일, 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 포맷이
수월하니깐요.. :)

그럼....