aai 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|