Entering edit mode
I am running tximeta
to import the salmon quantification data. When I link to the transcriptome using the following code:
indexDir <- file.path(dir, "transcriptome", "GRCh38.index")
fastaPath <- c(file.path(dir, "transcriptome", "Homo_sapiens.GRCh38.cdna.all.fa.gz"),
file.path(dir, "transcriptome", "Homo_sapiens.GRCh38.ncrna.fa.gz"))
gtfPath <- file.path(dir, "transcriptome", "Homo_sapiens.GRCh38.98.gtf.gz")
makeLinkedTxome(indexDir=indexDir,
source="Ensembl",
organism="Homo sapiens",
release="98",
genome="GRCh38",
fasta=fastaPath,
gtf=gtfPath,
write=FALSE)
an error occurs:
Error: lexical error: invalid char in json text.
~/utr/transcriptom
(right here) ------^
The GRCh38.index
is from salmon:
salmon index -t Homo_sapiens.GRCh38.cdna.all.fa.gz Homo_sapiens.GRCh38.ncrna.fa.gz -i GRCh38.index
I found there are only two json files in the index directory: info.json
and versionInfo.json
, and there is no file called header.json
, which is necessary in the makeLinkedTxome
function. Then I just create a header.json
file using the information from info.json
, and it seems work.
Did I miss some steps in salmon?
The latest one, v1.0.0
Thanks for the bug report. I'll push a fix to the release branch today. The information has moved as you said from header.json to info.json in the index and so I'll just need a line to check both places.
BTW, if I push a fix today, it should show up in the release branch by noon tomorrow (or the next day if something goes wrong).
Great, thanks so much Michael!
We had to make one more change (Charlotte spotted the issue), so it will be fixed in v1.4.2, which should be available tomorrow. Relevant PR:
https://github.com/mikelove/tximeta/pull/22
You can also test the solution with:
Hi Michael, I tried Salmon v1.0.0 with decoy-augmented transcriptomes today and when I imported using tximeta v1.5.6 the same error occurred...
All files listed in the Salmon index directory:
Can you type out
makeLinkedTxome
in the console, type return and see what the code says?The first line should be
So I'm confused by it wouldn't be picking it up.
You can also run this line of code to check:
Hi Michael,
I am also using
Salmon 1.0.0
and I am having the same issue after installing the version oftximeta
from your github repository.other attached packages: [1] tximeta_1.5.6
The first line of the function still looks for
header.json
I actually only came across
tximeta
in the hopes that it won't crash unexpectedly astximport
is currently doing when trying tosummarize lengths
of ~80 samples.... :\So that first line doesn’t match the code thats in GitHub or Bioconductor, meaning you don’t yet have the fixed version of the code. I wonder what could be going on. Maybe try restarting R?
Re: 80 samples, tximeta calls tximport so no it won’t change performance. Make sure you’ve allocated sufficient memory — 200,000 x 80 x 3 is not a trivial amount of data.
Yes the first line is looking for
info.json
, and you are right, R needs to restart after installing the latesttximeta
then everything is OK... Many thanks!