Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
Rob Patro
Great. If you still see the error, please file a bug report for salmon so I can see if I can repro the issue upstream.
Stuart Willis
Indeed a more recent version of salmon (0.8.2) was successful on a bam/assembly that repeatedly resulted in a "numeric overflow" with 0.4.2.
However, I also found in the same case that deleting the transrate results (bam and all) and starting over circumvented the problem, while remaking the assembly (transabyss, in this case) circumvented this error in another case. Not sure what to make of that
It does speak to the prescience of @cboursnell to make transfuse able to pick up mid-way, though
@rob-p definitely we should do that - I've been swamped for like 10 months, but this week I've finished up a project so I should have free cycles for it
wow we are super out of sync with salmon
@rob-p how close are we to being able to skip SNAP altogether? in-memory streaming alignment -> assignment -> assessment is the dream we talked about a year ago
Rob Patro
We are ~90% of the way done I'd say. I have 2 students working on this (which also includes some algorithmic advances to rapmap).
Their stuff adds the ability to "selectively" align quasi-mappings. Given that, it'll be a few days of work on the salmon end to enable the posterior sampling with the new code.
@rob-p sweet - that will be such a great update
Stuart Willis
if you guys are tweaking the implementation of salmon into transrate, would it be worth it to add a specification for strand specific data? Not sure how salmon's behavior changes w or w/o on stranded data

Hello @blahah,

Referring to other posts regarding an issue with 1.0.3, I am having a similar SNAP error while running transrate. My error code is noted below.

Welcome to SNAP version 1.0dev.96.

mmap failed.
MemMapDataReader: fail to map /pylon2/bi4s8fp/jsdsmail/Transrate/Trim_TS6_T24.left.pe.qc.fq at 0,3765724304
SNAP exited with exit code 1 from line 2283 of file SNAPLib/DataReader.cpp

Any help/advice on this error would be much appreciated. I got the same error when trying to run it on the previous version of transrate as well.


@jdeyar hmm sorry about that, I'm going to try to work through the transrate issues next week (I'm no longer paid to work on it, and have been swamped with other stuff for a while)
@jdeyar hopefully this is one we can get dealt with quickly by just updating SNAP and Salmon and cleaning up a few packaging issues
@blahah thank you for your prompt response. Hopefully it is as easy as an update for SNAP and other linked software. Please comment in this forum whenever it is updated! Much appreciated!

@blahah any updates so for? I am running Transrate v1.0.3. The algorithms for contig/assembly score are so attractive! Eager to try them out in my data! SNAP seems fine, but Salmon gives warning "[jointLog] [warning] [Sampler.hpp]: Failed to sample an alignment for this read; this shouldn't happen
currentMass = -nan, r = 0.694954"


Loading index from directory... 2s. 384271831 bases, seed size 23
Total Reads Aligned, MAPQ >= 10 Aligned, MAPQ < 10 Unaligned Too Short/Too Many Ns Extra Alignments %Pairs Reads/s Time in Aligner (s)
693,340,846 280,486,471 (40.45%) 330,208,110 (47.63%) 78,660,098 (11.35%) 3,986,167 (0.57%) 620,752,208 78.36% 124,387 5,574
Welcome to SNAP version 1.0dev.96.


[2017-05-17 13:40:55.996] [fileLog] [info] quantification processed 354000000 fragments so far
[2017-05-17 13:41:01.787] [jointLog] [info]
Completed first pass through the alignment file.
Total # of mapped reads : 354762625
of uniquely mapped reads : 144015998
ambiguously mapped reads : 210746627
[2017-05-17 13:41:01.761] [fileLog] [info] quantification processed 354762625 fragments so far
[2017-05-17 13:41:33.214] [jointLog] [info] Computed 9628374 rich equivalence classes for further processing
[2017-05-17 13:41:33.214] [jointLog] [info] Counted 354762625 total reads in the equivalence classes
[2017-05-17 13:41:33.227] [jointLog] [info] starting optimizer
[2017-05-17 13:41:39.341] [jointLog] [info] Marked 0 weighted equivalence classes as degenerate
[2017-05-17 13:41:39.618] [jointLog] [info] iteration = 0 | max rel diff. = 800.763
[2017-05-17 13:41:53.311] [jointLog] [info] iteration 50, recomputing effective lengths
[2017-05-17 13:42:09.716] [jointLog] [info] iteration = 100 | max rel diff. = 0.358082
[2017-05-17 13:42:40.040] [jointLog] [info] iteration = 200 | max rel diff. = 0.305365
[2017-05-17 13:43:10.754] [jointLog] [info] iteration = 300 | max rel diff. = 0.0754343
[2017-05-17 13:43:41.135] [jointLog] [info] iteration = 400 | max rel diff. = 0.0490107
[2017-05-17 13:44:09.308] [jointLog] [info] iteration 500, recomputing effective lengths
[2017-05-17 13:44:10.037] [jointLog] [info] iteration = 500 | max rel diff. = 0.0219555
[2017-05-17 13:44:39.741] [jointLog] [info] iteration = 600 | max rel diff. = 0.127602
[2017-05-17 13:45:09.829] [jointLog] [info] iteration = 699 | max rel diff. = 0.0077808
[2017-05-17 13:45:09.864] [jointLog] [info] finished optimizer
[2017-05-17 13:45:10.734] [jointLog] [info] Sampling alignments; outputting results to ./postSample.bam
[2017-05-17 13:45:11.509] [jointLog] [warning] [Sampler.hpp]: Failed to sample an alignment for this read; this shouldn't happen
currentMass = -nan, r = 0.694954

cc @rob-p \o any ideas?
Rob Patro
Yes (cc @blahah), this is a bug that can occur in VB inference that was fixed in a more recent version of Salmon. I fear the only immediate solution here may be to generate the relevant file manually with a more recent Salmon release --- though we should probably upgrade the one included in Transrate soon
btw, the preprint that describes the relevant algorithm for having salmon do alignment internally went up yesterday --- http://biorxiv.org/content/early/2017/05/17/138800
I think that we can do a patch release before that, but this (rather big new feature) could land soon.
so @rob-p if I cut a new transrate with updated salmon it will fix this?
Rob Patro
This should be the case, yes --- however, before you do that, we should really test the new pipeline on one or two data sets first. A lot has been updated, but the module to sample alignments hasn't been touched in a while.
Thanks! @blahah @rob-p If any testing needed from users, I would like to do it.
Hi Transrate community. I'm hoping someone might be able to provide some advice. Similar to @Victaphanta and @sarjopp earlier in the thread I'm having issues installing all dependencies (namely Salmon_v0.4.0) using the "transrate --install-deps=all" command. As suggested further up I've tried both deleting and renaming local/bin/librt.so.1, both of which did not help. Did this issue ever get resolved? Or at the very least is there an existing/ reliable method to get salmon0.4.0 working?
Matt MacManes
can I hope that when TransRate is updated, @cboursnell can update TransFuse as well? Both of these are really important to my workflow, and are unreliable.. Transfuse is still using Salmon 0.4.2, giving me intractable errors
[ERROR] 2017-05-23 13:47:30 : Version Info: Could not resolve upgrade information in the alotted time.
Check for upgrades manually at https://combine-lab.github.io/salmon
# salmon (alignment-based) v0.4.2
# [ program ] => salmon
# [ command ] => quant
# [ libType ] => { IU }
# [ alignments ] => { /mnt/lustre/macmaneslab/macmanes/orp/assemblies/transrate_1.transcripts75/1.skewer-trimmed-pair1.fastq.1.skewer-trimmed-pair2.fastq.1.transcripts75.bam }
# [ targets ] => { /mnt/lustre/macmaneslab/macmanes/orp/assemblies/1.spades_k75/1.transcripts75.fasta }
# [ threads ] => { 24 }
# [ sampleOut ] => { }
# [ sampleUnaligned ] => { }
# [ output ] => { . }
# [ useVBOpt ] => { }
# [ useErrorModel ] => { }
Library format { type:paired end, relative orientation:inward, strandedness:unstranded }
Logs will be written to ./logs
numQuantThreads = 18
parseThreads = 6
Checking that provided alignment files have consistent headers . . . done
Populating targets from aln = "/mnt/lustre/macmaneslab/macmanes/orp/assemblies/transrate_1.transcripts75/1.skewer-trimmed-pair1.fastq.1.skewer-trimmed-pair2.fastq.1.transcripts75.bam", fasta = "/mnt/lustre/macmaneslab/macmanes/orp/assemblies/1.spades_k75/1.tra
nscripts75.fasta" . . .done

processed 947385 reads in current round

/mnt/lustre/software/linuxbrew/colsa/Cellar/transfuse/86.64/libexec/lib/ruby/2.2.0/gems/transrate-1.0.1/lib/transrate/salmon.rb:27:in `run': Salmon failed (Transrate::SalmonError)
    from /mnt/lustre/software/linuxbrew/colsa/Cellar/transfuse/86.64/libexec/lib/ruby/2.2.0/gems/transrate-1.0.1/lib/transrate/read_metrics.rb:120:in `assign_and_quantify'
    from /mnt/lustre/software/linuxbrew/colsa/Cellar/transfuse/86.64/libexec/lib/ruby/2.2.0/gems/transrate-1.0.1/lib/transrate/read_metrics.rb:63:in `run'
    from /mnt/lustre/software/linuxbrew/colsa/Cellar/transfuse/86.64/libexec/lib/ruby/2.2.0/gems/transrate-1.0.1/lib/transrate/transrater.rb:86:in `read_metrics'
    from /mnt/lustre/software/linuxbrew/colsa/Cellar/transfuse/86.64/libexec/lib/lib/transfuse/transfuse.rb:218:in `block (2 levels) in transrate'
    from /mnt/lustre/software/linuxbrew/colsa/Cellar/transfuse/86.64/libexec/lib/lib/transfuse/transfuse.rb:214:in `chdir'
    from /mnt/lustre/software/linuxbrew/colsa/Cellar/transfuse/86.64/libexec/lib/lib/transfuse/transfuse.rb:214:in `block in transrate'
    from /mnt/lustre/software/linuxbrew/colsa/Cellar/transfuse/86.64/libexec/lib/lib/transfuse/transfuse.rb:210:in `each'
    from /mnt/lustre/software/linuxbrew/colsa/Cellar/transfuse/86.64/libexec/lib/lib/transfuse/transfuse.rb:210:in `each_with_index'
    from /mnt/lustre/software/linuxbrew/colsa/Cellar/transfuse/86.64/libexec/lib/lib/transfuse/transfuse.rb:210:in `transrate'
    from /mnt/lustre/software/linuxbrew/colsa/Cellar/transfuse/86.64/bin/../libexec/lib/bin/transfuse:66:in `<main>'
make: *** [transfuse] Error 1

the Salmon log simply says:

[2017-05-23 13:47:28.703] [fileLog] [info] quantification processed 0 fragments so far

[2017-05-23 13:47:28.948] [fileLog] [info] quantification processed 947385 fragments so far

@rob-p @blahah

Rob Patro
wow --- that looks like a hard fail. Presumably a segfault, but I can't really assess from this output.
Matt MacManes
ya, and it’s reproducible… and 100% not worth chasing since it’s a version from 9034 years ago..
Rob Patro
l0l --- true. But presumably we could verify that if we run with 0.8.2 (same index and alignments) everything works?
Matt MacManes
Just did that.. can confirm that everything runs perfect in 0.8.2. :)
Rob Patro
great :) --- we'll get that fixed as soon as Richard and I can sync up. I think getting this issue resolved asap is important. The awesome selective-alignment stuff should probably wait until the subsequent release (after it's had sufficient testing within Salmon itself) ;P.
Hi guys! I'm new in Linux and Transcriptome assembly. I downloaded Transrate but I really don't know how to install it. I did a "make" command but nothing happened. So, how can I install and run Transrate? (I know it's a silly question but as I told you, I'm new in Transcriptome Assembly. I hope you understand
Matt MacManes
There are some instructions, here, that might help: http://oyster-river-protocol.readthedocs.io/en/master/aws_setup.html
ok so a straight salmon update to 0.8.2 should solve some things
easy to do
will try to push that out this weekend
Ilya Shlyakhter
Can you add a bioconda recipe for installing transrate? I've done some work on it ( https://github.com/bioconda/bioconda-recipes/tree/is-add-transrate/recipes/transrate ) but it's not working yet. The transrate gem on rubygems.org is 1.0.1 but the current version of transrate is 1.0.3 . The dependence on snap-aligner is on 1.0dev.96 , but would 1.0dev.97 work? bioconda has a build for 1.0dev.97 . Would blast+ 2.2.31 work? bioconda has a build for that, but not for 2.2.29 . In bioconda the guideline is to have a recipe for building things from source, so just fetching binaries would not work.
Austin Patton

Hi there - I've been using both Transrate and Transfuse in my assembly pipeline. In brief, I've been using three different assemblers choosing different settings within each. I then ranked each resultant assembly with Transrate and merged both within an across assemblers using Transfuse. Out of interest, I re-ranked each merged assembly using the recent version of Transrate, and what I found was that their scores did not correspond to those reported by Transfuse - they were much lower, and lower than any of the original assemblies.

I'm wondering why this might be? How does Transfuse's merging procedure differ from that of the merging implemented within Transrate? Is one preferred over the other?

Also, I haven't been able to find any documentation describing in detail what exactly Transfuse is doing. Is this available somewhere?


Anybody home?
Does this software works for paired end data only?
Rob Patro
@preeti333 : yes, this is currently restricted to paired-end data. The information provided by single-end data is much less useful and reliable for assembly evaluation.
Alexis Weinnig
Hi guys, I recently read about Transrate and decided I wanted to try it for assessing a few transcriptome assemblies I have produced that don't have a reference genome. However, I looks like it is in the works for a new update and the current version isn't producing the most reliable results? Should I wait to use it until the next update is released? (I also totally understand y'all are doing this on your own time now!)
Stuart Willis
So I guess v1.0.4 is ready to rock? with updated dependencies? Any timeframe for updating the ruby gem?
Stuart Willis
ok, so deleted old local version of salmon (0.4.2) that the gem installed, copied updated version of salmon (0.8.2) there so it's in the path, and ran transrate (1.0.4) install-deps just for kicks. Got this: Checking dependencies
Installing salmon (0.4)...
[ERROR] 2017-07-20 17:13:29 : Failed to install:
  • salmon:0.4
Kate Wathen-Dunn
@stuartwillis , I am having the same problem. Tried various salmon versions (0.4.2, 0.6.0 and 0.8.2),but I can't get TransRate to recognise them and use them, so currently I can only do the basic assembly metric analysis without the reads, etc. I would really love to get this to work, so any advice would be appreciated!
Lisa K. Johnson
I had the same problem. A comment above about removing the /bin/librt.so.1 file and assistance from @bluegenes helped me out. this worked on Ubuntu 16.04: cd sudo curl -SL https://bintray.com/artifact/download/blahah/generic/transrate-1.0.3-linux-x86_64.tar.gz | tar -xz cd transrate-1.0.3-linux-x86_64 ./transrate --install-deps ref rm -f bin/librt.so.1 echo 'export PATH=$PATH:"$HOME/transrate-1.0.3-linux-x86_64"', transcriptome eval tutorial here: http://dibsi-rnaseq.readthedocs.io/en/latest/evaluation.html
Kate Wathen-Dunn
Thanks @ljcohen , you're a legend! I ran 'sudo gem uninstall transrate' , unpacked the transrate-1.0.3 tarball I already had downloaded then ran the './transrate --install-deps ref' and the 'rm librt.so.1' commands. I added the 'export PATH' line for both transrate-1.0.3 and salmon-0.8.2 to my ~/.profile and then TransRate ran perfectly. Thank you so much!
Lisa K. Johnson
great, glad it worked!
Upendra Kumar Devisetty
Hi, I am running transrate on an Trinity assembly and eventhough the Transrate finished running and generated the outputs, I see the salmon.log file has several rows that shows this error
[2017-07-27 16:11:56.857] [jointLog] [info] Sampling alignments; outputting results to ./postSample.bam
[2017-07-27 16:11:57.184] [jointLog] [warning] [Sampler.hpp]: Failed to sample an alignment for this read; this shouldn't happen
currentMass = -nan, r = 0.293905
[2017-07-27 16:11:57.185] [jointLog] [warning] [Sampler.hpp]: Failed to sample an alignment for this read; this shouldn't happen
currentMass = -nan, r = 0.665585"
Consequently the Transrate score is quite low. Can anyone let me what this error means? Thanks..