AttributeError: '_ViewHeterogens' object has no attribute 'bins'

10 views
Skip to first unread message

Conall Moore

unread,
Mar 27, 2025, 7:29:59 PMMar 27
to Biociphers
Hi all, 

I came across the following error when trying to run voila tsv following majiq heterogen. Any help to resolve this would be greatly appreciated. 

Thanks in advance!

Conall

______________________________

voila --license /home/CJGM/majiq_analysis/majiq_license tsv -f /home/CJGM/cathal_rnaseq_2025/heterogen_rerun_acorn_10_minreads_min-experiments_4/het_voila_tsv/NSC-Sh_het_10_minreads_min_experiments_4_probability_thresold_0.95_dPSI_thresold_0.05 /home/CJGM/cathal_rnaseq_2025/build_acorn_for_heterogen_10_minreads_min-experiments_4/splicegraph.sql /home/CJGM/cathal_rnaseq_2025/heterogen_rerun_acorn_10_minreads_min-experiments_4/het_voila_tsv/NSC-Sh.het.voila --probability-threshold 0.95

2025-03-27 23:24:26,280 (PID:2216590) - INFO - Command: /home/CJGM/env/bin/voila --license /home/CJGM/majiq_analysis/majiq_license tsv -f /home/CJGM/cathal_rnaseq_2025/heterogen_rerun_acorn_10_minreads_min-experiments_4/het_voila_tsv/NSC-Sh_het_10_minreads_min_experiments_4_probability_thresold_0.95_dPSI_thresold_0.05 /home/CJGM/cathal_rnaseq_2025/build_acorn_for_heterogen_10_minreads_min-experiments_4/splicegraph.sql /home/CJGM/cathal_rnaseq_2025/heterogen_rerun_acorn_10_minreads_min-experiments_4/het_voila_tsv/NSC-Sh.het.voila --probability-threshold 0.95

2025-03-27 23:24:26,280 (PID:2216590) - INFO - Voila v2.5.9.dev1+ge06bbf0f

2025-03-27 23:24:26,347 (PID:2216590) - INFO - ╔═══════════════════════════════════════════════════════════════╗

2025-03-27 23:24:26,347 (PID:2216590) - INFO - ╠╡ ACADEMIC License applied                                     ║

2025-03-27 23:24:26,347 (PID:2216590) - INFO - ║  Name: Official Majiq Academic-only License                   ║

2025-03-27 23:24:26,347 (PID:2216590) - INFO - ║  File: majiq_license                                          ║

2025-03-27 23:24:26,347 (PID:2216590) - INFO - ║  Expiration Date: Never                                       ║

2025-03-27 23:24:26,347 (PID:2216590) - INFO - ║                                                               ║

2025-03-27 23:24:26,347 (PID:2216590) - INFO - ╠╡ The academic license is for non-commercial purposes by       ║

2025-03-27 23:24:26,347 (PID:2216590) - INFO - ╠╡ individuals at an academic or not for profit institution.    ║

2025-03-27 23:24:26,347 (PID:2216590) - INFO - ╚═══════════════════════════════════════════════════════════════╝

2025-03-27 23:24:26,347 (PID:2216590) - INFO - config file: /tmp/tmp8czy7xqz

2025-03-27 23:24:26,351 (PID:2216590) - INFO - heterogen TSV

2025-03-27 23:24:26,356 (PID:2216590) - INFO - Creating Tab-delimited output file

2025-03-27 23:24:44,133 (PID:2216590) - ERROR - '_ViewHeterogens' object has no attribute 'bins'

multiprocessing.pool.RemoteTraceback: 

"""

Traceback (most recent call last):

  File "/home/CJGM/miniconda3/lib/python3.10/multiprocessing/pool.py", line 125, in worker

    result = (True, func(*args, **kwds))

  File "/home/CJGM/env/lib/python3.10/site-packages/rna_voila/tsv.py", line 533, in tsv_row

    for het in self.lsvs(gene_id):

  File "/home/CJGM/env/lib/python3.10/site-packages/rna_voila/tsv.py", line 249, in lsvs

    lsvs = list(lsv for lsv in lsvs if any(matrix_area(b, t) >= p for b in lsv.bins))

  File "/home/CJGM/env/lib/python3.10/site-packages/rna_voila/tsv.py", line 249, in <genexpr>

    lsvs = list(lsv for lsv in lsvs if any(matrix_area(b, t) >= p for b in lsv.bins))

AttributeError: '_ViewHeterogens' object has no attribute 'bins'

"""


The above exception was the direct cause of the following exception:


Traceback (most recent call last):

  File "/home/CJGM/env/lib/python3.10/site-packages/rna_voila/run_voila.py", line 521, in main

    args.func()

  File "/home/CJGM/env/lib/python3.10/site-packages/rna_voila/tsv.py", line 88, in __init__

    HeterogenTsv()

  File "/home/CJGM/env/lib/python3.10/site-packages/rna_voila/tsv.py", line 453, in __init__

    super().__init__(ViewHeterogens)

  File "/home/CJGM/env/lib/python3.10/site-packages/rna_voila/tsv.py", line 122, in __init__

    self.tab_output()

  File "/home/CJGM/env/lib/python3.10/site-packages/rna_voila/tsv.py", line 509, in tab_output

    self.write_tsv(fieldnames)

  File "/home/CJGM/env/lib/python3.10/site-packages/rna_voila/tsv.py", line 335, in write_tsv

    [r.get() for r in multiple_results]

  File "/home/CJGM/env/lib/python3.10/site-packages/rna_voila/tsv.py", line 335, in <listcomp>

    [r.get() for r in multiple_results]

  File "/home/CJGM/miniconda3/lib/python3.10/multiprocessing/pool.py", line 774, in get

    raise self._value

AttributeError: '_ViewHeterogens' object has no attribute 'bins'

San Jewell

unread,
Apr 1, 2025, 12:15:39 PMApr 1
to Biociphers
Hi Conall,

I've reproduced this error, which has to do with the addition of the "--probability-threshold" flag when applied to a run with a heterogen input file. I am soon going to release a hotfix to the repository to make sure this flag is not applied to runs without a deptapsi input file. However, for your case, you don't need to wait for the hotfix, just note that this specific filter is only supported for dpsi runs. Please see the help text here:

Thresholds for Deltapsi or Heterogen inputs:
  --changing-between-group-dpsi CHANGING_BETWEEN_GROUP_DPSI
                        For determining changing with HET or dPSI inputs. This is the minimum absolute difference in median values of PSI for HET inputs (or E(dPSI) for dPSI inputs) for which an LSV/junction can be marked changing. The default is "0.2"
  --non-changing-between-group-dpsi NON_CHANGING_BETWEEN_GROUP_DPSI
                        For determining non-changing with HET or dPSI inputs. This is the maximum absolute difference in median values of PSI for HET inputs (or E(dPSI) for dPSI inputs) for which an LSV/junction can be marked non-changing. The default is "0.05"

Thresholds for Deltapsi inputs:
  --threshold THRESHOLD
                        Filter out LSVs with no junctions predicted to change over a certain value. Even when show-all is used this value is still used to calculate the probability in the TSV. The default is "0.2".
  --probability-threshold PROBABILITY_THRESHOLD
                        This is off by default. If set, confidence must be above this probability threshold in addition to the psi threshold.

Thresholds for Heterogen inputs:
  --non-changing-pvalue-threshold NON_CHANGING_PVALUE_THRESHOLD
                        For determining non-changing with HET inputs. Minimum p-value for which an LSV/junction can return true. Uses minimum p-value from all tests provided. The default is "0.05".
  --non-changing-within-group-IQR NON_CHANGING_WITHIN_GROUP_IQR
                        For determining non-changing with HET inputs. Maximum IQR within a group for which an LSV/junction can return true. The default is "0.1".
  --changing-pvalue-threshold CHANGING_PVALUE_THRESHOLD
                        For determining changing with HET inputs. Maximum p-value for which an LSV/junction can return true. Uses maximum p-value from all tests provided. The default is "0.05".


Thanks,
-San

Conall Moore

unread,
Apr 1, 2025, 4:52:54 PMApr 1
to Biociphers
Hi San, 

Thanks for your reply and solution. Removing the --probability-threshold flag allowed my command to run successfully.

All the best, 


Conall

--
You received this message because you are subscribed to the Google Groups "Biociphers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to majiq_voila...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/majiq_voila/a447bbc6-82e2-4eb4-ad34-72c64574e3efn%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages