Monday, November 22, 2010

artemis

실험하는 사람들은 비쥬얼적인 것을 굉장히 선호한다(사실 실험하는 사람만 그런 것은 아니지만). 같은 내용이라고 해도 이것이 텍스트 파일로 되어 있냐 아니면 자신이 사용하는 툴에 보일수 있느냐에 따라 인식을 달리한다. 특히 내 주변인, 미생물 균주를 다루는 사람(지극히 내 경험적인 것이다)들은 artemis에 연연한다. 똑같은 내용이라도 excel로 된 결과와 artemis로 된 결과의 완성도가 다른 것처럼 느낀다. 그래서.. artemis 를 이용할 수 있는 아웃풋으로 assembly와 annotation 결과를 report 해야 함을 느낀다(그렇지 않으면 일도 많아지고 작업 폴더가 지져분해지기 때문에). 이번 포스트에서 artemis와 관련된 자료를 모아볼려고 한다.

artemis의 input format이 별게 아니다. 그냥 genbank 아니면 EMBL format (이번 기회에 bipython의 SeqRecord 클래스의 속성들을 파악해서 genbank 파일로 출력해야겠네..)


원래 sanger 에서 만들었나보다. 2000년도 나왔네.. 
http://www.sanger.ac.uk/resources/software/artemis/


-biopython으로 genbank 만들때 주의점
1.SeqRecord 안의 Seq 객체의 alphabet 속성이  Nucleotide or Protein alphabet 이어야 한다.
2.genbank 파일을 Bio.SeqIO.read 로 받아들이면 SeqRecord.SeqRecord의 한 속성(속성이라고 해야 하나 맴버 변수라고 해야하나) feature들의 위치가 알아서 python의 indexing 계산법으로 바뀐다. 예를 들면 genbank 파일에 gene   120...158 이라고 위치 정보가 나온 gene feature가 있다고 하고 이를 biopython으로 파싱하고 그 위치를 genbank.features[#].location이라고 해서 위치를 보면 119..158로 변해 있는 것을 확인할 수 있다. 이는 python에서 이 정보를 다를 때 유용하기에 이렇게 되어있는데 이를 주의해서 genbank 파일을 만들어야 한다. 다시 말해서 위와 거꾸로 SeqFeature를 만들때 원래 위치보다 -1 값을 한 위치 정보를 SeqFeature.FeatureLocation()의 첫번째 인자에 넣어줘야 한다.