Mid-term project – Bioinformatics

소개

(목적): 생물정보학 중간 과제는 지금까지 학습한 생물정보학 도구를 활용하여 특정 유전자의 기능을 탐색하는 연습을 수행하는 과정입니다. 이를 통해 상동유전자의 개념을 복습하고, 서열 정렬 기반의 데이터베이스 검색 방법인 BLAST, 상동유전자 간의 관계를 분석하는 계통수(phylogenetic tree) 분석, 그리고 하나의 유전자에 존재하는 다양한 기능적 패턴 분석 방법을 학습합니다. 또한 이러한 과정을 통해 수업에서 배운 내용을 종합적으로 복습하고, 각 생물정보학 도구가 실제 연구에서 어떻게 활용될 수 있는지 이해하고 익히는 것을 목표로 합니다.

(내용) 수행 과정은 다음과 같습니다. 먼저 연구 대상 유전자를 선정한 뒤, NCBI 데이터베이스에서 해당 유전자의 서열(sequence)을 확보합니다. 이후 확보한 서열을 바탕으로 유사 서열 탐색(similarity search)을 수행하여 상동유전자를 탐색하고, 해당 유전자의 관계를 계통수를 이용해 나타닙니다. 다음으로, 해당 유전자가 포함하고 있는 도메인(domain)을 분석하여 유전자의 구조적·기능적 특징을 파악하고, 이를 기반으로 유전자의 기능을 유추합니다.

(제출) 연구 과정에서 수행한 모든 분석과 결과는 Research Note (Jupyter Notebook) 형태로 체계적으로 기록해야 합니다. 또한, 수집한 정보를 바탕으로 연구의 흐름과 주요 결과를 다른 사람에게 명확하게 설명할 수 있도록 Report (Jupyter Notebook)를 별도로 작성합니다.

[주의 사항]

  • 모든 문서에는 반드시 본인의 생각과 해석이 포함되어야 합니다.
  • 외부 자료를 그대로 복사하여 사용하는 것은 허용되지 않습니다.
  • ChatGPT와 같은 생성형 AI의 결과를 그대로 사용하는 것도 금지됩니다.
  • 필요한 경우에 한하여 참고자료를 인용할 수 있으며, 이 경우 반드시 출처를 명확하게 표기해야 합니다.

과제 실행 준비

실습 페이지에 과제 수행을 위한 directory를 생성합니다 (Directory 이름: TermProject ).

아래 파일을 받아서 풀면 2개의 notebook file이 있습니다. 두 파일을 생성한 파일에 복사하고 과제를 수행해주세요. 노트북 안의 Section은 그대로 유지해주세요. 각 section 별로 과제 수행도를 평가합니다.

MidTermProject 폴더에는 아래의 두 개의 Jupyter Notebook 파일이 포함되어 있습니다.

  • I.ResearchNote.ipynb: 연구 과정에서 수집한 정보와 코딩을 포함한 과정을 순차적으로 기록합니다.
  • II.Report.ipynb: 연구를 완료한 후, 결과를 정리하여 보고서 형식으로 작성합니다.

I. 과제 진행

과제 진행은 I.ResearchNote.ipynb 문서의 순서대로 진행하며, 이 과정에서 수집한 모든 정보와 분석 과정은 I.ResearchNote.ipynb에 기록합니다. 각 단계의 내용은 Markdown cell을 활용하여 정리하여야 합니다. 그리고, 수집한 자료를 단순히 붙여 넣거나, 프로그램을 실행하는 것이 아니라 분석 과정과 사고의 흐름이 드러나도록 작성해야 합니다.

이 과제에서 여러분은 특정 생명현상과 관련된 유전자를 선정하고, 해당 유전자의 기능을 탐색하셔야 합니다. 이를 위해 먼저 관심 있는 생명현상을 조사하고, 그 생명현상에 관여하는 유전자를 선정한 뒤, 해당 유전자의 서열 및 기능을 단계적으로 분석합니다.

각 단계는 아래와 같은 순서로 진행합니다.

1. 주제 선정

  • 평소 관심을 가지고 있던 다양한 생명현상에 대해 조사합니다.
  • 조사한 내용을 요약하고 작성하고, 그 중 한 가지를 주제로 선정합니다.
  • 주제 선정에 고려했던 다양한 자료를 기제하고, 왜 해당 주제를 연구해야 하는지 설명합니다.
  • 개인적인 관심사 보다는 객관적인 연구 필요성을 기술하도록 합니다. 예를 들어 ‘질환을 가진 지인이 있어서 관심을 가지게 되었다’ 보다는 ‘이 질환은 10000명 중 100명이 겪으며, 질환으로 인해 경재활동에 참여하지 못해 발생하는 사회 경제적 비용이 크다’와 같이 다른 사람들도 관심을 가질 이유를 제시합니다.
  • 연구 주제를 선정할 때, 유전자와 관련 있는 주제를 찾도록 합니다. 이 과제는 우리가 학습한 생물정보학 도구를 활용하는 과제이므로, 단백질 코딩 유전자와 관련 없는 주제의 경우, 이어지는 분석이 힘들 수 있습니다.

2. 주제 연구

  • 선정한 주제를 보다 깊이 조사합니다.
  • 질병에 관심이 있다면, 질병의 증상, 원인, 치료법 등을 조사할 수 있습니다.
  • 이 때 주제와 관련된 유전자를 함께 조사합니다.
  • 신문 기사, 학술 자료, 정부 기관 또는 병원 등의 신뢰할 수 있는 정보 출처를 사용합니다.
  • 가능하면, 이 과정에서 졸업 후 연구하고 싶은 주제도 같이 탐색해보시기를 권장합니다.

3. 유전자 선정

  • 연구 주제와 관련된 유전자 하나를 선정합니다.
  • 대부분의 연구 주제는 유전자와 관련성을 밝힌 선행 연구들이 있습니다. 그렇지만, 만약 관련 유전자가 전혀 없다면, 연구 주제를 변경해주세요.
  • NCBI에서 유전자의 이름, 기능, 관련 정보를 조사합니다.
  • 기능 분석을 진행할 예정이기 때문에 단백질을 코딩하는 유전자를 선정합니다.

4. 유전자 서열 검색

  • 선정한 유전자의 단백질 서열을 검색하고, 검색 기록을 기록합니다.
  • 검색 결과에서 얻은 서열 정보를 기록합니다.

5. 진화적 연관 유전자 검색

  • 선정한 유전자와 진화적으로 유사한 유전자의 서열을 NCBI에서 검색합니다. (BLASTp 이용)
  • 서열 검색 과정을 기술하고, 그 결과 얻어진 서열이 몇 개인지, 해당 서열들을 어떤 이름의 파일로 저장했는지와 같은 추가 정보도 같이 기술합니다.

6. Multiple Sequence Alignment

  • Clustal Omega를 활용하여 MSA를 수행합니다.
  • 정렬 결과를 분석하여, 가변성이 높은 부분이 있는지 찾아보고 그 의미가 무엇일지 기술합니다.

7. Phylogenetic Tree

  • MSA 결과를 바탕으로 유전자 간의 유사도를 비교하고 거리 행열(distance matrix)를 구성합니다.
  • 계통수 분석을 통해 선정한 유전자와 진화적으로 가장 가까운 유전자가 무엇인지 기술합니다.

8. 도메인 분석

  • InterPro를 이용하여 유전자가 포함하는 domain을 분석합니다.
  • 유전자의 기능을 domain의 기능을 이용해 설명합니다.
  • 화면을 capture 해서 그림을 포함해도 좋습니다.
  • InterPro에서 도메인이 찾아지면, 해당 도메인의 기능이 무엇인지 추가적으로 검색해 보시면, 해당 유전자가 어떻게 작동하는지 유추할 수 있습니다.

1. 주제 선정

중간 과제를 위해 연구할 주제를 선택합니다. 평소 관심이 있었던 생물학적 현상에 대해 조사하고, 그 중 한 가지를 선정합니다. 질병, 인체 현상, 동식물, 미생물 등 다양한 생명현상이 모두 주제가 될 수 있습니다.

연구하고 싶은 주제가 잘 생각나지 않는다면, 아래 링크를 통해 BRIC에 접속하여 최신 연구 관련 기사를 찾아봅니다.

https://www.ibric.org/bric/index.do

찾은 주제에 대해 필요성을 강조하여 설명합니다. 앞서 언급한 것처럼, 개인적인 관심사 보다는 다른 사람이 관심을 가져야 하는 이유를 설명하도록 노력합니다.

### 예시 일부) 성장기 새치 형성의 원인 분석<br>
* Slc45a 유전자에 의한 색소 형성 조절
* (참고 자료)  https://www.ibric.org/bric/trend/bio-news.do?
mode=view&articleNo=9897980&article.offset=30&articleLimit=15#!/list

2개 이상의 주제를 조사하고 내용을 정리합니다. 조사한 내용을 정리할 때는 참고한 자료의 출처를 밝혀주세요. 그리고, 그 중 최종 연구 주제를 선정합니다.

    • 기사 참고: https://www.ibric.org/trend/news/index.php
    • 사람과 관련된 생명현상을 선정합니다.
    • 질병을 주제로 삼으면 관련 유전자 정보 수집이 용이합니다.
    • 주제와 관련된 단백질 코딩 유전자가 존재하지는 먼저 간단히 확인해보고, 관련 유전자를 찾기 어렵다면 다른 주제로 변경합니다.

2. 주제 연구

선정한 주제와 관련된 추가 자료를 수집합니다. 수집한 자료에서 중요한 정보를 기록하고, 정보의 출처를 기록합니다. 예를 들어 “인구 10만명당 52명의 환자가 발생한다. [1]” 와 같이 표기하고, Reference에 출처를 “[1] 출처 관련 정보……”와 같이 기록합니다. 자료를 찾을 때는 신뢰할 수 있는 기관(학술자료, 뉴스기사, 병원, 정부기관 등)의 자료를 활용하고, naver blog와 같은 공신력이 입증되지 않는 자료는 활용하지 않습니다.

특히, 선택한 주제와 관련된 유전자는 무엇인지 조사합니다. 이 과정을 통해 발굴한 유전자를 이용해 생물정보학 연구를 진행할 예정입니다.

선택한 주제가 질병이라면, 그 질병의 증상, 원인, 치료법 등을 조사하시면 좋습니다.

3. 유전자 선정

주제와 관련된 유전자를 찾고, 그 중 하나를 추가 분석의 대상으로 선정합니다. 해당 유전자를 선정한 이유도 같이 밝혀야 합니다.

이어서, 해당 유전자에 대한 이름과 기능과 같은 기본적인 정보를 수집합니다. NCBI에서 유전자 symbol을 이용하여 유전자를 검색하고, 그 기능에 대한 정보를 얻을 수도 있습니다.

분석 대상 유전자를 선택할 때 단백질을 코딩하는 유전자를 선택합니다. microRNA 유전자와 같이 RNA 수준에서 작동하는 유전자는 domain 분석 등의 절차가 어려우니 선택하지 않습니다.

4. 유전자 서열 검색

선정한 유전자의 단백질 서열을 검색합니다.

  • 검색위치: NCBI – https://www.ncbi.nlm.nih.gov/protein/
  • 유전자 영문명과 Homo sapiens와 같은 종 명을 같이 검색어로 사용합니다.
  • 검색된 단백질 항목 중 연구대상(예: 사람)에 해당하는 것을 선택하고, FASTQ 링크를 클릭해 서열 정보를 수집합니다.
  • 단백질 서열을 Research Note에 기록합니다.
  • 검색어, 선택한 항목, GenBank ID 등도 함께 기록합니다.

5. 진화적 연관 유전자 검색

선정한 유전자의 단백질 서열을 바탕으로 NCBI BLAST를 수행합니다.

6. Multiple sequence alignment

Clustal Omega를 이용하여 MSA를 수행합니다.

  • JupyterNotebook에서 다음 명령어를 실행
    • (참고) 실행 오류가 나는 경우 seqdump.txt 파일이 현재 노트북과 동일한 폴더에 있는지 확인합니다.
    • 결과 파일 (aligned.txt)의 내용을 확인하고 의견을 기록합니다.
  • 아래 명령어는 Markdown cell이 아닌 Code cell을 생성하고 실행해야 합니다.
!clustalo -i seqdump.txt -o aligned.txt

7. Phylogenetic tree

MSA 결과를 바탕으로 계통수를 생성하고 분석합니다.

아래는 계통수 분석 코드 예시입니다.

from Bio.Phylo.TreeConstruction import DistanceTreeConstructor
from Bio.Phylo.TreeConstruction import DistanceCalculator
from Bio import AlignIO
import Bio.Phylo as Phylo
from copy import deepcopy
import numpy as np


aln = AlignIO.read(open('aligned.txt'), 'fasta')
calculator = DistanceCalculator('identity')
dm = calculator.get_distance(aln)

Tree를 text 형식으로 표현

print(upgma_tree)

Tree를 dendrogram으로 표현

Phylo.draw(upgma_tree, do_show=False)

8. Domain analysis

InterPro를 이용하여 단백질의 도메인 구조를 분석합니다. 이를 통해 유전자를 구성하고 있는 여러 도메인을 유추할 수 있고, 각 도메인의 기능으로 부터 해당 유전자의 기능을 추정할 수 있습니다.

  • 인터프로 접속: https://www.ebi.ac.uk/interpro
  • 단백질 아미노산 서열을 입력
  • Search 버튼 클릭 –> 분석 결과 페이지 이동
  • 도메인 이름, 구성, 기능 등을 확인하고 정리합니다.

인터프로에서 도메인 찾기

  • https://www.ebi.ac.uk/interpro
    • 서열을 복사해서 붙여넣는다. (아미노산 서열)
    • Search 버튼이 활성화 되면 눌러서 실행한다.

도메인 정보 정리

검색이 완료되면 결과 페이지로 전환된다. 결과에 해당하는 곳(iprscan5-R20250418-… )를 클릭하면, 세부 결과 페이지로 연결된다.

예제) 결과 페이지 예시: 2개의 도메인 구조 탐색 결과가 있다.

세부 결과 페이지에서 서열을 선택한다. (예제: Sequence1)

예제) 세부결과 페이지

InterProScan 검색 결과를 확인한다. Domain section에서 발견된 도메인 구조를 확인할 수 있다. 아래 예제에서는 AmyAc_bac_euk_AmyA와 같은 도메인을 확인할 수 있다. 도메인 그림 오른편에 각 도메인에 대한 링크가 있고, 이를 클릭하면, 해당 도메인의 기능을 확인할 수 있다.

연구 대상이 되는 유전자가 어떤 도메인으로 구성되어 있는지 확인하고, 각 도메인의 기능은 무엇인지 확인하고 내용을 정리한다.

예제) InterProScan 검색 결과

II. 보고서 작성

연구 진행 결과를 정리하여 II.Report.ipynb에 보고서를 작성합니다. 보고서는 아래 네 가지 항목으로 구성합니다: 소개, 방법, 결과, 결론

보고서는 내가 수행한 연구 결과를 다른 사람에게 설명하는 문서입니다. 또한, 이 문서는 자체적으로 완결성을 지녀야 합니다. 즉, I. ResearchNote의 내용을 참고하지 않고, 보고서만 보더라도 어떤 내용인지 이해할 수 있도록 작성해야 합니다.

  1. 소개
    • 연구 주제를 소개합니다.
    • 주제는 무엇인지, 왜 연구해야 하는지 등의 배경을 설명합니다.
    • 이어서, 이 과제에서 분석하는 유전자에 대해 설명합니다. 이 유전자가 연구 주제와 어떻게 관련되어 있는지도 설명합니다.
  2. 방법
    • 연구에서 사용한 분석 방법을 순서대로 설명합니다.
      • BLAST를 활용한 유사한 유전자 검색
      • Clustal Omega를 이용한 MSA 구성
      • 계통수 생성
      • InterPro를 이용한 도메인 분석
    • 이 부분은 방법만 설명하고, 분석 결과는 다음 ‘결과’ 항목에서 다룹니다.
  3. 결과
    • 각 분석 과정에서 얻은 결과를 설명합니다.
      • BLAST 검색 결과로 확인한 유사 유전자의 기능
      • MSA 결과를 바탕으로 그림 계통수와 유전자 간 진화적 관계
      • InterPro 분석을 통해 확인한 도메인 정보 및 각 도메인의 기능
  4. 결론
    • 전체 분석 결과를 종합적으로 정리합니다.
    • 분석을 통해 알게 된 유전자의 기능과 그 의미를 설명합니다.
    • 연구 주제와 관련하여 얻은 의미 있는 통찰이나 발견을 간단히 정리합니다.
  • Tip
    • 보고서는 작성하는 중간 중간에 저장하여 작업 내용을 유실하지 않도록 합니다.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top