rbbt-util 5.26.86 → 5.26.87
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/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
|