2014-04-15 8 views
1

나는 무수히 많은 인간 게놈 조각 (5 억 개 이상)을 무작위로 얻고 싶다.좌표로 인간 게놈 서열을 얻는 빠른 방법

이것은 전체 프로세스의 부분 작업입니다. 나는 bowtie의 .sam 결과 파일을 가지고 있으며, 천만 개의 인간 게놈은 정렬을 읽습니다. 각각의 쿼리를 'sam 파일에서 정렬 된 참조 시퀀스'와 비교하려고합니다. 내가 사용한 참조 시퀀스는 UCSC의 hg19.fa입니다. 그래서 sam 파일의 위치를 ​​사용하여 hg19.fa (또는 염색체 파일)에서 시퀀스를 가져올 수 있어야합니다.

CHR4 :주는 35654-35695을, 나는 42bp 시퀀스를 얻을 수 :

gtcttccagggtttttatatttttgggttttacacttaagt

지금까지, 나는이 개 솔루션을했다 : 1. 파이썬 스크립트는 UCSC DAS 서버에서 시퀀스를 가져올 : http://genome.ucsc.edu/cgi-bin/das/hg19/dna?segment=chr4:35654,35695

  1. 게시물에서 파이썬 스크립트 호출 ''samtools faidx ''명령 반환 commnad 출력, 를 사용하여 : http://seqanswers.com/forums/showthread.php?t=23606&highlight=fetch+genome+coordinate
,

그러나 느립니다. samtools faidx는 DAS 서버에서 가져 오는 것보다 조금 빠르지 만 여전히 느립니다.

그래서 어떤 것이 있습니까 FAST이 방법이 있습니까? 나는 seprate 염색체 fasta 파일과 hg19.fa 파일을 가지고있다.

+0

천장을 얻는 경우 외부 출처에서 가져 오는 경우 대역폭/배선에 의해 제한 될 수 있습니다. 마찬가지로, 읽기 인 경우, 활성 메모리가 아닌 경우 디스크의 읽기 속도로 제한됩니다. – Fallenreaper

+1

[pysam] (https://code.google.com/p/pysam/)을 사용해 보셨습니까? 이 파일을 사용하여 sam 파일을 열고'subprocess.call ('samtools faidx')'등을 사용하여 여는/닫는 오버 헤드없이 faidx를 계속 호출 할 수 있습니다. – wflynny

답변