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

금요일, 7월 12, 2013

Velvet으로 Assembly하기

결론은 de novo는 흠좀무라는... ㅋㅋ

species가 무엇이 되던간에 말입니다. ㅎㅎ


요즘 몇몇 곰팡이를 조립중에 있는데
SOAPdenovo, Velvet, SPAdes, SSPACE를 중점적으로 사용하고 있습니다.
ALLPATHS-LG는 read 준비하는 것까지는 작동을 하는데
그다음에 본 작업에서 error를 뱉고 죽어버리는 어처구니 없는 상황을 연출해주는 바람에
일단 pass했습니다.

여러 strategy으로 접근 중에 있는데...

아... 본 글은 그게 중요한게 아니라... (다음 기회에 언급 하도록 하겠습니다.)

Velvet assembly할 때 long insert library (Mate-Paired Library)를 한개만 지원하는 것 같아그 문제를 해결하가 위한 tip입니다.

해결 방법은 다음 링크에 나와 있습니다.


EMBOSS의 "revseq"를 사용하면 안습이 된다는 것 빼고는 말이죠~ :)

그래서 준비 했습니다.


#!/usr/bin/python
import os,sys
from Bio.Seq import Seq
from Bio.Alphabet import IUPAC

def readread(s):
        return [s.readline(),s.readline(),s.readline(),s.readline()]


try:
        fq = sys.argv[1]

except:
        print "python command.py <input_fastq>"
        print ""
        exit(1)

fq_open = open(fq,"r")

fq_write = open("%s.rev" % (fq),"w")

s1read = readread(fq_open)

while(s1read[0]):
        h1, h2 = s1read[0].strip(), s1read[2].strip()
        s1, q1 = s1read[1].strip(), s1read[3].strip()

        rev = Seq(s1,IUPAC.unambiguous_dna).reverse_complement()
        qual = q1[::-1]

        fq_write.write("%s\n%s\n%s\n%s\n" % (h1,rev,h2,qual))

        s1read = readread(fq_open)

fq_write.close()

-위 소스는 python 2.6 이상에서 작동합니다. :)

velvet으로 조립 시 mate-paired Library가 여러개라면 서열을 변경 한 이후 사용해 보시기 바랍니다. :)