Giter Club home page Giter Club logo

transfuse's People

Contributors

blahah avatar cboursnell avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

transfuse's Issues

Dependance issue

Hi! I'm getting the same issue references here: blahah/transrate#202
where trying to run the binary throws a ruby problem:
/home/aaron/src/transfuse-0.5.0-linux-x86_64/lib/ruby/bin.real/ruby: relocation error: /home/aaron/src/transfuse-0.5.0-linux-x86_64/lib/librt.so.1: symbol __vdso_clock_gettime, version GLIBC_PRIVATE not defined in file libc.so.6 with link time reference

Good vs. filtered?

Is there a draft vignette or tutorial available for transfuse yet? The one for Transrate is very helpful!

Specifically I'm wondering what the difference is between contigs in the "good" vs. "filtered" fasta files.

Thanks! Stu

Trace contig origin

It would be very useful to have access to correspondences between output and input contigs: which contigs from which assemblies were fused. For example in fasta headers:

>contig0.1 trinity_1:c115_g5_i1 bridger_1:comp123_seq1

Incomplete test data

Tests 5 and 6 in test_transfuse.rb require 'left.fq' and 'right.fq', but these don't appear to be present in the 'data' directory.

packaging tweaks

Rakefile changes:

~/c/transfuse master ❯ git diff Rakefile                                                                                                                                                                                                                       [ruby-2.2.0] ✱ ◼
diff --git a/Rakefile b/Rakefile
index 98ee878..fde0d06 100644
--- a/Rakefile
+++ b/Rakefile
@@ -62,7 +62,7 @@ namespace :package do
       abort "You can only 'bundle install' using Ruby 2.2, because that's what Traveling Ruby uses."
     end
     Bundler.with_clean_env do
-      sh "env BUNDLE_IGNORE_CONFIG=1 bundle install --path packaging/vendor --without development"
+      sh "env BUNDLE_IGNORE_CONFIG=1 bundle install --path packaging/vendor --without development && bundle exec rake compile"
     end
     sh "rm -f packaging/vendor/*/*/cache/*"
   end
@@ -86,8 +86,8 @@ def create_package(target)
   sh "mkdir #{package_dir}/lib/ruby"
   sh "tar -xzf packaging/packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-#{target}.tar.gz -C #{package_dir}/lib/ruby"
   sh "cp packaging/transfuse #{package_dir}/transfuse"
-  sh "cp -pR packaging/vendor #{package_dir}/lib/"
-  sh "cp Gemfile Gemfile.lock #{package_dir}/lib/vendor/"
+  sh "cp -pR packaging/vendor/* #{package_dir}/lib/"
+  sh "cp Gemfile Gemfile.lock #{package_dir}/lib/"

   # install binary dependencies
   sh "mkdir -p #{package_dir}/bin"
@@ -103,8 +103,9 @@ def create_package(target)
   sh "cp -r SalmonBeta-0.4.2_DebianSqueeze/lib/* #{package_dir}/lib/."
   sh "cp vsearch-1.8.1-linux-x86_64/bin/vsearch #{package_dir}/bin/."

-  sh "mkdir #{package_dir}/lib/vendor/.bundle"
-  sh "cp packaging/bundler-config #{package_dir}/lib/vendor/.bundle/config"
+  # install gem dependencies
+  sh "mkdir #{package_dir}/lib/.bundle"
+  sh "cp packaging/bundler-config #{package_dir}/lib/.bundle/config"
   # create package
   if !ENV['DIR_ONLY']
     sh "cd packaging && tar -czf #{package_pref}.tar.gz #{package_pref}"

.bundle/config changes:

  • remove the line that turns off development packages

c extension:

  • need to precompile it and copy in the compiled version. Same for libruby.

does not like multiple assemblies?

Hi, when attempting to merge a few assemblies together with --left --right reads = 60+, transfuse seems to get confused.

It creates a singled bam file, named after the first read pair and only for the first assembly..

the transrate process also seems to use just one assembly for its qc.

The final assembly produced in this case only contained the trinity transcripts so it didn't even look at the other assemblies..

Have you seen this behaviour or are aware of scaling issues with larger datasets?

building gene models without a reference

We might be able to produce a gene model from each cluster.

Basic method would be this:

  1. get clusters so that all contigs from a particular gene are grouped
  2. do a (fast - mafft?) multiple sequence alignment with each cluster
  3. examine the MSA to get contiguous blocks - these should be exons
  4. contigs from a particular transcript should all align together ungapped (except for erroneous insertions)
  5. contigs from different transcripts within a gene should align gapped related to one another
  6. gap borders should be slice junctions, we can use prior knowledge about sequence at splice junctions to score them (see Sheth (2006) and Marquez (2012)). Can also use how clearly the borders are delineated in the alignment stack.

This is an example of how an MSA might look:

reference_free_gene_model

Can transfuse be updated versions of transrate and salmon?

Hi! I'm interested in using transfuse to merge several transcriptomes from the same species. But, I'm kind of in a circle of hell with install dependencies right now between old versions of transrate and salmon.

==> Downloading https://github.com/COMBINE-lab/salmon/archive/v0.4.2.tar.gz
Already downloaded: /home/ljcohen/.cache/Homebrew/salmon-0.4.2.tar.gz
==> cmake . -DCMAKE_C_FLAGS_RELEASE=-DNDEBUG -DCMAKE_CXX_FLAGS_RELEASE=-DNDEBUG -DCMAKE_INSTALL_PREFIX=/home/linuxbrew/.linuxbrew/Cellar/salmon/0.4.2 -
==> make install
Last 15 lines from /home/ljcohen/.cache/Homebrew/Logs/salmon/02.make:
    Trying 129.2.8.101...
connect to 129.2.8.101 port 21 failed: Connection timed out
Failed to connect to ftp.genome.umd.edu port 21: Connection timed out
Closing connection 0

  --- LOG END ---
CMake Error at /tmp/salmon-20160815-32174-gcpft1/salmon-0.4.2/libjellyfish-prefix/src/libjellyfish-stamp/download-libjellyfish.cmake:161 (message):
  Downloading failed


make[2]: *** [libjellyfish-prefix/src/libjellyfish-stamp/libjellyfish-download] Error 1
make[2]: Leaving directory `/tmp/salmon-20160815-32174-gcpft1/salmon-0.4.2'
make[1]: *** [CMakeFiles/libjellyfish.dir/all] Error 2
make[1]: Leaving directory `/tmp/salmon-20160815-32174-gcpft1/salmon-0.4.2'
make: *** [all] Error 2

READ THIS: https://github.com/Linuxbrew/brew/blob/master/share/doc/homebrew/Troubleshooting.md#troubleshooting

Is it possible for transfuse to be updated to include the most up-to-date versions of transrate and salmon?

Salmon failure

I am trying to merge 4 different assemblies and got an error from Salmon. I have attached the logs as well as standard error with this message. Hope you can spot the issue and provide me a solution for it.
And I would also like to specify 'strandedness' for Salmon - Is this possible?

transfuse.merge_norm2.txt

Thanks.

snap error: ran out of candidate pools - increase MCP?

Hi,
Snap-aligner failed to complete on my sixth assembly (6/10) with -mcp error:

Loading index from directory... 76s.  3422233603 bases, seed size 23
Aligning.
Welcome to SNAP version 1.0beta.18.
Ran out of scoring candidate pool entries.  Perhaps trying with a larger value of -mcp will help.
SNAP exited with exit code 1 from line 489 of file SNAPLib/IntersectingPairedEndAligner.cpperror

I suspect the cause/fix is similar to this discussion: https://groups.google.com/forum/#!topic/transrate-users/b7jKmPG5uos

You'll need to edit the function build_paired_cmd - specifically you want to add a line. Find the line:
> cmd << " -omax 10" # max alignments per pair/read
And add a new line after it:
> cmd << " -mcp 10000000" # maximum candidate pool size
Save the file and re-run transrate. If all went well it should run SNAP with a 10-fold increased -mcp over the default (1 million).

Is there a way to manually edit the -mcp parameter in transfuse?

Thanks,
Jared

name too long

Hi! I've used 41 assemblies as an input to transfuse. At some point I got an error
transfuse2.txt
I have zero experience on coding, but it seems that naming the concatenated fasta with the first 5 characters of all the assemblies can be a problem.
In my case, and being completely ignorant about coding, I intuitively solved it by modifying line 61 of transfuse-0.5.0-linux-x86_64/lib/lib/transfuse/transfuse.rb
from
"fasta << File.basename(name, File.extname(name))[0..5]" to
"fasta << File.basename(name, File.extname(name))[0..1]"

Maybe is better to assign a fixed name this concatenated filtered fasta with something like "all_filtered.fa" no matter how many assemblies are being used as input.
Thanks a lot for the software,
Quelo

Is there a way to pass the transrate results?

Hello!
I have performed transrate analysis on every assembly (derived from different assemblers) and wondered is there a way to pass the produced output to the transfuse in order to avoid unnecessary reanalysis of the same data.

Best regards
Asan

install issue

do I need Ruby 2.X?

$ sudo gem install transfuse
[sudo] password for macmanes:
Fetching: trollop-2.1.2.gem (100%)
Fetching: bindeps-1.2.0.gem (100%)
Fetching: bio-1.5.0.gem (100%)
Fetching: crb-blast-0.6.6.gem (100%)
Fetching: fix-trinity-output-1.0.0.gem (100%)
Fetching: colorize-0.7.7.gem (100%)
Fetching: transrate-1.0.1.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing transfuse:
    ERROR: Failed to build gem native extension.

        /usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from extconf.rb:2:in `<main>'


Gem files will remain installed in /var/lib/gems/1.9.1/gems/transrate-1.0.1 for inspection.
Results logged to /var/lib/gems/1.9.1/gems/transrate-1.0.1/ext/transrate/gem_make.out

transfuse - zip file doesn't contain dependencies

I'll preface by saying that I use Python and Java, but have never used Ruby.

According to the install documentation for transfuse, all you have to do is to download and unzip the zip file and transfuse is ready to go: "This package contains everything that transfuse needs including a version of ruby."

However:

cd transfuse-master
bin/transfuse --help
bin/transfuse:3:in `require': no such file to load -- trollop (LoadError)
	from bin/transfuse:3

I downloaded trollp.rb and placed it into the lib directory with the same result.
The documentation at github doesn't say anything about installing dependencies, although the line in bin/transfuse
opt :install, "install dependencies"

seems to imply that "bin/transfuse --install dependencies" should work (same error)

The only file in deps is deps.yaml.

Is there, perhaps, an environment variable similar to PYTHONPATH that should be set?
Failing that, what else needs to happen to get transfuse to run?

Time and space complexity

Are there any details available for how the memory and time requirements scale with the input size/number of reads.?

Thank you :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.