{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Massive PubMed record summary querier" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import bz2\n", "import collections\n", "import datetime\n", "import gzip\n", "import os\n", "import time\n", "import xml.etree.ElementTree\n", "\n", "import pandas\n", "import requests" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# `esearch`: retrieve all PubMed article IDs" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def esearch_query(payload, retmax = 10000, sleep=0.34):\n", " \"\"\"\n", " Return identifiers using the ESearch E-utility.\n", " \"\"\"\n", " url = 'http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi'\n", " payload['rettype'] = 'xml'\n", " payload['retmax'] = retmax\n", " payload['retstart'] = 0\n", " ids = list()\n", " count = 1\n", " while payload['retstart'] < count:\n", " response = requests.get(url, params=payload)\n", " tree = xml.etree.ElementTree.fromstring(response.text)\n", " count = int(tree.findtext('Count'))\n", " ids += [id_.text for id_ in tree.findall('IdList/Id')]\n", " payload['retstart'] += retmax\n", " print('esearch {:.3%} complete'.format(payload['retstart'] / count), end='\\r')\n", " time.sleep(sleep)\n", " return ids" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "%%time\n", "# Run esearch queries\n", "payload = {'db': 'pubmed', 'term': 'journal article[pt] AND 1960:2015[pdat]'}\n", "pubmed_ids = esearch_query(payload)\n", "pubmed_ids = sorted(map(int, pubmed_ids))\n", "len(pubmed_ids)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Save pubmed IDs to a TSV\n", "id_df = pandas.DataFrame({'pubmed_id': pubmed_ids})\n", "path = os.path.join('download', 'esearch_journal-articles_1960-2015.tsv.gz')\n", "with gzip.open(path, 'wt') as write_file:\n", " id_df.to_csv(write_file, sep='\\t', index=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# `esummary`: retrieve article summaries" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "22499113" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Read pubmed IDs\n", "path = os.path.join('download', 'esearch_journal-articles_1960-2015.tsv.gz')\n", "pubmed_ids = list(pandas.read_table(path).pubmed_id)\n", "len(pubmed_ids)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def pubmed_esummary(ids, write_file, retmax=100, retmin=20, sleep=0.34, error_sleep=10):\n", " \"\"\"Submit an ESummary query for PubMed records and write results as xml to write_file.\"\"\"\n", " \n", " # Base URL for PubMed's esummary eutlity\n", " url = 'http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi'\n", " \n", " # Set up progress stats\n", " n_total = len(ids)\n", " n_complete = 0\n", " start_time = time.perf_counter()\n", " time_last = time.perf_counter()\n", " successive_errors = 0\n", " \n", " # Write first line of XML\n", " write_file.write('\\n')\n", "\n", " # Set up queue\n", " idq = collections.deque()\n", " for i in range(0, len(ids), retmax):\n", " idq.append(ids[i:i+retmax])\n", "\n", " # Query until the queue is empty\n", " while idq:\n", " time.sleep(sleep)\n", " id_subset = idq.popleft()\n", " id_subset_len = len(id_subset)\n", " \n", " # Perform eutilities API request\n", " id_string = ','.join(map(str, id_subset))\n", " payload = {'db': 'pubmed', 'id': id_string, 'rettype': 'xml'}\n", " time_this = time.perf_counter()\n", " wait = time_this - time_last\n", " time_last = time_this\n", " try:\n", " response = requests.get(url, params=payload)\n", " tree = xml.etree.ElementTree.fromstring(response.text)\n", " successive_errors = 0\n", " except Exception as e:\n", " successive_errors += 1\n", " print('{} successive error: {} IDs [{} ... {}] threw {}'.format(\n", " successive_errors, id_subset_len, id_subset[0], id_subset[-1], e))\n", " if id_subset_len >= retmin * 2:\n", " mid = len(id_subset) // 2\n", " idq.appendleft(id_subset[:mid])\n", " idq.appendleft(id_subset[:mid])\n", " else:\n", " idq.appendleft(id_subset)\n", " time.sleep(error_sleep * successive_errors)\n", " continue\n", "\n", " # Write XML to file\n", " for docsum in tree.getchildren():\n", " xml_str = xml.etree.ElementTree.tostring(docsum, encoding='unicode')\n", " write_file.write(xml_str)\n", " \n", " # Report progress\n", " n_complete += id_subset_len\n", " time_per_id = (time.perf_counter() - start_time) / n_complete\n", " remaining = (n_total - n_complete) * time_per_id\n", " remaining = datetime.timedelta(seconds=round(remaining))\n", " print('{:.4%} complete; {:.3f} seconds since last API call; {} remaining'.format(\n", " n_complete / n_total, wait, remaining), end='\\r')\n", "\n", " # Write final line of XML\n", " write_file.write('\\n')" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false, "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1 successive error: 500 IDs [754121 ... 754634] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [1145846 ... 1146345] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [1349617 ... 1350302] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [1865366 ... 1865967] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [2824748 ... 2825260] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [2946295 ... 2946812] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [3266061 ... 3266575] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [3282109 ... 3282628] threw ('Connection broken: IncompleteRead(3241 bytes read, 1753 more expected)', IncompleteRead(3241 bytes read, 1753 more expected))\n", "2 successive error: 250 IDs [3282109 ... 3282368] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [3304727 ... 3305236] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 250 IDs [3304727 ... 3304985] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [3379753 ... 3380309] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [3838797 ... 3839324] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [3926600 ... 3927108] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [4289032 ... 4289531] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [4361306 ... 4361812] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [4362821 ... 4363320] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [4702263 ... 4702762] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [4721294 ... 4721793] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [4891690 ... 4892192] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [5127861 ... 5128369] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [5313071 ... 5313573] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [5333268 ... 5333770] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [5390003 ... 5390502] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [5672158 ... 5672657] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [5703216 ... 5703715] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [5807841 ... 5808341] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [5835859 ... 5836358] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [6002108 ... 6002607] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [6165599 ... 6166103] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [6282109 ... 6282618] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [6395969 ... 6396481] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [6952355 ... 6952862] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [6954941 ... 6955454] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [6969919 ... 6970433] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [7050950 ... 7051454] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [7203792 ... 7204318] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [7270624 ... 7271170] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [7286832 ... 7287343] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [7291550 ... 7292067] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 250 IDs [7291550 ... 7291802] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [7314899 ... 7315399] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [7381157 ... 7381675] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [7517871 ... 7518380] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [7647442 ... 7648043] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [7693301 ... 7693818] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [7695419 ... 7696030] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [7725593 ... 7726143] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [7859430 ... 7859972] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [7875600 ... 7876142] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [7930160 ... 7930727] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [8243461 ... 8244003] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [8347494 ... 8348037] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [8375240 ... 8375779] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [8396856 ... 8397371] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [8567026 ... 8567562] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [8647867 ... 8648414] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [8672986 ... 8673531] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [8710582 ... 8711144] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [8772473 ... 8773045] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [8778123 ... 8778704] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [9102281 ... 9102836] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [9233707 ... 9234301] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [9428888 ... 9429459] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [9451692 ... 9452202] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [9487151 ... 9487761] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 250 IDs [9487151 ... 9487473] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [9587455 ... 9588002] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [9589622 ... 9590148] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [9851226 ... 9851802] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [10135735 ... 10136274] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [10228955 ... 10229523] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [10253304 ... 10253829] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [10585156 ... 10585673] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [10626011 ... 10626524] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [10782477 ... 10783019] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [10796326 ... 10796826] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [10887004 ... 10887529] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [10890824 ... 10891376] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [10958452 ... 10958984] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [11113943 ... 11114505] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [11143904 ... 11144436] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [11279913 ... 11280522] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [11355954 ... 11356578] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [11573120 ... 11573813] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [11679328 ... 11679955] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [11971122 ... 11971802] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [12109855 ... 12110418] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [12211375 ... 12211935] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [12569444 ... 12570036] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [12769812 ... 12770314] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [13699262 ... 13699765] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [14437583 ... 14438535] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [14687581 ... 14688132] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [15085835 ... 15086438] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [15170875 ... 15171453] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [15173195 ... 15173783] threw HTTPConnectionPool(host='eutils.ncbi.nlm.nih.gov', port=80): Max retries exceeded with url: /entrez/eutils/esummary.fcgi?db=pubmed&rettype=xml&id=15173195%2C15173196%2C15173197%2C15173198%2C15173199%2C15173200%2C15173201%2C15173202%2C15173203%2C15173204%2C15173205%2C15173206%2C15173207%2C15173208%2C15173209%2C15173213%2C15173214%2C15173215%2C15173217%2C15173218%2C15173219%2C15173220%2C15173221%2C15173222%2C15173223%2C15173224%2C15173225%2C15173226%2C15173236%2C15173247%2C15173248%2C15173249%2C15173250%2C15173251%2C15173252%2C15173253%2C15173254%2C15173255%2C15173256%2C15173260%2C15173266%2C15173267%2C15173268%2C15173269%2C15173270%2C15173271%2C15173272%2C15173273%2C15173282%2C15173283%2C15173284%2C15173285%2C15173286%2C15173287%2C15173288%2C15173289%2C15173290%2C15173291%2C15173292%2C15173293%2C15173294%2C15173295%2C15173296%2C15173297%2C15173298%2C15173299%2C15173300%2C15173301%2C15173302%2C15173303%2C15173304%2C15173305%2C15173306%2C15173307%2C15173308%2C15173310%2C15173311%2C15173312%2C15173313%2C15173314%2C15173315%2C15173316%2C15173317%2C15173318%2C15173319%2C15173320%2C15173321%2C15173322%2C15173323%2C15173325%2C15173326%2C15173327%2C15173328%2C15173329%2C15173330%2C15173331%2C15173332%2C15173333%2C15173334%2C15173335%2C15173336%2C15173337%2C15173338%2C15173339%2C15173352%2C15173354%2C15173355%2C15173356%2C15173357%2C15173358%2C15173359%2C15173360%2C15173361%2C15173362%2C15173363%2C15173364%2C15173365%2C15173366%2C15173367%2C15173368%2C15173369%2C15173370%2C15173371%2C15173372%2C15173373%2C15173374%2C15173376%2C15173377%2C15173378%2C15173379%2C15173380%2C15173381%2C15173382%2C15173383%2C15173384%2C15173385%2C15173386%2C15173387%2C15173388%2C15173389%2C15173390%2C15173391%2C15173392%2C15173393%2C15173394%2C15173395%2C15173396%2C15173397%2C15173398%2C15173399%2C15173400%2C15173401%2C15173402%2C15173403%2C15173404%2C15173405%2C15173406%2C15173407%2C15173408%2C15173409%2C15173410%2C15173411%2C15173412%2C15173413%2C15173414%2C15173415%2C15173416%2C15173417%2C15173418%2C15173419%2C15173420%2C15173421%2C15173422%2C15173423%2C15173424%2C15173425%2C15173426%2C15173427%2C15173430%2C15173431%2C15173432%2C15173433%2C15173434%2C15173435%2C15173437%2C15173438%2C15173439%2C15173440%2C15173441%2C15173443%2C15173444%2C15173445%2C15173446%2C15173447%2C15173448%2C15173451%2C15173452%2C15173453%2C15173454%2C15173455%2C15173456%2C15173457%2C15173459%2C15173460%2C15173461%2C15173462%2C15173463%2C15173464%2C15173465%2C15173466%2C15173467%2C15173468%2C15173469%2C15173470%2C15173471%2C15173472%2C15173473%2C15173474%2C15173475%2C15173476%2C15173477%2C15173478%2C15173479%2C15173480%2C15173481%2C15173482%2C15173483%2C15173484%2C15173485%2C15173486%2C15173487%2C15173488%2C15173489%2C15173490%2C15173491%2C15173492%2C15173493%2C15173494%2C15173495%2C15173496%2C15173497%2C15173498%2C15173499%2C15173500%2C15173501%2C15173502%2C15173503%2C15173504%2C15173505%2C15173506%2C15173507%2C15173508%2C15173509%2C15173510%2C15173511%2C15173512%2C15173513%2C15173514%2C15173515%2C15173516%2C15173517%2C15173518%2C15173519%2C15173520%2C15173521%2C15173522%2C15173529%2C15173530%2C15173531%2C15173532%2C15173533%2C15173534%2C15173535%2C15173536%2C15173537%2C15173538%2C15173539%2C15173540%2C15173541%2C15173542%2C15173543%2C15173544%2C15173545%2C15173546%2C15173547%2C15173548%2C15173549%2C15173550%2C15173551%2C15173554%2C15173555%2C15173556%2C15173557%2C15173559%2C15173560%2C15173561%2C15173562%2C15173563%2C15173564%2C15173565%2C15173566%2C15173567%2C15173568%2C15173569%2C15173570%2C15173571%2C15173572%2C15173573%2C15173574%2C15173575%2C15173576%2C15173577%2C15173578%2C15173579%2C15173580%2C15173581%2C15173582%2C15173583%2C15173584%2C15173585%2C15173586%2C15173587%2C15173588%2C15173589%2C15173590%2C15173591%2C15173592%2C15173593%2C15173594%2C15173595%2C15173596%2C15173597%2C15173598%2C15173599%2C15173600%2C15173602%2C15173603%2C15173604%2C15173605%2C15173606%2C15173607%2C15173608%2C15173609%2C15173610%2C15173611%2C15173612%2C15173613%2C15173614%2C15173615%2C15173616%2C15173617%2C15173618%2C15173619%2C15173620%2C15173621%2C15173622%2C15173623%2C15173624%2C15173625%2C15173626%2C15173627%2C15173628%2C15173629%2C15173630%2C15173631%2C15173632%2C15173633%2C15173634%2C15173635%2C15173636%2C15173637%2C15173638%2C15173639%2C15173640%2C15173641%2C15173642%2C15173643%2C15173644%2C15173645%2C15173646%2C15173647%2C15173648%2C15173649%2C15173650%2C15173651%2C15173652%2C15173654%2C15173655%2C15173656%2C15173657%2C15173659%2C15173660%2C15173661%2C15173662%2C15173663%2C15173664%2C15173665%2C15173666%2C15173667%2C15173668%2C15173669%2C15173670%2C15173671%2C15173672%2C15173673%2C15173674%2C15173676%2C15173678%2C15173679%2C15173680%2C15173681%2C15173682%2C15173683%2C15173684%2C15173685%2C15173686%2C15173687%2C15173688%2C15173689%2C15173690%2C15173691%2C15173692%2C15173693%2C15173694%2C15173695%2C15173696%2C15173697%2C15173698%2C15173699%2C15173700%2C15173701%2C15173702%2C15173703%2C15173704%2C15173707%2C15173708%2C15173709%2C15173710%2C15173711%2C15173712%2C15173713%2C15173714%2C15173715%2C15173716%2C15173717%2C15173718%2C15173719%2C15173720%2C15173721%2C15173722%2C15173723%2C15173724%2C15173725%2C15173726%2C15173727%2C15173728%2C15173729%2C15173730%2C15173731%2C15173732%2C15173733%2C15173734%2C15173735%2C15173736%2C15173737%2C15173738%2C15173739%2C15173740%2C15173741%2C15173742%2C15173743%2C15173744%2C15173745%2C15173746%2C15173747%2C15173748%2C15173749%2C15173750%2C15173751%2C15173752%2C15173753%2C15173754%2C15173755%2C15173756%2C15173757%2C15173758%2C15173759%2C15173760%2C15173772%2C15173773%2C15173774%2C15173775%2C15173776%2C15173777%2C15173778%2C15173779%2C15173780%2C15173781%2C15173782%2C15173783 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -2] Name or service not known',))\n", "1 successive error: 500 IDs [15496050 ... 15496586] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [15539428 ... 15540146] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [16401700 ... 16402301] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [16508267 ... 16508894] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [16658833 ... 16659332] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [16818780 ... 16819346] threw ('Connection broken: IncompleteRead(3109 bytes read, 3741 more expected)', IncompleteRead(3109 bytes read, 3741 more expected))\n", "1 successive error: 500 IDs [16955995 ... 16956586] threw ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response',))\n", "1 successive error: 500 IDs [17128830 ... 17129395] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [17453806 ... 17454351] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [17584506 ... 17585035] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [18431414 ... 18431984] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [18828267 ... 18828821] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [19024926 ... 19025498] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [19082047 ... 19082585] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [19178685 ... 19179243] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [19211189 ... 19211759] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [19426443 ... 19426973] threw undefined entity  : line 28, column 96\n", "1 successive error: 500 IDs [19433525 ... 19434177] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [19476111 ... 19476674] threw undefined entity  : line 28, column 96\n", "1 successive error: 500 IDs [19476675 ... 19477291] threw undefined entity  : line 28, column 96\n", "1 successive error: 500 IDs [19486073 ... 19486594] threw undefined entity  : line 28, column 96\n", "1 successive error: 500 IDs [19492388 ... 19492968] threw undefined entity  : line 28, column 96\n", "1 successive error: 250 IDs [19492388 ... 19492681] threw undefined entity  : line 28, column 96\n", "1 successive error: 500 IDs [19492969 ... 19493559] threw undefined entity  : line 28, column 96\n", "1 successive error: 500 IDs [19494642 ... 19495223] threw undefined entity  : line 28, column 96\n", "1 successive error: 250 IDs [19494642 ... 19494973] threw undefined entity  : line 28, column 96\n", "1 successive error: 125 IDs [19494642 ... 19494786] threw undefined entity  : line 28, column 96\n", "2 successive error: 62 IDs [19494642 ... 19494703] threw undefined entity  : line 28, column 96\n", "1 successive error: 500 IDs [19503881 ... 19504548] threw undefined entity  : line 28, column 96\n", "1 successive error: 500 IDs [19509121 ... 19512918] threw undefined entity  : line 28, column 96\n", "1 successive error: 500 IDs [19538834 ... 19539394] threw undefined entity  : line 28, column 96\n", "1 successive error: 500 IDs [19543348 ... 19543910] threw undefined entity  : line 28, column 96\n", "1 successive error: 500 IDs [19558156 ... 19558708] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "2 successive error: 250 IDs [19558156 ... 19558438] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "3 successive error: 125 IDs [19558156 ... 19558286] threw undefined entity  : line 28, column 96\n", "1 successive error: 500 IDs [19568607 ... 19569146] threw undefined entity  : line 28, column 96\n", "2 successive error: 250 IDs [19568607 ... 19568876] threw undefined entity  : line 28, column 96\n", "1 successive error: 125 IDs [19568607 ... 19568743] threw undefined entity  : line 28, column 96\n", "1 successive error: 500 IDs [19575781 ... 19576387] threw undefined entity  : line 28, column 96\n", "1 successive error: 500 IDs [19584508 ... 19585113] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [19589903 ... 19590504] threw undefined entity  : line 28, column 96\n", "1 successive error: 500 IDs [19608703 ... 19609337] threw undefined entity  : line 28, column 96\n", "1 successive error: 500 IDs [19755331 ... 19755925] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [19887059 ... 19887595] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [20219041 ... 20219598] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [20223044 ... 20223627] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [20600885 ... 20601446] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [20689778 ... 20690315] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [20712772 ... 20713306] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [20721086 ... 20721608] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [20722805 ... 20723373] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [20940881 ... 20941382] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [21095088 ... 21095617] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [21109525 ... 21110134] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [21122409 ... 21122973] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [21129994 ... 21130610] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [21227104 ... 21227644] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [21323771 ... 21324319] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [21421917 ... 21422502] threw HTTPConnectionPool(host='eutils.ncbi.nlm.nih.gov', port=80): Max retries exceeded with url: /entrez/eutils/esummary.fcgi?db=pubmed&rettype=xml&id=21421917%2C21421918%2C21421919%2C21421920%2C21421921%2C21421922%2C21421923%2C21421924%2C21421925%2C21421926%2C21421927%2C21421928%2C21421929%2C21421930%2C21421931%2C21421932%2C21421933%2C21421934%2C21421935%2C21421936%2C21421937%2C21421938%2C21421939%2C21421940%2C21421943%2C21421944%2C21421945%2C21421946%2C21421947%2C21421948%2C21421950%2C21421951%2C21421952%2C21421953%2C21421954%2C21421955%2C21421956%2C21421957%2C21421958%2C21421959%2C21421960%2C21421963%2C21421964%2C21421965%2C21421966%2C21421967%2C21421968%2C21421969%2C21421970%2C21421971%2C21421972%2C21421973%2C21421974%2C21421975%2C21421976%2C21421977%2C21421978%2C21421979%2C21421980%2C21421981%2C21421982%2C21421983%2C21421984%2C21421985%2C21421990%2C21421991%2C21421992%2C21421993%2C21421994%2C21421995%2C21421996%2C21421997%2C21421998%2C21421999%2C21422000%2C21422001%2C21422002%2C21422003%2C21422004%2C21422005%2C21422006%2C21422007%2C21422008%2C21422009%2C21422010%2C21422011%2C21422012%2C21422013%2C21422014%2C21422015%2C21422016%2C21422017%2C21422018%2C21422019%2C21422020%2C21422021%2C21422022%2C21422023%2C21422024%2C21422025%2C21422026%2C21422027%2C21422028%2C21422029%2C21422030%2C21422031%2C21422032%2C21422034%2C21422036%2C21422037%2C21422038%2C21422039%2C21422040%2C21422041%2C21422044%2C21422046%2C21422047%2C21422050%2C21422051%2C21422052%2C21422053%2C21422054%2C21422056%2C21422057%2C21422058%2C21422059%2C21422060%2C21422061%2C21422062%2C21422063%2C21422064%2C21422065%2C21422066%2C21422068%2C21422069%2C21422070%2C21422071%2C21422072%2C21422073%2C21422074%2C21422075%2C21422076%2C21422077%2C21422078%2C21422079%2C21422080%2C21422081%2C21422082%2C21422083%2C21422084%2C21422085%2C21422086%2C21422087%2C21422088%2C21422089%2C21422090%2C21422091%2C21422092%2C21422093%2C21422094%2C21422095%2C21422096%2C21422097%2C21422098%2C21422099%2C21422100%2C21422101%2C21422102%2C21422103%2C21422107%2C21422108%2C21422114%2C21422115%2C21422116%2C21422117%2C21422118%2C21422119%2C21422120%2C21422121%2C21422123%2C21422124%2C21422125%2C21422126%2C21422129%2C21422130%2C21422131%2C21422134%2C21422136%2C21422137%2C21422138%2C21422139%2C21422142%2C21422148%2C21422149%2C21422150%2C21422151%2C21422152%2C21422153%2C21422154%2C21422155%2C21422156%2C21422157%2C21422158%2C21422159%2C21422160%2C21422161%2C21422162%2C21422163%2C21422164%2C21422165%2C21422166%2C21422167%2C21422168%2C21422169%2C21422170%2C21422171%2C21422172%2C21422173%2C21422174%2C21422175%2C21422176%2C21422177%2C21422178%2C21422179%2C21422180%2C21422181%2C21422182%2C21422183%2C21422184%2C21422185%2C21422186%2C21422187%2C21422188%2C21422189%2C21422190%2C21422191%2C21422192%2C21422193%2C21422194%2C21422195%2C21422196%2C21422197%2C21422198%2C21422199%2C21422200%2C21422201%2C21422202%2C21422203%2C21422204%2C21422205%2C21422206%2C21422207%2C21422208%2C21422209%2C21422210%2C21422211%2C21422212%2C21422213%2C21422214%2C21422215%2C21422216%2C21422217%2C21422218%2C21422219%2C21422220%2C21422221%2C21422222%2C21422223%2C21422224%2C21422226%2C21422227%2C21422228%2C21422229%2C21422230%2C21422231%2C21422232%2C21422235%2C21422237%2C21422238%2C21422239%2C21422240%2C21422241%2C21422242%2C21422243%2C21422244%2C21422245%2C21422246%2C21422247%2C21422248%2C21422250%2C21422251%2C21422252%2C21422253%2C21422254%2C21422255%2C21422256%2C21422257%2C21422258%2C21422259%2C21422260%2C21422261%2C21422262%2C21422263%2C21422264%2C21422265%2C21422268%2C21422269%2C21422270%2C21422273%2C21422274%2C21422275%2C21422276%2C21422277%2C21422278%2C21422279%2C21422280%2C21422281%2C21422282%2C21422283%2C21422284%2C21422286%2C21422287%2C21422288%2C21422289%2C21422290%2C21422291%2C21422292%2C21422294%2C21422295%2C21422296%2C21422297%2C21422298%2C21422300%2C21422301%2C21422302%2C21422303%2C21422304%2C21422305%2C21422306%2C21422307%2C21422308%2C21422309%2C21422310%2C21422311%2C21422312%2C21422313%2C21422314%2C21422315%2C21422316%2C21422317%2C21422318%2C21422319%2C21422320%2C21422321%2C21422322%2C21422323%2C21422324%2C21422325%2C21422326%2C21422327%2C21422328%2C21422329%2C21422330%2C21422331%2C21422332%2C21422334%2C21422335%2C21422336%2C21422338%2C21422339%2C21422340%2C21422341%2C21422344%2C21422345%2C21422346%2C21422347%2C21422348%2C21422349%2C21422356%2C21422357%2C21422358%2C21422359%2C21422360%2C21422361%2C21422362%2C21422363%2C21422364%2C21422365%2C21422366%2C21422367%2C21422368%2C21422369%2C21422370%2C21422371%2C21422372%2C21422376%2C21422377%2C21422378%2C21422379%2C21422380%2C21422382%2C21422383%2C21422385%2C21422386%2C21422387%2C21422389%2C21422390%2C21422391%2C21422392%2C21422393%2C21422394%2C21422398%2C21422399%2C21422400%2C21422402%2C21422403%2C21422405%2C21422406%2C21422407%2C21422408%2C21422410%2C21422411%2C21422412%2C21422413%2C21422414%2C21422415%2C21422416%2C21422417%2C21422418%2C21422420%2C21422421%2C21422422%2C21422424%2C21422425%2C21422426%2C21422427%2C21422429%2C21422430%2C21422434%2C21422435%2C21422437%2C21422438%2C21422439%2C21422440%2C21422441%2C21422442%2C21422443%2C21422444%2C21422446%2C21422447%2C21422448%2C21422449%2C21422450%2C21422451%2C21422452%2C21422455%2C21422456%2C21422457%2C21422458%2C21422459%2C21422460%2C21422461%2C21422462%2C21422464%2C21422465%2C21422467%2C21422468%2C21422469%2C21422470%2C21422471%2C21422472%2C21422473%2C21422474%2C21422475%2C21422476%2C21422477%2C21422478%2C21422479%2C21422480%2C21422481%2C21422482%2C21422483%2C21422484%2C21422485%2C21422486%2C21422487%2C21422488%2C21422489%2C21422490%2C21422491%2C21422492%2C21422493%2C21422494%2C21422495%2C21422497%2C21422498%2C21422499%2C21422500%2C21422501%2C21422502 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -2] Name or service not known',))\n", "2 successive error: 250 IDs [21421917 ... 21422205] threw HTTPConnectionPool(host='eutils.ncbi.nlm.nih.gov', port=80): Max retries exceeded with url: /entrez/eutils/esummary.fcgi?db=pubmed&rettype=xml&id=21421917%2C21421918%2C21421919%2C21421920%2C21421921%2C21421922%2C21421923%2C21421924%2C21421925%2C21421926%2C21421927%2C21421928%2C21421929%2C21421930%2C21421931%2C21421932%2C21421933%2C21421934%2C21421935%2C21421936%2C21421937%2C21421938%2C21421939%2C21421940%2C21421943%2C21421944%2C21421945%2C21421946%2C21421947%2C21421948%2C21421950%2C21421951%2C21421952%2C21421953%2C21421954%2C21421955%2C21421956%2C21421957%2C21421958%2C21421959%2C21421960%2C21421963%2C21421964%2C21421965%2C21421966%2C21421967%2C21421968%2C21421969%2C21421970%2C21421971%2C21421972%2C21421973%2C21421974%2C21421975%2C21421976%2C21421977%2C21421978%2C21421979%2C21421980%2C21421981%2C21421982%2C21421983%2C21421984%2C21421985%2C21421990%2C21421991%2C21421992%2C21421993%2C21421994%2C21421995%2C21421996%2C21421997%2C21421998%2C21421999%2C21422000%2C21422001%2C21422002%2C21422003%2C21422004%2C21422005%2C21422006%2C21422007%2C21422008%2C21422009%2C21422010%2C21422011%2C21422012%2C21422013%2C21422014%2C21422015%2C21422016%2C21422017%2C21422018%2C21422019%2C21422020%2C21422021%2C21422022%2C21422023%2C21422024%2C21422025%2C21422026%2C21422027%2C21422028%2C21422029%2C21422030%2C21422031%2C21422032%2C21422034%2C21422036%2C21422037%2C21422038%2C21422039%2C21422040%2C21422041%2C21422044%2C21422046%2C21422047%2C21422050%2C21422051%2C21422052%2C21422053%2C21422054%2C21422056%2C21422057%2C21422058%2C21422059%2C21422060%2C21422061%2C21422062%2C21422063%2C21422064%2C21422065%2C21422066%2C21422068%2C21422069%2C21422070%2C21422071%2C21422072%2C21422073%2C21422074%2C21422075%2C21422076%2C21422077%2C21422078%2C21422079%2C21422080%2C21422081%2C21422082%2C21422083%2C21422084%2C21422085%2C21422086%2C21422087%2C21422088%2C21422089%2C21422090%2C21422091%2C21422092%2C21422093%2C21422094%2C21422095%2C21422096%2C21422097%2C21422098%2C21422099%2C21422100%2C21422101%2C21422102%2C21422103%2C21422107%2C21422108%2C21422114%2C21422115%2C21422116%2C21422117%2C21422118%2C21422119%2C21422120%2C21422121%2C21422123%2C21422124%2C21422125%2C21422126%2C21422129%2C21422130%2C21422131%2C21422134%2C21422136%2C21422137%2C21422138%2C21422139%2C21422142%2C21422148%2C21422149%2C21422150%2C21422151%2C21422152%2C21422153%2C21422154%2C21422155%2C21422156%2C21422157%2C21422158%2C21422159%2C21422160%2C21422161%2C21422162%2C21422163%2C21422164%2C21422165%2C21422166%2C21422167%2C21422168%2C21422169%2C21422170%2C21422171%2C21422172%2C21422173%2C21422174%2C21422175%2C21422176%2C21422177%2C21422178%2C21422179%2C21422180%2C21422181%2C21422182%2C21422183%2C21422184%2C21422185%2C21422186%2C21422187%2C21422188%2C21422189%2C21422190%2C21422191%2C21422192%2C21422193%2C21422194%2C21422195%2C21422196%2C21422197%2C21422198%2C21422199%2C21422200%2C21422201%2C21422202%2C21422203%2C21422204%2C21422205 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -2] Name or service not known',))\n", "1 successive error: 500 IDs [21448189 ... 21448716] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [21462031 ... 21462595] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [21510701 ... 21511254] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [21514171 ... 21514710] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [21624838 ... 21625381] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [21655855 ... 21656402] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [21681686 ... 21682290] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [22005358 ... 22005944] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [22035942 ... 22036590] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [22110617 ... 22111126] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [22234608 ... 22235194] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [22525587 ... 22526170] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [22579636 ... 22580157] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [22665205 ... 22665751] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [22778762 ... 22779297] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [22856196 ... 22857006] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [22864204 ... 22864739] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [23264751 ... 23265307] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [23533095 ... 23533639] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [23606781 ... 23607317] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [23633116 ... 23633701] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [23645019 ... 23645651] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [24056539 ... 24057099] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [24215912 ... 24216448] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [24255869 ... 24256431] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [24325676 ... 24326225] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [24507266 ... 24507797] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [24768747 ... 24769273] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [24856138 ... 24856759] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [24902036 ... 24902634] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [24956177 ... 24956729] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [24998863 ... 24999394] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [25106004 ... 25106787] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [25153746 ... 25154303] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [25228855 ... 25229412] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [25308976 ... 25309476] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [25530526 ... 25531051] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [25544453 ... 25544965] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [25573579 ... 25574141] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [25650314 ... 25650872] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [25802176 ... 25802735] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [26309715 ... 26310266] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [26442477 ... 26443020] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "1 successive error: 500 IDs [26596771 ... 26597303] threw ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n", "CPU times: user 13h 28min 15s, sys: 6min 57s, total: 13h 35min 12s\n", "Wall time: 2d 1h 33min 41s\n" ] } ], "source": [ "%%time\n", "# Run esummary queries\n", "path = os.path.join('download', 'esummary_journal-articles_1960-2015.xml.bz2')\n", "with bz2.open(path, 'wt') as write_file:\n", " pubmed_esummary(pubmed_ids, write_file, retmax=500, retmin=50, sleep=0, error_sleep=1)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.1" } }, "nbformat": 4, "nbformat_minor": 0 }