Hello! I have been trying to use Captus 1.6.5 to clean some read files on a server and have been getting this error below. When I use the 1.6.1 version with the same data, this issue does not occur.
The error does not seem to be sample related, because I tried with different samples, and they all work with version 1.6.1. Any clues as to what is happening?
Logs Summarization and File Cleanup (2026-04-13 15:25:57)
Now Captus will summarize the logs from 'bbduk.sh' and 'FastQC' or 'Falco' to produce a final report in HTML format. The data tables and individual graphs associated
with the HTML report will be placed in a subdirectory called '03_qc_extras'.
Keep all files: False
QC extras directory: /dmz/home/vferreira/captus_testJP/01_clean_reads/03_qc_extras
Output directory successfully created
Reads/Bases stats: /dmz/home/vferreira/captus_testJP/01_clean_reads/03_qc_extras/reads_bases.tsv
Adaptors 1st round: /dmz/home/vferreira/captus_testJP/01_clean_reads/03_qc_extras/adaptors_round1.tsv
Adaptors 2nd round: /dmz/home/vferreira/captus_testJP/01_clean_reads/03_qc_extras/adaptors_round2.tsv
Contaminants: /dmz/home/vferreira/captus_testJP/01_clean_reads/03_qc_extras/contaminants.tsv
Per base seq. qual.: /dmz/home/vferreira/captus_testJP/01_clean_reads/03_qc_extras/per_base_seq_qual.tsv
Per seq. qual. scores: /dmz/home/vferreira/captus_testJP/01_clean_reads/03_qc_extras/per_seq_qual_scores.tsv
Per base seq. content: /dmz/home/vferreira/captus_testJP/01_clean_reads/03_qc_extras/per_base_seq_content.tsv
Per seq. GC content: /dmz/home/vferreira/captus_testJP/01_clean_reads/03_qc_extras/per_seq_gc_content.tsv
Seq. length distr.: /dmz/home/vferreira/captus_testJP/01_clean_reads/03_qc_extras/seq_len_dist.tsv
Seq. duplication: /dmz/home/vferreira/captus_testJP/01_clean_reads/03_qc_extras/seq_dup_levels.tsv
Adaptor content: /dmz/home/vferreira/captus_testJP/01_clean_reads/03_qc_extras/adaptor_content.tsv
Generating Sequence Quality Control report...
Traceback (most recent call last):
File "/dmz/home/vferreira/.conda/envs/captusJP/lib/python3.12/site-packages/pandas/core/indexes/base.py", line 3641, in get_loc
return self._engine.get_loc(casted_key)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "pandas/_libs/index.pyx", line 168, in pandas._libs.index.IndexEngine.get_loc
File "pandas/_libs/index.pyx", line 197, in pandas._libs.index.IndexEngine.get_loc
File "pandas/_libs/hashtable_class_helper.pxi", line 7668, in pandas._libs.hashtable.PyObjectHashTable.get_item
File "pandas/_libs/hashtable_class_helper.pxi", line 7676, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 'after'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/dmz/home/vferreira/.conda/envs/captusJP/bin/captus", line 10, in <module>
sys.exit(main())
^^^^^^
File "/dmz/home/vferreira/.conda/envs/captusJP/lib/python3.12/site-packages/captus/captus_assembly.py", line 1620, in main
CaptusAssembly()
File "/dmz/home/vferreira/.conda/envs/captusJP/lib/python3.12/site-packages/captus/captus_assembly.py", line 86, in __init__
getattr(self, args.command)()
File "/dmz/home/vferreira/.conda/envs/captusJP/lib/python3.12/site-packages/captus/captus_assembly.py", line 297, in clean
clean(full_command, args)
File "/dmz/home/vferreira/.conda/envs/captusJP/lib/python3.12/site-packages/captus/clean.py", line 433, in clean
qc_html_report, qc_html_msg = build_qc_report(out_dir, qc_extras_dir)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/dmz/home/vferreira/.conda/envs/captusJP/lib/python3.12/site-packages/captus/report.py", line 58, in build_qc_report
read_len_pct = avg_read_len.loc[:, "after"] / avg_read_len.loc[:, "before"] * 100
~~~~~~~~~~~~~~~~^^^^^^^^^^^^
File "/dmz/home/vferreira/.conda/envs/captusJP/lib/python3.12/site-packages/pandas/core/indexing.py", line 1200, in __getitem__
return self._getitem_tuple(key)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/dmz/home/vferreira/.conda/envs/captusJP/lib/python3.12/site-packages/pandas/core/indexing.py", line 1386, in _getitem_tuple
return self._getitem_lowerdim(tup)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/dmz/home/vferreira/.conda/envs/captusJP/lib/python3.12/site-packages/pandas/core/indexing.py", line 1067, in _getitem_lowerdim
return self._getitem_nested_tuple(tup)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/dmz/home/vferreira/.conda/envs/captusJP/lib/python3.12/site-packages/pandas/core/indexing.py", line 1143, in _getitem_nested_tuple
return cast(_LocIndexer, self)._handle_lowerdim_multi_index_axis0(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/dmz/home/vferreira/.conda/envs/captusJP/lib/python3.12/site-packages/pandas/core/indexing.py", line 1412, in _handle_lowerdim_multi_index_axis0
raise ek
File "/dmz/home/vferreira/.conda/envs/captusJP/lib/python3.12/site-packages/pandas/core/indexing.py", line 1406, in _handle_lowerdim_multi_index_axis0
return self._get_label(tup, axis=axis)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/dmz/home/vferreira/.conda/envs/captusJP/lib/python3.12/site-packages/pandas/core/indexing.py", line 1399, in _get_label
return self.obj.xs(label, axis=axis)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/dmz/home/vferreira/.conda/envs/captusJP/lib/python3.12/site-packages/pandas/core/generic.py", line 4245, in xs
loc, new_index = index._get_loc_level(key, level=0)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/dmz/home/vferreira/.conda/envs/captusJP/lib/python3.12/site-packages/pandas/core/indexes/multi.py", line 3751, in _get_loc_level
loc_level = self._get_level_indexer(k, level=i)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/dmz/home/vferreira/.conda/envs/captusJP/lib/python3.12/site-packages/pandas/core/indexes/multi.py", line 3885, in _get_level_indexer
idx = self._get_loc_single_level_index(level_index, key)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/dmz/home/vferreira/.conda/envs/captusJP/lib/python3.12/site-packages/pandas/core/indexes/multi.py", line 3458, in _get_loc_single_level_index
return level_index.get_loc(key)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/dmz/home/vferreira/.conda/envs/captusJP/lib/python3.12/site-packages/pandas/core/indexes/base.py", line 3648, in get_loc
raise KeyError(key) from err
KeyError: 'after'
Hello! I have been trying to use Captus 1.6.5 to clean some read files on a server and have been getting this error below. When I use the 1.6.1 version with the same data, this issue does not occur.
The error does not seem to be sample related, because I tried with different samples, and they all work with version 1.6.1. Any clues as to what is happening?