[DRE-commits] [ruby-crb-blast] 01/03: New upstream version 0.6.8

Michael Crusoe misterc-guest at moszumanska.debian.org
Fri Dec 2 16:05:43 UTC 2016


This is an automated email from the git hooks/post-receive script.

misterc-guest pushed a commit to branch master
in repository ruby-crb-blast.

commit 9a194cd01631b40e08b8b7c07a736744d12e1eeb
Author: Michael R. Crusoe <crusoe at ucdavis.edu>
Date:   Fri Dec 2 08:01:21 2016 -0800

    New upstream version 0.6.8
---
 README.md                  |  17 +++
 bin/crb-blast              |  19 ++++
 lib/crb-blast/crb-blast.rb |  39 ++++++-
 lib/crb-blast/version.rb   |   2 +-
 metadata.yml               | 256 ---------------------------------------------
 5 files changed, 72 insertions(+), 261 deletions(-)

diff --git a/README.md b/README.md
index 4ef318f..d2ce1c7 100644
--- a/README.md
+++ b/README.md
@@ -82,6 +82,23 @@ blaster.find_reciprocals
 blaster.find_secondaries
 ```
 
+### Output
+
+The output file for CRB-Blast pulls columns from the blast output.
+
+```
+query - the name of the transcript from the 'query' fasta file
+target - the name of the transcript from the 'target' fasta file
+id - the percent sequence identity
+alnlen - the alignment length
+evalue - the blast evalue
+bitscore - the blast bitscore
+qstart..qend - the coordinates of the alignment in the query from start to end
+tstart..tend - the coordinates of the alignment in the target from start to end 
+qlen - the length of the query transcript
+tlen - the length of the target transcript
+```
+
 ### Getting help
 
 Please use the issue tracker if you find bugs or have trouble running CRB-BLAST.
diff --git a/bin/crb-blast b/bin/crb-blast
index 1978c52..2d21257 100755
--- a/bin/crb-blast
+++ b/bin/crb-blast
@@ -50,6 +50,9 @@ EOS
   opt :split,
       "split the fasta files into chunks and run multiple blast jobs and then"+
       " combine them."
+
+  opt :verbose,
+      "be verbose"
 end
 
 Trollop::die :query, "must exist" if !File.exist?(opts[:query])
@@ -60,12 +63,27 @@ gem_deps = File.join(gem_dir, 'deps', 'deps.yaml')
 Bindeps.require gem_deps
 
 blaster = CRB_Blast::CRB_Blast.new(opts.query, opts.target)
+print "Making blast databases..." if opts.verbose
 dbs = blaster.makedb
+puts " Done" if opts.verbose
+
+print "Blasting..." if opts.verbose
 run = blaster.run_blast(opts.evalue, opts.threads, opts.split)
+puts " Done" if opts.verbose
+
+print "Loading..." if opts.verbose
 load = blaster.load_outputs
+puts " Done" if opts.verbose
+
+print "Finding reciprocals..." if opts.verbose
 recips = blaster.find_reciprocals
+puts " Done" if opts.verbose
+
+print "Fitting curve..." if opts.verbose
 secondaries = blaster.find_secondaries
+puts " Done" if opts.verbose
 
+print "Writing output..." if opts.verbose
 File.open("#{opts.output}", 'w') do |out|
   blaster.reciprocals.each_pair do |query_id, hits|
     hits.each do |hit|
@@ -73,3 +91,4 @@ File.open("#{opts.output}", 'w') do |out|
     end
   end
 end
+puts " Done" if opts.verbose
\ No newline at end of file
diff --git a/lib/crb-blast/crb-blast.rb b/lib/crb-blast/crb-blast.rb
index 65ff4f9..8288edb 100644
--- a/lib/crb-blast/crb-blast.rb
+++ b/lib/crb-blast/crb-blast.rb
@@ -24,6 +24,7 @@ module CRB_Blast
     attr_accessor :missed
     attr_accessor :target_is_prot, :query_is_prot
     attr_accessor :query_results, :target_results, :working_dir
+    attr_reader :reciprocal_hits
 
     def initialize query, target, output=nil
       raise IOError.new("File not found #{query}") if !File.exist?(query)
@@ -189,12 +190,22 @@ module CRB_Blast
       cmd1 << " -out #{@output1} -evalue #{evalue} "
       cmd1 << " -outfmt \"6 std qlen slen\" "
       cmd1 << " -max_target_seqs 50 "
+      if bin1=="blastn"
+        cmd1 << " -dust no "
+      elsif bin1=~/blastx/ or bin1=~/blastp/ or bin1=~/tblastn/
+        cmd1 << " -seg no "
+      end
       cmd1 << " -num_threads #{threads}"
 
       cmd2 = "#{bin2} -query #{@target} -db #{@working_dir}/#{@query_name} "
       cmd2 << " -out #{@output2} -evalue #{evalue} "
       cmd2 << " -outfmt \"6 std qlen slen\" "
       cmd2 << " -max_target_seqs 50 "
+      if bin2=="blastn"
+        cmd2 << " -dust no "
+      elsif bin2=~/blastx/ or bin2=~/blastp/ or bin2=~/tblastn/
+        cmd2 << " -seg no "
+      end
       cmd2 << " -num_threads #{threads}"
       if !File.exist?("#{@output1}")
         blast1 = Cmd.new(cmd1)
@@ -432,9 +443,12 @@ module CRB_Blast
       else
         length_hash = Hash.new
         fitting = Hash.new
-        @evalues.each do |h|
-          length_hash[h[:length]] = [] if !length_hash.key?(h[:length])
-          length_hash[h[:length]] << h
+        File.open("evalues_data", "w") do |io|
+          @evalues.each do |h|
+            length_hash[h[:length]] = [] if !length_hash.key?(h[:length])
+            length_hash[h[:length]] << h
+            io.write "#{h[:length]}\t#{h[:e]}\n"
+          end
         end
 
         (10.. at longest).each do |centre|
@@ -453,9 +467,24 @@ module CRB_Blast
           end
           if count>0
             mean = e/count
-            fitting[centre] = mean
+            if fitting[centre-1]
+              if fitting[centre-1] > mean # monotonic fitting
+                fitting[centre] = fitting[centre-1]
+              else
+                fitting[centre] = mean
+              end
+            else
+              fitting[centre] = mean
+            end
+          end
+        end
+        # output fitting data
+        File.open("fitting_data", "w") do |io|
+          fitting.each do |centre, mean|
+            io.write "#{centre}\t#{mean}\n"
           end
         end
+        #
         hits = 0
         @missed.each_pair do |id, list|
           list.each do |hit|
@@ -531,6 +560,8 @@ module CRB_Blast
     def write_output
       s=""
       unless @reciprocals.nil?
+      s << "query\ttarget\tid\talnlen\tevalue\tbitscore\t"
+      s << "qstart..qend\ttstart..tend\tqlen\ttlen\n"
         @reciprocals.each_pair do |query_id, hits|
           hits.each do |hit|
             s << "#{hit}\n"
diff --git a/lib/crb-blast/version.rb b/lib/crb-blast/version.rb
index 81f7562..90f8239 100644
--- a/lib/crb-blast/version.rb
+++ b/lib/crb-blast/version.rb
@@ -3,7 +3,7 @@ module CRB_Blast
   module VERSION
     MAJOR = 0
     MINOR = 6
-    PATCH = 6
+    PATCH = 8
     BUILD = nil
 
     STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join('.')
diff --git a/metadata.yml b/metadata.yml
deleted file mode 100644
index 6b6409e..0000000
--- a/metadata.yml
+++ /dev/null
@@ -1,256 +0,0 @@
---- !ruby/object:Gem::Specification
-name: crb-blast
-version: !ruby/object:Gem::Version
-  version: 0.6.6
-platform: ruby
-authors:
-- Chris Boursnell
-- Richard Smith-Unna
-autorequire: 
-bindir: bin
-cert_chain: []
-date: 2015-05-19 00:00:00.000000000 Z
-dependencies:
-- !ruby/object:Gem::Dependency
-  name: trollop
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '2.0'
-  type: :runtime
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '2.0'
-- !ruby/object:Gem::Dependency
-  name: bio
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '1.4'
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: 1.4.3
-  type: :runtime
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '1.4'
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: 1.4.3
-- !ruby/object:Gem::Dependency
-  name: fixwhich
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '1.0'
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: 1.0.2
-  type: :runtime
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '1.0'
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: 1.0.2
-- !ruby/object:Gem::Dependency
-  name: threach
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '0.2'
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: 0.2.0
-  type: :runtime
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '0.2'
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: 0.2.0
-- !ruby/object:Gem::Dependency
-  name: bindeps
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '1.0'
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: 1.0.3
-  type: :runtime
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '1.0'
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: 1.0.3
-- !ruby/object:Gem::Dependency
-  name: rake
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '10.3'
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: 10.3.2
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '10.3'
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: 10.3.2
-- !ruby/object:Gem::Dependency
-  name: turn
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '0.9'
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: 0.9.7
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '0.9'
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: 0.9.7
-- !ruby/object:Gem::Dependency
-  name: simplecov
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '0.8'
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: 0.8.2
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '0.8'
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: 0.8.2
-- !ruby/object:Gem::Dependency
-  name: shoulda-context
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '1.2'
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: 1.2.1
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '1.2'
-    - - ">="
-      - !ruby/object:Gem::Version
-        version: 1.2.1
-- !ruby/object:Gem::Dependency
-  name: coveralls
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '0.7'
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: '0.7'
-description: See summary
-email: cmb211 at cam.ac.uk
-executables:
-- crb-blast
-extensions: []
-extra_rdoc_files: []
-files:
-- ".gitignore"
-- Gemfile
-- README.md
-- Rakefile
-- bin/crb-blast
-- build
-- crb-blast.gemspec
-- deps/deps.yaml
-- lib/crb-blast.rb
-- lib/crb-blast/cmd.rb
-- lib/crb-blast/crb-blast.rb
-- lib/crb-blast/hit.rb
-- lib/crb-blast/version.rb
-- test/helper.rb
-- test/query.fasta
-- test/query2.fasta
-- test/query3.fasta
-- test/target.fasta
-- test/target2.fasta
-- test/test_bin.rb
-- test/test_test.rb
-- test/test_test2.rb
-- test/test_test3.rb
-homepage: https://github.com/cboursnell/crb-blast
-licenses:
-- MIT
-metadata: {}
-post_install_message: 
-rdoc_options: []
-require_paths:
-- lib
-required_ruby_version: !ruby/object:Gem::Requirement
-  requirements:
-  - - ">="
-    - !ruby/object:Gem::Version
-      version: '0'
-required_rubygems_version: !ruby/object:Gem::Requirement
-  requirements:
-  - - ">="
-    - !ruby/object:Gem::Version
-      version: '0'
-requirements: []
-rubyforge_project: 
-rubygems_version: 2.2.2
-signing_key: 
-specification_version: 4
-summary: Run conditional reciprocal best blast
-test_files: []

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ruby-extras/ruby-crb-blast.git



More information about the Pkg-ruby-extras-commits mailing list