mritchielab / FLAMES

A framework for performing single-cell and bulk read full-length analysis of mutations and splicing.
https://mritchielab.github.io/FLAMES/
GNU General Public License v3.0
20 stars 9 forks source link

Error with reading gene annotation file #37

Closed sparthib closed 4 months ago

sparthib commented 4 months ago

Hi, in my code below, after genome alignment is completed, I get this error:

[1] "completed genome alignment"
12:35:32 AM Thu Jun 27 2024 find_isoform
#### Reading Gene Annotations
Error: unordered_map::at
Execution halted

I am not sure if it's an issue with my gtf file. It is uncompressed. Any help would be appreciated. Thanks!

config_dir <- file.path(outdir, "config")
config_file <- FLAMES::create_config(config_dir, type = "sc_3end",
                                     do_barcode_demultiplex = FALSE,
                                     min_sup_cnt = 5,
                                     threads = 20)

#run minimap2

if (!any(is.na(sys_which(c("minimap2", "k8"))))) {

  config <- jsonlite::fromJSON(config_file)
  genome_bam <- rownames(minimap2_align(
    config = config, fa_file = genome_fa, fq_in = fastq, annot = annot,
    outdir = outdir
  ))
  print("completed genome alignment")

  find_isoform(
    annotation = annot, genome_fa = genome_fa,
    genome_bam = genome_bam, outdir = outdir, config = config
  )
  print("completed isoform identification")
  minimap2_realign(
    config = config, fq_in = fastq,
    outdir = outdir
  )
  print("created minimap2 realigned bam")
  quantify_transcript(annotation = annot, outdir = outdir, config = config)
  print("completed transcript quantification")
  sce <- create_sce_from_dir(outdir = outdir, annotation = annot)
  print("created SingleCellExperiment object")

}
maxim-h commented 4 months ago

I experience the same problem.

The annotation GFF file is that same as the one I've used successfully before with LuyiTian/FLAMES.

ChangqingW commented 4 months ago

This is an issue with the C++ implementation of isoform discovery part, setting "multithread_isoform_identification": [false] should be able to resolve this

ChangqingW commented 4 months ago

duplicate of #31