liminfo

Biopython Reference

Biopython FASTA/GenBank 파싱/NCBI API/서열분석 레퍼런스

26개 결과

Biopython Reference 소개

Biopython 레퍼런스는 7개 카테고리로 구성된 27개 필수 Biopython 모듈과 함수를 검색할 수 있는 치트시트입니다. 서열 파싱 섹션에서는 FASTA, GenBank 형식의 SeqIO.parse(), SeqIO.read(), SeqIO.write(), SeqIO.convert()와 GenBank feature/qualifier 추출을 다룹니다. 서열 분석에는 Seq 객체 조작(complement, reverse_complement, transcribe, translate), gc_fraction()을 이용한 GC 함량 계산, 분자량 계산, JASPAR 모티프 검색이 포함됩니다.

서열 정렬 섹션에서는 레거시 pairwise2.align과 새로운 PairwiseAligner 클래스, Clustal/Stockholm MSA 파일을 위한 AlignIO, BLOSUM62/PAM 치환 행렬 로딩을 보여줍니다. NCBI API 섹션에서는 nucleotide, protein, PubMed 등 NCBI 데이터베이스에 프로그래밍 방식으로 접근하기 위한 Entrez.esearch(), Entrez.efetch(), Entrez.einfo(), Entrez.elink()를 다룹니다.

BLAST 통합에는 로컬 BLAST 실행을 위한 NcbiblastnCommandline과 온라인 검색을 위한 NCBIWWW.qblast(), 결과 분석을 위한 NCBIXML 파싱이 포함됩니다. 계통분석 섹션에서는 Newick 트리 시각화를 위한 Phylo.read()와 Phylo.draw()를, 구조분석에서는 3D 구조 추출을 위한 PDBParser와 이차구조 계산을 위한 DSSP를 다룹니다.

주요 기능

  • SeqIO 모듈: FASTA, GenBank 등 서열 파일의 parse(), read(), write(), convert() 완전한 코드 예제 포함
  • Seq 객체 조작: complement(), reverse_complement(), transcribe(), translate() 미토콘드리아 코돈표 포함
  • 서열 분석 유틸리티: GC 함량 계산(gc_fraction()), DNA/RNA/단백질 분자량(molecular_weight()), JASPAR 모티프 합의 서열 검색
  • 쌍별 및 다중 서열 정렬: 커스텀 스코어링의 PairwiseAligner, Clustal/Stockholm용 AlignIO, BLOSUM62/PAM 행렬 로딩
  • NCBI Entrez API: 데이터베이스 검색(esearch()), 레코드 다운로드(efetch()), 메타데이터 조회(einfo()), 교차 DB 링크(elink())
  • BLAST 통합: NcbiblastnCommandline 로컬 실행, NCBIWWW.qblast() 온라인 검색, NCBIXML 결과 파싱(스코어, E-value 추출)
  • 계통분석: Newick/Nexus 트리 파일 Phylo.read(), 터미널 출력 draw_ascii(), matplotlib 고품질 그래픽 Phylo.draw()
  • 구조분석: PDB 파일의 model/chain/residue 계층 구조 PDBParser, DSSP 이차구조 할당

자주 묻는 질문

Biopython으로 다중 서열 FASTA 파일을 어떻게 읽나요?

SeqIO.parse()를 사용하면 SeqRecord 객체의 이터레이터가 반환됩니다: `for record in SeqIO.parse("sequences.fasta", "fasta"): print(record.id, len(record.seq))`. 단일 서열 파일은 SeqIO.read()를 사용하면 SeqRecord가 직접 반환됩니다. fasta, genbank, swiss, embl 등 다양한 포맷을 지원합니다.

Biopython에서 DNA 서열을 단백질로 어떻게 번역하나요?

Seq 객체를 생성하고 translate()를 호출합니다: `from Bio.Seq import Seq; seq = Seq("ATGGCCATTGTAATGGGCCGCTGA"); protein = seq.translate()`. 비표준 코돈표는 table 파라미터로 지정합니다: `seq.translate(table="Vertebrate Mitochondrial")`. transcribe()로 먼저 mRNA 서열을 얻을 수도 있습니다.

Biopython Entrez로 NCBI 데이터베이스를 어떻게 검색하나요?

먼저 이메일을 설정합니다: `Entrez.email = "you@example.com"`. 그런 다음 `Entrez.esearch(db="nucleotide", term="BRCA1[Gene] AND Homo sapiens[Organism]", retmax=10)`로 검색합니다. `Entrez.efetch(db="nucleotide", id="NM_007294", rettype="gb", retmode="text")`로 결과를 가져오고 SeqIO.read(handle, "genbank")로 파싱합니다.

Biopython에서 BLAST를 어떻게 실행하나요?

로컬 BLAST: `from Bio.Blast.Applications import NcbiblastnCommandline; cmd = NcbiblastnCommandline(query="query.fasta", db="nt", evalue=0.001, outfmt=6); stdout, stderr = cmd()`. 온라인 BLAST: `from Bio.Blast import NCBIWWW; result = NCBIWWW.qblast("blastn", "nt", sequence_string)`. XML 결과는 NCBIXML.parse()로 파싱합니다.

Biopython으로 쌍별 서열 정렬을 어떻게 수행하나요?

새로운 PairwiseAligner 클래스를 사용합니다: `from Bio.Align import PairwiseAligner; aligner = PairwiseAligner(); aligner.mode = "global"; aligner.match_score = 2; aligner.mismatch_score = -1; alignments = aligner.align("ATCGATCG", "ATGGATCG"); print(alignments[0])`. 이전 pairwise2.align 모듈도 사용 가능하지만 최신 버전에서는 deprecated되었습니다.

Biopython으로 계통수를 어떻게 시각화하나요?

`from Bio import Phylo; tree = Phylo.read("tree.nwk", "newick")`로 트리를 읽습니다. 빠른 ASCII 보기: `Phylo.draw_ascii(tree)`. 출판 품질 그래픽: `import matplotlib.pyplot as plt; fig, ax = plt.subplots(figsize=(10, 8)); Phylo.draw(tree, axes=ax); plt.savefig("tree.png")`. Newick, Nexus, PhyloXML 형식을 지원합니다.

Biopython으로 PDB 구조 파일을 어떻게 파싱하나요?

PDBParser를 사용합니다: `from Bio.PDB import PDBParser; parser = PDBParser(QUIET=True); structure = parser.get_structure("protein", "1abc.pdb")`. structure > model > chain > residue > atom 계층을 탐색합니다. 이차구조는 DSSP를 사용합니다: `from Bio.PDB.DSSP import DSSP; dssp = DSSP(model, "1abc.pdb")`로 각 잔기에 H(나선), E(시트), C(코일)을 할당합니다.

이 Biopython 레퍼런스는 무료이며 설치가 필요한가요?

네, 이 웹 기반 레퍼런스는 계정이나 다운로드 없이 완전히 무료입니다. 어떤 기기에서든 브라우저로 검색할 수 있는 코드 예제가 포함된 치트시트입니다. 실제 Biopython 코드를 실행하려면 Python 환경에서 `pip install biopython`으로 라이브러리를 설치해야 합니다. 이 레퍼런스는 올바른 구문과 예제를 빠르게 찾는 데 도움을 줍니다.