Skip to main content

Table 11 Feature comparison of packages with a similar purpose as kegg_pull

From: kegg_pull: a software package for the RESTful access and pulling from the Kyoto Encyclopedia of Gene and Genomes

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

  1. Software feature descriptions highlighted in italic description fully reflect the feature, those highlighted in bold italic description partially reflect the feature, and those highlighted in bold description do not provide the feature at all