Package name | Can test requests before sending them | Both CLI and API included | Validates KEGG URLs | Wraps All KEGG API operations |
---|---|---|---|---|
kegg_pull | Includes a test method in the API and –test option in the CLI for testing a URL without requesting it | Yes | If the URL is not valid, does not make the request and provides specific feedback | Provides wrapper methods and CLI commands for all the KEGG REST API operations |
KEGGutils | No test method | API only | If the URL is not valid, does not make the request and provides specific feedback | Yes (some methods raise a file-not-found error) |
biopython (Bio.KEGG.REST) | No test method | API only | Makes request without checking the URL first | Missing the “ddi” KEGG REST operation |
keggrest | No test method | API only | Makes request without checking the URL first | Missing “ddi” and “info” KEGG REST operation |
Package Name | Makes a user-specified number of attempts per request | Pauses in between requests for a user-specified time to prevent blacklisting | Multiple output choices | User-specified timeout time |
---|---|---|---|---|
kegg_pull | Tries making each request a number of times specified by the user, i.e. retries upon failure or time out | User specifies sleep time in between blacklisted requests to wait for access to the REST API to be restored | Pulled KEGG entries can either be saved in a regular directory or ZIP archive. Other output can be printed to the console, stored in a regular file, or stored in a ZIP file | User can specify how long a request can take until being considered timed out |
KEGGutils | Attempts request once | Does not check for blacklisted requests | User does not choose output type | Time outs are not considered |
biopython (Bio.KEGG.REST) | Attempts request once | Only allows 3 requests per second but user cannot specify wait time | N/A Does not save output as a file | Time outs are not considered |
keggrest | Attempts request once | Does not check for blacklisted requests | User does not choose output type | Time outs are not considered |
Package Name | Separates entries and stores them individually | Saves binary KEGG entries in an appropriate format | Parses KEGG entry IDS |
---|---|---|---|
kegg_pull | When making requests with multiple KEGG entries, separates and stores them in their individual files | Saves the binary image entries as binary files | For requests returning Entry IDs, parses them out such that only the entry IDs themselves are returned |
KEGGutils | Can only pull one entry per request | Saves the image entries as image files (PNG OR GIF) | No command nor function for parsing entry IDs |
biopython (Bio.KEGG.REST) | Neither saves nor separates entries | N/A Does not save entries | No command nor function for parsing entry IDs |
keggrest | Can only pull one entry per request | Saves all output in the same format | No command nor function for parsing entry IDs |
Package Name | User can choose between multi-process and single process pulling | Can pull an arbitrary amount of entries | Specifies which entries succeeded, failed, or timed out |
---|---|---|---|
kegg_pull | User can pull KEGG entries in a single process or a specified number of separate processes | Can pull an arbitrary number of user-specified entries with a single CLI or API command | When pulling KEGG entries, specifies by their entry ID which succeeded, failed, or timed out |
KEGGutils | Single process only | Can only pull one entry in a function call | N/A only pulls one entry at a time |
biopython (Bio.KEGG.REST) | Single process only | Can only pull as many entries as allowed in a KEGG REST “get” operation | Does not check for failure or time out of entries at all |
keggrest | Single process only | Can only pull one entry in a function call | N/A only pulls one entry at a time |