Получение информации из онлайн-базы данных с использованием списка идентификационных номеров

Я видел невероятно похожие проблемы, вызванные отсутствием правильных драйверов - настоятельно рекомендую найти драйвер AMD для вашей карты. Драйверы доступны из:

http://support.amd.com/en-us/download/desktop/previous/detail?os=Ubuntu%20x86%2064&rev=15.9

Драйвер поставляется с полными инструкциями по установке, если память работает, и вы должны быть запущены и работать не более 30 минут, когда ваш рабочий стол снова выглядит нормально.

2
задан 26 April 2018 в 10:59

2 ответа

Вы можете использовать цикл оболочки для обработки идентификаторов, curl или wget для получения данных, а инструменты, такие как pup, обрабатывать HTML. Например, скажем, что идентификаторы находятся в файле с именем foo, тогда вы можете сделать:

while read id do curl -sL "https://www.ebi.ac.uk/chembl/compound/inspect/$id" | pup 'tr:parent-of(td:contains("Canonical SMILES")) td:nth-child(2) text{}' done < foo

Здесь я использовал команду pup для:

look для таблицы, содержащей Canonical SMILES - td:contains("..."), получите родительскую строку этого параметра - tr:parent-of(...) и напечатайте вторую ячейку в этой строке: td:nth-child(2) text{}

Я получаю вывод как:

CC1=CN([C@H]2C[C@H](N=[N+]=[N-])[C@H](O2)C(=O)N)C(=O)NC1=O NC(=O)[C@H]1O[C@H](C[C@@H]1N=[N+]=[N-])N2C=CC(=O)NC2=O NC1=NC(=O)N(Cc2cn(nn2)[C@H]3C[C@H](O)[C@@H](CO)O3)C=C1 CC1(C)CC[C@@]2([C@H](O)C[C@]3(C)C(=CC[C@@H]4[C@@]5(C)CCC(N)C ... Download SMILES COC(=O)c1nn(c2cccc(F)c2)c3c4ccccc4S(=O)(=O)N(C)c13 COC(=O)[C@H](C)NP(=O)(OC[C@H]1O[C@@H](N2C=CC(=O)NC2=O)[C@](C ... Download SMILES CCO[C@]1(CO)O[C@H]([C@H](O)[C@@H]1O)N2C=CC(=NC2=O)N

Я оставлю это вам, чтобы изучить HTML и выяснить другие фильтры.

2
ответ дан 17 July 2018 в 16:16

Вы можете использовать цикл оболочки для обработки идентификаторов, curl или wget для получения данных, а инструменты, такие как pup, обрабатывать HTML. Например, скажем, что идентификаторы находятся в файле с именем foo, тогда вы можете сделать:

while read id do curl -sL "https://www.ebi.ac.uk/chembl/compound/inspect/$id" | pup 'tr:parent-of(td:contains("Canonical SMILES")) td:nth-child(2) text{}' done < foo

Здесь я использовал команду pup для:

look для таблицы, содержащей Canonical SMILES - td:contains("..."), получите родительскую строку этого параметра - tr:parent-of(...) и напечатайте вторую ячейку в этой строке: td:nth-child(2) text{}

Я получаю вывод как:

CC1=CN([C@H]2C[C@H](N=[N+]=[N-])[C@H](O2)C(=O)N)C(=O)NC1=O NC(=O)[C@H]1O[C@H](C[C@@H]1N=[N+]=[N-])N2C=CC(=O)NC2=O NC1=NC(=O)N(Cc2cn(nn2)[C@H]3C[C@H](O)[C@@H](CO)O3)C=C1 CC1(C)CC[C@@]2([C@H](O)C[C@]3(C)C(=CC[C@@H]4[C@@]5(C)CCC(N)C ... Download SMILES COC(=O)c1nn(c2cccc(F)c2)c3c4ccccc4S(=O)(=O)N(C)c13 COC(=O)[C@H](C)NP(=O)(OC[C@H]1O[C@@H](N2C=CC(=O)NC2=O)[C@](C ... Download SMILES CCO[C@]1(CO)O[C@H]([C@H](O)[C@@H]1O)N2C=CC(=NC2=O)N

Я оставлю это вам, чтобы изучить HTML и выяснить другие фильтры.

2
ответ дан 23 July 2018 в 17:10
  • 1
    Большое спасибо. Я пытаюсь проверить это. но где записывается вывод? – Tahereh S 25 April 2018 в 09:29
  • 2
    Я не могу получить результат. Я не получил никаких ошибок, но нет выхода! – Tahereh S 25 April 2018 в 16:54
  • 3
    @TaherehS Это отлично работает для меня. Что именно вы сделали? Вы установили pup, правильно? В этом ответе слово foo - это имя файла, содержащего идентификаторы наркотиков. Вы не получаете выход, если файл существует, но пуст. Вы не получаете выход, и команда никогда не заканчивается, если вы переместите оператор перенаправления в неправильный путь. Не могли бы вы дать нам понять, что могло бы пойти не так в вашем случае? – Zanna 26 April 2018 в 10:58
  • 4
    @Zanna Я поместил имя своего файла вместо foo и выполнил скрипт. У меня нет выхода. должен ли я определить файл, чтобы поместить в него результат? следующим образом: & gt; output.txt? не нужно ли определять «id» в первой части скрипта? – Tahereh S 27 April 2018 в 03:41
  • 5
    теперь я получаю «EOF» в качестве моего выхода! – Tahereh S 27 April 2018 в 06:48

Другие вопросы по тегам:

Похожие вопросы: