@apollo-annotation/cli 0.1.19 → 0.1.21

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 (54) hide show
  1. package/README.md +297 -115
  2. package/dist/baseCommand.d.ts +1 -1
  3. package/dist/baseCommand.js +3 -4
  4. package/dist/commands/assembly/add-from-fasta.d.ts +22 -0
  5. package/dist/commands/assembly/add-from-fasta.js +157 -0
  6. package/dist/commands/assembly/{add-gff.d.ts → add-from-gff.d.ts} +5 -3
  7. package/dist/commands/assembly/add-from-gff.js +64 -0
  8. package/dist/commands/assembly/check.js +9 -9
  9. package/dist/commands/assembly/delete.js +4 -4
  10. package/dist/commands/assembly/get.js +4 -4
  11. package/dist/commands/assembly/sequence.js +4 -4
  12. package/dist/commands/change/get.js +7 -7
  13. package/dist/commands/config.js +4 -6
  14. package/dist/commands/feature/add-child.js +6 -5
  15. package/dist/commands/feature/check.js +6 -6
  16. package/dist/commands/feature/copy.js +5 -4
  17. package/dist/commands/feature/delete.js +4 -4
  18. package/dist/commands/feature/edit-attribute.js +6 -5
  19. package/dist/commands/feature/edit-coords.js +5 -5
  20. package/dist/commands/feature/edit-type.js +5 -5
  21. package/dist/commands/feature/edit.js +5 -5
  22. package/dist/commands/feature/get-id.js +5 -5
  23. package/dist/commands/feature/get.js +3 -3
  24. package/dist/commands/feature/import.d.ts +5 -3
  25. package/dist/commands/feature/import.js +15 -14
  26. package/dist/commands/feature/search.js +6 -6
  27. package/dist/commands/file/delete.d.ts +13 -0
  28. package/dist/commands/file/delete.js +58 -0
  29. package/dist/commands/file/download.d.ts +14 -0
  30. package/dist/commands/file/download.js +45 -0
  31. package/dist/commands/file/get.d.ts +13 -0
  32. package/dist/commands/file/get.js +38 -0
  33. package/dist/commands/file/upload.d.ts +18 -0
  34. package/dist/commands/file/upload.js +89 -0
  35. package/dist/commands/jbrowse/get-config.d.ts +10 -0
  36. package/dist/commands/jbrowse/get-config.js +21 -0
  37. package/dist/commands/jbrowse/set-config.d.ts +13 -0
  38. package/dist/commands/jbrowse/set-config.js +51 -0
  39. package/dist/commands/login.js +11 -15
  40. package/dist/commands/logout.js +2 -2
  41. package/dist/commands/refseq/add-alias.d.ts +3 -1
  42. package/dist/commands/refseq/add-alias.js +13 -12
  43. package/dist/commands/refseq/get.js +8 -8
  44. package/dist/commands/status.js +4 -3
  45. package/dist/commands/user/get.js +3 -3
  46. package/dist/fileCommand.d.ts +5 -0
  47. package/dist/fileCommand.js +76 -0
  48. package/dist/utils.d.ts +7 -21
  49. package/dist/utils.js +37 -109
  50. package/oclif.manifest.json +449 -90
  51. package/package.json +50 -43
  52. package/dist/commands/assembly/add-fasta.d.ts +0 -15
  53. package/dist/commands/assembly/add-fasta.js +0 -87
  54. package/dist/commands/assembly/add-gff.js +0 -63
@@ -12,7 +12,7 @@
12
12
  "name": "value"
13
13
  }
14
14
  },
15
- "description": "Use this command to create or edit a user profile with credentials to access\nApollo. Configuration options are:\n\n - address:\nAddress and port e.g http://localhost:3999\n\n- accessType:\nHow to access Apollo. accessType is typically one of: google, microsoft, guest,\nroot. Allowed types depend on your Apollo setup\n\n- accessToken:\nAccess token. Usually inserted by `apollo login`\n\n- rootCredentials.username:\nUsername of root account. Only set this for \"root\" access type\n\n- rootCredentials.password:\nPassword for root account. Only set this for \"root\" access type",
15
+ "description": "Use this command to create or edit a user profile with credentials to access Apollo. Configuration options are:\n\n - address:\nAddress and port e.g http://localhost:3999\n\n- accessType:\nHow to access Apollo. accessType is typically one of: google, microsoft, guest, root. Allowed types depend on your Apollo setup\n\n- accessToken:\nAccess token. Usually inserted by `apollo login`\n\n- rootCredentials.username:\nUsername of root account. Only set this for \"root\" access type\n\n- rootCredentials.password:\nPassword for root account. Only set this for \"root\" access type",
16
16
  "examples": [
17
17
  {
18
18
  "description": "Interactive setup:",
@@ -69,10 +69,10 @@
69
69
  "login": {
70
70
  "aliases": [],
71
71
  "args": {},
72
- "description": "Use the provided credentials to obtain and save the token to access Apollo. Once\nthe token for the given profile has been saved in the configuration file, users\ndo not normally need to execute this command again unless the token has expired.\nTo setup a new profile use \"apollo config\"",
72
+ "description": "Use the provided credentials to obtain and save the token to access Apollo. Once the token for the given profile has been saved in the configuration file, users do not normally need to execute this command again unless the token has expired. To setup a new profile use \"apollo config\"",
73
73
  "examples": [
74
74
  {
75
- "description": "The most basic and probably most typical usage is to login using the default\nprofile in configuration file:",
75
+ "description": "The most basic and probably most typical usage is to login using the default profile in configuration file:",
76
76
  "command": "<%= config.bin %> <%= command.id %>"
77
77
  },
78
78
  {
@@ -203,7 +203,7 @@
203
203
  "status": {
204
204
  "aliases": [],
205
205
  "args": {},
206
- "description": "This command returns \"<profile>: Logged in\" if the selected profile has an\naccess token and \"<profile>: Logged out\" otherwise. Note that this command does\nnot check the validity of the access token.",
206
+ "description": "This command returns \"<profile>: Logged in\" if the selected profile has an access token and \"<profile>: Logged out\" otherwise.Note that this command does not check the validity of the access token.",
207
207
  "flags": {
208
208
  "profile": {
209
209
  "description": "Use credentials from this profile",
@@ -236,18 +236,24 @@
236
236
  "status.js"
237
237
  ]
238
238
  },
239
- "assembly:add-fasta": {
239
+ "assembly:add-from-fasta": {
240
240
  "aliases": [],
241
- "args": {},
242
- "description": "Add new assembly from local or external fasta file",
241
+ "args": {
242
+ "input": {
243
+ "description": "Input fasta file, local or remote, or id of a previously uploaded file. For local or remote files, it is assumed the file is bgzip'd with `bgzip` and indexed with `samtools faidx`. The indexes are assumed to be at <my.fasta.gz>.fai and <my.fasta.gz>.gzi unless the options --fai and --gzi are provided.",
244
+ "name": "input",
245
+ "required": true
246
+ }
247
+ },
248
+ "description": "Add new assembly. The input fasta may be:\n * A local file\n * An external fasta file\n * The id of a file previously uploaded to Apollo",
243
249
  "examples": [
244
250
  {
245
251
  "description": "From local file:",
246
- "command": "<%= config.bin %> <%= command.id %> -i genome.fa -a myAssembly"
252
+ "command": "<%= config.bin %> <%= command.id %> genome.fa -a myAssembly"
247
253
  },
248
254
  {
249
255
  "description": "From external source we also need the URL of the index:",
250
- "command": "<%= config.bin %> <%= command.id %> -i https://.../genome.fa -x https://.../genome.fa.fai -a myAssembly"
256
+ "command": "<%= config.bin %> <%= command.id %> https://.../genome.fa -x https://.../genome.fa.fai -a myAssembly"
251
257
  }
252
258
  ],
253
259
  "flags": {
@@ -265,15 +271,6 @@
265
271
  "multiple": false,
266
272
  "type": "option"
267
273
  },
268
- "input-file": {
269
- "char": "i",
270
- "description": "Input fasta file",
271
- "name": "input-file",
272
- "required": true,
273
- "hasDynamicHelp": false,
274
- "multiple": false,
275
- "type": "option"
276
- },
277
274
  "assembly": {
278
275
  "char": "a",
279
276
  "description": "Name for this assembly. Use the file name if omitted",
@@ -282,50 +279,89 @@
282
279
  "multiple": false,
283
280
  "type": "option"
284
281
  },
285
- "index": {
286
- "char": "x",
287
- "description": "URL of the index. Required if input is an external source and ignored if input is a local file",
288
- "name": "index",
289
- "hasDynamicHelp": false,
290
- "multiple": false,
291
- "type": "option"
292
- },
293
282
  "force": {
294
283
  "char": "f",
295
284
  "description": "Delete existing assembly, if it exists",
296
285
  "name": "force",
297
286
  "allowNo": false,
298
287
  "type": "boolean"
288
+ },
289
+ "editable": {
290
+ "char": "e",
291
+ "description": "Instead of using indexed fasta lookup, the sequence is loaded into the Apollo database and is editable. Use with caution, as editing the sequence often has unintended side effects.",
292
+ "name": "editable",
293
+ "allowNo": false,
294
+ "type": "boolean"
295
+ },
296
+ "fai": {
297
+ "description": "Fasta index of the (not-editable) fasta file",
298
+ "name": "fai",
299
+ "hasDynamicHelp": false,
300
+ "multiple": false,
301
+ "type": "option"
302
+ },
303
+ "gzi": {
304
+ "description": "Gzi index of the (not-editable) fasta file",
305
+ "name": "gzi",
306
+ "hasDynamicHelp": false,
307
+ "multiple": false,
308
+ "type": "option"
309
+ },
310
+ "gzip": {
311
+ "char": "z",
312
+ "description": "For local file input: Override autodetection and instruct that input is gzip compressed",
313
+ "exclusive": [
314
+ "decompressed"
315
+ ],
316
+ "name": "gzip",
317
+ "allowNo": false,
318
+ "type": "boolean"
319
+ },
320
+ "decompressed": {
321
+ "char": "d",
322
+ "description": "For local file input: Override autodetection and instruct that input is decompressed",
323
+ "exclusive": [
324
+ "gzip"
325
+ ],
326
+ "name": "decompressed",
327
+ "allowNo": false,
328
+ "type": "boolean"
299
329
  }
300
330
  },
301
331
  "hasDynamicHelp": false,
302
332
  "hiddenAliases": [],
303
- "id": "assembly:add-fasta",
333
+ "id": "assembly:add-from-fasta",
304
334
  "pluginAlias": "@apollo-annotation/cli",
305
335
  "pluginName": "@apollo-annotation/cli",
306
336
  "pluginType": "core",
307
337
  "strict": true,
308
- "enableJsonFlag": false,
338
+ "summary": "Add a new assembly from fasta input",
309
339
  "isESM": true,
310
340
  "relativePath": [
311
341
  "dist",
312
342
  "commands",
313
343
  "assembly",
314
- "add-fasta.js"
344
+ "add-from-fasta.js"
315
345
  ]
316
346
  },
317
- "assembly:add-gff": {
347
+ "assembly:add-from-gff": {
318
348
  "aliases": [],
319
- "args": {},
320
- "description": "The gff file is expected to contain sequences as per gff specifications.\nFeatures are also imported by default.",
349
+ "args": {
350
+ "input-file": {
351
+ "description": "Input gff file",
352
+ "name": "input-file",
353
+ "required": true
354
+ }
355
+ },
356
+ "description": "The gff file is expected to contain sequences as per gff specifications. Features are also imported by default.",
321
357
  "examples": [
322
358
  {
323
359
  "description": "Import sequences and features:",
324
- "command": "<%= config.bin %> <%= command.id %> -i genome.gff -a myAssembly"
360
+ "command": "<%= config.bin %> <%= command.id %> genome.gff -a myAssembly"
325
361
  },
326
362
  {
327
363
  "description": "Import sequences only:",
328
- "command": "<%= config.bin %> <%= command.id %> -i genome.gff -a myAssembly -o"
364
+ "command": "<%= config.bin %> <%= command.id %> genome.gff -a myAssembly -o"
329
365
  }
330
366
  ],
331
367
  "flags": {
@@ -343,15 +379,6 @@
343
379
  "multiple": false,
344
380
  "type": "option"
345
381
  },
346
- "input-file": {
347
- "char": "i",
348
- "description": "Input gff or gtf file",
349
- "name": "input-file",
350
- "required": true,
351
- "hasDynamicHelp": false,
352
- "multiple": false,
353
- "type": "option"
354
- },
355
382
  "assembly": {
356
383
  "char": "a",
357
384
  "description": "Name for this assembly. Use the file name if omitted",
@@ -377,25 +404,24 @@
377
404
  },
378
405
  "hasDynamicHelp": false,
379
406
  "hiddenAliases": [],
380
- "id": "assembly:add-gff",
407
+ "id": "assembly:add-from-gff",
381
408
  "pluginAlias": "@apollo-annotation/cli",
382
409
  "pluginName": "@apollo-annotation/cli",
383
410
  "pluginType": "core",
384
411
  "strict": true,
385
412
  "summary": "Add new assembly from gff or gft file",
386
- "enableJsonFlag": false,
387
413
  "isESM": true,
388
414
  "relativePath": [
389
415
  "dist",
390
416
  "commands",
391
417
  "assembly",
392
- "add-gff.js"
418
+ "add-from-gff.js"
393
419
  ]
394
420
  },
395
421
  "assembly:check": {
396
422
  "aliases": [],
397
423
  "args": {},
398
- "description": "Manage checks, i.e. the rules ensuring features in an assembly are plausible.\nThis command only sets the checks to apply, to retrieve features flagged by\nthese checks use `apollo feature check`.",
424
+ "description": "Manage checks, i.e. the rules ensuring features in an assembly are plausible. This command only sets the checks to apply, to retrieve features flagged by these checks use `apollo feature check`.",
399
425
  "examples": [
400
426
  {
401
427
  "description": "View available check types:",
@@ -654,14 +680,59 @@
654
680
  "sequence.js"
655
681
  ]
656
682
  },
683
+ "change:get": {
684
+ "aliases": [],
685
+ "args": {},
686
+ "description": "Return the change log in json format. Note that when an assembly is deleted the link between common name and ID is lost (it can still be recovered by inspecting the change log but at present this task is left to the user). In such cases you need to use the assembly ID.",
687
+ "flags": {
688
+ "profile": {
689
+ "description": "Use credentials from this profile",
690
+ "name": "profile",
691
+ "hasDynamicHelp": false,
692
+ "multiple": false,
693
+ "type": "option"
694
+ },
695
+ "config-file": {
696
+ "description": "Use this config file (mostly for testing)",
697
+ "name": "config-file",
698
+ "hasDynamicHelp": false,
699
+ "multiple": false,
700
+ "type": "option"
701
+ },
702
+ "assembly": {
703
+ "char": "a",
704
+ "description": "Get changes only for these assembly names or IDs (but see description)",
705
+ "name": "assembly",
706
+ "hasDynamicHelp": false,
707
+ "multiple": true,
708
+ "type": "option"
709
+ }
710
+ },
711
+ "hasDynamicHelp": false,
712
+ "hiddenAliases": [],
713
+ "id": "change:get",
714
+ "pluginAlias": "@apollo-annotation/cli",
715
+ "pluginName": "@apollo-annotation/cli",
716
+ "pluginType": "core",
717
+ "strict": true,
718
+ "summary": "Get list of changes",
719
+ "enableJsonFlag": false,
720
+ "isESM": true,
721
+ "relativePath": [
722
+ "dist",
723
+ "commands",
724
+ "change",
725
+ "get.js"
726
+ ]
727
+ },
657
728
  "feature:add-child": {
658
729
  "aliases": [],
659
730
  "args": {},
660
- "description": "See the other commands under `apollo feature` to retrive the parent ID of\ninterest and to populate the child feature with attributes.",
731
+ "description": "See the other commands under `apollo feature` to retrive the parent ID of interest and to populate the child feature with attributes.",
661
732
  "examples": [
662
733
  {
663
734
  "description": "Add an exon at genomic coordinates 10..20 to this feature ID:",
664
- "command": "<%= config.bin %> <%= command.id %> -i 6605826fbd0eee691f83e73f -t exon -s 10 -e 20"
735
+ "command": "<%= config.bin %> <%= command.id %> -i 660...73f -t exon -s 10 -e 20"
665
736
  }
666
737
  ],
667
738
  "flags": {
@@ -736,7 +807,7 @@
736
807
  "feature:check": {
737
808
  "aliases": [],
738
809
  "args": {},
739
- "description": "Use this command to view which features fail checks along with the reason for\nfailing. Use `apollo assembly check` for managing which checks should be applied\nto an assembly",
810
+ "description": "Use this command to view which features fail checks along with the reason for failing.Use `apollo assembly check` for managing which checks should be applied to an assembly",
740
811
  "examples": [
741
812
  {
742
813
  "description": "Get all check results in the database:",
@@ -799,7 +870,7 @@
799
870
  "feature:copy": {
800
871
  "aliases": [],
801
872
  "args": {},
802
- "description": "The feature may be copied to the same or to a different assembly. he destination\nreference sequence may be selected by name only if unique in the database or by\nname and assembly or by identifier.",
873
+ "description": "The feature may be copied to the same or to a different assembly. The destination reference sequence may be selected by name only if unique in the database or by name and assembly or by identifier.",
803
874
  "examples": [
804
875
  {
805
876
  "description": "Copy this feature ID to chr1:100 in assembly hg38:",
@@ -878,7 +949,7 @@
878
949
  "feature:delete": {
879
950
  "aliases": [],
880
951
  "args": {},
881
- "description": "Note that deleting a child feature after deleting its parent will result in an\nerror unless you set -f/--force.",
952
+ "description": "Note that deleting a child feature after deleting its parent will result in an error unless you set -f/--force.",
882
953
  "flags": {
883
954
  "profile": {
884
955
  "description": "Use credentials from this profile",
@@ -940,7 +1011,7 @@
940
1011
  "feature:edit-attribute": {
941
1012
  "aliases": [],
942
1013
  "args": {},
943
- "description": "Be aware that there is no checking whether attributes names and values are\nvalid. For example, you can create non-unique ID attributes or you can set gene\nontology terms to non-existing terms",
1014
+ "description": "Be aware that there is no checking whether attributes names and values are valid. For example, you can create non-unique ID attributes or you can set gene ontology terms to non-existing terms",
944
1015
  "examples": [
945
1016
  {
946
1017
  "description": "Add attribute \"domains\" with a list of values:",
@@ -1024,7 +1095,7 @@
1024
1095
  "feature:edit-coords": {
1025
1096
  "aliases": [],
1026
1097
  "args": {},
1027
- "description": "If editing a child feature that new coordinates must be within the parent's\ncoordinates. To get the identifier of the feature to edit consider using `apollo\nfeature get` or `apollo feature search`",
1098
+ "description": "If editing a child feature that new coordinates must be within the parent's coordinates.To get the identifier of the feature to edit consider using `apollo feature get` or `apollo feature search`",
1028
1099
  "examples": [
1029
1100
  {
1030
1101
  "description": "Edit start and end:",
@@ -1096,7 +1167,7 @@
1096
1167
  "feature:edit-type": {
1097
1168
  "aliases": [],
1098
1169
  "args": {},
1099
- "description": "Feature type is column 3 in gff format. It must be a valid sequence ontology\nterm although but the valifdity of the new term is not checked.",
1170
+ "description": "Feature type is column 3 in gff format.It must be a valid sequence ontology term although but the valifdity of the new term is not checked.",
1100
1171
  "flags": {
1101
1172
  "profile": {
1102
1173
  "description": "Use credentials from this profile",
@@ -1150,7 +1221,7 @@
1150
1221
  "feature:edit": {
1151
1222
  "aliases": [],
1152
1223
  "args": {},
1153
- "description": "Edit a feature by submitting a json input with all the required attributes for\nApollo to process it. This is a very low level command which most users probably\ndo not need.\n\n Input may be a json string or a json file and it may be an array of changes.\nThis is an example input for editing feature type:\n\n {\n \"typeName\": \"TypeChange\",\n \"changedIds\": [\n \"6613f7d22c957525d631b1cc\"\n ],\n \"assembly\": \"6613f7d1360321540a11e5ed\",\n \"featureId\": \"6613f7d22c957525d631b1cc\",\n \"oldType\": \"BAC\",\n \"newType\": \"G_quartet\"\n }",
1224
+ "description": "Edit a feature by submitting a json input with all the required attributes for Apollo to process it. This is a very low level command which most users probably do not need.\n\n Input may be a json string or a json file and it may be an array of changes. This is an example input for editing feature type:\n\n {\n \"typeName\": \"TypeChange\",\n \"changedIds\": [\n \"6613f7d22c957525d631b1cc\"\n ],\n \"assembly\": \"6613f7d1360321540a11e5ed\",\n \"featureId\": \"6613f7d22c957525d631b1cc\",\n \"oldType\": \"BAC\",\n \"newType\": \"G_quartet\"\n }",
1154
1225
  "examples": [
1155
1226
  {
1156
1227
  "description": "Editing by passing a json to stdin:",
@@ -1202,7 +1273,7 @@
1202
1273
  "feature:get-id": {
1203
1274
  "aliases": [],
1204
1275
  "args": {},
1205
- "description": "Invalid identifiers or identifiers not found in the database will be silently\nignored",
1276
+ "description": "Invalid identifiers or identifiers not found in the database will be silently ignored",
1206
1277
  "examples": [
1207
1278
  {
1208
1279
  "description": "Get features for these identifiers:",
@@ -1226,7 +1297,7 @@
1226
1297
  },
1227
1298
  "feature-id": {
1228
1299
  "char": "i",
1229
- "description": "Retrieves feature with these IDs. Use\n\"-\" to read IDs from stdin (one per\nline)",
1300
+ "description": "Retrieves feature with these IDs. Use \"-\" to read IDs from stdin (one per line)",
1230
1301
  "name": "feature-id",
1231
1302
  "default": [
1232
1303
  "-"
@@ -1263,7 +1334,7 @@
1263
1334
  "command": "<%= config.bin %> <%= command.id %> -a myAssembly"
1264
1335
  },
1265
1336
  {
1266
- "description": "Get features intersecting chr1:1..1000. You can omit the assembly name if there\nare no other reference sequences named chr1:",
1337
+ "description": "Get features intersecting chr1:1..1000. You can omit the assembly name if there are no other reference sequences named chr1:",
1267
1338
  "command": "<%= config.bin %> <%= command.id %> -a myAssembly -r chr1 -s 1 -e 1000"
1268
1339
  }
1269
1340
  ],
@@ -1334,12 +1405,18 @@
1334
1405
  },
1335
1406
  "feature:import": {
1336
1407
  "aliases": [],
1337
- "args": {},
1408
+ "args": {
1409
+ "input-file": {
1410
+ "description": "Input gff file",
1411
+ "name": "input-file",
1412
+ "required": true
1413
+ }
1414
+ },
1338
1415
  "description": "By default, features are added to the existing ones.",
1339
1416
  "examples": [
1340
1417
  {
1341
1418
  "description": "Delete features in myAssembly and then import features.gff3:",
1342
- "command": "<%= config.bin %> <%= command.id %> -d -i features.gff3 -a myAssembly"
1419
+ "command": "<%= config.bin %> <%= command.id %> features.gff3 -d -a myAssembly"
1343
1420
  }
1344
1421
  ],
1345
1422
  "flags": {
@@ -1357,15 +1434,6 @@
1357
1434
  "multiple": false,
1358
1435
  "type": "option"
1359
1436
  },
1360
- "input-file": {
1361
- "char": "i",
1362
- "description": "Input gff or gtf file",
1363
- "name": "input-file",
1364
- "required": true,
1365
- "hasDynamicHelp": false,
1366
- "multiple": false,
1367
- "type": "option"
1368
- },
1369
1437
  "assembly": {
1370
1438
  "char": "a",
1371
1439
  "description": "Import into this assembly name or assembly ID",
@@ -1391,7 +1459,6 @@
1391
1459
  "pluginType": "core",
1392
1460
  "strict": true,
1393
1461
  "summary": "Import features from local gff file",
1394
- "enableJsonFlag": false,
1395
1462
  "isESM": true,
1396
1463
  "relativePath": [
1397
1464
  "dist",
@@ -1403,7 +1470,7 @@
1403
1470
  "feature:search": {
1404
1471
  "aliases": [],
1405
1472
  "args": {},
1406
- "description": "Return features matching a query string. This command searches only in:\n\n - Attribute *values* (not attribute names)\n - Source field (which in fact is stored as an attribute)\n - Feature type\n\n The search mode is:\n\n - Case insensitive\n - Match only full words, but not necessarily the full value\n - Common words are ignored. E.g. \"the\", \"with\"\n\n For example, given this feature:\n\n chr1 example SNP 10 30 0.987 . . \"someKey=Fingerprint BAC with reads\"\n\n Queries \"bac\" or \"mRNA\" return the feature. Instead these queries will NOT\nmatch:\n\n - \"someKey\"\n - \"with\"\n - \"Finger\"\n - \"chr1\"\n - \"0.987\"",
1473
+ "description": "Return features matching a query string. This command searches only in:\n\n - Attribute *values* (not attribute names)\n - Source field (which in fact is stored as an attribute)\n - Feature type\n\n The search mode is:\n\n - Case insensitive\n - Match only full words, but not necessarily the full value\n - Common words are ignored. E.g. \"the\", \"with\"\n\n For example, given this feature:\n\n chr1 example SNP 10 30 0.987 . . \"someKey=Fingerprint BAC with reads\"\n\n Queries \"bac\" or \"mRNA\" return the feature. Instead these queries will NOT match:\n\n - \"someKey\"\n - \"with\"\n - \"Finger\"\n - \"chr1\"\n - \"0.987\"",
1407
1474
  "examples": [
1408
1475
  {
1409
1476
  "description": "Search \"bac\" in these assemblies:",
@@ -1436,7 +1503,7 @@
1436
1503
  },
1437
1504
  "assembly": {
1438
1505
  "char": "a",
1439
- "description": "Assembly names or IDs to search; use \"-\" to read it from stdin. If omitted\nsearch all assemblies",
1506
+ "description": "Assembly names or IDs to search; use \"-\" to read it from stdin. If omitted search all assemblies",
1440
1507
  "name": "assembly",
1441
1508
  "hasDynamicHelp": false,
1442
1509
  "multiple": true,
@@ -1460,10 +1527,16 @@
1460
1527
  "search.js"
1461
1528
  ]
1462
1529
  },
1463
- "change:get": {
1530
+ "file:delete": {
1464
1531
  "aliases": [],
1465
1532
  "args": {},
1466
- "description": "Return the change log in json format. Note that when an assembly is deleted the\nlink between common name and ID is lost (it can still be recovered by inspecting\nthe change log but at present this task is left to the user). In such cases you\nneed to use the assembly ID.",
1533
+ "description": "Deleted files are printed to stdout. See also `apollo file get` to list the files on the server",
1534
+ "examples": [
1535
+ {
1536
+ "description": "Delete file multiple files:",
1537
+ "command": "<%= config.bin %> <%= command.id %> -i 123...abc xyz...789"
1538
+ }
1539
+ ],
1467
1540
  "flags": {
1468
1541
  "profile": {
1469
1542
  "description": "Use credentials from this profile",
@@ -1479,10 +1552,13 @@
1479
1552
  "multiple": false,
1480
1553
  "type": "option"
1481
1554
  },
1482
- "assembly": {
1483
- "char": "a",
1484
- "description": "Get changes only for these assembly names or IDs (but see description)",
1485
- "name": "assembly",
1555
+ "file-id": {
1556
+ "char": "i",
1557
+ "description": "IDs of the files to delete",
1558
+ "name": "file-id",
1559
+ "default": [
1560
+ "-"
1561
+ ],
1486
1562
  "hasDynamicHelp": false,
1487
1563
  "multiple": true,
1488
1564
  "type": "option"
@@ -1490,29 +1566,223 @@
1490
1566
  },
1491
1567
  "hasDynamicHelp": false,
1492
1568
  "hiddenAliases": [],
1493
- "id": "change:get",
1569
+ "id": "file:delete",
1494
1570
  "pluginAlias": "@apollo-annotation/cli",
1495
1571
  "pluginName": "@apollo-annotation/cli",
1496
1572
  "pluginType": "core",
1497
1573
  "strict": true,
1498
- "summary": "Get list of changes",
1574
+ "summary": "Delete files from the Apollo server",
1499
1575
  "enableJsonFlag": false,
1500
1576
  "isESM": true,
1501
1577
  "relativePath": [
1502
1578
  "dist",
1503
1579
  "commands",
1504
- "change",
1580
+ "file",
1581
+ "delete.js"
1582
+ ]
1583
+ },
1584
+ "file:download": {
1585
+ "aliases": [],
1586
+ "args": {},
1587
+ "description": "See also `apollo file get` to list the files on the server",
1588
+ "examples": [
1589
+ {
1590
+ "description": "Download file with id xyz",
1591
+ "command": "<%= config.bin %> <%= command.id %> -i xyz -o genome.fa"
1592
+ }
1593
+ ],
1594
+ "flags": {
1595
+ "profile": {
1596
+ "description": "Use credentials from this profile",
1597
+ "name": "profile",
1598
+ "hasDynamicHelp": false,
1599
+ "multiple": false,
1600
+ "type": "option"
1601
+ },
1602
+ "config-file": {
1603
+ "description": "Use this config file (mostly for testing)",
1604
+ "name": "config-file",
1605
+ "hasDynamicHelp": false,
1606
+ "multiple": false,
1607
+ "type": "option"
1608
+ },
1609
+ "file-id": {
1610
+ "char": "i",
1611
+ "description": "ID of the file to download",
1612
+ "name": "file-id",
1613
+ "default": "-",
1614
+ "hasDynamicHelp": false,
1615
+ "multiple": false,
1616
+ "type": "option"
1617
+ },
1618
+ "output": {
1619
+ "char": "o",
1620
+ "description": "Write output to this file or \"-\" for stdout. Default to the name of the uploaded file.",
1621
+ "name": "output",
1622
+ "hasDynamicHelp": false,
1623
+ "multiple": false,
1624
+ "type": "option"
1625
+ }
1626
+ },
1627
+ "hasDynamicHelp": false,
1628
+ "hiddenAliases": [],
1629
+ "id": "file:download",
1630
+ "pluginAlias": "@apollo-annotation/cli",
1631
+ "pluginName": "@apollo-annotation/cli",
1632
+ "pluginType": "core",
1633
+ "strict": true,
1634
+ "summary": "Download a file from the Apollo server",
1635
+ "enableJsonFlag": false,
1636
+ "isESM": true,
1637
+ "relativePath": [
1638
+ "dist",
1639
+ "commands",
1640
+ "file",
1641
+ "download.js"
1642
+ ]
1643
+ },
1644
+ "file:get": {
1645
+ "aliases": [],
1646
+ "args": {},
1647
+ "description": "Print to stdout the list of files in json format",
1648
+ "examples": [
1649
+ {
1650
+ "description": "Get files by id:",
1651
+ "command": "<%= config.bin %> <%= command.id %> -i xyz abc"
1652
+ }
1653
+ ],
1654
+ "flags": {
1655
+ "profile": {
1656
+ "description": "Use credentials from this profile",
1657
+ "name": "profile",
1658
+ "hasDynamicHelp": false,
1659
+ "multiple": false,
1660
+ "type": "option"
1661
+ },
1662
+ "config-file": {
1663
+ "description": "Use this config file (mostly for testing)",
1664
+ "name": "config-file",
1665
+ "hasDynamicHelp": false,
1666
+ "multiple": false,
1667
+ "type": "option"
1668
+ },
1669
+ "file-id": {
1670
+ "char": "i",
1671
+ "description": "Get files matching this IDs",
1672
+ "name": "file-id",
1673
+ "hasDynamicHelp": false,
1674
+ "multiple": true,
1675
+ "type": "option"
1676
+ }
1677
+ },
1678
+ "hasDynamicHelp": false,
1679
+ "hiddenAliases": [],
1680
+ "id": "file:get",
1681
+ "pluginAlias": "@apollo-annotation/cli",
1682
+ "pluginName": "@apollo-annotation/cli",
1683
+ "pluginType": "core",
1684
+ "strict": true,
1685
+ "summary": "Get list of files uploaded to the Apollo server",
1686
+ "enableJsonFlag": false,
1687
+ "isESM": true,
1688
+ "relativePath": [
1689
+ "dist",
1690
+ "commands",
1691
+ "file",
1505
1692
  "get.js"
1506
1693
  ]
1507
1694
  },
1508
- "refseq:add-alias": {
1695
+ "file:upload": {
1696
+ "aliases": [],
1697
+ "args": {
1698
+ "input-file": {
1699
+ "description": "Local file to upload",
1700
+ "name": "input-file",
1701
+ "required": true
1702
+ }
1703
+ },
1704
+ "description": "This command only uploads a file and returns the corresponding file id.\n To add an assembly based on this file or to upload & add an assembly in a single pass see `apollo assembly add-from-fasta` and `add-from-gff`",
1705
+ "examples": [
1706
+ {
1707
+ "description": "Upload local file, type auto-detected:",
1708
+ "command": "<%= config.bin %> <%= command.id %> genome.fa > file.json"
1709
+ }
1710
+ ],
1711
+ "flags": {
1712
+ "profile": {
1713
+ "description": "Use credentials from this profile",
1714
+ "name": "profile",
1715
+ "hasDynamicHelp": false,
1716
+ "multiple": false,
1717
+ "type": "option"
1718
+ },
1719
+ "config-file": {
1720
+ "description": "Use this config file (mostly for testing)",
1721
+ "name": "config-file",
1722
+ "hasDynamicHelp": false,
1723
+ "multiple": false,
1724
+ "type": "option"
1725
+ },
1726
+ "type": {
1727
+ "char": "t",
1728
+ "description": "Set file type or autodetected it if not set.\n NB: There is no check for whether the file complies to this type",
1729
+ "name": "type",
1730
+ "hasDynamicHelp": false,
1731
+ "multiple": false,
1732
+ "options": [
1733
+ "text/x-fasta",
1734
+ "text/x-gff3",
1735
+ "application/x-bgzip-fasta",
1736
+ "text/x-fai",
1737
+ "application/x-gzi"
1738
+ ],
1739
+ "type": "option"
1740
+ },
1741
+ "gzip": {
1742
+ "char": "z",
1743
+ "description": "Override autodetection and instruct that input is gzip compressed",
1744
+ "exclusive": [
1745
+ "decompressed"
1746
+ ],
1747
+ "name": "gzip",
1748
+ "allowNo": false,
1749
+ "type": "boolean"
1750
+ },
1751
+ "decompressed": {
1752
+ "char": "d",
1753
+ "description": "Override autodetection and instruct that input is decompressed",
1754
+ "exclusive": [
1755
+ "gzip"
1756
+ ],
1757
+ "name": "decompressed",
1758
+ "allowNo": false,
1759
+ "type": "boolean"
1760
+ }
1761
+ },
1762
+ "hasDynamicHelp": false,
1763
+ "hiddenAliases": [],
1764
+ "id": "file:upload",
1765
+ "pluginAlias": "@apollo-annotation/cli",
1766
+ "pluginName": "@apollo-annotation/cli",
1767
+ "pluginType": "core",
1768
+ "strict": true,
1769
+ "summary": "Upload a local file to the Apollo server",
1770
+ "isESM": true,
1771
+ "relativePath": [
1772
+ "dist",
1773
+ "commands",
1774
+ "file",
1775
+ "upload.js"
1776
+ ]
1777
+ },
1778
+ "jbrowse:get-config": {
1509
1779
  "aliases": [],
1510
1780
  "args": {},
1511
- "description": "Reference name aliasing is a process to make chromosomes that are named slightly\ndifferently but which refer to the same thing render properly. This command\nreads a file with reference name aliases and adds them to the database.",
1781
+ "description": "Print to stdout the JBrowse configuration from Apollo in JSON format",
1512
1782
  "examples": [
1513
1783
  {
1514
- "description": "Add reference name aliases:",
1515
- "command": "<%= config.bin %> <%= command.id %> -i alias.txt -a myAssembly"
1784
+ "description": "Get JBrowse configuration:",
1785
+ "command": "<%= config.bin %> <%= command.id %> > config.json"
1516
1786
  }
1517
1787
  ],
1518
1788
  "flags": {
@@ -1529,12 +1799,101 @@
1529
1799
  "hasDynamicHelp": false,
1530
1800
  "multiple": false,
1531
1801
  "type": "option"
1802
+ }
1803
+ },
1804
+ "hasDynamicHelp": false,
1805
+ "hiddenAliases": [],
1806
+ "id": "jbrowse:get-config",
1807
+ "pluginAlias": "@apollo-annotation/cli",
1808
+ "pluginName": "@apollo-annotation/cli",
1809
+ "pluginType": "core",
1810
+ "strict": true,
1811
+ "summary": "Get JBrowse configuration from Apollo",
1812
+ "enableJsonFlag": false,
1813
+ "isESM": true,
1814
+ "relativePath": [
1815
+ "dist",
1816
+ "commands",
1817
+ "jbrowse",
1818
+ "get-config.js"
1819
+ ]
1820
+ },
1821
+ "jbrowse:set-config": {
1822
+ "aliases": [],
1823
+ "args": {
1824
+ "inputFile": {
1825
+ "description": "JBrowse configuration file",
1826
+ "name": "inputFile",
1827
+ "required": true
1828
+ }
1829
+ },
1830
+ "description": "Set JBrowse configuration in Apollo collaboration server",
1831
+ "examples": [
1832
+ {
1833
+ "description": "Add JBrowse configuration:",
1834
+ "command": "<%= config.bin %> <%= command.id %> config.json"
1835
+ }
1836
+ ],
1837
+ "flags": {
1838
+ "profile": {
1839
+ "description": "Use credentials from this profile",
1840
+ "name": "profile",
1841
+ "hasDynamicHelp": false,
1842
+ "multiple": false,
1843
+ "type": "option"
1532
1844
  },
1845
+ "config-file": {
1846
+ "description": "Use this config file (mostly for testing)",
1847
+ "name": "config-file",
1848
+ "hasDynamicHelp": false,
1849
+ "multiple": false,
1850
+ "type": "option"
1851
+ }
1852
+ },
1853
+ "hasDynamicHelp": false,
1854
+ "hiddenAliases": [],
1855
+ "id": "jbrowse:set-config",
1856
+ "pluginAlias": "@apollo-annotation/cli",
1857
+ "pluginName": "@apollo-annotation/cli",
1858
+ "pluginType": "core",
1859
+ "strict": true,
1860
+ "summary": "Set JBrowse configuration",
1861
+ "enableJsonFlag": false,
1862
+ "isESM": true,
1863
+ "relativePath": [
1864
+ "dist",
1865
+ "commands",
1866
+ "jbrowse",
1867
+ "set-config.js"
1868
+ ]
1869
+ },
1870
+ "refseq:add-alias": {
1871
+ "aliases": [],
1872
+ "args": {
1533
1873
  "input-file": {
1534
- "char": "i",
1535
1874
  "description": "Input refname alias file",
1536
1875
  "name": "input-file",
1537
- "required": true,
1876
+ "required": true
1877
+ }
1878
+ },
1879
+ "description": "Reference name aliasing is a process to make chromosomes that are named slightly differently but which refer to the same thing render properly. This command reads a file with reference name aliases and adds them to the database.",
1880
+ "examples": [
1881
+ {
1882
+ "description": "Add reference name aliases:",
1883
+ "command": "<%= config.bin %> <%= command.id %> alias.txt -a myAssembly"
1884
+ }
1885
+ ],
1886
+ "flags": {
1887
+ "profile": {
1888
+ "description": "Use credentials from this profile",
1889
+ "name": "profile",
1890
+ "hasDynamicHelp": false,
1891
+ "multiple": false,
1892
+ "type": "option"
1893
+ },
1894
+ "config-file": {
1895
+ "description": "Use this config file (mostly for testing)",
1896
+ "name": "config-file",
1538
1897
  "hasDynamicHelp": false,
1539
1898
  "multiple": false,
1540
1899
  "type": "option"
@@ -1569,7 +1928,7 @@
1569
1928
  "refseq:get": {
1570
1929
  "aliases": [],
1571
1930
  "args": {},
1572
- "description": "Output the reference sequences in one or more assemblies in json format. This\ncommand returns the sequence characteristics (e.g., name, ID, etc), not the DNA\nsequences. Use `assembly sequence` for that.",
1931
+ "description": "Output the reference sequences in one or more assemblies in json format. This command returns the sequence characteristics (e.g., name, ID, etc), not the DNA sequences. Use `assembly sequence` for that.",
1573
1932
  "examples": [
1574
1933
  {
1575
1934
  "description": "All sequences in the database:",
@@ -1689,5 +2048,5 @@
1689
2048
  ]
1690
2049
  }
1691
2050
  },
1692
- "version": "0.1.19"
2051
+ "version": "0.1.21"
1693
2052
  }