특정 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로 몇 가지 복식을 제공합니다).
마이그레이션 작업을 수행 할 수있는 방법이 있습니까?