qiime feature-classifier classify-consensus-blast died with <Signals.SIGKILL: 9>

Hello! I ran the following command

qiime feature-classifier classify-consensus-blast \
  --i-query OTUs/rep-seqs.qza \
  --i-reference-reads Classifier/silva-138-99-seqs.qza \
  --i-reference-taxonomy Classifier/silva-138-99-tax.qza \
  --o-classification Taxonomy/taxonomy.qza \
  --verbose

rep-seqs.qza (431.3 KB)

and received the following error message

Running external command line application. This may print messages to stdout and/or stderr.
The command being run is below. This command cannot be manually re-run as it will depend on temporary files that no longer exist.

Command: blastn -query /tmp/qiime2-archive-x_41oylq/86175dbd-b53d-4936-bc87-c583edef5175/data/dna-sequences.fasta -evalue 0.001 -strand both -outfmt 7 -subject /tmp/qiime2-archive-e__3v_y9/a7432d0f-b5f7-409f-9daf-cd33db5de53f/data/dna-sequences.fasta -perc_identity 80.0 -qcov_hsp_perc 80.0 -max_target_seqs 10 -out /tmp/tmpg1gbf89t

Traceback (most recent call last):
  File "/home/macgregor/anaconda3/envs/qiime2/lib/python3.6/site-packages/q2cli/commands.py", line 329, in __call__
    results = action(**arguments)
  File "<decorator-gen-359>", line 2, in classify_consensus_blast
  File "/home/macgregor/anaconda3/envs/qiime2/lib/python3.6/site-packages/qiime2/sdk/action.py", line 245, in bound_callable
    output_types, provenance)
  File "/home/macgregor/anaconda3/envs/qiime2/lib/python3.6/site-packages/qiime2/sdk/action.py", line 390, in _callable_executor_
    output_views = self._callable(**view_args)
  File "/home/macgregor/anaconda3/envs/qiime2/lib/python3.6/site-packages/q2_feature_classifier/_blast.py", line 47, in classify_consensus_blast
    exp_seq_ids=seqs_fp)
  File "/home/macgregor/anaconda3/envs/qiime2/lib/python3.6/site-packages/q2_feature_classifier/_consensus_assignment.py", line 28, in _consensus_assignments
    _run_command(cmd)
  File "/home/macgregor/anaconda3/envs/qiime2/lib/python3.6/site-packages/q2_feature_classifier/_consensus_assignment.py", line 74, in _run_command
    subprocess.run(cmd, check=True)
  File "/home/macgregor/anaconda3/envs/qiime2/lib/python3.6/subprocess.py", line 438, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['blastn', '-query', '/tmp/qiime2-archive-x_41oylq/86175dbd-b53d-4936-bc87-c583edef5175/data/dna-sequences.fasta', '-evalue', '0.001', '-strand', 'both', '-outfmt', '7', '-subject', '/tmp/qiime2-archive-e__3v_y9/a7432d0f-b5f7-409f-9daf-cd33db5de53f/data/dna-sequences.fasta', '-perc_identity', '80.0', '-qcov_hsp_perc', '80.0', '-max_target_seqs', '10', '-out', '/tmp/tmpg1gbf89t']' died with <Signals.SIGKILL: 9>.

Plugin error from feature-classifier:

  Command '['blastn', '-query', '/tmp/qiime2-archive-x_41oylq/86175dbd-b53d-4936-bc87-c583edef5175/data/dna-sequences.fasta', '-evalue', '0.001', '-strand', 'both', '-outfmt', '7', '-subject', '/tmp/qiime2-archive-e__3v_y9/a7432d0f-b5f7-409f-9daf-cd33db5de53f/data/dna-sequences.fasta', '-perc_identity', '80.0', '-qcov_hsp_perc', '80.0', '-max_target_seqs', '10', '-out', '/tmp/tmpg1gbf89t']' died with <Signals.SIGKILL: 9>.

See above for debug info.

Looking at another post, it seems that "died with <Signals.SIGKILL: 9>" indicates that something shut down the Qiime plugin while it was running. However, I'm not working on any shared server/cluster, and I've ran the same command on the same inputs multiple times before with no issue.

The solution on said post seemed to be modifying the original command to be less computationally intensive(?). However, I get the same error if I instead run

!qiime feature-classifier classify-consensus-blast \
  --i-query OTUs/rep-seqs.qza \
  --i-reference-reads Classifier/silva-138-99-seqs.qza \
  --i-reference-taxonomy Classifier/silva-138-99-tax.qza \
  --p-maxaccepts 2 \
  --p-perc-identity 0.7 \
  --p-query-cov 0.7 \
  --o-classification Taxonomy/taxonomy.qza \
  --verbose

Could anyone clue me in as to what might be causing this?

Hello and welcome to :qiime2:!

Please, try to rerun blastn command from error (no quotes, no commas) outside of QIIME 2. It should give and idea of what's happening. Pay attention to RAM usage.

Cheers
V

Thanks!

I am a bit confused as to what you meant by running the command outside of Qiime 2? I did attempt to run it in the command line outside of my qiime2 environment:

(base) [email protected]:~$ blastn -query /tmp/qiime2-archive-x_41oylq/86175dbd-b53d-4936-bc87-c583edef5175/data/dna-sequences.fasta -evalue 0.001 -strand both -outfmt 7 -subject /tmp/qiime2-archive-e__3v_y9/a7432d0f-b5f7-409f-9daf-cd33db5de53f/data/dna-sequences.fasta -perc_identity 80.0 -qcov_hsp_perc 80.0 -max_target_seqs 10 -out /tmp/tmpg1gbf89t
Command line argument error: Argument "subject". File is not accessible:  `/tmp/qiime2-archive-e__3v_y9/a7432d0f-b5f7-409f-9daf-cd33db5de53f/data/dna-sequences.fasta'

However, I re-ran the original command and it went through with no issue this time!

So the idea was to run blastn without running qiime.
QIIME 2 contains a lot of pipelines, and it shows which commands failed exactly so we can isolate and fix the problem.
The issue with your command might be /tmp/ emptying - QIIME 2 stores temporary files for a certain amount of time, where you can access them. However, /tmp/ might be emptied due to various conditions.

Anyhow, glad your problem is solved, use those tips in future, happy qiimeing! :smiley:

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.