sushi_fabric 0.4.3 → 0.4.6
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.
- data/lib/sushi_fabric/sushiApp.rb +22 -11
- data/lib/sushi_fabric/version.rb +1 -1
- metadata +45 -50
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
# encoding: utf-8
|
3
|
-
# Version = '
|
3
|
+
# Version = '20150904-134632'
|
4
4
|
|
5
5
|
require 'csv'
|
6
6
|
require 'fileutils'
|
@@ -125,7 +125,7 @@ class ::String
|
|
125
125
|
scan(/\[(.*)\]/).flatten.join =~ /#{tag}/
|
126
126
|
end
|
127
127
|
end
|
128
|
-
def save_data_set(data_set_arr, headers, rows)
|
128
|
+
def save_data_set(data_set_arr, headers, rows, user=nil)
|
129
129
|
data_set_hash = Hash[*data_set_arr]
|
130
130
|
unless project = Project.find_by_number(data_set_hash['ProjectNumber'].to_i)
|
131
131
|
project = Project.new
|
@@ -134,7 +134,9 @@ def save_data_set(data_set_arr, headers, rows)
|
|
134
134
|
end
|
135
135
|
if project = Project.find_by_number(data_set_hash['ProjectNumber'].to_i)
|
136
136
|
data_set = DataSet.new
|
137
|
-
|
137
|
+
if user
|
138
|
+
data_set.user = user
|
139
|
+
end
|
138
140
|
data_set.name = data_set_hash['DataSetName']
|
139
141
|
data_set.project = project
|
140
142
|
if parent_id = data_set_hash['ParentID'] and parent_data_set = DataSet.find_by_id(parent_id.to_i)
|
@@ -160,6 +162,10 @@ def save_data_set(data_set_arr, headers, rows)
|
|
160
162
|
project.data_sets << data_set
|
161
163
|
parent_data_set.data_sets << data_set if parent_data_set
|
162
164
|
data_set.save
|
165
|
+
if user
|
166
|
+
user.data_sets << data_set
|
167
|
+
user.save
|
168
|
+
end
|
163
169
|
end
|
164
170
|
data_set.id
|
165
171
|
end
|
@@ -186,6 +192,7 @@ class SushiApp
|
|
186
192
|
attr_accessor :dataset_name
|
187
193
|
attr_accessor :next_dataset_comment
|
188
194
|
attr_accessor :workflow_manager
|
195
|
+
attr_accessor :current_user
|
189
196
|
def initialize
|
190
197
|
@gstore_dir = GSTORE_DIR
|
191
198
|
@project = nil
|
@@ -229,7 +236,8 @@ class SushiApp
|
|
229
236
|
end
|
230
237
|
end
|
231
238
|
unless NO_ROR
|
232
|
-
@
|
239
|
+
@current_user ||= nil
|
240
|
+
@dataset_sushi_id = save_data_set(data_set_arr.to_a.flatten, headers, rows, @current_user)
|
233
241
|
end
|
234
242
|
elsif @dataset_sushi_id
|
235
243
|
@dataset_hash = []
|
@@ -512,9 +520,7 @@ rm -rf #{@scratch_dir} || exit 1
|
|
512
520
|
@job_scripts << @job_script
|
513
521
|
@result_dataset << next_dataset
|
514
522
|
end
|
515
|
-
def save_data_set(data_set_arr, headers, rows)
|
516
|
-
#SushiFabric.save_data_set(data_set_arr, headers, rows, user)
|
517
|
-
#=begin
|
523
|
+
def save_data_set(data_set_arr, headers, rows, user=nil)
|
518
524
|
data_set_hash = Hash[*data_set_arr]
|
519
525
|
unless project = Project.find_by_number(data_set_hash['ProjectNumber'].to_i)
|
520
526
|
project = Project.new
|
@@ -523,7 +529,9 @@ rm -rf #{@scratch_dir} || exit 1
|
|
523
529
|
end
|
524
530
|
if project = Project.find_by_number(data_set_hash['ProjectNumber'].to_i)
|
525
531
|
data_set = DataSet.new
|
526
|
-
|
532
|
+
if user
|
533
|
+
data_set.user = user
|
534
|
+
end
|
527
535
|
data_set.name = data_set_hash['DataSetName']
|
528
536
|
data_set.project = project
|
529
537
|
if parent_id = data_set_hash['ParentID'] and parent_data_set = DataSet.find_by_id(parent_id.to_i)
|
@@ -549,10 +557,13 @@ rm -rf #{@scratch_dir} || exit 1
|
|
549
557
|
project.data_sets << data_set
|
550
558
|
parent_data_set.data_sets << data_set if parent_data_set
|
551
559
|
data_set.save
|
560
|
+
if user
|
561
|
+
user.data_sets << data_set
|
562
|
+
user.save
|
563
|
+
end
|
552
564
|
end
|
553
565
|
data_set.id
|
554
566
|
end
|
555
|
-
#=end
|
556
567
|
end
|
557
568
|
def main
|
558
569
|
## sushi writes creates the job scripts and builds the result data set that is to be generated
|
@@ -604,8 +615,8 @@ rm -rf #{@scratch_dir} || exit 1
|
|
604
615
|
end
|
605
616
|
end
|
606
617
|
unless NO_ROR
|
607
|
-
|
608
|
-
@next_dataset_id = save_data_set(data_set_arr.to_a.flatten, headers, rows)
|
618
|
+
@current_user ||= nil
|
619
|
+
@next_dataset_id = save_data_set(data_set_arr.to_a.flatten, headers, rows, @current_user)
|
609
620
|
|
610
621
|
# save job and dataset relation in Sushi DB
|
611
622
|
job_ids.each do |job_id|
|
data/lib/sushi_fabric/version.rb
CHANGED
metadata
CHANGED
@@ -1,57 +1,49 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: sushi_fabric
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.3
|
3
|
+
version: !ruby/object:Gem::Version
|
5
4
|
prerelease:
|
5
|
+
version: 0.4.6
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Functional Genomics Center Zurich
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
12
|
+
|
13
|
+
date: 2015-09-04 00:00:00 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
15
16
|
name: bundler
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
|
-
requirements:
|
19
|
-
- - ~>
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: '1.3'
|
22
|
-
type: :development
|
23
17
|
prerelease: false
|
24
|
-
|
18
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
19
|
none: false
|
26
|
-
requirements:
|
20
|
+
requirements:
|
27
21
|
- - ~>
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version:
|
30
|
-
- !ruby/object:Gem::Dependency
|
31
|
-
name: rake
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
|
-
requirements:
|
35
|
-
- - ! '>='
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: '0'
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: "1.3"
|
38
24
|
type: :development
|
25
|
+
version_requirements: *id001
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: rake
|
39
28
|
prerelease: false
|
40
|
-
|
29
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
41
30
|
none: false
|
42
|
-
requirements:
|
43
|
-
- -
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version:
|
46
|
-
|
47
|
-
|
48
|
-
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: "0"
|
35
|
+
type: :development
|
36
|
+
version_requirements: *id002
|
37
|
+
description: This library provides us with the methods to submit a job cooperating with workflow manager.
|
38
|
+
email:
|
49
39
|
- masaomi.hatakeyama@fgcz.uzh.ch
|
50
|
-
executables:
|
40
|
+
executables:
|
51
41
|
- sushi_fabric
|
52
42
|
extensions: []
|
43
|
+
|
53
44
|
extra_rdoc_files: []
|
54
|
-
|
45
|
+
|
46
|
+
files:
|
55
47
|
- .bzrignore
|
56
48
|
- Gemfile
|
57
49
|
- LICENSE.txt
|
@@ -67,29 +59,32 @@ files:
|
|
67
59
|
- sample/sample_dataset.tsv
|
68
60
|
- sample/sample_parameterset.tsv
|
69
61
|
- sushi_fabric.gemspec
|
70
|
-
homepage:
|
71
|
-
licenses:
|
62
|
+
homepage: ""
|
63
|
+
licenses:
|
72
64
|
- MIT
|
73
65
|
post_install_message:
|
74
66
|
rdoc_options: []
|
75
|
-
|
67
|
+
|
68
|
+
require_paths:
|
76
69
|
- lib
|
77
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
70
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
78
71
|
none: false
|
79
|
-
requirements:
|
80
|
-
- -
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version:
|
83
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: "0"
|
76
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
84
77
|
none: false
|
85
|
-
requirements:
|
86
|
-
- -
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
version:
|
78
|
+
requirements:
|
79
|
+
- - ">="
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: "0"
|
89
82
|
requirements: []
|
83
|
+
|
90
84
|
rubyforge_project:
|
91
|
-
rubygems_version: 1.8.23
|
85
|
+
rubygems_version: 1.8.23
|
92
86
|
signing_key:
|
93
87
|
specification_version: 3
|
94
88
|
summary: workflow manager client.
|
95
89
|
test_files: []
|
90
|
+
|