UniProt Reference
UniProt 단백질 데이터베이스 검색/API/포맷 레퍼런스
UniProt Reference 소개
UniProt Reference는 생물정보학에서 가장 포괄적인 단백질 서열 및 기능 주석 데이터베이스인 Universal Protein Resource(UniProt)를 위한 검색 가능한 치트 시트입니다. UniProtKB 식별자(P04637(인간 p53) 같은 6 또는 10자 접수번호, TP53_HUMAN 같은 PROTEIN_SPECIES 형식의 엔트리명), 유전자명, 생물 ID, EC 번호, 검토 상태로 쿼리하는 검색 구문(reviewed:true로 ~57만 수동 큐레이션된 Swiss-Prot 항목 vs reviewed:false로 ~2.5억 자동 주석된 TrEMBL 항목)을 다룹니다.
rest.uniprot.org의 UniProt REST API를 문서화합니다. 단백질 조회(JSON, FASTA, TXT, XML, GFF 포맷), 필드 필터링과 페이징을 포함한 프로그래밍 검색, 외부 데이터베이스(GeneCards, Ensembl, PDB)와 UniProt 접수번호 간 ID 매핑, 전체 프로테옴 다운로드를 위한 대량 데이터 스트리밍 엔드포인트를 다룹니다. Function(생물학적 활성 및 GO 용어), Subcellular Location(신호 펩타이드, 막관통 영역), Protein Existence 수준(PE 1-5), Feature 유형(DOMAIN, BINDING, ACT_SITE, MOD_RES, VARIANT, MUTAGEN), 번역후 변형, dbSNP/ClinVar 크로스레퍼런스가 있는 질병 관련 변이 등 단백질 정보 섹션도 다룹니다.
데이터 포맷 섹션은 FASTA 헤더 구조(sp|접수번호|엔트리명 뒤에 OS, OX, GN, PE, SV 필드), UniProt 플랫 파일 라인 코드(ID, AC, DE, GN, OS, DR, FT), 프로그래밍 파싱을 위한 구조화된 XML 출력을 설명합니다. 관련 데이터베이스도 다룹니다 — UniRef 클러스터(서열 중복 감소를 위한 UniRef100/90/50), UniParc(비중복 서열 아카이브), 참조 프로테옴(Homo sapiens용 UP000005640), Gene Ontology 주석(분자 기능, 생물학적 과정, 세포 구성 요소), PDB, Pfam, InterPro, KEGG, Ensembl로의 외부 크로스레퍼런스. REST API 접근을 위한 Python 코드 예제가 포함됩니다. 모든 콘텐츠는 브라우저에서만 실행됩니다.
주요 기능
- UniProtKB 식별자 형식: 접수번호, 엔트리명, Swiss-Prot vs TrEMBL 구분
- 유전자명, 생물 ID, EC 번호, 검토 상태 필터를 포함한 완전한 검색 구문
- REST API 문서: 단백질 조회, 검색, ID 매핑, 스트리밍, 필드 선택 엔드포인트
- 단백질 주석 섹션: Function, Subcellular Location, PE 수준, Features, PTM, 질병 변이
- 데이터 포맷 레퍼런스: FASTA 헤더 필드, 플랫 파일 라인 코드, GFF, XML 구조
- 관련 데이터베이스: UniRef 클러스터, UniParc, 프로테옴, GO 주석, 외부 크로스레퍼런스
- 프로그래밍 REST API 접근 및 응답 파싱을 위한 Python 코드 예제
- 카테고리별 검색 및 필터링: 식별자, REST API, 단백질 정보, 포맷, 관련 DB
자주 묻는 질문
Swiss-Prot과 TrEMBL의 차이는 무엇인가요?
Swiss-Prot(reviewed:true)은 전문 생물학자가 수동으로 큐레이션하고 검토한 약 57만 단백질 항목을 포함하며, 실험적으로 검증된 주석과 문헌 참조가 있습니다. TrEMBL(reviewed:false)은 수동 검토 없이 컴퓨터 파이프라인으로 자동 주석된 약 2.5억 항목을 포함합니다. Swiss-Prot 항목은 높은 신뢰도로 연구에 선호되며, TrEMBL은 컴퓨터 예측 단백질을 포함하여 더 넓은 범위를 제공합니다.
UniProt을 프로그래밍 방식으로 검색하는 방법은?
https://rest.uniprot.org/uniprotkb/search의 REST API를 쿼리 매개변수와 함께 사용합니다. 예: ?query=(gene:BRCA1)+AND+(organism_id:9606)&format=json&size=10으로 인간 BRCA1 항목을 JSON 형식으로 검색합니다. fields(accession, protein_name, gene_names, organism_name), format(json, tsv, fasta, xml), 페이징(size, cursor)으로 필터링할 수 있습니다. &fields= 매개변수는 선택한 컬럼만 반환하여 대규모 쿼리의 대역폭을 줄입니다.
Protein Existence(PE) 수준은 무엇을 의미하나요?
PE 수준은 단백질 존재를 뒷받침하는 증거 유형을 나타냅니다: PE 1 = 단백질 수준의 실험적 증거(질량 분석법, X선 등), PE 2 = 전사체 수준 증거(mRNA 검출되었으나 단백질 직접 확인 안 됨), PE 3 = 다른 종의 특성화된 단백질에서 상동성으로 추론, PE 4 = 유전자 예측 알고리즘으로 예측, PE 5 = 불확실/의심스러움. 높은 신뢰도 분석에는 PE 1 항목으로 필터링하세요.
UniProt과 다른 데이터베이스 간 ID를 매핑하는 방법은?
ID 매핑 API를 사용합니다: https://rest.uniprot.org/idmapping/run에 POST로 소스 데이터베이스(from=GeneCards, Ensembl, PDB, RefSeq 등)와 대상(to=UniProtKB)을 지정합니다. API가 작업 ID를 반환하며 https://rest.uniprot.org/idmapping/results/{jobId}에서 결과를 폴링합니다. 일괄 변환을 처리하며 수십 개의 외부 데이터베이스를 지원합니다.
UniProt FASTA 헤더 형식은 어떻게 되나요?
UniProt FASTA 헤더는 다음 구조를 따릅니다: >db|접수번호|엔트리명 설명 OS=생물명 OX=분류학ID GN=유전자명 PE=단백질존재 SV=서열버전. 예: >sp|P04637|P53_HUMAN Cellular tumor antigen p53 OS=Homo sapiens OX=9606 GN=TP53 PE=1 SV=4. "sp" 접두사는 Swiss-Prot(수동 검토), "tr"은 TrEMBL(자동 주석)을 나타냅니다. 이 헤더 형식은 표준화되어 있으며 대부분의 생물정보학 도구에서 파싱할 수 있습니다.
UniProt 주석의 Feature 유형은 무엇인가요?
Feature 유형은 단백질 서열의 특정 영역이나 위치에 주석을 달니다. 주요 유형: DOMAIN(기능 도메인 경계), BINDING(리간드/기질 결합 부위), ACT_SITE(촉매 활성 부위 잔기), MOD_RES(phosphoserine 같은 번역후 변형), VARIANT(dbSNP ID와 ClinVar의 임상적 의의가 있는 자연 서열 변이), MUTAGEN(실험적으로 도입된 돌연변이와 그 효과), CHAIN(신호 펩타이드 절단 후 성숙 단백질), TRANSMEM(막관통 나선 영역).
UniRef 클러스터란 무엇이고 언제 사용하나요?
UniRef는 3가지 동일성 임계값에서 사전 계산된 서열 클러스터를 제공합니다: UniRef100(동일 서열 병합), UniRef90(90%+ 동일성), UniRef50(50%+ 동일성). UniRef90 또는 UniRef50을 사용하여 빠른 BLAST 검색을 위해 서열 데이터베이스의 중복을 줄이거나, 머신러닝용 비중복 훈련 세트를 만들거나, 대규모 분석의 계산 비용을 줄일 수 있습니다. 각 클러스터에는 일반적으로 가장 잘 주석된 Swiss-Prot 항목인 대표 서열이 있습니다.
Python으로 UniProt 데이터에 접근하는 방법은?
requests 라이브러리로 REST API를 호출합니다: import requests; resp = requests.get("https://rest.uniprot.org/uniprotkb/P04637.json"); data = resp.json(). JSON 응답에는 proteinDescription, gene, organism, comments(function, subcellular location), features(domains, variants), cross-references 등 구조화된 데이터가 포함됩니다. 대량 작업에는 format=tsv 또는 format=fasta로 stream 엔드포인트를 사용하여 파일에 직접 쓸 수 있습니다.