diff --git a/_sources/cooking.md b/_sources/cooking.md index 3d66371d..cda06e6c 100644 --- a/_sources/cooking.md +++ b/_sources/cooking.md @@ -21,7 +21,7 @@ attributes that enable data to be reused through automated means. There are a number of scenarios where it can be useful to navigate across distributed data resources using programmatic methods - for example, a global search for specific chemicals, cross-exchange of chemical information between data repositories, validation of converted or predicted chemical representations, or integration of distributed data for -compiled meta-analysis [WF3.3]. A machine processing workflow for reusing data might proceed through stages of +compiled meta-analysis {cite:p}`WFD3.3`. A machine processing workflow for reusing data might proceed through stages of discovery, retrieval, validation, curation, compilation, visualization, analysis and derivation. Each of these is dependent on some combination of consistently structured data, granular metadata description and reproducible protocols. Aligning these with FAIR community practices optimizes the workflow for repeated and reliable automated and scalable diff --git a/bibliography.html b/bibliography.html index ada8e1cc..c0c50fdd 100644 --- a/bibliography.html +++ b/bibliography.html @@ -417,6 +417,9 @@
Sunghwan Kim, Tiejun Cheng, Siqian He, Paul A. Thiessen, Qingliang Li, Asta Gindulyte, and Evan E. Bolton. Pubchem protein, gene, pathway, and taxonomy data collections: bridging biology and chemistry through target-centric views of pubchem data. Journal of Molecular Biology, 434(11):167514, 2022. URL: https://doi.org/10.1016/j.jmb.2022.167514.
missing journal in WFD3.3
+{'term': {'id': '01093', 'doi': '10.1351/goldbook.C01093', 'code': 'C01093', 'status': 'current', 'longtitle': 'IUPAC Gold Book - cis-trans isomers', 'title': '<i>cis</i>-<i>trans</i> isomers', 'termversion': '2.3.3', 'lastupdated': '2014-02-24', 'definitions': [{'id': '1', 'text': 'Stereoisomeric olefins or cycloalkanes (or hetero-analogues) which differ in the positions of atoms (or groups) relative to a reference plane: in the cis-isomer the atoms are on the same side, in the trans-isomer they are on opposite sides. [image: molecular structures showing cis/trans isomerism]', 'chemicals': [{'type': 'chemimage', 'title': 'molecular structures showing cis/trans isomerism', 'file': 'https://goldbook.iupac.org/img/inline/C01093.png'}], 'links': [{'title': 'Stereoisomeric', 'type': 'internal', 'url': 'https://goldbook.iupac.org/terms/view/S05983'}, {'title': 'olefins', 'type': 'goldify', 'url': 'https://goldbook.iupac.org/terms/view/O04281'}, {'title': 'cycloalkanes', 'type': 'goldify', 'url': 'https://goldbook.iupac.org/terms/view/C01497'}, {'title': 'isomer', 'type': 'goldify', 'url': 'https://goldbook.iupac.org/terms/view/I03289'}, {'title': 'trans', 'type': 'goldify', 'url': 'https://goldbook.iupac.org/terms/view/C01092'}], 'sources': ["PAC, 1996, 68, 2193. 'Basic terminology of stereochemistry (IUPAC Recommendations 1996)' on page 2204 (https://doi.org/10.1351/pac199668122193)"]}], 'referencedin': [{'title': 'Wikipedia - Cis-trans izomerie (cs)', 'url': 'https://cs.wikipedia.org/wiki/Cis-trans_izomerie'}, {'title': 'Wikipedia - Cis-trans izoméria (sk)', 'url': 'https://sk.wikipedia.org/wiki/Cis-trans_izoméria'}, {'title': 'Wikipedia - Cis–trans isomerism (en)', 'url': 'https://en.wikipedia.org/wiki/Cis–trans_isomerism'}, {'title': 'Wikipedia - Isomeria (it)', 'url': 'https://it.wikipedia.org/wiki/Isomeria'}, {'title': 'Wikipedia - Isomeria cis-trans (it)', 'url': 'https://it.wikipedia.org/wiki/Isomeria_cis-trans'}, {'title': 'Wikipedia - Isomeria geométrica (pt)', 'url': 'https://pt.wikipedia.org/wiki/Isomeria_geométrica'}, {'title': 'Wikipedia - Isomería cis-trans (es)', 'url': 'https://es.wikipedia.org/wiki/Isomería_cis-trans'}, {'title': 'Wikipedia - Talk:Isomer (en)', 'url': 'https://en.wikipedia.org/wiki/Talk:Isomer'}, {'title': 'Wikipedia - Talk:Stereoisomerism (en)', 'url': 'https://en.wikipedia.org/wiki/Talk:Stereoisomerism'}, {'title': 'Wikipedia - Цис-транс изомеризъм (bg)', 'url': 'https://bg.wikipedia.org/wiki/Цис-транс_изомеризъм'}, {'title': 'Wikipedia - Цис–транс ізомерія (uk)', 'url': 'https://uk.wikipedia.org/wiki/Цис–транс_ізомерія'}, {'title': 'Wikipedia - ایزومری سیس–ترانس (fa)', 'url': 'https://fa.wikipedia.org/wiki/ایزومری_سیس–ترانس'}, {'title': 'Wikipedia - 顺反异构 (zh)', 'url': 'https://zh.wikipedia.org/wiki/顺反异构'}], 'links': {'html': 'https://goldbook.iupac.org/terms/view/C01093/html', 'json': 'https://goldbook.iupac.org/terms/view/C01093/json', 'xml': 'https://goldbook.iupac.org/terms/view/C01093/xml', 'plain': 'https://goldbook.iupac.org/terms/view/C01093/plain', 'pdf': 'https://goldbook.iupac.org/terms/view/C01093/pdf'}, 'citation': "Citation: '<i>cis</i>-<i>trans</i> isomers' in IUPAC Compendium of Chemical Terminology, 3rd ed. International Union of Pure and Applied Chemistry; 2006. Online version 3.0.1, 2019. 10.1351/goldbook.C01093", 'license': 'The IUPAC Gold Book is licensed under Creative Commons Attribution-ShareAlike CC BY-SA 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/) for individual terms.', 'collection': 'If you are interested in licensing the Gold Book for commercial use, please contact the IUPAC Executive Director at executivedirector@iupac.org .', 'disclaimer': 'The International Union of Pure and Applied Chemistry (IUPAC) is continuously reviewing and, where needed, updating terms in the Compendium of Chemical Terminology (the IUPAC Gold Book). Users of these terms are encouraged to include the version of a term with its use and to check regularly for updates to term definitions that you are using.', 'accessed': '2024-03-15T18:52:25+00:00'}}
+{'term': {'id': '01093', 'doi': '10.1351/goldbook.C01093', 'code': 'C01093', 'status': 'current', 'longtitle': 'IUPAC Gold Book - cis-trans isomers', 'title': '<i>cis</i>-<i>trans</i> isomers', 'termversion': '2.3.3', 'lastupdated': '2014-02-24', 'definitions': [{'id': '1', 'text': 'Stereoisomeric olefins or cycloalkanes (or hetero-analogues) which differ in the positions of atoms (or groups) relative to a reference plane: in the cis-isomer the atoms are on the same side, in the trans-isomer they are on opposite sides. [image: molecular structures showing cis/trans isomerism]', 'chemicals': [{'type': 'chemimage', 'title': 'molecular structures showing cis/trans isomerism', 'file': 'https://goldbook.iupac.org/img/inline/C01093.png'}], 'links': [{'title': 'Stereoisomeric', 'type': 'internal', 'url': 'https://goldbook.iupac.org/terms/view/S05983'}, {'title': 'olefins', 'type': 'goldify', 'url': 'https://goldbook.iupac.org/terms/view/O04281'}, {'title': 'cycloalkanes', 'type': 'goldify', 'url': 'https://goldbook.iupac.org/terms/view/C01497'}, {'title': 'isomer', 'type': 'goldify', 'url': 'https://goldbook.iupac.org/terms/view/I03289'}, {'title': 'trans', 'type': 'goldify', 'url': 'https://goldbook.iupac.org/terms/view/C01092'}], 'sources': ["PAC, 1996, 68, 2193. 'Basic terminology of stereochemistry (IUPAC Recommendations 1996)' on page 2204 (https://doi.org/10.1351/pac199668122193)"]}], 'referencedin': [{'title': 'Wikipedia - Cis-trans izomerie (cs)', 'url': 'https://cs.wikipedia.org/wiki/Cis-trans_izomerie'}, {'title': 'Wikipedia - Cis-trans izoméria (sk)', 'url': 'https://sk.wikipedia.org/wiki/Cis-trans_izoméria'}, {'title': 'Wikipedia - Cis–trans isomerism (en)', 'url': 'https://en.wikipedia.org/wiki/Cis–trans_isomerism'}, {'title': 'Wikipedia - Isomeria (it)', 'url': 'https://it.wikipedia.org/wiki/Isomeria'}, {'title': 'Wikipedia - Isomeria cis-trans (it)', 'url': 'https://it.wikipedia.org/wiki/Isomeria_cis-trans'}, {'title': 'Wikipedia - Isomeria geométrica (pt)', 'url': 'https://pt.wikipedia.org/wiki/Isomeria_geométrica'}, {'title': 'Wikipedia - Isomería cis-trans (es)', 'url': 'https://es.wikipedia.org/wiki/Isomería_cis-trans'}, {'title': 'Wikipedia - Talk:Isomer (en)', 'url': 'https://en.wikipedia.org/wiki/Talk:Isomer'}, {'title': 'Wikipedia - Talk:Stereoisomerism (en)', 'url': 'https://en.wikipedia.org/wiki/Talk:Stereoisomerism'}, {'title': 'Wikipedia - Цис-транс изомеризъм (bg)', 'url': 'https://bg.wikipedia.org/wiki/Цис-транс_изомеризъм'}, {'title': 'Wikipedia - Цис–транс ізомерія (uk)', 'url': 'https://uk.wikipedia.org/wiki/Цис–транс_ізомерія'}, {'title': 'Wikipedia - ایزومری سیس–ترانس (fa)', 'url': 'https://fa.wikipedia.org/wiki/ایزومری_سیس–ترانس'}, {'title': 'Wikipedia - 顺反异构 (zh)', 'url': 'https://zh.wikipedia.org/wiki/顺反异构'}], 'links': {'html': 'https://goldbook.iupac.org/terms/view/C01093/html', 'json': 'https://goldbook.iupac.org/terms/view/C01093/json', 'xml': 'https://goldbook.iupac.org/terms/view/C01093/xml', 'plain': 'https://goldbook.iupac.org/terms/view/C01093/plain', 'pdf': 'https://goldbook.iupac.org/terms/view/C01093/pdf'}, 'citation': "Citation: '<i>cis</i>-<i>trans</i> isomers' in IUPAC Compendium of Chemical Terminology, 3rd ed. International Union of Pure and Applied Chemistry; 2006. Online version 3.0.1, 2019. 10.1351/goldbook.C01093", 'license': 'The IUPAC Gold Book is licensed under Creative Commons Attribution-ShareAlike CC BY-SA 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/) for individual terms.', 'collection': 'If you are interested in licensing the Gold Book for commercial use, please contact the IUPAC Executive Director at executivedirector@iupac.org .', 'disclaimer': 'The International Union of Pure and Applied Chemistry (IUPAC) is continuously reviewing and, where needed, updating terms in the Compendium of Chemical Terminology (the IUPAC Gold Book). Users of these terms are encouraged to include the version of a term with its use and to check regularly for updates to term definitions that you are using.', 'accessed': '2024-03-15T19:07:19+00:00'}}
---------------------------------------------------------------------------
-InvalidChunkLength Traceback (most recent call last)
-File /opt/hostedtoolcache/Python/3.11.8/x64/lib/python3.11/site-packages/urllib3/response.py:712, in HTTPResponse._error_catcher(self)
- 711 try:
---> 712 yield
- 714 except SocketTimeout as e:
- 715 # FIXME: Ideally we'd like to include the url in the ReadTimeoutError but
- 716 # there is yet no clean way to get at it from this context.
-
-File /opt/hostedtoolcache/Python/3.11.8/x64/lib/python3.11/site-packages/urllib3/response.py:1071, in HTTPResponse.read_chunked(self, amt, decode_content)
- 1070 while True:
--> 1071 self._update_chunk_length()
- 1072 if self.chunk_left == 0:
-
-File /opt/hostedtoolcache/Python/3.11.8/x64/lib/python3.11/site-packages/urllib3/response.py:1006, in HTTPResponse._update_chunk_length(self)
- 1005 self.close()
--> 1006 raise InvalidChunkLength(self, line) from None
-
-InvalidChunkLength: InvalidChunkLength(got length b'', 0 bytes read)
-
-The above exception was the direct cause of the following exception:
-
-ProtocolError Traceback (most recent call last)
-File /opt/hostedtoolcache/Python/3.11.8/x64/lib/python3.11/site-packages/requests/models.py:816, in Response.iter_content.<locals>.generate()
- 815 try:
---> 816 yield from self.raw.stream(chunk_size, decode_content=True)
- 817 except ProtocolError as e:
-
-File /opt/hostedtoolcache/Python/3.11.8/x64/lib/python3.11/site-packages/urllib3/response.py:931, in HTTPResponse.stream(self, amt, decode_content)
- 930 if self.chunked and self.supports_chunked_reads():
---> 931 yield from self.read_chunked(amt, decode_content=decode_content)
- 932 else:
-
-File /opt/hostedtoolcache/Python/3.11.8/x64/lib/python3.11/site-packages/urllib3/response.py:1059, in HTTPResponse.read_chunked(self, amt, decode_content)
- 1054 raise BodyNotHttplibCompatible(
- 1055 "Body should be http.client.HTTPResponse like. "
- 1056 "It should have have an fp attribute which returns raw chunks."
- 1057 )
--> 1059 with self._error_catcher():
- 1060 # Don't bother reading the body of a HEAD request.
- 1061 if self._original_response and is_response_to_head(self._original_response):
-
-File /opt/hostedtoolcache/Python/3.11.8/x64/lib/python3.11/contextlib.py:158, in _GeneratorContextManager.__exit__(self, typ, value, traceback)
- 157 try:
---> 158 self.gen.throw(typ, value, traceback)
- 159 except StopIteration as exc:
- 160 # Suppress StopIteration *unless* it's the same exception that
- 161 # was passed to throw(). This prevents a StopIteration
- 162 # raised inside the "with" statement from being suppressed.
-
-File /opt/hostedtoolcache/Python/3.11.8/x64/lib/python3.11/site-packages/urllib3/response.py:729, in HTTPResponse._error_catcher(self)
- 727 except (HTTPException, OSError) as e:
- 728 # This includes IncompleteRead.
---> 729 raise ProtocolError(f"Connection broken: {e!r}", e) from e
- 731 # If no exception is thrown, we should avoid cleaning up
- 732 # unnecessarily.
-
-ProtocolError: ("Connection broken: InvalidChunkLength(got length b'', 0 bytes read)", InvalidChunkLength(got length b'', 0 bytes read))
-
-During handling of the above exception, another exception occurred:
-
-ChunkedEncodingError Traceback (most recent call last)
+KeyboardInterrupt Traceback (most recent call last)
Cell In[20], line 10
8 page_curr = i + 1
9 url = base + "/annotations/heading/JSON?heading=" + heading + "&page=" + str(page_curr)
@@ -1005,28 +945,110 @@ 3.3 Multi-page annotations--> 589 resp = self.send(prep, **send_kwargs)
591 return resp
-File /opt/hostedtoolcache/Python/3.11.8/x64/lib/python3.11/site-packages/requests/sessions.py:747, in Session.send(self, request, **kwargs)
- 744 pass
- 746 if not stream:
---> 747 r.content
- 749 return r
-
-File /opt/hostedtoolcache/Python/3.11.8/x64/lib/python3.11/site-packages/requests/models.py:899, in Response.content(self)
- 897 self._content = None
- 898 else:
---> 899 self._content = b"".join(self.iter_content(CONTENT_CHUNK_SIZE)) or b""
- 901 self._content_consumed = True
- 902 # don't need to release the connection; that's been handled by urllib3
- 903 # since we exhausted the data.
-
-File /opt/hostedtoolcache/Python/3.11.8/x64/lib/python3.11/site-packages/requests/models.py:818, in Response.iter_content.<locals>.generate()
- 816 yield from self.raw.stream(chunk_size, decode_content=True)
- 817 except ProtocolError as e:
---> 818 raise ChunkedEncodingError(e)
- 819 except DecodeError as e:
- 820 raise ContentDecodingError(e)
-
-ChunkedEncodingError: ("Connection broken: InvalidChunkLength(got length b'', 0 bytes read)", InvalidChunkLength(got length b'', 0 bytes read))
+File /opt/hostedtoolcache/Python/3.11.8/x64/lib/python3.11/site-packages/requests/sessions.py:703, in Session.send(self, request, **kwargs)
+ 700 start = preferred_clock()
+ 702 # Send the request
+--> 703 r = adapter.send(request, **kwargs)
+ 705 # Total elapsed time of the request (approximately)
+ 706 elapsed = preferred_clock() - start
+
+File /opt/hostedtoolcache/Python/3.11.8/x64/lib/python3.11/site-packages/requests/adapters.py:486, in HTTPAdapter.send(self, request, stream, timeout, verify, cert, proxies)
+ 483 timeout = TimeoutSauce(connect=timeout, read=timeout)
+ 485 try:
+--> 486 resp = conn.urlopen(
+ 487 method=request.method,
+ 488 url=url,
+ 489 body=request.body,
+ 490 headers=request.headers,
+ 491 redirect=False,
+ 492 assert_same_host=False,
+ 493 preload_content=False,
+ 494 decode_content=False,
+ 495 retries=self.max_retries,
+ 496 timeout=timeout,
+ 497 chunked=chunked,
+ 498 )
+ 500 except (ProtocolError, OSError) as err:
+ 501 raise ConnectionError(err, request=request)
+
+File /opt/hostedtoolcache/Python/3.11.8/x64/lib/python3.11/site-packages/urllib3/connectionpool.py:790, in HTTPConnectionPool.urlopen(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, preload_content, decode_content, **response_kw)
+ 787 response_conn = conn if not release_conn else None
+ 789 # Make the request on the HTTPConnection object
+--> 790 response = self._make_request(
+ 791 conn,
+ 792 method,
+ 793 url,
+ 794 timeout=timeout_obj,
+ 795 body=body,
+ 796 headers=headers,
+ 797 chunked=chunked,
+ 798 retries=retries,
+ 799 response_conn=response_conn,
+ 800 preload_content=preload_content,
+ 801 decode_content=decode_content,
+ 802 **response_kw,
+ 803 )
+ 805 # Everything went great!
+ 806 clean_exit = True
+
+File /opt/hostedtoolcache/Python/3.11.8/x64/lib/python3.11/site-packages/urllib3/connectionpool.py:536, in HTTPConnectionPool._make_request(self, conn, method, url, body, headers, retries, timeout, chunked, response_conn, preload_content, decode_content, enforce_content_length)
+ 534 # Receive the response from the server
+ 535 try:
+--> 536 response = conn.getresponse()
+ 537 except (BaseSSLError, OSError) as e:
+ 538 self._raise_timeout(err=e, url=url, timeout_value=read_timeout)
+
+File /opt/hostedtoolcache/Python/3.11.8/x64/lib/python3.11/site-packages/urllib3/connection.py:461, in HTTPConnection.getresponse(self)
+ 458 from .response import HTTPResponse
+ 460 # Get the response from http.client.HTTPConnection
+--> 461 httplib_response = super().getresponse()
+ 463 try:
+ 464 assert_header_parsing(httplib_response.msg)
+
+File /opt/hostedtoolcache/Python/3.11.8/x64/lib/python3.11/http/client.py:1390, in HTTPConnection.getresponse(self)
+ 1388 try:
+ 1389 try:
+-> 1390 response.begin()
+ 1391 except ConnectionError:
+ 1392 self.close()
+
+File /opt/hostedtoolcache/Python/3.11.8/x64/lib/python3.11/http/client.py:325, in HTTPResponse.begin(self)
+ 323 # read until we get a non-100 response
+ 324 while True:
+--> 325 version, status, reason = self._read_status()
+ 326 if status != CONTINUE:
+ 327 break
+
+File /opt/hostedtoolcache/Python/3.11.8/x64/lib/python3.11/http/client.py:286, in HTTPResponse._read_status(self)
+ 285 def _read_status(self):
+--> 286 line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
+ 287 if len(line) > _MAXLINE:
+ 288 raise LineTooLong("status line")
+
+File /opt/hostedtoolcache/Python/3.11.8/x64/lib/python3.11/socket.py:706, in SocketIO.readinto(self, b)
+ 704 while True:
+ 705 try:
+--> 706 return self._sock.recv_into(b)
+ 707 except timeout:
+ 708 self._timeout_occurred = True
+
+File /opt/hostedtoolcache/Python/3.11.8/x64/lib/python3.11/ssl.py:1314, in SSLSocket.recv_into(self, buffer, nbytes, flags)
+ 1310 if flags != 0:
+ 1311 raise ValueError(
+ 1312 "non-zero flags not allowed in calls to recv_into() on %s" %
+ 1313 self.__class__)
+-> 1314 return self.read(nbytes, buffer)
+ 1315 else:
+ 1316 return super().recv_into(buffer, nbytes, flags)
+
+File /opt/hostedtoolcache/Python/3.11.8/x64/lib/python3.11/ssl.py:1166, in SSLSocket.read(self, len, buffer)
+ 1164 try:
+ 1165 if buffer is not None:
+-> 1166 return self._sslobj.read(len, buffer)
+ 1167 else:
+ 1168 return self._sslobj.read(len)
+
+KeyboardInterrupt:
<rdkit.Chem.rdchem.Mol object at 0x76ffd67ad000>
+<rdkit.Chem.rdchem.Mol object at 0x7c88d47bd070>
[<rdkit.Chem.rdchem.Mol object at 0x76ffd67ad5b0>, <rdkit.Chem.rdchem.Mol object at 0x76ffd67ad620>, <rdkit.Chem.rdchem.Mol object at 0x76ffd67ad9a0>, <rdkit.Chem.rdchem.Mol object at 0x76ffd67ada10>, <rdkit.Chem.rdchem.Mol object at 0x76ffd67ada80>, <rdkit.Chem.rdchem.Mol object at 0x76ffd67adaf0>]
+[<rdkit.Chem.rdchem.Mol object at 0x7c88d47bd540>, <rdkit.Chem.rdchem.Mol object at 0x7c88d47bd620>, <rdkit.Chem.rdchem.Mol object at 0x7c88d47bda10>, <rdkit.Chem.rdchem.Mol object at 0x7c88d47bda80>, <rdkit.Chem.rdchem.Mol object at 0x7c88d47bdaf0>, <rdkit.Chem.rdchem.Mol object at 0x7c88d47bdb60>]