Skip to content

Issue with pybedtools in dev version #30

@jesswhitts

Description

@jesswhitts

Hello,

I am trying to work through the multiome notebook using the dev version of simba, and am getting an error saying bedtools needs upgrading. But when I check, I have the latest pybedtools installed (v.0.10.0)

Code:

adata_CG_atac = si.tl.gene_scores(adata_CP,genome='hg38',use_gene_weigt=True, use_top_pcs=True)

Error:

NotImplementedError Traceback (most recent call last)
Cell In[28], line 1
----> 1 adata_CG_atac = si.tl.gene_scores(adata_CP,genome='hg38',use_gene_weigt=True, use_top_pcs=True)

File ~/opt/anaconda3/envs/env_simba_dev/lib/python3.12/site-packages/simba/tools/_gene_scores.py:345, in gene_scores(adata, genome, gene_anno, tss_upstream, tss_downsteam, gb_upstream, cutoff_weight, use_top_pcs, use_precomputed, use_gene_weigt, min_w, max_w)
287 """Calculate gene scores
288
289 Parameters
(...)
331 Dataframe of overlap between peaks and genes
332 """
333 GS = GeneScores(adata,
334 genome,
335 gene_anno=gene_anno,
(...)
343 min_w=min_w,
344 max_w=max_w)
--> 345 adata_CG_atac = GS.cal_gene_scores()
346 return adata_CG_atac

File ~/opt/anaconda3/envs/env_simba_dev/lib/python3.12/site-packages/simba/tools/_gene_scores.py:193, in GeneScores.cal_gene_scores(self)
190 pbt_peaks = pybedtools.BedTool.from_dataframe(df_peaks_for_pbt)
192 # peaks overlapping with extended TSS
--> 193 pbt_overlap = pbt_peaks.intersect(pbt_gene_ann_ext,
194 wa=True,
195 wb=True)
196 df_overlap = pbt_overlap.to_dataframe(
197 names=[x+'_p' for x in df_peaks_for_pbt.columns]
198 + [x+'_g' for x in df_gene_ann_for_pbt.columns])
199 # peaks overlapping with gene body

File ~/opt/anaconda3/envs/env_simba_dev/lib/python3.12/site-packages/pybedtools/bedtool.py:907, in BedTool._log_to_history..decorated(self, *args, **kwargs)
903 def decorated(self, *args, **kwargs):
904
905 # this calls the actual method in the first place; result is
906 # whatever you get back
--> 907 result = method(self, *args, **kwargs)
909 # add appropriate tags
910 parent_tag = self._tag

File ~/opt/anaconda3/envs/env_simba_dev/lib/python3.12/site-packages/pybedtools/bedtool.py:244, in _wraps..decorator..not_implemented_func(*args, **kwargs)
243 def not_implemented_func(*args, **kwargs):
--> 244 raise NotImplementedError(help_str)

NotImplementedError: "intersectBed" does not appear to be installed or on the path, so this method is disabled. Please install a more recent version of BEDTools and re-import to use this method.

Does pybedtools need downgrading maybe?

Best,
Jess

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions