Воскресенье, 12 июля 2026
  • Главная
  • Новости
    • Новости медицины и фармации
    • Пресс-релизы
    • Добавить новость/пресс-релиз
  • Документы
    • Госреестр ЛС
    • Госреестр предельных отпускных цен
    • Нормативная документация
      • Общие положения
      • Управление в сфере здравоохранения
      • Медицинское страхование
      • Медицинские учреждения
      • Медицинские и фармацевтические работники
      • Бухгалтерский учет и отчетность
      • Медицинская документация Учет и отчетность
      • Обеспечение населения лекарственными средствами и изделиями медицинского назначения
      • Медицинская деятельность
      • Санитарно-эпидемиологическое благополучие населения
      • Ветеринария
    • Госреестр медизделий
    • Реестр разрешений на КИ медизделий
    • Реестр уведомлений о деятельности в обращении медизделий
    • Разрешения на ввоз медизделий
    • Изъятие ЛС
    • МКБ-10
  • Магазин
    • Медицина
    • Фармация
    • Биология, биохимия
    • Химия
  • Контакты
  • Вход
Recipe.Ru
  • Главная
  • Новости
    • Новости медицины и фармации
    • Пресс-релизы
    • Добавить новость/пресс-релиз
  • Документы
    • Госреестр ЛС
    • Госреестр предельных отпускных цен
    • Нормативная документация
      • Общие положения
      • Управление в сфере здравоохранения
      • Медицинское страхование
      • Медицинские учреждения
      • Медицинские и фармацевтические работники
      • Бухгалтерский учет и отчетность
      • Медицинская документация Учет и отчетность
      • Обеспечение населения лекарственными средствами и изделиями медицинского назначения
      • Медицинская деятельность
      • Санитарно-эпидемиологическое благополучие населения
      • Ветеринария
    • Госреестр медизделий
    • Реестр разрешений на КИ медизделий
    • Реестр уведомлений о деятельности в обращении медизделий
    • Разрешения на ввоз медизделий
    • Изъятие ЛС
    • МКБ-10
  • Магазин
    • Медицина
    • Фармация
    • Биология, биохимия
    • Химия
  • Контакты
Корзина / 0 ₽

Корзина пуста.

Нет результата
Просмотреть все результаты
Recipe.Ru
  • Главная
  • Новости
    • Новости медицины и фармации
    • Пресс-релизы
    • Добавить новость/пресс-релиз
  • Документы
    • Госреестр ЛС
    • Госреестр предельных отпускных цен
    • Нормативная документация
      • Общие положения
      • Управление в сфере здравоохранения
      • Медицинское страхование
      • Медицинские учреждения
      • Медицинские и фармацевтические работники
      • Бухгалтерский учет и отчетность
      • Медицинская документация Учет и отчетность
      • Обеспечение населения лекарственными средствами и изделиями медицинского назначения
      • Медицинская деятельность
      • Санитарно-эпидемиологическое благополучие населения
      • Ветеринария
    • Госреестр медизделий
    • Реестр разрешений на КИ медизделий
    • Реестр уведомлений о деятельности в обращении медизделий
    • Разрешения на ввоз медизделий
    • Изъятие ЛС
    • МКБ-10
  • Магазин
    • Медицина
    • Фармация
    • Биология, биохимия
    • Химия
  • Контакты
Корзина / 0 ₽

Корзина пуста.

Нет результата
Просмотреть все результаты
Recipe.Ru
Нет результата
Просмотреть все результаты
Главная Новости Новости медицины и фармации

Data mining Pubmed и Pubchem — баз медицинской и биохимической информации

25.09.2018
в Новости медицины и фармации

PubMed представляет собой более чем 28 миллионов цитированний (абстрактов и названий) биомедицинской литературы из журналов наук о жизни, онлайн книг и MEDLINE. Также цитирование может включать в себя полный текст статей. Типичный запрос в Пабмед — type 2 diabetes natural compound

Pubchem — база данных более 100 млн химический соединений и 236 млн веществ. Также в базе результаты биоактивности 1.25 млн соединений (например активность соединений против рака или ингибирования конкретного гена). На данный момент известно о 9 млн органических химических соединений (сложных веществ). Неорганических химических веществ может быть огромное количество — от 10**18

В этой статье я приведу примеры составления списка генов ответственных за плохой прогноз по выживаемости от рака и код поиска органических соединений и их номеров среди всех химических молекул базы ПабЧем. Никакого машинного обучения в этой статье не будет (машинное обучение понадобится в следующих статья по биомаркерам диабета, определения возраста человека по рнк-экспресии, скрининга противораковых веществ).

Для того, чтобы продолжить, установим необходимые python пакеты Biopython и pubchempy.

sudo conda install biopython  pip install pubchempy

PubMed

Майнить мы будем гены на их овер-экспрессию и недо-экспрессию в сочетании с плохим прогнозом рака — вот так выглядит типичный титл, запрос в пабмед и целевой ген:

(‘High expression of DEK predicts poor prognosis of gastric adenocarcinoma.’, ‘DEK poor prognosis’, ‘DEK’, 277, 15)

Для чего это нужно — по генам можно подсчитать фармакологическое действие молекул и их комбинаций на цели, которые связаны с плохим прогнозом рака. (Например по базе pubchem или LINCS).

Подгружаем файлы с именами генов (около 12000): Github

import csv genes=[];  with open('/Users/andrejeremcuk/Downloads/genes.txt', 'r') as fp :     reader = csv.reader(fp, delimiter='\t')     for i in range(20000):       genes.append(reader.next())  import time import numpy as np genesq=np.genfromtxt('/Users/andrejeremcuk/Downloads/genesq.txt',dtype='str') 

Для запроса в пабмед обязательно указать свою электронную почту:

from Bio import Entrez from Bio import Medline  MAX_COUNT = 100 Entrez.email = '*@yandex.ru' articles=[];genes_cancer_poor=[];genes_cancer_poor1=[];

Запросы и обработка результатов:

for u in range(0,len(genesq)):  print u  if u%100==0:    np.savetxt('/Users/andrejeremcuk/Downloads/genes_cancer_poor.txt', genes_cancer_poor,fmt='%s');   np.savetxt('/Users/andrejeremcuk/Downloads/genes_cancer_poor1.txt', genes_cancer_poor1, fmt='%s')  gene=genesq[u];genefullname=genes[u][2]  TERM=gene+' '+'poor prognosis'  try: h=Entrez.esearch(db='pubmed', retmax=MAX_COUNT, term=TERM)  except: time.sleep(5);h=Entrez.esearch(db='pubmed', retmax=MAX_COUNT, term=TERM)  result = Entrez.read(h)  ids = result['IdList']  h = Entrez.efetch(db='pubmed', id=ids, rettype='medline', retmode='text')  ret = Medline.parse(h)  fer=[];  for re in ret:   try: tr=re['TI'];   except: tr='0';   fer.append(tr);

Нахождение в тексте титла ключевых слов:

 for i in range(len(fer)):   gene1=fer[i].find(gene)   gene2=fer[i].find(genefullname)   #####   inc=fer[i].find("Increased")   highe=fer[i].find("High expression")   high=fer[i].find("High")   expr=fer[i].find("expression")   Overe=fer[i].find("Overexpression")   overe=fer[i].find("overexpression")   up1=fer[i].find("Up-regulation")   el1=fer[i].find("Elevated expression")   expr1=fer[i].find("Expression of ")   ####   decr=fer[i].find("Decreased")   loss=fer[i].find("Loss")   low1=fer[i].find("Low expression")   low2=fer[i].find("Low levels")   down1=fer[i].find("Down-regulated")   down2=fer[i].find("Down-regulated")   down3=fer[i].find("Downregulation")   #####   acc=fer[i].find("accelerates")   poor=fer[i].find("poor patient prognosis")   poor1=fer[i].find("poor prognosis")   poor2=fer[i].find("unfavorable clinical outcomes")   poor3=fer[i].find("unfavorable prognosis")   poor4=fer[i].find("poor outcome")   poor5=fer[i].find("poor survival")   poor6=fer[i].find("poor patient survival")   poor7=fer[i].find("progression and prognosis")   ###   canc=fer[i].find("cancer")   canc1=fer[i].find("carcinoma")

которые мы проверяем на порядок в титле и на присутствие по наиболее распространенным фразам.

  if (gene1!=-1)or(gene2!=-1): #poor1,poor,poor2,poor3,poor4,poor5,poor6,poor7    if (canc1!=-1)or(canc!=-1):     if (poor!=-1)or(poor1!=-1)or(poor2!=-1)or(poor3!=-1)or(poor4!=-1)or(poor5!=-1)or(poor6!=-1)or(poor7!=-1): #      genel=-1;      if (gene1!=-1): genel=gene1;      if (gene2!=-1): genel=gene2;      gene1=genel;      if (expr!=-1): #poor1,poor,poor2,poor3,poor4,poor5,poor6,poor7       if (gene1expr):         articles.append((fer[i],TERM,gene,u,i));genes_cancer_poor.append((gene,u,i,1))      if (low1!=-1)and(gene1!=-1):       if (low1gene1):         articles.append((fer[i],TERM,gene,u,i));genes_cancer_poor.append((gene,u,i,2))      if (el1!=-1)and(gene1!=-1):       if (el1gene1):         articles.append((fer[i],TERM,gene,u,i));genes_cancer_poor.append((gene,u,i,3))      if (Overe!=-1)and(gene1!=-1):       if (Overegene1):         articles.append((fer[i],TERM,gene,u,i));genes_cancer_poor.append((gene,u,i,4))      if (overe!=-1)and(gene1!=-1):       articles.append((fer[i],TERM,gene,u,i));genes_cancer_poor.append((gene,u,i,5))      if (expr1!=-1)and(gene1!=-1):       if (expr1gene1):         articles.append((fer[i],TERM,gene,u,i));genes_cancer_poor.append((gene,u,i,6))      if (up1!=-1)and(gene1!=-1):       if (up1gene1):         articles.append((fer[i],TERM,gene,u,i));genes_cancer_poor.append((gene,u,i,7))      if (highe!=-1)and(gene1!=-1):       if (highegene1):         articles.append((fer[i],TERM,gene,u,i));genes_cancer_poor.append((gene,u,i,8))      if (high!=-1)and(gene1!=-1)and(expr!=-1):       if (highgene1expr):         articles.append((fer[i],TERM,gene,u,i));genes_cancer_poor.append((gene,u,i,9))      if (gene1!=-1)and(expr1!=-1):       if (expr1gene1):         articles.append((fer[i],TERM,gene,u,i));genes_cancer_poor.append((gene,u,i,10))      if (gene1!=-1)and(inc!=-1):       if (incgene1):         articles.append((fer[i],TERM,gene,u,i));genes_cancer_poor.append((gene,u,i,11))      ###########      if (gene1!=-1)and(decr!=-1):       if (decrgene1):         articles.append((fer[i],TERM,gene,u,i,'low'));genes_cancer_poor1.append((gene,u,i,12))      if (gene1!=-1)and(loss!=-1):       if (lossgene1):         articles.append((fer[i],TERM,gene,u,i,'low'));genes_cancer_poor1.append((gene,u,i,13))      if (gene1!=-1)and(low1!=-1):       if (low1gene1):         articles.append((fer[i],TERM,gene,u,i,'low'));genes_cancer_poor1.append((gene,u,i,14))      if (gene1!=-1)and(low2!=-1):       if (low2gene1):         articles.append((fer[i],TERM,gene,u,i,'low'));genes_cancer_poor1.append((gene,u,i,15))      if (gene1!=-1)and(down1!=-1):       if (down1gene1):         articles.append((fer[i],TERM,gene,u,i,'low'));genes_cancer_poor1.append((gene,u,i,16))      if (gene1!=-1)and(down2!=-1):       if (down2gene1):         articles.append((fer[i],TERM,gene,u,i,'low'));genes_cancer_poor1.append((gene,u,i,17))      if (gene1!=-1)and(down3!=-1):       if (down3gene1):         articles.append((fer[i],TERM,gene,u,i,'low'));genes_cancer_poor1.append((gene,u,i,18))  

В результате получаем несколько списков: генов с низкой и с высокой экспрессией при плохом прогнозе рака.

Всего нашлось 913 статей с вхождение как ключевых слов так и целевых фраз.

PubChem

Эта база данных предоставляет два способа доступа к своей информации: через REST API в формате json где запрос выглядит так:

https://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/cid/2516/description/json

Важно запросов через этот путь не может быть больше 5 в секунду, но пока превышение лимитов я не проверял, должны спасти прокси.

И через библиотеку pubchempy:

import pubchempy as pcp c = pcp.Compound.from_cid(5090) c.canonical_smiles

Импорт необходимых пакетов PUG REST API:

import re import urllib, json, time import numpy as np

Функция которая очищает текст от хтмл-тэгов:

def cleanhtml(raw_html):   cleanr = re.compile('')   cleantext = re.sub(cleanr, '', raw_html)   return cleantext

В следующем коде мы будем открывать англоязычные описание молекул от 1 до 100000 номера в pubchem и искать намеки, что эта молекула имеет органическую природу (от растения животного или в составе напитка), при этом оно не токсично и не канцерогенно.

 natural=[]; for i in range(1,100000):  url = "https://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/cid/"+str(i)+"/description/json"  time.sleep(0.2)  try: response = urllib.urlopen(url)  except: time.sleep(12);response = urllib.urlopen(url)  data = json.loads(response.read())  op=0;ol=0;ot=0;  try:   for u in range(1,len(data['InformationList']['Information'])):    soup=str(data['InformationList']['Information'][u]['Description'])    soup1=cleanhtml(soup)     if (soup1.find('carcinogen')!=-1)or(soup1.find('death')!=-1)or(soup1.find('damage')!=-1): break;    if (soup1.find('toxic')!=-1): break;    if (soup1.find(' plant')!=-1)and(op!=9)and(soup1.find('planting')==-1):      natural.append((i,'plant',str(data['InformationList']['Information'][0]['Title'])));op=9;    if (soup1.find(' beverages')!=-1)and(ot!=9):      natural.append((i,'beverages',str(data['InformationList']['Information'][0]['Title'])));ot=9;    if (soup1.find(' animal')!=-1)and(ol!=9):      natural.append((i,'animal',str(data['InformationList']['Information'][0]['Title'])));ol=9;  except: ii=0;  if i%100==0: print i;np.savetxt('/Users/andrejeremcuk/Downloads/natural.txt', natural,fmt='%s', delimiter='')

Для поиска упоминаний в тексте растения используем .find(‘ plant’). В конце сохраняем файл с получившимися органическими соединениями и их номерами в ПабЧем-е.

→ Github

Пред.

СП: финансирование лечения онкозаболеваний распределяется неравномерно

След.

Цукерберг финансирует: Как «подружить» оптические технологии и биомедицину

СвязанныеСообщения

В ярославской «Областной фармации» опустели полки
Новости медицины и фармации

В ярославской «Областной фармации» опустели полки

10.07.2026
«Круг добра» снова расширил перечни заболеваний, лекарственных препаратов, медизделий и видов уникальной медпомощи
Новости медицины и фармации

«Круг добра» снова расширил перечни заболеваний, лекарственных препаратов, медизделий и видов уникальной медпомощи

10.07.2026
Вениамин Мунблит: что такое успешный лонч
Новости медицины и фармации

Вениамин Мунблит: что такое успешный лонч

10.07.2026
След.
Цукерберг финансирует: Как «подружить» оптические технологии и биомедицину

Цукерберг финансирует: Как «подружить» оптические технологии и биомедицину

Добавить комментарий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Товары

  • Surgery — Mastering Principles, Practice, and Techniques Surgery - Mastering Principles, Practice, and Techniques 342 ₽
  • Anesthesiology and Reanimatology Books Anesthesiology and Reanimatology Books 342 ₽
  • Основные принципы артроскопии Основные принципы артроскопии 342 ₽
  • Harvard Internal Medicine Board Review DVD Harvard Internal Medicine Board Review DVD 684 ₽

Товары

  • Surgical Education and Self-Assessment Program Surgical Education and Self-Assessment Program 342 ₽
  • Manual Therapy 2 CD Manual Therapy 2 CD 684 ₽
  • Interactive Hand — Surgical Anatomy Interactive Hand - Surgical Anatomy 342 ₽
  • Tetrahedron 1979-1990 Tetrahedron 1979-1990 684 ₽
  • Оперативное лечение желчнокаменной болезни. Оперативное лечение желчнокаменной болезни. 342 ₽

Метки

AstraZeneca FDA RNC Pharma Алексей Водовозов ВОЗ Вакцина Лекарства Минздрав Москва Подкасты Производство Роспотребнадзор ФАС вакцинация вакцинация от коронавирусной инфекции видеолекции дети исследование исследования клинические исследования книги для врачей коронавирус коронавирус 2019 коронавирус 2021 коронавирусная инфекция мероприятия новости Remedium новости медицины онкология опрос подкаст продажи проект разработка рак регистрация рост рынок лекарств сахарный диабет сделка статьи для врачей сша фармацевтика фармация фармрынок РФ

Свежие записи

  • В ярославской «Областной фармации» опустели полки
  • «Круг добра» снова расширил перечни заболеваний, лекарственных препаратов, медизделий и видов уникальной медпомощи
  • Вениамин Мунблит: что такое успешный лонч
  • Индийская Lupin отозвала 2,5 млн флаконов глазных капель с преднизолоном в США
  • Врожденный ихтиоз включен в перечень заболеваний «Круга добра»
  • О нас
  • Реклама
  • Политика конфиденциальности
  • Контакты

© 1999 - 2022 Recipe.Ru - фармацевтический информационный сайт.

Добро пожаловать!

Войдите в свой аккаунт ниже

Забыли пароль?

Восстановите ваш пароль

Пожалуйста, введите ваше имя пользователя или адрес электронной почты, чтобы сбросить пароль.

Вход
Нет результата
Просмотреть все результаты
  • Главная
  • Новости
    • Новости медицины и фармации
    • Пресс-релизы
    • Добавить новость/пресс-релиз
  • Документы
    • Госреестр ЛС
    • Госреестр предельных отпускных цен
    • Нормативная документация
      • Общие положения
      • Управление в сфере здравоохранения
      • Медицинское страхование
      • Медицинские учреждения
      • Медицинские и фармацевтические работники
      • Бухгалтерский учет и отчетность
      • Медицинская документация Учет и отчетность
      • Обеспечение населения лекарственными средствами и изделиями медицинского назначения
      • Медицинская деятельность
      • Санитарно-эпидемиологическое благополучие населения
      • Ветеринария
    • Госреестр медизделий
    • Реестр разрешений на КИ медизделий
    • Реестр уведомлений о деятельности в обращении медизделий
    • Разрешения на ввоз медизделий
    • Изъятие ЛС
    • МКБ-10
  • Магазин
    • Медицина
    • Фармация
    • Биология, биохимия
    • Химия
  • Контакты

© 1999 - 2022 Recipe.Ru - фармацевтический информационный сайт.

Go to mobile version