2015년 4월 10일 금요일

Scaffolding tool SSPACE

SSPACE는 네덜란드에 소재한 Baseclear라는 회사에서 제공하는 scaffolding tool이다. 정확히 말하자면 SSPACE의 개발자인 Walter Pirovano가 2011년도에 논문 "Scaffolding pre-assembled contigs using SSPACE"을 발표한 즈음에 Baseclear의 생명정보 및 유전체 분석팀에 합류했다고 보는 것이 맞을 것이다. Baseclear 웹사이트 내에 있는 Pirovino의 정보 페이지를 읽어보니 정말 그러하다.

2014년에는 long read를 사용할 수 있는 SSPACE-LongRead가 발표되었다. 어차피 나는 PacBio SMRT Analysis에서 제공하는 HGAP을 사용하고 있으므로 SSPACE-LongRead를 깊숙하게 활용할 생각은 많지 않으나, 테스트는 해 볼 생각이다.

내가 사용하는 SSPACE는 유료 버전인 프리미엄 v2.3이다. Ion Torrent PGM에서 생산한 mate-pair library read를 pre-existing cotig에 엮어서 스캐폴드를 만들기에는 안성마춤인 도구이다. 유전체 해독을 하면서 mate-pair library가 얼마나 활용성이 좋은지는 두말할 나위도 없다. 단, 일루미나에서 mate-pair library를 만들게 되면 mate-pair가 아닌 read가 상당히 많이 발생한다는 것이 문제이다. 그리고 multiplexed sequencing도 아직 안되는 것 같다. 대신 SOLiD의 mate-pair library 키트를 이용하여 Ion Torrent에서 시퀀싱을 하면 분량은 적지만 꽤 괜찮은 결과가 나온다. 단, 인서트의 양 끝에서 각각 시퀀싱을 하는 것이 아니라 한 방향에서 길게 시퀀싱을 한 뒤 사이에 들어있는 어댑터를 제거하여 두 개의 서열 단편을 만들어야 한다. 이러한 ditag 분리과정은 CLC Genomics Workbench에서 매우 간단하게 할 수 있다.

단, 조심할 것이 있다. 일반적인 short insert library의 paired end sequencing이라면 forward-reverse 방향이 되고, mate-pair library의 paired end sequencing은 revers-forward가 된다. 그러나 SOLiD mate-pair library sequencing 결과에서 나온 mate-pair는 revers-reverse이다. 그러니 이것을 bowtie2와 같은 도구로 매핑을 하려면 방향을 아주 잘 맞추어야 한다.

SSPACE의 설정 파일에는 RR로 방향을 지정할 수 있지만, bowtie(2)에서는 --fr(default), --rf, --ff가 전부이다. --rr은 없다. 조금만 생각해 보면 --rr은 --ff와 일맥상통한다. 다만 파일의 순서에 대한 고민이 필요하다. 결론만 말하자면, reverse reverse로 분리된 paired file을 bowtie에서 매핑하려면 다음과 같이 해야 한다. 물론 -I 와 -X 옵션의 값도 실제 라이브러리의 인서트 크기를 반영하도록 잘 맞추어 주어야 한다.


  1. 첫번째 파일을 reverse complementary로 바꾸어서 --fr(default)로 매핑
  2. 또는 첫번째와 두번째 파일의 순서를 바꾸어서 --ff로 매핑

SSPACE의 기본 동작은 다음과 같다. 두번째 커맨드 라인은 extension을 하는 경우이다(-x 1).


perl (path_to_SSPACE)/SSPACE_Premium_v2.0.pl -l libraries.txt -s contigs_abyss.fa -k 5 -a 0.7 -x 0 -b ecoli_scaffolds_no_extension

perl (path_to_SSPACE)/SSPACE_Premium_v2.0.pl -l libraries.txt -s contigs_abyss.fa -k 5 -a 0.7 -x 1 -m 30 -o 20 -b ecoli_scaffolds_extension

확장을 원한다면 -m 과 -o 의 두 가지 옵션을 추가로 지정해 주어야 한다. -m 30은 contig와 read의 최소 overlap이 30 bp란 의미이고, -o 20은 최소 20개의 read가 있어야 overlap을 해 주겠다는 뜻이다.

댓글 없음: