Each web BLAST search has allocated a fixed amount of CPU (central processing unit) time. NCBI limits CPU usage to ensure fair service for all customers. If your search can not complete within the allocated time, you will encounter the “CPU usage limit was exceeded” error.
Exceeding CPU usage happens in searches that require high computational intensity, such as running translated BLAST searches, blastx and tblastn. In any BLAST suite, the following queries make searches computationally more tasking:
- long query sequence
- large number of shorter query sequences in one search
- query sequences containing low complexity regions or repeats in searches without filtering and masking
How can you avoid exceeding the CPU time limit?
You can reduce computational intensity of your searches in several ways:
- Use a smaller query or specify a query subrange.
- Target a smaller BLAST database.
- Use organism limit to target a smaller subset in the database.
- Select a larger word size.
- Lower the expect value.
- Decrease Max target sequences.
- BLAST locally by downloading BLAST databases from NCBI and using BLAST+ executables.
- ElasticBLAST on the cloud.
Where can you learn more?
Related knowledge articles on web BLAST limitations, errors, and preventive measures:
- Why does my BLAST search get a “Process size limit exceeded” error?
- How many sequences can I enter in a single BLAST search?
- How does BLAST penalize heavy usage from an IP address?
- How do I reduce search load to avoid being penalized for heavy usage when teaching BLAST in a classroom?