sushi_fabric 0.9.4 → 0.9.9

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 8d9c4e224a34d7d928e2a656e07e41a943a8793c
4
- data.tar.gz: b5f78a77a230d72f6ca9825d5d77b3a4a4df90b1
2
+ SHA256:
3
+ metadata.gz: 379a56d5261eb7ed21137bd452583eb76e416cf774c987628b0d1c847bed6040
4
+ data.tar.gz: b68363a7da5c166ab7c38d8310b9d151ce490a1d3d4f6d48bdfa5a3484c0abf1
5
5
  SHA512:
6
- metadata.gz: 926b9b3975f334ffe5203985cee62659e5d9280da0278e2c67c64e6beb96dfe3e8579ae4fc8665bc1276d2203cf3e36f8a46966710ef875756bbf91a1a9f8f05
7
- data.tar.gz: 3f85a0c2ef2a2a63d0a87c4ecd09aa2c99952298cab670444a73111cfc0960ecbd08ce7ea0792e9d20d200f4e79b8acda05fccaeb71ce310da3eed2314742a54
6
+ metadata.gz: 15cbf3c8954c15999a91a5ab0e0f53dffc9a2ded3ecc5b0633e1d31c6480102cf44e245c94735c2d52251bdbc58c6262c7070b0b9853e7048659dbd5135130e9
7
+ data.tar.gz: b936c6a57a6683b1a19874627eb9bc4ba1719d0664f85794e4ee9d0face5eba3d424e06fd60158afbb53dc9b3b1c9b1330e94fdacdc17262f64ed1fdd1310eac
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  # encoding: utf-8
3
- # Version = '20191115-103323'
3
+ # Version = '20200724-111508'
4
4
 
5
5
  require 'csv'
6
6
  require 'fileutils'
@@ -227,6 +227,7 @@ class SushiApp
227
227
  attr_accessor :mango_run_name
228
228
  attr_accessor :input_dataset_bfabric_application_number
229
229
  attr_accessor :next_dataset_bfabric_application_number
230
+ attr_reader :inactivate_nodes
230
231
  def initialize
231
232
  @gstore_dir = GSTORE_DIR
232
233
  @project = nil
@@ -236,6 +237,7 @@ class SushiApp
236
237
  @params['ram'] = nil
237
238
  @params['scratch'] = nil
238
239
  @params['node'] = ''
240
+ @params['queue'] = ''
239
241
  @params['process_mode'] = 'SAMPLE'
240
242
  @params['samples'] = ''
241
243
  @job_ids = []
@@ -390,8 +392,13 @@ class SushiApp
390
392
  end
391
393
  def check_latest_module_version(mod)
392
394
  command_out = %x[ bash -lc "source #{@module_source}; module whatis #{mod} 2>&1" ]
393
- latest_mod = command_out.split.first
394
- latest_mod = nil if latest_mod == "Failed"
395
+ latest_mod = nil
396
+ command_out.split("\n").each do |line|
397
+ if line =~ /#{mod}/
398
+ latest_mod = line.split.first
399
+ break
400
+ end
401
+ end
395
402
  latest_mod
396
403
  end
397
404
  def job_header
@@ -415,7 +422,6 @@ class SushiApp
415
422
  modules_with_version = @modules.map{|mod| check_latest_module_version(mod)}
416
423
  modules_with_version.compact!
417
424
  "module add #{modules_with_version.join(' ')}"
418
- #"module add #{@modules.join(' ')}"
419
425
  else
420
426
  ""
421
427
  end
@@ -754,28 +760,14 @@ rm -rf #{@scratch_dir} || exit 1
754
760
  if mock
755
761
  make_dummy_files
756
762
  end
757
- copy_inputdataset_parameter_jobscripts
758
763
 
759
- # job submittion
760
- gstore_job_script_paths = []
761
- @job_scripts.each_with_index do |job_script, i|
762
- if job_id = submit(job_script, mock)
763
- @job_ids << job_id
764
- print "Submit job #{File.basename(job_script)} job_id=#{job_id}"
765
- gstore_job_script_paths << File.join(@gstore_script_dir, File.basename(job_script))
766
- end
767
- end
768
-
769
- puts
770
- print 'job scripts: '
771
- p @job_scripts
772
764
  print 'result dataset: '
773
765
  p @result_dataset
774
766
 
775
767
  # copy application data to gstore
776
768
  @next_dataset_tsv_path = save_next_dataset_as_tsv
777
769
 
778
- if !@job_ids.empty? and @dataset_sushi_id and dataset = DataSet.find_by_id(@dataset_sushi_id.to_i)
770
+ if @dataset_sushi_id and dataset = DataSet.find_by_id(@dataset_sushi_id.to_i)
779
771
  data_set_arr = []
780
772
  headers = []
781
773
  rows = []
@@ -800,20 +792,45 @@ rm -rf #{@scratch_dir} || exit 1
800
792
  unless @off_bfabric_registration
801
793
  if next_dataset = DataSet.find_by_id(@next_dataset_id)
802
794
  next_dataset.register_bfabric(bfabric_application_number: @next_dataset_bfabric_application_number)
795
+ if next_dataset.workunit_id
796
+ @job_scripts.each do |job_script|
797
+ open(job_script, "a") do |out|
798
+ out.puts "WORKUNIT_ID=#{next_dataset.workunit_id}"
799
+ out.puts "update_resource_size -w $WORKUNIT_ID"
800
+ end
801
+ end
802
+ end
803
803
  end
804
804
  end
805
+ end
806
+ end
807
+ copy_inputdataset_parameter_jobscripts
808
+
809
+ # job submittion
810
+ gstore_job_script_paths = []
811
+ @job_scripts.each_with_index do |job_script, i|
812
+ if job_id = submit(job_script, mock)
813
+ @job_ids << job_id
814
+ print "Submit job #{File.basename(job_script)} job_id=#{job_id}"
815
+ gstore_job_script_paths << File.join(@gstore_script_dir, File.basename(job_script))
816
+ end
817
+ end
818
+
819
+ puts
820
+ print 'job scripts: '
821
+ p @job_scripts
805
822
 
806
- # save job and dataset relation in Sushi DB
807
- job_ids.each_with_index do |job_id, i|
808
- new_job = Job.new
809
- new_job.submit_job_id = job_id.to_i
810
- new_job.script_path = gstore_job_script_paths[i]
811
- new_job.next_dataset_id = @next_dataset_id
812
- new_job.save
813
- new_job.data_set.jobs << new_job
814
- new_job.data_set.save
815
- end
816
823
 
824
+ unless @job_ids.empty? or NO_ROR
825
+ # save job and dataset relation in Sushi DB
826
+ job_ids.each_with_index do |job_id, i|
827
+ new_job = Job.new
828
+ new_job.submit_job_id = job_id.to_i
829
+ new_job.script_path = gstore_job_script_paths[i]
830
+ new_job.next_dataset_id = @next_dataset_id
831
+ new_job.save
832
+ new_job.data_set.jobs << new_job
833
+ new_job.data_set.save
817
834
  end
818
835
  end
819
836
  copy_nextdataset
@@ -1,3 +1,3 @@
1
1
  module SushiFabric
2
- VERSION = "0.9.4"
2
+ VERSION = "0.9.9"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sushi_fabric
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.4
4
+ version: 0.9.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Functional Genomics Center Zurich
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-15 00:00:00.000000000 Z
11
+ date: 2020-07-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -84,8 +84,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
84
84
  - !ruby/object:Gem::Version
85
85
  version: '0'
86
86
  requirements: []
87
- rubyforge_project:
88
- rubygems_version: 2.6.14
87
+ rubygems_version: 3.0.3
89
88
  signing_key:
90
89
  specification_version: 4
91
90
  summary: workflow manager client.