Редактирование:
Работа с базой данных PubMed
Перейти к навигации
Перейти к поиску
Внимание:
Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы
войдёте
или
создадите учётную запись
, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.
Анти-спам проверка.
Не
заполняйте это!
== Полный дамп пабмеда == * ftp://ftp.ncbi.nlm.nih.gov/pubmed/baseline − фтп архив для свободного скачивания по анонимному логину. В архиве около 50 Гб сжатых файлов вида <code>pubmed<year_when_dumped>n<index>xml.gz</code> содержат около 31 миллиона [[MEDLINE (формат данных)|medline]] записей. Файлы большие, могут биться при закачке. Поэтому рекомендуется после загрузки проверить контрольные суммы, скачав с сервера файлы .md5. В линуксе проверку по всему массиву файлов можно сделать например так: <syntaxhighlight lang="Bash">md5sum -c pubmed21n*.xml.gz.md5</syntaxhighlight> показать количество побитых файлов: <syntaxhighlight lang="Bash">md5sum -c pubmed21n*.xml.gz.md5 2>/dev/null | grep FAILED | wc -l</syntaxhighlight> ==Страница публикации с конкретным pmid== <nowiki>https://pubmed.ncbi.nlm.nih.gov/[pmid]</nowiki> ==Получение [[medline]] записи по pmid== <nowiki>https://api.ncbi.nlm.nih.gov/lit/ctxp/v1/pubmed/?format=medline&id=[pmid]</nowiki> ==Получение pmid статей по запросу== Для получения списка айдишников статей по ключевому слову можно использовать get-запрос: <!-- конкретный пример: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pubmed&term=longevity&tool=just_a_browser_address_string&email=my_mail@example.com&format=json&retmax=100 --> <pre><nowiki>https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pubmed&tool=[название вашего скрипта]&email=[контактный email]&format=json&term=[ключевое слово]</nowiki></pre> Результат будет примерно такой: <syntaxhighlight lang="json"> { "header": { "type":"esearch", "version":"0.3"}, "esearchresult": { "count":"556850", "retmax":"20", "retstart":"0", "idlist":["7956338", "7956337", "7956317", "7956313", "7956301", "7956298", "7956293", "7956291", "7956287", "7956282", "7956276", "7956270", "7956269", "7956239", "7956238", "7956234", "7956232", "7956215", "7956214", "7956207"], "translationset":[{ "from":"aging", "to":"\"aging\"[MeSH Terms] OR \"aging\"[All Fields]"}], "translationstack":[ { "term":"\"aging\"[MeSH Terms]", "field":"MeSH Terms", "count":"49929", "explode":"Y"}, { "term":"\"aging\"[All Fields]", "field":"All Fields", "count":"557471", "explode":"N"}, "OR", "GROUP"], "querytranslation":"\"aging\"[MeSH Terms] OR \"aging\"[All Fields]"} } </syntaxhighlight> Соответственно, список id статей: <code><res>.esearchresult.idlist</code> ===Параметры запроса=== * '''db''' − какую базу данных запрашиваем. Возможные значения: <code>pmc, pubmed</code>. Разница между PMC и PubMed в том, что на PMC статьи с полнотекстовым доступом, а на PubMed не всегда. Зато на PubMed больший охват статей по абстрактам. Учитывая то, что полный текст интересующей статьи достать [https://sci-hub.do не так уж и трудно], установка ''db'' в значение ''pubmed'' выглядит более предпочтительной. * '''tool''' − PubMed просит указывать название инструментария или программы, которая работает с API. (Я указываю ''"odysseus"'' - по названию своей библиотеки, расширяющей Racket. -- [[Участник:Denis.s|Denis.s]] ([[Обсуждение участника:Denis.s|обсуждение]])) * '''email''' − реальный почтовый ящик, тоже по просьбе PubMeda. Неизвестно насколько страшно указывать в этом параметре значение типа foobar@example.com и какие кары за это могут последовать * '''format''' − в каком формате выводить результат. По умолчанию выводится XML. (Я ставлю значение ''json'', потому что мне кажется, что json чуть легче парсить и "читать вручную". -- [[Участник:Denis.s|Denis.s]] ([[Обсуждение участника:Denis.s|обсуждение]])) * '''retmax''' − максимальное число выводимых id * '''term''' − собственно ключевое слово, по которому происходит отбор статей. Либо комбинация ключевых слов и частей записи, в которых они должны встретиться. Например <code>(aging[Abstract] AND aging[MeSH Terms]) OR (longevity[Abstract] AND longevity[MeSH Terms])</code> ===Тьюториалы=== * [https://www.ncbi.nlm.nih.gov/books/NBK25499/ ncbi.nlm.nih.gov/books/NBK25499 − Подробная статья про параметры GET запросов]
Описание изменений:
Пожалуйста, учтите, что любой ваш вклад в проект «hpluswiki» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см.
Hpluswiki:Авторские права
).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!
Отменить
Справка по редактированию
(в новом окне)
Навигация
Персональные инструменты
Вы не представились системе
Обсуждение
Вклад
Создать учётную запись
Войти
Пространства имён
Статья
Обсуждение
русский
Просмотры
Читать
Править
История
Ещё
Навигация
Начало
Свежие правки
Случайная страница
Инструменты
Ссылки сюда
Связанные правки
Служебные страницы
Сведения о странице
Дополнительно
Как редактировать
Вики-разметка
Telegram
Вконтакте
backup