aai 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/.travis.yml +0 -1
- data/aai.gemspec +1 -0
- data/exe/aai +21 -2
- data/lib/aai.rb +21 -6
- data/lib/aai/version.rb +1 -1
- metadata +22 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9bac62037fd410a0529a22d1c010d10ce7839633
|
4
|
+
data.tar.gz: 2ea10d1fb86cab89108ffdda9b09971cff7950bd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cc31bb1eb4cec4a1071ec9d17e9f993fa833dd9fae6bc676bbeec4dedcd711b8e4d494ca5370597029fd1f29e16af61726e556661ba13c73251834789dc0147d
|
7
|
+
data.tar.gz: 93305b9087bbba596f0a37edc6df2086d4d96af0a5161ca520614c2dff8ad21eae79da0e60b533859309b3e60b050d6295f0ef38555f2d472f290b6f8d984478
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
data/aai.gemspec
CHANGED
@@ -28,6 +28,7 @@ Gem::Specification.new do |spec|
|
|
28
28
|
spec.add_development_dependency "yard", "~> 0.9.9"
|
29
29
|
|
30
30
|
spec.add_runtime_dependency "abort_if", "~> 0.2.0"
|
31
|
+
spec.add_runtime_dependency "parallel", "~> 1.6", ">= 1.6.1"
|
31
32
|
spec.add_runtime_dependency "parse_fasta", "~> 2.2"
|
32
33
|
spec.add_runtime_dependency "systemu", "~> 2.6", ">= 2.6.5"
|
33
34
|
spec.add_runtime_dependency "trollop", "~> 2.1", ">= 2.1.2"
|
data/exe/aai
CHANGED
@@ -13,7 +13,11 @@ include AbortIf::Assert
|
|
13
13
|
Aai.extend Aai
|
14
14
|
Aai.extend Aai::Utils
|
15
15
|
|
16
|
-
|
16
|
+
def move_files fnames, dest
|
17
|
+
fnames.each do |fname|
|
18
|
+
FileUtils.mv fname, dest
|
19
|
+
end
|
20
|
+
end
|
17
21
|
|
18
22
|
opts = Trollop.options do
|
19
23
|
version Aai::VERSION_BANNER
|
@@ -60,9 +64,24 @@ two_way = Aai.two_way_aai best_hits
|
|
60
64
|
|
61
65
|
aai_strings = Aai.aai_strings one_way, two_way
|
62
66
|
|
63
|
-
|
67
|
+
score_dir = File.join opts[:outdir], "aai_scores"
|
68
|
+
FileUtils.mkdir_p score_dir
|
69
|
+
outf = File.join score_dir, "#{opts[:basename]}.aai.txt"
|
64
70
|
File.open(outf, "w") do |f|
|
65
71
|
Aai.aai_strings(one_way, two_way).each do |str|
|
66
72
|
f.puts str
|
67
73
|
end
|
68
74
|
end
|
75
|
+
|
76
|
+
blast_db_dir = File.join opts[:outdir], "blastdbs"
|
77
|
+
btab_dir = File.join opts[:outdir], "btabs"
|
78
|
+
clean_fasta_dir = File.join opts[:outdir], "clean_fastas"
|
79
|
+
|
80
|
+
FileUtils.mkdir_p [blast_db_dir, btab_dir, clean_fasta_dir]
|
81
|
+
|
82
|
+
move_files clean_fnames, clean_fasta_dir
|
83
|
+
move_files btabs, btab_dir
|
84
|
+
|
85
|
+
blast_db_basenames.each do |basename|
|
86
|
+
move_files Dir.glob("#{basename}*"), blast_db_dir
|
87
|
+
end
|
data/lib/aai.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require "abort_if"
|
2
2
|
require "systemu"
|
3
|
+
require "parallel"
|
3
4
|
require "parse_fasta"
|
4
5
|
|
5
6
|
require "aai/core_extensions"
|
@@ -8,6 +9,7 @@ require "aai/version"
|
|
8
9
|
|
9
10
|
AbortIf.extend AbortIf
|
10
11
|
Process.extend Aai::CoreExtensions::Process
|
12
|
+
Time.extend Aai::CoreExtensions::Time
|
11
13
|
|
12
14
|
module Aai
|
13
15
|
include Utils
|
@@ -47,10 +49,20 @@ module Aai
|
|
47
49
|
"#{f1}____#{f2}.aai_blastp"
|
48
50
|
end
|
49
51
|
|
50
|
-
|
51
|
-
|
52
|
+
parallel_args = first_files.length.times.map do |idx|
|
53
|
+
[first_files[idx], second_files[idx], outf_names[idx]]
|
54
|
+
end
|
55
|
+
|
56
|
+
Time.time_it "Running blast jobs" do
|
57
|
+
Parallel.each(parallel_args) do |infiles|
|
58
|
+
query = infiles[0]
|
59
|
+
db = infiles[1]
|
60
|
+
out = infiles[2]
|
52
61
|
|
53
|
-
|
62
|
+
cmd = "blastp -outfmt 6 -query #{query} -db #{db} -out #{out} -evalue #{EVALUE_CUTOFF}"
|
63
|
+
Process.run_it! cmd
|
64
|
+
end
|
65
|
+
end
|
54
66
|
|
55
67
|
outf_names
|
56
68
|
end
|
@@ -64,10 +76,13 @@ module Aai
|
|
64
76
|
suffix = BLAST_DB_SUFFIX
|
65
77
|
outfiles = fnames.map { |fname| fname + suffix }
|
66
78
|
|
67
|
-
|
68
|
-
|
79
|
+
Time.time_it "Making blast databases" do
|
80
|
+
Parallel.each(fnames) do |fname|
|
81
|
+
cmd = "makeblastdb -in #{fname} -out #{fname}#{BLAST_DB_SUFFIX} -dbtype prot"
|
69
82
|
|
70
|
-
|
83
|
+
Process.run_it! cmd
|
84
|
+
end
|
85
|
+
end
|
71
86
|
|
72
87
|
outfiles
|
73
88
|
end
|
data/lib/aai/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aai
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Moore
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-06-
|
11
|
+
date: 2017-06-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -94,6 +94,26 @@ dependencies:
|
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: 0.2.0
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: parallel
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '1.6'
|
104
|
+
- - ">="
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: 1.6.1
|
107
|
+
type: :runtime
|
108
|
+
prerelease: false
|
109
|
+
version_requirements: !ruby/object:Gem::Requirement
|
110
|
+
requirements:
|
111
|
+
- - "~>"
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
version: '1.6'
|
114
|
+
- - ">="
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: 1.6.1
|
97
117
|
- !ruby/object:Gem::Dependency
|
98
118
|
name: parse_fasta
|
99
119
|
requirement: !ruby/object:Gem::Requirement
|