directlfq icon indicating copy to clipboard operation
directlfq copied to clipboard

ZeroDivisionError

Open mschwoer opened this issue 5 months ago • 0 comments

Describe the bug Hey, I rarely get ZeroDivisionError on some blank files, mb just adjust the logging message? len(df_nonnans.columns)/len(df.columns) if len(df.columns) else -1 ?

[2024-08-24, 23:19:08 UTC] {ssh.py:529} INFO - 0:41:52.696888 INFO: Traceback (most recent call last):
[2024-08-24, 23:19:08 UTC] {ssh.py:529} INFO -   File "/fs/home/kraken/conda-envs/alphadia-1.7.2/lib/python3.11/site-packages/alphadia/cli.py", line 341, in run
[2024-08-24, 23:19:08 UTC] {ssh.py:529} INFO -     plan.run()
[2024-08-24, 23:19:08 UTC] {ssh.py:529} INFO -   File "/fs/home/kraken/conda-envs/alphadia-1.7.2/lib/python3.11/site-packages/alphadia/planning.py", line 379, in run
[2024-08-24, 23:19:08 UTC] {ssh.py:529} INFO -     output.build(workflow_folder_list, base_spec_lib)
[2024-08-24, 23:19:08 UTC] {ssh.py:529} INFO -   File "/fs/home/kraken/conda-envs/alphadia-1.7.2/lib/python3.11/site-packages/alphadia/outputtransform.py", line 372, in build
[2024-08-24, 23:19:08 UTC] {ssh.py:529} INFO -     _ = self.build_lfq_tables(folder_list, psm_df=psm_df, save=True)
[2024-08-24, 23:19:08 UTC] {ssh.py:529} INFO -         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[2024-08-24, 23:19:08 UTC] {ssh.py:529} INFO -   File "/fs/home/kraken/conda-envs/alphadia-1.7.2/lib/python3.11/site-packages/alphadia/outputtransform.py", line 739, in build_lfq_tables
[2024-08-24, 23:19:08 UTC] {ssh.py:529} INFO -     lfq_df = qb.lfq(
[2024-08-24, 23:19:08 UTC] {ssh.py:529} INFO -              ^^^^^^^
[2024-08-24, 23:19:08 UTC] {ssh.py:529} INFO -   File "/fs/home/kraken/conda-envs/alphadia-1.7.2/lib/python3.11/site-packages/alphadia/outputtransform.py", line 273, in lfq
[2024-08-24, 23:19:08 UTC] {ssh.py:529} INFO -     lfq_df = lfqnorm.NormalizationManagerSamplesOnSelectedProteins(
[2024-08-24, 23:19:08 UTC] {ssh.py:529} INFO -              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[2024-08-24, 23:19:08 UTC] {ssh.py:529} INFO -   File "/fs/home/kraken/conda-envs/alphadia-1.7.2/lib/python3.11/site-packages/directlfq/normalization.py", line 323, in __init__
[2024-08-24, 23:19:08 UTC] {ssh.py:529} INFO -     self._run_normalization()
[2024-08-24, 23:19:08 UTC] {ssh.py:529} INFO -   File "/fs/home/kraken/conda-envs/alphadia-1.7.2/lib/python3.11/site-packages/directlfq/normalization.py", line 263, in _run_normalization
[2024-08-24, 23:19:08 UTC] {ssh.py:529} INFO -     self._normalize_complete_input_quadratic()
[2024-08-24, 23:19:08 UTC] {ssh.py:529} INFO -   File "/fs/home/kraken/conda-envs/alphadia-1.7.2/lib/python3.11/site-packages/directlfq/normalization.py", line 268, in _normalize_complete_input_quadratic
[2024-08-24, 23:19:08 UTC] {ssh.py:529} INFO -     self.complete_dataframe =  self.normalization_function(self.complete_dataframe)
[2024-08-24, 23:19:08 UTC] {ssh.py:529} INFO -                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[2024-08-24, 23:19:08 UTC] {ssh.py:529} INFO -   File "/fs/home/kraken/conda-envs/alphadia-1.7.2/lib/python3.11/site-packages/directlfq/normalization.py", line 345, in _normalization_function
[2024-08-24, 23:19:08 UTC] {ssh.py:529} INFO -     sample2shift = get_normfacts(drop_nas_if_possible(ion_dataframe_selected).to_numpy())
[2024-08-24, 23:19:08 UTC] {ssh.py:529} INFO -                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[2024-08-24, 23:19:08 UTC] {ssh.py:529} INFO -   File "/fs/home/kraken/conda-envs/alphadia-1.7.2/lib/python3.11/site-packages/directlfq/normalization.py", line 236, in drop_nas_if_possible
[2024-08-24, 23:19:08 UTC] {ssh.py:529} INFO -     fraction_nonans = calculate_fraction_with_no_NAs(df, df_nonans)
[2024-08-24, 23:19:08 UTC] {ssh.py:529} INFO -                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[2024-08-24, 23:19:08 UTC] {ssh.py:529} INFO -   File "/fs/home/kraken/conda-envs/alphadia-1.7.2/lib/python3.11/site-packages/directlfq/normalization.py", line 245, in calculate_fraction_with_no_NAs
[2024-08-24, 23:19:08 UTC] {ssh.py:529} INFO -     return len(df_nonnans.columns)/len(df.columns)
[2024-08-24, 23:19:08 UTC] {ssh.py:529} INFO -            ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
[2024-08-24, 23:19:08 UTC] {ssh.py:529} INFO - ZeroDivisionError: division by zero

To Reproduce quant 20240822_OA1_Whisper80_MaOe_SA_M768_SCP_Evochip_E06_ProcessedBlank.raw with alphadia, cf. output files here: fs/pool/pool-mann-alphakraken/output/_FALLBACK/2024_08/out_20240822_OA1_Whisper80_MaOe_SA_M768_SCP_Evochip_E06_ProcessedBlank.raw

Expected behavior A graceful exit

Version (please complete the following information):

  • Installation Type: pip, imported in alphadia

mschwoer avatar Sep 18 '24 06:09 mschwoer