ruby-igv 0.0.3 → 0.0.4

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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -1
  3. data/lib/igv.rb +24 -15
  4. data/lib/igv/version.rb +1 -1
  5. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 475797ed38ba6259aa3810c00937620548829ae8d173d8f9d5831267f4251413
4
- data.tar.gz: ddc1aafe06f597cbb8715d0533222572e2453870871dae2e35ab0664f446fdcd
3
+ metadata.gz: 8915f9a26a6b4b4bbe15dc5dd35d156ca9c84a5b2737c4b81ffa1441b5049e2d
4
+ data.tar.gz: 44980727b24b348a3167566179e9a75755cda0023761624de1fb72fdfe3701cd
5
5
  SHA512:
6
- metadata.gz: 0f8de5afd14e5d12af5c85eef8e7059924bf1282bbd985d3ad645545069699c0e51707b5dac18a1f2ec9c9ce88034312ae31332b1b5b1deaf354b16fa2242d7d
7
- data.tar.gz: 00dc6e66fbf3483209a5982cd455bd3569222dacbc302e667b48e69d8cd7fe3ea81e1036133b5209e461a3c503c574330220c574ccff1f8b5fc38575f39b5552
6
+ metadata.gz: 232bc8a829604e65fb67e7b39aa0480e3c0165e1291022c1162469ed5d126caefe0881b124e70fb4c386a51937e1530d812fb5ec459d8067fa9264e78b368202
7
+ data.tar.gz: c57afdcf2dcbf5d9829fd3815e4fdc91148a1757906027f663690598438ec3e284b54ff75b07f8ab8c699be93b7674192b78821953cc0846cc333a48bc4572f8
data/README.md CHANGED
@@ -23,9 +23,13 @@ igv.load 'http://hgdownload.cse.ucsc.edu/goldenPath/hg19/encodeDCC/wgEncodeUwR
23
23
  igv.go 'chr18:78,016,233-78,016,640'
24
24
  igv.save '/tmp/r/region.svg'
25
25
  igv.save '/tmp/r/region.png'
26
- igv.send 'echo' #whatever
26
+ igv.snapshot_dir = '/tmp/r2/'
27
+ igv.save 'region.jpg' # save to /tmp/r2/region.png
28
+ igv.send 'echo' # whatever you want
27
29
  ```
28
30
 
31
+ * [Controlling IGV through a Port](https://software.broadinstitute.org/software/igv/PortCommands)
32
+
29
33
  ## Contributing
30
34
 
31
35
  * [Report bugs](https://github.com/kojix2/ruby-igv/issues)
data/lib/igv.rb CHANGED
@@ -5,11 +5,11 @@ require 'fileutils'
5
5
  class IGV
6
6
  class Error < StandardError; end
7
7
 
8
- attr_reader :host, :port, :snapshot_dir, :commands
8
+ attr_reader :host, :port, :snapshot_dir, :history
9
9
  def initialize(host: '127.0.0.1', port: 60_151, snapshot_dir: Dir.pwd)
10
10
  @host = host
11
11
  @port = port
12
- @commands = []
12
+ @history = []
13
13
  connect
14
14
  set_snapshot_dir(snapshot_dir)
15
15
  end
@@ -30,11 +30,20 @@ class IGV
30
30
  alias goto go
31
31
 
32
32
  def genome(name_or_path)
33
- send 'genome ' + name_or_path
33
+ path = File.expand_path(name_or_path)
34
+ if File.exist?(path)
35
+ send 'genome ' + path
36
+ else
37
+ send 'genome ' + name_or_path
38
+ end
34
39
  end
35
40
 
36
41
  def load(path_or_url)
37
- send 'load ' + path_or_url
42
+ if URI.parse(path_or_url).scheme
43
+ send 'load ' + path_or_url
44
+ else
45
+ send 'load ' + File.expand_path(path_or_url)
46
+ end
38
47
  end
39
48
 
40
49
  def region(contig, start, end_)
@@ -49,16 +58,6 @@ class IGV
49
58
  end
50
59
  end
51
60
 
52
- def snapshot_dir=(snapshot_dir)
53
- snapshot_dir = File.expand_path(snapshot_dir)
54
- return if snapshot_dir == @snaphot_dir
55
-
56
- FileUtils.mkdir_p(snapshot_dir)
57
- send "snapshotDirectory #{snapshot_dir}"
58
- @snapshot_dir = snapshot_dir
59
- end
60
- alias set_snapshot_dir snapshot_dir=
61
-
62
61
  def expand(_track = '')
63
62
  send "expand #{track}"
64
63
  end
@@ -77,11 +76,21 @@ class IGV
77
76
  alias quit exit
78
77
 
79
78
  def send(cmd)
80
- @commands << cmd
79
+ @history << cmd
81
80
  @socket.puts(cmd.encode(Encoding::UTF_8))
82
81
  @socket.gets&.chomp("\n")
83
82
  end
84
83
 
84
+ def snapshot_dir=(snapshot_dir)
85
+ snapshot_dir = File.expand_path(snapshot_dir)
86
+ return if snapshot_dir == @snaphot_dir
87
+
88
+ FileUtils.mkdir_p(snapshot_dir)
89
+ send "snapshotDirectory #{snapshot_dir}"
90
+ @snapshot_dir = snapshot_dir
91
+ end
92
+ alias set_snapshot_dir snapshot_dir=
93
+
85
94
  def save(file_path = nil)
86
95
  if file_path
87
96
  # igv assumes the path is just a single filename, but
@@ -1,3 +1,3 @@
1
1
  class IGV
2
- VERSION = '0.0.3'.freeze
2
+ VERSION = '0.0.4'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-igv
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - kojix2
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-22 00:00:00.000000000 Z
11
+ date: 2020-08-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler