2009년 4월 30일 목요일

Consed 19.0에서 달라진 점

이건 뭐... 뒷북도 한참 뒷북이지만 어쨌든 정리해 보자. 사소한 버그 수정은 중요하지 않고, 새로 더해진 기능 중에서 가장 중요한 것은 Assembly view에서 Solexa read를 볼 수 있다는 것이다. 우리 연구실에서 Solexa data를 생산한 적은 있지만 실제 분석은 지금 ISB에 가 있는 윤성호 박사가 했었다. 당시 Maq(http://maq.sourceforge.net/)를 썼던 것으로 기억하는데, consed 19.0이 이 기능을 대신할 수 있는지는 잘 모르겠다.

엄청난 분량의 README 파일을 읽으려니 엄두가 나지 않는다. 하지만 나 스스로 consed의 고급 사용자라 자부하고 있으므로, 다음의 부분만 읽으면 되겠다.
  • USING SOLEXA READS
  • ADDING SOLEXA READS
  • ALIGNING SOLEXA READS AGAINST A LARGE GENOME AND SELECTING A SMALL REGION FOR VIEWING WITH CONSED
  • USING YOUR OWN SOLEXA DATA
  • USING 454 READS (NEWBLER ASSEMBLY)
  • USING 454'S NEWBLER ON YOUR OWN DATA
  • USING 454 READS (ALIGNING TO REFERENCE SEQUENCE )
  • ADDING ADDITIONAL 454 OR SOLEXA READS
  • SOLEXA AND 454 DATA--WHAT IS HAPPENING BEHIND THE SCENES
  • USING AUTOREPORT

Phred/Phrap/Consed 새 버전 설치하기

2009년도 첫 포스팅이다. 이건 해도 너무했다! :-)

2월 13일에 David Gordon이 새 버젼의 consed(19.0)가 나왔음을 알려왔다. 이와 더불에 phred/phrap도 모르는 사이에 update 판이 나와 있었다. 이번 기회에 새 버전을 설치하도록 하자.

먼저 내 리눅스 박스를 살펴보자. Core2Duo에 4기가 메모리가 설치된 그저 그런 평범한 데스크탑 PC이다. CentOS 5.1(i386)이 운영체제로서 설치되어 있다. 패키지는 오늘 날짜로 전부 업데이트된 상태이다.

[hyjeong@eos ~]$ uname -aLinux eos.kribb.re.kr 2.6.18-128.1.6.el5 #1 SMP Wed Apr 1 09:19:18 EDT 2009 i686 i686 i386 GNU/Linux

그럼 현재 깔린 프로그램의 버젼과 최신 버젼을 나열해 보자.

phred: 0.000925 (020425, 071220 beta)
phrap: 0.990319 (1.080812)
consed: 18.0 (19.0)

Phred update

새로 만든 바이너리를 /usr/local/genome/bin/에 복사하는 것으로 끝난다. phredpar.dat(020425)는 달라진 바가 없어서 그대로 둔다.

Phrap update

이전 버전과는 달리 .longreads나 .manyreads를 할 필요가 없다. make를 실행한 뒤 생성된 실행파일 cluster cross_match loco phrap phrap phrapview swat을 복사하는 것으로 끝난다.

Consed update

이건 딸린 식구(?)가 많아서 조심스럽게 작업해야 한다. 잡다한 부속 스크립트는 커스터마이징이 필요하기도 하고 바이너리와도 호환성 문제가 발생할 수 있다. 예를 들자면 새 버전의 consed는 버전 xyz 이상의 determineReadTypes.perl하고만 작동한다고 명시되어 있을 수도 있으니까.

consed 바이너리는 컴퓨터 아키텍쳐에 따라 다음과 같은 종류가 있다.

consed_linux32bit <- 가장 무난한 이것을 선택
consed_linux32bit_dyn
consed_linux64bit
consed_linux64bit_static
consed_linux_itanium

/usr/local/genome/bin/에 consed_linux32bit를 consed19_linux32bit라는 이름으로 복사한 다음 이를 consed라는 심볼릭 링크를 만들었다. 이 상태에서 적당한 ace 파일을 열어보니 아무런 문제가 없다. Ace file을 여는 속도가 약간 빨라졌다. 그리고 아무 read를 골라서 별개의 contig로 뽑아내기를 해 보니 이전 버전에서는 상당히 시간이 많이 걸렸었는데(20분 이상? 아마 버그였던 듯), 버전 19에서는 순식간에 된다.

이전에 쓰던 스크립트와 호환성에 문제가 있는지는 잘 모르겠다. 사용하다가 불편하면 그때그때 고치도록 하자.

흠, README를 보니 18.0에서 업그레이드하는 경우 tagRepeats.perl만 바꾸면 된다고 한다. 가만! 그런데 내가 쓰던게 16.0이었나보다! 이 복사 작업을 하면서 standard script에 어떤 것들이 추가되어 있는지 확인해 보자.

add454Reads.perl
addSolexaReads.perl
alignSolexaReads2Refs.perl
filter454Reads.perl
catPhdFiles.perl -> makePhdBall.perl
selectRegions.perl

2008년 11월 25일 화요일

Two new words coined by me - "genomebug" or "genome rat"

온라인상에서 내가 종사하고 또 즐기는 일과 관련하여 지을 별명으로서 무엇이 적당할까 고민하다가 두 가지 단어를 떠올리게 되었다.

genomebug (shutterbug를 연상하라)
genome rat (gym rat를 연상하라)

google을 뒤져 보았으나 이런 글은 존재하지 않는다. 따라서 내가 만든 신조어임을 세상에 공표하노라! 하하하...

Two new words were coined by me today, "genomebug" and "genome rat", to describe myself enjoying and working on genomics. So far, I could not find any search result on Google using these words (Nov 25, 2008). Anybody can easily understand the meaning of these words ... based on "shutterbug" and "gym rat."

I prefer the first one (genomebug), and have created an email account from Gmail.

2008년 6월 18일 수요일

454/Sanger hybrid assembly에 대한 간단한 논문

공개된 소프트웨어 도구를 이용하여 454/Sanger data의 혼합 유전체 서열단편 합체를 하는 일반적인 전략을 다루는 간단한 논문을 국내 학술지에 투고중이다. 이 과정에 대하여 궁금해 하는 사람들이 많아서, 복잡한 내용은 아니라 하더라도 어떤 형태로든 발표를 하고 싶었었다. 좋은 결과가 나오기를! 한국유전체학회의 국내 저널에 실렸다. PDF 파일을 임의로 웹에 게시할 수는 없으므로 초록을 포함한 서지 정보만 수록하도록 한다. Haeyoung Jeong and Jihyun F. Kim Genomics & Informatics 6(2) 87-90, 2008 An optimized strategy for genome assembly of Sanger/pyrosequencing hybrid data using available software. During the last four years, the pyrosequencing-based454 platform has rapidly displaced the traditional Sangersequencing method due to its high throughput and costeffectiveness. Meanwhile, the Sanger sequencing methodologystill provides the longest reads, and paired-endsequencing that is based on that chemistry offers anopportunity to ensure accurate assembly results. In thisreport, we describe an optimized approach for hybrid denovo genome assembly using pyrosequencing data andvarying amounts of Sanger-type reads. 454 platformderivedcontigs can be used as single non-breakablevirtual reads or converted to simpler contigs that consistof editable, overlapping pseudoreads. These modifiedcontigs maintain their integrity at the first jumpstartingassembly stage and are edited by fragmenting andrejoining. Pre-existing assembly software then can beapplied for mixed assembly with 454-derived data andSanger reads. An effective method for identifying genomicdifferences between reference and sample sequencesin whole-genome resequencing procedures alsois suggested.

2008년 5월 23일 금요일

진정한 454/Sanger hybrid assembly

오랜만에 글을 올리게 되었다. 웹을 뒤져보니까 Bastien Chevreux라는 사람이 454/Solexa/Sanger read를 섞어서 합체할 수 있는 MIRA라는 공개 소프트웨어를 개발하고 있음을 알게 되었다.

http://chevreux.org/projects_mira.html

454 data와 Sanger data를 섞어서 작업하는 대부분의 전략에서는 454 consensus를 하나의 read로서 다룬다는 것이 근본적인 제약이다. 하지만 MIRA에서는 454 raw read를 있는 그대로 다룬다고 한다.

해 본 사람을 알겠지만, GS FLX standard run에서 만들어진 SFF file에서 염기서열과 quality score를 파일로 추출한 다음 phrap을 하면 4 GB 정도의 메모리를 가진 보통의 리눅스 머신에서는 진행이 되지 않는다. phrap이 좋은 프로그램이기는 하나 대용량의 데이터를 다루기에는 적합하지 않다. PCAP이나 Celera Assembler와 같이 multiple processor를 지원하는 대용량 데이터용 서열 합체 프로그램은 short read와는 궁합이 맞지 않는다.

기존의 소프트웨어를 이용하여 454 data와 Sanger data를 섞어서 합체하는 전략에 대한 간단한 논문을 쓰고 있다...

2008년 3월 7일 금요일

Consed/cross_match 새소식

David Gordon과 Phil Green은 Solexa와 454 데이터를 다룰 수 있도록 consed와 cross_match의 수정 작업을 벌이고 있다고 한다. 이 작업이 끝나면 수천만개의 Solex/454 read를 다룰 수 있다고 하니 기다려 볼 만한 일이 되겠다. 5곳에서 베타 테스트를 하고 있다고 한다.

2008년 2월 13일 수요일

TIGR assembler


새삼스럽게 왜 TIGR assembler인가? 사실 나도 AMOS 작업을 하기 전에는 거의 관심을 두지 않았었다. 그러나 조금 느리기는 해도 나름대로 탄탄하고 정확한 결과를 만들어 주는 것 같다. Methods in Molecular Biology(2004년)에 상세한 활용 방법이 나와 있다.
TIGR assembler는 더 이상 JCVI(구 TIGR) 홈페이지의 소프트웨어 목록에 나와있지 않다. 대신 다음의 FTP site를 이용하여 다운로드할 수 있다.

맨 위의 표는 M. Pop, S. L. Salzberg, 그리고 M. Shumway가 2003년도에 쓴 Genome sequence assembly: algorithms and issue에 실린 것이다. 재미나지 않은가?
TIGR assembler가 유용한 점은 소위 'jumpstarting'이 가능하다는 것이다. 이것은 기존의 assembly 정보를 흩뜨리지 않으면서 새로운 서열 단편을 넣어 합체하는 작업을 의미한다. Consed에서 Add New Reads를 실행하는 것과 비슷하지만 더 유리한 점이 많다.
아무 생각 없이 기계적으로 컴퓨터 자판을 두드려서 assembly를 하기에는 phredPhrap만한 것이 없다. 이건 사실이다! 하지만 손이 조금 더 많이 가는만큼 더 정확한 결과물을 얻게 된다는 것도 사실이다. TIGR assembler가 귀찮은 점은 서열 전처리 작업(clear range 구하기)이다. 그러나 EST 혹은 genome survey sequencing 결과의 등록과 같이 말단 부분이 깨끗하게 제거된 서열이 필요하다면, TIGR assembler에 적용되는 전처리 과정(preTA: AMOS 패키지에 포함)을 사용하는 것도 좋겠다.