rbbt-util 5.26.86 → 5.26.87
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rbbt/tsv/attach/util.rb +1 -1
- data/share/rbbt_commands/tsv/attach +3 -1
- data/share/rbbt_commands/tsv/get +2 -1
- data/test/rbbt/tsv/test_attach.rb +36 -0
- metadata +67 -67
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 658585f6a78ccc8f2a4579b1b512a9470030edbd1e724addb2b5f1ef3b71c218
|
4
|
+
data.tar.gz: cb64eb69d269a924b585745f6fa4be0aad88c4ed62a9510e9a85ddc3f243caf3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 58458df66b0881d89894db3c526dd21b5490de6e0e55c403ef44c09827b36c3da90509d3158d8cc5438a1d3f235a6f0650eb470d0b79c3919e216879341d87aa
|
7
|
+
data.tar.gz: c5e2964e08101856061dd68103b2a970518d1542c163cb17d2c4f0bbe40b92a3cf225ec0859d2b97d2138d6cdf08ada9f69020555c11acafbe6bcd2bbcdb809b
|
data/lib/rbbt/tsv/attach/util.rb
CHANGED
@@ -15,6 +15,7 @@ Use - to read from STDIN
|
|
15
15
|
|
16
16
|
-f--fields* Fields to attach (all if not specified)
|
17
17
|
-i--identifiers* Identifier file
|
18
|
+
-c--complete Complete TSV with keys new in other files
|
18
19
|
-h--help Print this help
|
19
20
|
|
20
21
|
EOF
|
@@ -30,6 +31,7 @@ end
|
|
30
31
|
file1, *rest = ARGV
|
31
32
|
fields = options[:fields]
|
32
33
|
identifiers = options[:identifiers]
|
34
|
+
complete = options[:complete]
|
33
35
|
|
34
36
|
if identifiers.nil?
|
35
37
|
require 'rbbt/sources/organism'
|
@@ -44,7 +46,7 @@ tsv = tsv.to_double if tsv.type == :flat
|
|
44
46
|
rest.each do |file2|
|
45
47
|
file_fields = TSV.parse_header(file2).all_fields - tsv.all_fields
|
46
48
|
these_fields = fields ? fields & file_fields : nil
|
47
|
-
tsv = tsv.attach file2, :fields => these_fields, :identifiers => identifiers
|
49
|
+
tsv = tsv.attach file2, :fields => these_fields, :identifiers => identifiers, :complete => complete
|
48
50
|
end
|
49
51
|
|
50
52
|
puts tsv.to_s
|
data/share/rbbt_commands/tsv/get
CHANGED
@@ -14,6 +14,7 @@ Use - to read from STDIN
|
|
14
14
|
-tch--tokyocabinet File is a tokyocabinet hash database
|
15
15
|
-tcb--tokyocabinet_bd File is a tokyocabinet B database
|
16
16
|
-f--fields* Fields to extract
|
17
|
+
-hh--header_hash* Change the character used to mark the header line (defaults to #)
|
17
18
|
-k--key_field* Use this field as key
|
18
19
|
-h--help Print this help
|
19
20
|
-l--lines Separate in lines
|
@@ -45,7 +46,7 @@ fields = options[:fields]
|
|
45
46
|
key_field = options[:key_field]
|
46
47
|
fields = fields.split(/[,|]/, -1) unless fields.nil?
|
47
48
|
|
48
|
-
parser = TSV::Parser.new tsv, :key_field => key_field, :fields => fields, :type => options[:type]
|
49
|
+
parser = TSV::Parser.new tsv, :key_field => key_field, :fields => fields, :type => options[:type], :header_hash => options[:header_hash]
|
49
50
|
fields ||= parser.fields
|
50
51
|
|
51
52
|
TSV.traverse(parser) do |k,v|
|
@@ -531,5 +531,41 @@ row5,D
|
|
531
531
|
assert_equal tsv4.attach(tsv1)["row1"]["bar (ValueB)"], %w(b)
|
532
532
|
assert_equal tsv3.attach(tsv1)["b"]["ValueD"], %w(d)
|
533
533
|
end
|
534
|
+
|
535
|
+
def test_attach_single_nils
|
536
|
+
content1 =<<-EOF
|
537
|
+
#Id,ValueA
|
538
|
+
row1,
|
539
|
+
row2,AA
|
540
|
+
EOF
|
541
|
+
content2 =<<-EOF
|
542
|
+
#Id,ValueB
|
543
|
+
row1,B
|
544
|
+
row2,BB
|
545
|
+
EOF
|
546
|
+
content3 =<<-EOF
|
547
|
+
#Id,ValueC
|
548
|
+
row1,
|
549
|
+
row2,CC
|
550
|
+
EOF
|
551
|
+
|
552
|
+
tsv1 = tsv2 = tsv3 = tsv4 = index = nil
|
553
|
+
TmpFile.with_file(content1) do |filename|
|
554
|
+
tsv1 = TSV.open(File.open(filename), :double, :sep => ',', :type => :single)
|
555
|
+
tsv1.keys.each{|k| tsv1[k] = nil if tsv1[k] == ""}
|
556
|
+
end
|
557
|
+
|
558
|
+
TmpFile.with_file(content2) do |filename|
|
559
|
+
tsv2 = TSV.open(File.open(filename), :double, :sep => ',', :type => :single)
|
560
|
+
tsv2.keys.each{|k| tsv2[k] = nil if tsv2[k] == ""}
|
561
|
+
end
|
562
|
+
|
563
|
+
TmpFile.with_file(content3) do |filename|
|
564
|
+
tsv3 = TSV.open(File.open(filename), :double, :sep => ',', :type => :single)
|
565
|
+
tsv3.keys.each{|k| tsv3[k] = nil if tsv3[k] == ""}
|
566
|
+
end
|
567
|
+
|
568
|
+
assert_equal tsv1.attach(tsv2, :complete => true).attach(tsv3, :complete => true)["row1"], [nil, "B", nil]
|
569
|
+
end
|
534
570
|
end
|
535
571
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbbt-util
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.26.
|
4
|
+
version: 5.26.87
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Miguel Vazquez
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-11-
|
11
|
+
date: 2019-11-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -531,91 +531,91 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
531
531
|
- !ruby/object:Gem::Version
|
532
532
|
version: '0'
|
533
533
|
requirements: []
|
534
|
-
rubygems_version: 3.0.
|
534
|
+
rubygems_version: 3.0.4
|
535
535
|
signing_key:
|
536
536
|
specification_version: 4
|
537
537
|
summary: Utilities for the Ruby Bioinformatics Toolkit (rbbt)
|
538
538
|
test_files:
|
539
|
-
- test/
|
540
|
-
- test/rbbt/
|
541
|
-
- test/rbbt/
|
542
|
-
- test/rbbt/
|
543
|
-
- test/rbbt/
|
544
|
-
- test/rbbt/
|
545
|
-
- test/rbbt/
|
546
|
-
- test/rbbt/
|
547
|
-
- test/rbbt/
|
548
|
-
- test/rbbt/
|
549
|
-
- test/rbbt/
|
550
|
-
- test/rbbt/
|
551
|
-
- test/rbbt/
|
552
|
-
- test/rbbt/
|
553
|
-
- test/rbbt/util/R/test_plot.rb
|
554
|
-
- test/rbbt/util/R/test_eval.rb
|
555
|
-
- test/rbbt/util/R/test_model.rb
|
539
|
+
- test/test_helper.rb
|
540
|
+
- test/rbbt/test_annotations.rb
|
541
|
+
- test/rbbt/association/test_database.rb
|
542
|
+
- test/rbbt/association/test_item.rb
|
543
|
+
- test/rbbt/association/test_index.rb
|
544
|
+
- test/rbbt/association/test_open.rb
|
545
|
+
- test/rbbt/association/test_util.rb
|
546
|
+
- test/rbbt/test_association.rb
|
547
|
+
- test/rbbt/knowledge_base/test_syndicate.rb
|
548
|
+
- test/rbbt/knowledge_base/test_enrichment.rb
|
549
|
+
- test/rbbt/knowledge_base/test_query.rb
|
550
|
+
- test/rbbt/knowledge_base/test_entity.rb
|
551
|
+
- test/rbbt/knowledge_base/test_registry.rb
|
552
|
+
- test/rbbt/knowledge_base/test_traverse.rb
|
556
553
|
- test/rbbt/util/test_config.rb
|
557
|
-
- test/rbbt/util/test_log.rb
|
558
|
-
- test/rbbt/util/test_simpleDSL.rb
|
559
|
-
- test/rbbt/util/log/test_progress.rb
|
560
|
-
- test/rbbt/util/test_tmpfile.rb
|
561
554
|
- test/rbbt/util/test_R.rb
|
562
|
-
- test/rbbt/util/
|
555
|
+
- test/rbbt/util/test_tmpfile.rb
|
556
|
+
- test/rbbt/util/test_filecache.rb
|
563
557
|
- test/rbbt/util/test_misc.rb
|
564
|
-
- test/rbbt/util/
|
565
|
-
- test/rbbt/util/
|
558
|
+
- test/rbbt/util/test_excel2tsv.rb
|
559
|
+
- test/rbbt/util/log/test_progress.rb
|
560
|
+
- test/rbbt/util/misc/test_multipart_payload.rb
|
561
|
+
- test/rbbt/util/misc/test_pipes.rb
|
562
|
+
- test/rbbt/util/misc/test_bgzf.rb
|
563
|
+
- test/rbbt/util/misc/test_lock.rb
|
564
|
+
- test/rbbt/util/misc/test_omics.rb
|
565
|
+
- test/rbbt/util/test_semaphore.rb
|
566
|
+
- test/rbbt/util/simpleopt/test_get.rb
|
566
567
|
- test/rbbt/util/simpleopt/test_parse.rb
|
567
568
|
- test/rbbt/util/simpleopt/test_setup.rb
|
568
|
-
- test/rbbt/util/
|
569
|
-
- test/rbbt/util/test_python.rb
|
570
|
-
- test/rbbt/util/test_filecache.rb
|
569
|
+
- test/rbbt/util/test_open.rb
|
571
570
|
- test/rbbt/util/concurrency/test_processes.rb
|
572
571
|
- test/rbbt/util/concurrency/test_threads.rb
|
573
572
|
- test/rbbt/util/concurrency/processes/test_socket.rb
|
574
|
-
- test/rbbt/util/
|
573
|
+
- test/rbbt/util/test_log.rb
|
574
|
+
- test/rbbt/util/test_colorize.rb
|
575
|
+
- test/rbbt/util/test_cmd.rb
|
576
|
+
- test/rbbt/util/test_concurrency.rb
|
577
|
+
- test/rbbt/util/R/test_eval.rb
|
578
|
+
- test/rbbt/util/R/test_plot.rb
|
579
|
+
- test/rbbt/util/R/test_model.rb
|
580
|
+
- test/rbbt/util/test_simpleopt.rb
|
575
581
|
- test/rbbt/util/test_chain_methods.rb
|
576
|
-
- test/rbbt/
|
577
|
-
- test/rbbt/
|
578
|
-
- test/rbbt/tsv/
|
579
|
-
- test/rbbt/tsv/test_attach.rb
|
580
|
-
- test/rbbt/tsv/test_filter.rb
|
582
|
+
- test/rbbt/util/test_simpleDSL.rb
|
583
|
+
- test/rbbt/util/test_python.rb
|
584
|
+
- test/rbbt/tsv/test_index.rb
|
581
585
|
- test/rbbt/tsv/test_parser.rb
|
582
|
-
- test/rbbt/tsv/test_accessor.rb
|
583
|
-
- test/rbbt/tsv/test_matrix.rb
|
584
586
|
- test/rbbt/tsv/test_field_index.rb
|
585
|
-
- test/rbbt/tsv/
|
586
|
-
- test/rbbt/tsv/
|
587
|
+
- test/rbbt/tsv/test_stream.rb
|
588
|
+
- test/rbbt/tsv/test_accessor.rb
|
589
|
+
- test/rbbt/tsv/test_change_id.rb
|
587
590
|
- test/rbbt/tsv/test_parallel.rb
|
588
|
-
- test/rbbt/tsv/test_manipulate.rb
|
589
|
-
- test/rbbt/tsv/test_excel.rb
|
590
591
|
- test/rbbt/tsv/parallel/test_through.rb
|
591
592
|
- test/rbbt/tsv/parallel/test_traverse.rb
|
592
|
-
- test/rbbt/tsv/
|
593
|
-
- test/rbbt/
|
594
|
-
- test/rbbt/
|
595
|
-
- test/rbbt/
|
596
|
-
- test/rbbt/
|
597
|
-
- test/rbbt/
|
598
|
-
- test/rbbt/
|
599
|
-
- test/rbbt/
|
600
|
-
- test/rbbt/
|
593
|
+
- test/rbbt/tsv/test_manipulate.rb
|
594
|
+
- test/rbbt/tsv/test_filter.rb
|
595
|
+
- test/rbbt/tsv/test_matrix.rb
|
596
|
+
- test/rbbt/tsv/test_util.rb
|
597
|
+
- test/rbbt/tsv/test_attach.rb
|
598
|
+
- test/rbbt/tsv/test_excel.rb
|
599
|
+
- test/rbbt/test_monitor.rb
|
600
|
+
- test/rbbt/test_workflow.rb
|
601
|
+
- test/rbbt/annotations/test_util.rb
|
602
|
+
- test/rbbt/test_packed_index.rb
|
603
|
+
- test/rbbt/workflow/test_task.rb
|
604
|
+
- test/rbbt/workflow/test_doc.rb
|
605
|
+
- test/rbbt/workflow/test_step.rb
|
606
|
+
- test/rbbt/workflow/step/test_dependencies.rb
|
607
|
+
- test/rbbt/entity/test_identifiers.rb
|
608
|
+
- test/rbbt/test_entity.rb
|
609
|
+
- test/rbbt/test_resource.rb
|
610
|
+
- test/rbbt/test_persist.rb
|
611
|
+
- test/rbbt/persist/tsv/test_tokyocabinet.rb
|
601
612
|
- test/rbbt/persist/tsv/test_cdb.rb
|
602
|
-
- test/rbbt/persist/tsv/test_lmdb.rb
|
603
|
-
- test/rbbt/persist/tsv/test_sharder.rb
|
604
613
|
- test/rbbt/persist/tsv/test_leveldb.rb
|
605
|
-
- test/rbbt/persist/tsv/
|
614
|
+
- test/rbbt/persist/tsv/test_kyotocabinet.rb
|
615
|
+
- test/rbbt/persist/tsv/test_sharder.rb
|
616
|
+
- test/rbbt/persist/tsv/test_lmdb.rb
|
606
617
|
- test/rbbt/persist/test_tsv.rb
|
607
618
|
- test/rbbt/test_tsv.rb
|
608
|
-
- test/rbbt/test_annotations.rb
|
609
619
|
- test/rbbt/test_fix_width_table.rb
|
610
|
-
- test/rbbt/
|
611
|
-
- test/rbbt/
|
612
|
-
- test/rbbt/annotations/test_util.rb
|
613
|
-
- test/rbbt/test_monitor.rb
|
614
|
-
- test/rbbt/test_persist.rb
|
615
|
-
- test/rbbt/knowledge_base/test_entity.rb
|
616
|
-
- test/rbbt/knowledge_base/test_registry.rb
|
617
|
-
- test/rbbt/knowledge_base/test_syndicate.rb
|
618
|
-
- test/rbbt/knowledge_base/test_query.rb
|
619
|
-
- test/rbbt/knowledge_base/test_enrichment.rb
|
620
|
-
- test/rbbt/knowledge_base/test_traverse.rb
|
621
|
-
- test/test_helper.rb
|
620
|
+
- test/rbbt/test_knowledge_base.rb
|
621
|
+
- test/rbbt/resource/test_path.rb
|