База данных белков Ncbi, как получить последовательности белков из конкретного биопроекта (скрипт python)

Я пытаюсь получить последовательности кодирующих белков из базы данных NCBI из конкретных биопроектов. Это может быть достигнуто как-то с помощью веб-браузера. Например, вы можете найти интересующий вас конкретный биопроект и «щелкнуть» по соответствующему белку: http://www.ncbi.nlm.nih.gov/genome/proteins/994?project_id=207383, которые позволяют увидеть весь белок из биопроекта "207383" и для Геном "994". Я хотел бы автоматически получать эти белковые последовательности, используя python.

Для этого я использовал «Электронные утилиты» от NCBI. В основном "elink.fcgi?" которые позволяют получить все UID базы данных (скажем, «Белок»), связанные с определенным UID базы данных (скажем, UID BioProject). Итак, вот мой запрос URL-адреса entrez:
http://eutils.ncbi.nlm.nih.gov/entrez/eutils/elink.fcgi?dbfrom=bioproject&linkname=bioproject_protein&id=207383
Затем я получаю список белковых UID, и это здорово так как они мне нужны для моего следующего запроса с efetch.fcgi? «Электронная утилита». Этот запрос позволит мне получить все, что мне нужно.

ОК, так что все отлично, все работает нормально, НО, номер UID белка, который я получаю из моего "elink.fcgi?" request не совпадает с количеством белка, отображаемым при ручном поиске в веб-браузере. Хуже того, поинтересовавшись происхождением этих проблем, вы увидите отсутствующие последовательности или последовательности из более высоких таксонов (которые также никак не связаны с БиоПроектом).

Вот пример: первая ссылка этого поста отображает количество 4014 последовательностей, когда запрос python дает мне 3957 UID белка.

Я попробовал некоторые другие подходы, такие как получение всех UID белков, связанных с UID таксономии. Это обычно дает вам больше последовательностей, чем нужно, поскольку существуют разные биопроекты (также дает вам несколько двойников с разными именами и одним и тем же Fasta).

Есть ли способ сделать это, который мог бы работать?


person user2991786    schedule 14.11.2013    source источник


Ответы (1)


Я также нахожу работу с NCBI чрезвычайно разочаровывающей. Я поражен, что такой источник данных даже не дает нам чистого способа загрузки. Вместо этого он предлагает несколько ужасных перекрестных ссылок и позволяет пользователям самим разбираться во всем этом.

Мое решение из этого поста

Как скачать бактериальные геномы с помощью Entrez API

Обязательно измените db на «nuccore» и реттайп на «fasta_cds_aa». Также проверьте загруженный файл fasta на его идентификатор таксономии, чтобы убедиться, что это именно тот сорт, о котором вы спрашиваете (этот последний меня сильно испортил, тяжелый урок).

person dgg32    schedule 22.03.2014