vienna format 으로 RNA 그리기
테스트환경 : windows 7 32bit
TEXT : Managing Your Biological Data with Python, 2014
- page 421. Recipe 8: Parsing RNA 2D Structures in the Vienna Format
참고 사이트 :
http://www.tbi.univie.ac.at/RNA/ ---> software download
https://www.biostars.org/p/68894/ ---> cat myfold.txt | RNAplot -o svg
http://rna.tbi.univie.ac.at/help.html#A6 ---> Dot bracket notation
class RNA_structure: def __init__(self, vienna): lines = vienna.split('\n') self.name = lines[0].strip() self.seq = lines[1].strip() self.bp = sorted(self.parse_bp(lines[2].strip())) def parse_bp(self, dotbr): stack = [] # print ' dotbracket ==> ', dotbr for i, char in enumerate(dotbr): if char == '(': stack.append(i) elif char == ')': j= stack.pop() # print 'stack ==> ', stack yield j,i if __name__ == '__main__': vienna = """> two hairpin loops AAACCCCGUUUCGGGGAACCACCA ((((...)))).((((..)).)). """ rna = RNA_structure(vienna) print rna.name print rna.seq print 'rna.bp == ', rna.bp for b1, b2 in rna.bp: print '(%i, %i)' % (b1,b2)
위의 다운로드 링크에서 ViennaRNA package 다운받아 설치한다.
* 내 경우에는 C:\Program Files\ViennaRNA Package 디렉토리에 설치됨.
위의 코드중에서 vienna 변수에 설정된게 vienna file format? 이므로, 이를 txt 파일로 따로 저장한다.
-- 위 처럼 ViennaRNA package 설치된 곳에 저장된게 확인 되면...
이제는 svg 그림 파일로 만들어 보자.
===> linux 에서는 type 명령어 대신에 cat 명령어 사용하면 될 듯!
--> svg 파일 생성 된게 보인다.
svg 파일을 double click 하니.. IE 에서 잘 보임...
성공 !!!!!!!
'python' 카테고리의 다른 글
beautiful Soup, PhantomJS 사용한 javacript web scraping ( pubmed ) (1) | 2014.09.24 |
---|---|
python debugging -- exception 발생한 file name, line number 찾기 (0) | 2014.09.19 |
python -- self, 클래스멤버(변수) , 인스턴스멤버(변수), 생성자, 소멸자 (0) | 2014.08.27 |
python anagram --- timeit 실행시간 확인 (0) | 2014.08.24 |
python 으로 github api v3 접근하기 -- httplib (0) | 2014.08.22 |