2013-11-14 5 views
1

특정 bioproject에서 NCBI 데이터베이스에서 단백질 코드 시퀀스를 검색하려고합니다. 이것은 웹 브라우저를 사용하여 어떻게 든 이루어질 수 있습니다. 예를 들어 관심있는 특정 생물 프로젝트를 찾고 관련 단백질을 클릭하면 ( http://www.ncbi.nlm.nih.gov/genome/proteins/994?project_id=207383) BioProject "207383"과 Genome "994"의 모든 단백질을 볼 수 있습니다. 나는 파이썬을 사용하여 자동적으로 단백질 서열을 얻고 싶다.Ncbi 단백질 데이터베이스, 특정 bioproject (python 스크립트)에서 단백질 시퀀스를 얻는 방법

NCBI의 "E-utility"를 사용하기 위해서. 주로 "elink.fcgi?" 데이터베이스의 특정 UID (예 : BioProject UID)에서 연결된 데이터베이스의 모든 UID ("Protein"이라고 말하게 함)를 가져올 수 있습니다. 그래서 여기에 내 entrez URL 요청입니다 :
http://eutils.ncbi.nlm.nih.gov/entrez/eutils/elink.fcgi?dbfrom=bioproject&linkname=bioproject_protein&id=207383
다음 나는 efetch.fcgi 내 다음 요청에 대한 필요하기 때문에 좋은 단백질 UID 목록을 얻을? "E- 유틸리티". 이 요청은 내가 필요한 모든 것을 얻을 수있게 해줍니다.

OK, 모든 것이 훌륭합니다. 그렇지만 단백질 UID의 숫자는 "elink.fcgi"에서 얻을 수 있습니다. 요청은 수동 웹 broswer 기반 검색으로 표시되는 단백질의 수와 동일하지 않습니다. 더 나쁜 것은 이러한 문제의 기원을 묻는 즉시 상위 분류군에서 누락 된 서열이나 서열을 보게됩니다 (어떤 식 으로든 BioProject와 연결되지 않음).

다음 예가 있습니다.이 게시물의 첫 번째 링크는 Python 요청이 나를 3957 Protein UID로 가져올 때 4014 개의 시퀀스를 표시합니다.

분류법 UID에서 링크 된 모든 단백질 UID를 얻는 것과 같은 다른 접근법을 시도했습니다. 이것은 대개 다른 bioproject가 있기 때문에 원하는 것보다 더 많은 순차를 제공합니다 (또한 다른 이름과 동일한 Fasta로 몇 가지 복식을 제공합니다).

마이그레이션 작업을 수행 할 수있는 방법이 있습니까?

답변

2

또한 NCBI와 함께 작업하는 것이 매우 실망 스럽습니다. 나는 그러한 데이터 소스가 우리에게 깔끔한 다운로드 방법을 제공하지 않는다는 것에 놀라움을 금치 못했다. 대신 끔찍한 크로스 링킹을 제공하고 사용자가 모든 것을 스스로 파악하도록합니다.

내 솔루션

How to Download Bacterial Genomes Using the Entrez API

것은 확실 변화에게 DB를 "nuccore"및 rettype 함수 "fasta_cds_aa"를 만나이 게시물에서입니다. 또한 다운로드 한 fasta 파일의 분류 ID를 확인하여 그것이 정확히 당신이 물어 보는 스트레인이되는지 확인하십시오. (이 마지막 하나는 큰 시간을, 열심히 배운 레슨을 망쳤습니다.)