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

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

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


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


일요일, 5월 03, 2020

Long Read Assembler 설치 작업 로그

오랜만에 작업 로그용 글입니다. :)

Long Read(aka Nanopore)를 위한 assembler의 설치에 대한 로그로... 모 그렇게 자주 사용 될일이 없을것 같지만.. 그래도..

root권한 또는 sudo권한이 없는 상황을 가정하고 설치하는게...
나중에 편합니다. root권한 있으면 편하지만 나같은 쩌리한테 호기롭게 root권한이나 sudo를 부여할 이유가 있겠습니까? 그냥 없으면 없는대로 사는법도 알고 있어야... :)


canu (https://github.com/marbl/canu/releases)

$ wget https://github.com/marbl/canu/releases/download/v2.0/canu-2.0.Linux-amd64.tar.xz

$ tar -xvf canu-2.0.Linux-amd64.tar.xz

또는

$ git clone https://github.com/marbl/canu.git

$ cd canu/src

$ make -j <number of threads>


wtdbg2 (https://github.com/ruanjue/wtdbg2)

$ git clone https://github.com/ruanjue/wtdbg2

$ cd wtdbg2 && make


Raven (https://github.com/lbcb-sci/raven)

$ git clone --recursive https://github.com/lbcb-sci/raven.git raven

$ cd raven && mkdir build && cd build

$cmake -DCMAKE_BUILD_TYPE=Release .. && make

$ ./bin/raven

단, raven은 cmakr 3.9이상이 필요합니다. cmake 설치는 아래에 따로..


Racon (https://github.com/lbcb-sci/racon)

$ git clone --recursive https://github.com/lbcb-sci/racon.git racon

$ cd racon

$ mkdir build

$ cd build

$ cmake -DCMAKE_BUILD_TYPE=Release ..

$ make

racon의 경우 raven이 아닌 miniasm_and_minipolish.sh 작업시 racon을 찾아 해매서 racon 설치도 진행하였습니다.


flye (https://github.com/fenderglass/Flye)

$ git clone https://github.com/fenderglass/Flye

$ cd Flye

$ python setup.py install --prefix=/path/to/install/

또는

$ python setup.py install --user

※ --user 라는 옵션이 갱장히 편합니다. 대신 나만 됩니다.





cmake (https://cmake.org/)

$ wget https://cmake.org/files/v3.10/cmake-3.10.3.tar.gz

$ /bootstrap --prefix=/path/to/install/

$ make

$ make install

※ prefix를 설정하지 않으면 /usr/bin 모 이런데에 설치 되므로 설치가 제대로 되지 않기 떄문에 prefix를 설정하는것이 정신건강에 이롭습니다. :)



출처: @sana_twice.09