대학원... 수업은 원래 이런건가요...
처음 하는게 너무 많아지는 느낌...
이번에는 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와 다양한 디자인들을 통해 사용자가 시각화된 결과를 완벽하게 들고 갈 수 있도록 하면 좋은것 같습니다...
또! 시각화 결과에 대한 데이터를 따로 저장하고, 이를 수정할 수 있는기능까지...!
생각나는건 많은데 어디까지 구현 될지는 모르겟습니다!
일단 지금까지는 아래와 같은 화면이 만들어졌구요 ㅎㅎ

추가로 계속 진행해 보겠습니다.
틀린점이 있다면 댓 달아주세요!

'공부공부 > 2025 쌓아가는 나의 지식~' 카테고리의 다른 글
[Template Matching]을 이용한 이미지 인식 (회전, 크기 문제 개선) (1) | 2025.03.21 |
---|---|
[OpenCV / Python] 이미지 유사도(Image Similarity) 측정 [Pixel, Structural, Histogram] (0) | 2025.03.19 |
Yolo모델을 이용한 오브젝트 분류(Object Classification) - 학습 및 실행 (1) | 2025.03.07 |
Yolo모델을 이용한 오브젝트 인식(Object Detection) - 학습 및 실행 (0) | 2025.02.28 |
[Linux] TensorFlow GPU 문제 (Skipping registering Gpu devices)/ (Cuda 다운그레이드 + Cudnn 설치) (0) | 2025.02.27 |
댓글