본문 바로가기
공부공부/2025 쌓아가는 나의 지식~

Bio데이터 분석 및 시각화 툴 제작 (1)

by Lee_story_.. 2025. 4. 1.
728x90

대학원... 수업은 원래 이런건가요...

처음 하는게 너무 많아지는 느낌...

 

 

이번에는 Bio데이터에 대한 분석 및 시각화 툴을 만들어 보기로 하였습니다. 

(Bio데이터와 관련된 아무 주제나 찾아오라 하셨는데.... 유니티/ 게임/그래픽스랑은 거리가 먼...)

 

그래서 일단 목표는!

 

파이썬을 이용한 Bio-GUI 도구를 개발하여, 실제 사용자들이 Bio데이터에 대해서 분석하고, 
데이터에 대해서 학습을 진행할 때 도움이 될 수 있는가를 알아보기 위해 프로젝트

 

굳.... 아직까지는 어떤 데이터를 분석할까에 대한 깊이있는 생각은 안해보았지만,

 

바이오 데이터베이스중 한곳인 ncbi에서 

 

National Center for Biotechnology Information

 

www.ncbi.nlm.nih.gov

 

아래와 같은 데이터들을 다운로드/ 분석/ 시각화를 해주는 툴을 만들지 않을까 싶네요

 

데이터들이 좀 많긴하지만, 일단 조금 정리한 내용들입니다. 

protein 단백질 서열 fasta, gb
nucleotide DNA/RNA 서열 fasta, gb, xml
gene 유전자 정보 (서열 포함 X, annotation 중심) xml
pubmed 논문 데이터 medline, xml
biosample 생물 샘플의 메타정보 xml
bioproject 프로젝트 단위의 생명정보 xml
assembly 게놈 조립 정보 docsum, xml
taxonomy 생물 분류 체계 정보 xml

 

아마 단백질 서열 및 DNA서열을 시각화 할꺼 같은데,

 


Python에서는 Biopython, scikit-bio, pandas 기능들을 통해 아래 기능들을... 만들 수 있다고 합니다.

 

염기서열(DNA/RNA) 분석 기능 추가


역상보 서열 보기 선택된 서열의 reverse complement 생성 및 보기
전사 기능 DNA → mRNA 변환
번역 기능 mRNA → 단백질 서열 변환
ORF(오픈 리딩 프레임) 탐지기 가능한 리딩 프레임을 찾아 범위 및 길이 표시
GC 슬라이딩 윈도우 분석 슬라이딩 윈도우로 GC% 변화 시각화 (그래프)
특정 모티프 검색 기능 사용자가 지정한 염기 패턴을 찾고 색으로 하이라이팅
돌연변이 시뮬레이터 임의의 위치 또는 지정된 위치에서 염기 치환 시뮬레이션

단백질 서열 분석 기능

아미노산 조성 분석 각 아미노산의 개수 및 비율 계산 (바 그래프)
물리화학적 특성 계산 분자량, 등전점(pI), 소수성 등 계산
단백질 번역 결과 보기 DNA → mRNA → 단백질 전체 파이프라인 구현
BLAST API 연동 서열을 BLAST에 보내 유사 단백질 검색 결과 보여주기
도메인 정보 시각화 외부 DB (Pfam 등)로부터 도메인 구조 받아 시각화
보존 서열 하이라이트 여러 단백질 정렬 시 공통된 보존 영역 색상 표시

NCBI 및 외부 DB 연동 기능


BLASTn / BLASTp 실행 NCBI API 통해 FASTA 업로드 및 결과 확인
NCBI Gene 정보 링크 제공 다운로드한 gene 정보에 NCBI 웹 링크 자동 생성
Gene Summary 표시 Gene XML에서 유전자 이름, 위치, 기능 요약 추출
PubMed 검색 연동 해당 서열과 연관된 논문 목록 표시 (title, year, journal)

시각화 관련 기능

염기열 차트 시퀀스를 좌우로 긴 직선으로 배치하고 색상으로 염기 표시
보존 서열 heatmap 여러 서열 정렬 후 각 위치별 보존성 색상 시각화
도메인 시각화 (단백질) 단백질 도메인 또는 기능 영역을 블록으로 표시
변이 시뮬레이션 시각화 원래 서열과 돌연변이 서열을 나란히 비교
Codon usage 그래프 각 코돈 사용 빈도 시각화 (히트맵 or 막대그래프)


위의 기능들중 몇가지 추려서,

파일 하나를 넣으면 이를 분석하고 시각화해서 한번에 확인 할  수 있는 툴을 만들어 볼 것 같습니다. 


약간 Nucleotide <X53812>  이렇게 넣어주면,

데이터베이스에 접속후 다운로드 >> 시각화 및 데이터 산출 까지 개발할 예정입니다.

 

추가로 데이터에 대해서 수정 및 컨트롤 할 수 있으면.... 좋을것 같고...

그리고, 시각화의 경우 GUI와 다양한 디자인들을 통해 사용자가 시각화된 결과를 완벽하게 들고 갈 수 있도록 하면 좋은것 같습니다...

 

또! 시각화 결과에 대한 데이터를 따로 저장하고, 이를 수정할 수 있는기능까지...!

 

생각나는건 많은데 어디까지 구현 될지는 모르겟습니다!

 

 

일단 지금까지는 아래와 같은 화면이 만들어졌구요 ㅎㅎ

 

 

추가로 계속 진행해 보겠습니다.

 

 


틀린점이 있다면 댓 달아주세요!

728x90

댓글