Skip to content

Failure to parse (compressed) Bed file in computeMatrix #1423

@IanSudbery

Description

@IanSudbery

I recieve the following error message when using computeMatrix preference-point with a bed file:

Traceback (most recent call last): 
   File "<redacted>/mamba/PAS_metagene/bin/computeMatrix", line 10, in <module> 
      sys.exit(main()) 
              ^^^^^^ 
   File "/<redacted>/mamba/PAS_metagene/lib/python3.12/site-packages/deeptools/computeMatrix.py", line 413, in main 
      cmo.sortMatrix(hm, args.regionsFileName, args.transcriptID, args.transcript_id_designator, verbose=not args.quiet) 
   File "<redacted>/mamba/PAS_metagene/lib/python3.12/site-packages/deeptools/computeMatrixOperations.py", line 722, in sortMatrix 
      loadBED(line, fp, fname, labelColumn, labels, regions, defaultGroup) 
   File "<redacted>/mamba/PAS_metagene/lib/python3.12/site-packages/deeptools/computeMatrixOperations.py", line 598, in loadBED 
       if line.startswith("#") and labelColumn is None: 
         ^^^^^^^^^^^^^^^^^^^^ 
TypeError: startswith first arg must be bytes or a tuple of bytes, not str 

Deeptools is run with the following command:

$ computeMatrix reference-point
                   --referencePoint center
                   -R peaks.intronic.bed.gz
                   -S Rp12.rev.cov.bw
                   --outFileNameMatrix Rp12.rev.cov.matrix.tsv
                   --outFileName Rp12.rev.cov.matrix.tsv.computematrix.tsv 
                  -p 4                   
> Rp12.rev.cov.matrix.tsv.log 

using deeptools v3.5.5 on SUSE 7.9, python 3.12.3, installation via conda.

My guess is that which ever library is doing your depcompression, its passing bytes back, while the standard uncompressed bed parsing returns str?

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