Major Study./Bioinformatics

대용량 FastA file에서 sequence 검색하기 / C#

sosal 2014. 8. 13. 11:33
반응형
/*
 http://sosal.kr/
 * made by so_Sal
 */

1. FastA File format 및 포스팅 목적
2. 시현 영상
3. 프로그램 소개
4. C# 소스 다운로드




1. FastA File format 및 포스팅 목적



대용량 FastA file에서 sequence name을 검색하여 실제 sequence를 찾는 프로그램을 만들어보았습니다.

프로그램 테스트용으로 사용될 FastA data는 uscs gene browser에서 다운받을 수 있습니다.


http://hgdownload.soe.ucsc.edu/goldenPath/hg38/multiz7way/alignments/

file: knownCanonical.exonAA.fa.gz 06-Jun-2014 15:22 41M 


해당파일의 크기는 약 160Mb로 OS에서 쉽게 열어볼 수 있는 파일이지만, 메모리 크기 이상의 FastA 포맷의 파일을 텍스트 편집기로 열어서 보기는 힘들기 때문에, 이 포스팅에서 다루는 방법으로 sequence를 검색할 수 있습니다.

(사실 그보다 FastA 포맷에 대해 알아보고자 시작하게 된 포스팅입니다.)





위에서 다운받은 160메가 파일을 열어보면 아래처럼 구성되어있습니다.


>uc001abw.1_hg38_13_13 82 0 0 chr1:943908-944153+

VARRLGRVFYVASFPVALPLQPPTLRAPERELGTGEQPLSPTTATSPYGGGHALAGQTSPKQENGTLALLPGAPDPSQPLCZ

>uc001abw.1_panTro4_13_13 82 0 0 chr1:854351-854596+

VARRLGRVFYVASFPVALPLQPPTLRAPERELGTGEQPLSPTTATSPYGGGHALAGRTSPKQENGTLALLPGAPDPSQPLCZ

>uc001abw.1_rheMac3_13_13 82 0 0 chr1:4153344-4153589+

VARRLGRVFYMASFPVALPLQPPILRAPERELGTGEQPLSPKTATSPYGGGHTLAGRASPKQENGTLALLPGAPDPSQPLCZ

>uc001abw.1_mm10_13_13 82 0 0 chr4:156247724-156247969-

VAKRLGRVFYMASFPVALPLQPPSLQAPE--LSPGHQPLSPATTTSPYEGTHLPTGQASPKQENGTIALLSGAPDPSQLLQZ


각 sequence data는 '>' 로 시작합니다.


>sequence_label comment~

Data Lines (real sequence)






2. 시현 영상


- 시현 영상









3. 프로그램 소개


File -> Indexing -> FASTA를 누르시면 실제 FastA 파일을 input으로 하는 파일 열기창이 뜨며

FastA 파일을 선택하시면 indexing을 끝낸 후에 저장할 파일의 제목을 물어보는 창이 뜹니다.




그렇게 저장된 파일은 다음과 같습니다.



위의 Url에 있는 예제로 실행해보면 1,469,902 개의 sequence name list가 만들어집니다.

파일 포맷은 Sequence name과 해당 sequence의 offset (index) 2가지로 구성되어있습니다.






위에서 indexing이 완료가 되었으면, File -> open -> Indexed_fasta 버튼을 눌러 index 된 파일을 열어줍니다.




next를 눌러서 더 많은 sequence name list를 불러올 수 있습니다.






sequence name list들을 호출하였다면, 파일 선택에서는 인덱스 화일의 원본 FastA foramt 파일을 선택해주시고

화면에서 나온, 혹은 FastA format file에 존재하는 sequence name을 검색란에 입력해주시면 우측 텍스트박스에 sequence 결과가 나오는 것을 보실 수 있습니다.



검색어: uc001abw.1_rheMac3_11_13

검색결과: GAVGGLSVDGEEAPAPEDVSKWTVDDVCNFVGGLSGCGEYTR


실제 FastA format file의 해당 sequence 내용

>uc001abw.1_rheMac3_11_13 42 1 0 chr1:4152708-4152832+

GAVGGLSVDGEEAPAPEDVSKWTVDDVCNFVGGLSGCGEYTR


sequence가 같은것을 보실 수 있습니다.




4. C# 소스 다운로드


Fasta_Finder.zip

해당소스는 공개합니다.

FastA 파일 포맷을 이해하기에 좋은 예제인듯 합니다.