dratools 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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 580e0395df351cc56d957e756ad8368b663d9902f4722983e268093e97ec0809
4
- data.tar.gz: 39206bc915245cea263f476cf7e5397f7e1027c1c21de3500e0c0c573f1c2c41
3
+ metadata.gz: 0dfc332114a65a39a553477f60769fa8f4057f17377ec7e0626d18e51203d098
4
+ data.tar.gz: 6451a8ca4d94803bd09caecf630a77781630a97763d957f3de5551b477579b5c
5
5
  SHA512:
6
- metadata.gz: 91bfee6e903c4334818f4dce7da9a30df66db16412cefcfa91ed384e5e0f031acedb69d1f17a6765fd86602072219c5e10a80043ced268d9b966779673c3fef0
7
- data.tar.gz: 000f9ca102c3deacd8ae0b1c1d9f8edea16b596f65383c3f0fb925f413ca773390e0d1a7e9615f728b6f8b9d41afe7d5b8cdc0be4814cb319af34ce61fea1dd5
6
+ metadata.gz: 4505f754bce355051fcd352bd1debb1d430baf46bbdbe8a51fdba1528b9698c10cdd442b5ab2eb61b922fd7e4bfea2a36fc17400d2272f424c452e9c7e505b07
7
+ data.tar.gz: 34e050758e14b5424e1c5a171f713d5962c2e8a6361a186a37024b1e7abbede412940be4d068663a5b4a9b244091e76843fb1931b45e9477f9461df61772563d
data/README.md CHANGED
@@ -36,7 +36,7 @@ gem install dratools
36
36
  | `tree` | accession から run へ辿る探索ツリーを表示する |
37
37
  | `meta` | レコードのメタ情報を表示する(`--json` で生 JSON) |
38
38
  | `runs` | run accession の一覧を出力する |
39
- | `size` | ダウンロード合計サイズを集計する(`--per-run` で run ごとに分割) |
39
+ | `size` | run ごとにダウンロードサイズを集計する(`--total` で accession 単位の合算に切り替え) |
40
40
 
41
41
  コマンド名は基本的に単数形ですが、一覧を返す `runs` だけ複数形です。打ち間違い対策として `run`/`urls`/`sizes`/`trees` の別名も受け付けます。
42
42
 
@@ -84,8 +84,8 @@ dratools url --json DRR000001 # URL 情報を JSON で表示
84
84
  dratools url --tsv DRR000001 # run/type/url/size/md5 を TAB 区切りで
85
85
  dratools meta --json DRR000001 # entry JSON を表示する
86
86
  dratools runs PRJNA341783 | dratools get -O ~/Downloads # run 一覧をダウンロードへ渡す
87
- dratools size --bytes PRJNA341783 # 合計サイズをバイト数で表示する
88
- dratools size --per-run DRX000001 # 親 accession を run ごとに集計する
87
+ dratools size --bytes PRJNA341783 # サイズをバイト数で表示する
88
+ dratools size --total DRX000001 # 親 accession を run ごとに分けず合算する
89
89
  dratools get --skip-existing -O ~/Downloads DRR000001 # 既存ファイルは触らない
90
90
  ```
91
91
 
data/docs/usage.md CHANGED
@@ -29,7 +29,7 @@ bundle exec rake install
29
29
  | `tree` | accession から run へ辿る探索ツリーを表示する |
30
30
  | `meta` | レコードのメタ情報を表示する(`--json` で生 JSON) |
31
31
  | `runs` | run accession の一覧を出力する |
32
- | `size` | ダウンロード合計サイズを集計する |
32
+ | `size` | run ごとにダウンロードサイズを集計する(`--total` で合算) |
33
33
 
34
34
  コマンド名は基本的に単数形です。一覧を返す `runs` だけが複数形です。`run` は「実行する」と読み間違えやすいためです。打ち間違いに備えて別名も使えます。`run` は `runs`、`urls` は `url`、`sizes` は `size`、`trees` は `tree` として扱います。ヘルプとエラーとバナーには、表の正規名だけを表示します。
35
35
 
@@ -69,33 +69,33 @@ dratools runs PRJNA341783 | dratools get -O ~/Downloads
69
69
 
70
70
  Study や BioProject には多数の experiment や sample が含まれることがあります。`runs` はこれらを無制限には辿りません。上限を超えるとエラーで止まります。run へ直接リンクがある場合は、500 件を超えても制限の対象外です。レコードが大きい場合は、先に `tree` や `meta` で構造を確認してください。experiment や sample に絞ってから `runs` を使ってください。
71
71
 
72
- ## 合計サイズを確認する (`size`)
72
+ ## サイズを確認する (`size`)
73
73
 
74
74
  `size` は実ファイルの URL に HTTP `HEAD` を送ります。`Content-Length` を合計します。FASTQ はディレクトリ URL で返ることがあります。その場合はディレクトリ一覧から `*.fastq*` を取り出します。取り出した各ファイルに `HEAD` を送ります。
75
75
 
76
76
  ```sh
77
- dratools size PRJNA341783
77
+ dratools size DRX000001
78
78
  ```
79
79
 
80
- 出力は11件です。各行は accession、ファイル数、合計サイズ、`unresolved` 数を並べます。区切りは TAB です。先頭に `#` で始まるヘッダ行が付きます。合計サイズだけを取り出すには `cut -f3` を使います。ヘッダを除くには `grep -v '^#'` を使います。サイズを1つも取得できなかった行は、size 列を `NA` にします。accession を複数渡すと、最後に `total` 行が付きます。
80
+ 既定では run accession ごとに1行に分けて集計します。親 accession を渡すと、配下の run を1件ずつ表示します。これは `dratools runs XXX | xargs dratools size` と同じ結果です。1 コマンドで実行できます。各行は accession、ファイル数、サイズ、`unresolved` 数を並べます。区切りは TAB です。先頭に `#` で始まるヘッダ行が付きます。サイズだけを取り出すには `cut -f3` を使います。ヘッダを除くには `grep -v '^#'` を使います。サイズを1つも取得できなかった行は、size 列を `NA` にします。
81
81
 
82
82
  ```text
83
83
  #accession files size unresolved
84
- DRR000001 1 1.0 KiB 0
84
+ DRR000001 2 1.2 GiB 0
85
+ DRR000002 1 0.8 GiB 0
85
86
  ```
86
87
 
87
- 既定では accession 1 件につき1行です。親 accession の場合は配下をすべて合算します。`--per-run`(`-r`)を付けると、run accession ごとに分けて集計します。これは `dratools runs XXX | xargs dratools size` と同じ結果です。1 コマンドで実行できます。
88
+ run ごとの内訳が複数あるとき、`total` 行は標準エラーに出します。標準出力には集計行だけが残ります。`awk` で合計するときに `total` 行を二重に数えないためです。
89
+
90
+ 合計だけが欲しいときは `--total` を付けます。accession 1 件につき1行にまとめます。親 accession の場合は配下をすべて合算します。accession を複数渡すと、最後に `total` 行が標準出力に付きます。
88
91
 
89
92
  ```sh
90
- dratools size --per-run DRX000001
93
+ dratools size --total PRJNA341783
91
94
  ```
92
95
 
93
- `--per-run` のとき、`total` 行は標準エラーに出します。標準出力には集計行だけが残ります。`awk` で合計するときに `total` 行を二重に数えないためです。
94
-
95
96
  ```text
96
97
  #accession files size unresolved
97
- DRR000001 2 1.2 GiB 0
98
- DRR000002 1 0.8 GiB 0
98
+ PRJNA341783 3 2.0 GiB 0
99
99
  ```
100
100
 
101
101
  バイト数で表示する場合は `--bytes` を付けます。
@@ -26,7 +26,7 @@ module Dratools
26
26
  timeout: DEFAULT_SIZE_TIMEOUT_SECONDS,
27
27
  bytes: false,
28
28
  json: false,
29
- per_run: false
29
+ per_run: true
30
30
  )
31
31
  end
32
32
 
@@ -37,7 +37,10 @@ module Dratools
37
37
  @options[:timeout] = value
38
38
  end
39
39
  parser.on('--bytes', 'サイズをバイト数で表示する') { @options[:bytes] = true }
40
- parser.on('-r', '--per-run', '親 accession を run accession ごとに分けて集計する') do
40
+ parser.on('--total', '親 accession を run ごとに分けず accession 単位で合算する') do
41
+ @options[:per_run] = false
42
+ end
43
+ parser.on('-r', '--per-run', 'run accession ごとに分けて集計する (default)') do
41
44
  @options[:per_run] = true
42
45
  end
43
46
  parser.on('--json', 'サイズ集計を JSON で表示する') { @options[:json] = true }
@@ -47,7 +50,7 @@ module Dratools
47
50
  [
48
51
  "#{Dratools::NAME} size DRR000001",
49
52
  "#{Dratools::NAME} size --type fastq PRJNA341783",
50
- "#{Dratools::NAME} size --per-run DRX000001",
53
+ "#{Dratools::NAME} size --total DRX000001",
51
54
  "#{Dratools::NAME} size --json DRR000001 DRR000002"
52
55
  ]
53
56
  end
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Dratools
4
4
  NAME = 'dratools'
5
- VERSION = '0.0.3'
5
+ VERSION = '0.0.4'
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dratools
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