griffithlab / pVACtools

http://www.pvactools.org
BSD 3-Clause Clear License
138 stars 59 forks source link

TypeError: argument of type 'float' is not iterable #1074

Closed YingYa closed 6 months ago

YingYa commented 7 months ago

Installation Type

Docker

pVACtools Version / Docker Image

4.1.0 - running via Singularity (v3.8.1)

Python Version

No response

Operating System

CentOS7

Describe the bug

Running pVACtools using Singularity on a CentOS Linux 7 HPC at work. (Docker not permitted)

The key information from the stdout: Executing MHC Class I predictions ...... Combining Parsed Prediction Files Completed Creating aggregated report Tumor clonal VAF estimated as 0.25 (calculated from user-provided tumor purity of 0.5). Assuming variants with VAF < 0.125 are subclonal

The error information from stderr: Traceback (most recent call last): File "/usr/local/bin/pvacseq", line 8, in sys.exit(main()) File "/usr/local/lib/python3.7/site-packages/pvactools/tools/pvacseq/main.py", line 123, in main args[0].func.main(args[1]) File "/usr/local/lib/python3.7/site-packages/pvactools/tools/pvacseq/run.py", line 142, in main pipeline.execute() File "/usr/local/lib/python3.7/site-packages/pvactools/lib/pipeline.py", line 484, in execute PostProcessor(**post_processing_params).execute() File "/usr/local/lib/python3.7/site-packages/pvactools/lib/post_processor.py", line 57, in execute self.aggregate_all_epitopes() File "/usr/local/lib/python3.7/site-packages/pvactools/lib/post_processor.py", line 98, in aggregate_all_epitopes aggregate_inclusion_binding_threshold=self.aggregate_inclusion_binding_threshold, File "/usr/local/lib/python3.7/site-packages/pvactools/lib/aggregate_all_epitopes.py", line 224, in execute (best_mut_line, metrics_for_key) = self.get_best_mut_line(df, key_str, prediction_algorithms, el_algorithms, vaf_clonal) File "/usr/local/lib/python3.7/site-packages/pvactools/lib/aggregate_all_epitopes.py", line 90, in get_best_mut_line best = self.get_best_binder(df) File "/usr/local/lib/python3.7/site-packages/pvactools/lib/aggregate_all_epitopes.py", line 351, in get_best_binder prob_pos_df['anchor_residue_pass'] = prob_pos_df.apply(lambda x: self.is_anchor_residue_pass(x), axis=1) File "/usr/local/lib/python3.7/site-packages/pandas/core/frame.py", line 8740, in apply return op.apply() File "/usr/local/lib/python3.7/site-packages/pandas/core/apply.py", line 688, in apply return self.apply_standard() File "/usr/local/lib/python3.7/site-packages/pandas/core/apply.py", line 812, in apply_standard results, res_index = self.apply_series_generator() File "/usr/local/lib/python3.7/site-packages/pandas/core/apply.py", line 828, in apply_series_generator results[i] = self.f(v) File "/usr/local/lib/python3.7/site-packages/pvactools/lib/aggregate_all_epitopes.py", line 351, in prob_pos_df['anchor_residue_pass'] = prob_pos_df.apply(lambda x: self.is_anchor_residue_pass(x), axis=1) File "/usr/local/lib/python3.7/site-packages/pvactools/lib/aggregate_all_epitopes.py", line 370, in is_anchor_residue_pass if '-' in position: TypeError: argument of type 'float' is not iterable

How to reproduce this bug

singularity exec -e -B /path/to/indir:/indir -B `pwd` /path/to/pvactools-4.1.0.sif pvacseq run /indir/test.vcf.gz test HLA-A*26:01,HLA-A*31:01,HLA-B*07:02,HLA-B*40:01,HLA-C*03:04,HLA-C*07:02,DPA1*01:03,DPB1*04:01,DPB1*06:01,DQA1*01:02,DQA1*03:01,DQB1*03:02,DQB1*06:02,DRB1*04:04,DRB1*15:01 all . --iedb-install-directory /opt/iedb -t 4 --minimum-fold-change 1 --tdna-vaf 0.1 --trna-vaf 0.1 -a sample_name --normal-sample-name normal --tumor-purity 0.5 -p /indir/test.phased.vep.vcf.gz

Input files

No response

Log output

Traceback (most recent call last): File "/usr/local/bin/pvacseq", line 8, in sys.exit(main()) File "/usr/local/lib/python3.7/site-packages/pvactools/tools/pvacseq/main.py", line 123, in main args[0].func.main(args[1]) File "/usr/local/lib/python3.7/site-packages/pvactools/tools/pvacseq/run.py", line 142, in main pipeline.execute() File "/usr/local/lib/python3.7/site-packages/pvactools/lib/pipeline.py", line 484, in execute PostProcessor(**post_processing_params).execute() File "/usr/local/lib/python3.7/site-packages/pvactools/lib/post_processor.py", line 57, in execute self.aggregate_all_epitopes() File "/usr/local/lib/python3.7/site-packages/pvactools/lib/post_processor.py", line 98, in aggregate_all_epitopes aggregate_inclusion_binding_threshold=self.aggregate_inclusion_binding_threshold, File "/usr/local/lib/python3.7/site-packages/pvactools/lib/aggregate_all_epitopes.py", line 224, in execute (best_mut_line, metrics_for_key) = self.get_best_mut_line(df, key_str, prediction_algorithms, el_algorithms, vaf_clonal) File "/usr/local/lib/python3.7/site-packages/pvactools/lib/aggregate_all_epitopes.py", line 90, in get_best_mut_line best = self.get_best_binder(df) File "/usr/local/lib/python3.7/site-packages/pvactools/lib/aggregate_all_epitopes.py", line 351, in get_best_binder prob_pos_df['anchor_residue_pass'] = prob_pos_df.apply(lambda x: self.is_anchor_residue_pass(x), axis=1) File "/usr/local/lib/python3.7/site-packages/pandas/core/frame.py", line 8740, in apply return op.apply() File "/usr/local/lib/python3.7/site-packages/pandas/core/apply.py", line 688, in apply return self.apply_standard() File "/usr/local/lib/python3.7/site-packages/pandas/core/apply.py", line 812, in apply_standard results, res_index = self.apply_series_generator() File "/usr/local/lib/python3.7/site-packages/pandas/core/apply.py", line 828, in apply_series_generator results[i] = self.f(v) File "/usr/local/lib/python3.7/site-packages/pvactools/lib/aggregate_all_epitopes.py", line 351, in prob_pos_df['anchor_residue_pass'] = prob_pos_df.apply(lambda x: self.is_anchor_residue_pass(x), axis=1) File "/usr/local/lib/python3.7/site-packages/pvactools/lib/aggregate_all_epitopes.py", line 370, in is_anchor_residue_pass if '-' in position: TypeError: argument of type 'float' is not iterable

Output files

No response

susannasiebert commented 7 months ago

@YingYa thank you for this bug report. Can you please attach the all_epitopes.tsv result file for this run so I can try to reproduce this error on my end?

YingYa commented 7 months ago

Please find the files on: https://drive.google.com/drive/folders/1pmagGB-Wv7dDv6s9mpBNWWeeZ_0kmLK9?usp=sharing

susannasiebert commented 6 months ago

This issue has been fixed in version 4.1.1. Please give that version a try and feel free to reopen this issue if the error persists.