Skip to content

CAPTUS 1.6.5 clean up error #39

Description

@neolycus23

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'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions