pyxetabase 3.1.0.dev25__tar.gz → 4.0.0.dev8__tar.gz

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 (41) hide show
  1. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/PKG-INFO +1 -1
  2. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase/rest_clients/admin_client.py +1 -1
  3. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase/rest_clients/clinical_analysis_client.py +86 -5
  4. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase/rest_clients/file_client.py +16 -3
  5. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase/rest_clients/job_client.py +1 -1
  6. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase/rest_clients/study_client.py +2 -1
  7. pyxetabase-4.0.0.dev8/pyxetabase/rest_clients/user_tool_client.py +493 -0
  8. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase/rest_clients/variant_operation_client.py +1 -2
  9. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase/rest_clients/workflow_client.py +1 -1
  10. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase.egg-info/PKG-INFO +1 -1
  11. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase.egg-info/SOURCES.txt +1 -0
  12. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/setup.py +1 -1
  13. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/LICENSE +0 -0
  14. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/README.rst +0 -0
  15. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase/__init__.py +0 -0
  16. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase/commons.py +0 -0
  17. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase/exceptions.py +0 -0
  18. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase/opencga_client.py +0 -0
  19. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase/opencga_config.py +0 -0
  20. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase/rest_clients/__init__.py +0 -0
  21. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase/rest_clients/_parent_rest_clients.py +0 -0
  22. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase/rest_clients/alignment_client.py +0 -0
  23. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase/rest_clients/cohort_client.py +0 -0
  24. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase/rest_clients/cvdb_client.py +0 -0
  25. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase/rest_clients/disease_panel_client.py +0 -0
  26. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase/rest_clients/family_client.py +0 -0
  27. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase/rest_clients/federation_client.py +0 -0
  28. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase/rest_clients/ga4gh_client.py +0 -0
  29. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase/rest_clients/individual_client.py +0 -0
  30. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase/rest_clients/meta_client.py +0 -0
  31. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase/rest_clients/organization_client.py +0 -0
  32. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase/rest_clients/project_client.py +0 -0
  33. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase/rest_clients/sample_client.py +0 -0
  34. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase/rest_clients/user_client.py +0 -0
  35. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase/rest_clients/variant_client.py +0 -0
  36. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase/rest_response.py +0 -0
  37. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase/retry.py +0 -0
  38. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase.egg-info/dependency_links.txt +0 -0
  39. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase.egg-info/requires.txt +0 -0
  40. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/pyxetabase.egg-info/top_level.txt +0 -0
  41. {pyxetabase-3.1.0.dev25 → pyxetabase-4.0.0.dev8}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyxetabase
3
- Version: 3.1.0.dev25
3
+ Version: 4.0.0.dev8
4
4
  Summary: A REST client for OpenCGA enterprise REST web services
5
5
  Author: Daniel Perez-Gil
6
6
  Author-email: daniel.perez@zettagenomics.com
@@ -27,7 +27,7 @@ class Admin(_ParentRestClient):
27
27
  :param str entity: Entity to be grouped by. Allowed values: ['AUDIT
28
28
  NOTE ORGANIZATION USER PROJECT STUDY FILE SAMPLE JOB INDIVIDUAL
29
29
  COHORT DISEASE_PANEL FAMILY CLINICAL_ANALYSIS INTERPRETATION
30
- VARIANT ALIGNMENT CLINICAL EXPRESSION RGA FUNCTIONAL WORKFLOW
30
+ VARIANT ALIGNMENT CLINICAL EXPRESSION RGA FUNCTIONAL EXTERNAL_TOOL
31
31
  RESOURCE'] (REQUIRED)
32
32
  :param str fields: Comma separated list of fields by which to group
33
33
  by. (REQUIRED)
@@ -502,6 +502,85 @@ class ClinicalAnalysis(_ParentRestClient):
502
502
 
503
503
  return self._post(category='analysis', resource='load', subcategory='clinical', data=data, **options)
504
504
 
505
+ def run_pipeline_affy(self, data=None, **options):
506
+ """
507
+ Execute the clinical genomics pipeline that performs QC (FastQC,...),
508
+ mapping (BWA, Bowtie,...) , variant calling (GATK,...) and variant
509
+ indexing in OpenCGA storage.
510
+ PATH: /{apiVersion}/analysis/clinical/pipeline/affy/run
511
+
512
+ :param dict data: JSON with parameters to execute the command
513
+ affy-pipeline. (REQUIRED)
514
+ :param str study: study.
515
+ :param str job_id: Job ID. It must be a unique string within the
516
+ study. An ID will be autogenerated automatically if not provided.
517
+ :param str job_description: Job description.
518
+ :param str job_depends_on: Comma separated list of existing job IDs
519
+ the job will depend on.
520
+ :param str job_tags: Job tags.
521
+ :param str job_scheduled_start_time: Time when the job is scheduled to
522
+ start.
523
+ :param str job_priority: Priority of the job.
524
+ :param bool job_dry_run: Flag indicating that the job will be executed
525
+ in dry-run mode. In this mode, OpenCGA will validate that all
526
+ parameters and prerequisites are correctly set for successful
527
+ execution, but the job will not actually run.
528
+ """
529
+
530
+ return self._post(category='analysis', resource='run', subcategory='clinical/pipeline/affy', data=data, **options)
531
+
532
+ def run_pipeline_genomics(self, data=None, **options):
533
+ """
534
+ Execute the clinical genomics pipeline that performs QC (FastQC,...),
535
+ mapping (BWA, Bowtie,...) , variant calling (GATK,...) and variant
536
+ indexing in OpenCGA storage.
537
+ PATH: /{apiVersion}/analysis/clinical/pipeline/genomics/run
538
+
539
+ :param dict data: JSON with parameters to execute the command
540
+ ngs-pipeline-genomics. (REQUIRED)
541
+ :param str study: study.
542
+ :param str job_id: Job ID. It must be a unique string within the
543
+ study. An ID will be autogenerated automatically if not provided.
544
+ :param str job_description: Job description.
545
+ :param str job_depends_on: Comma separated list of existing job IDs
546
+ the job will depend on.
547
+ :param str job_tags: Job tags.
548
+ :param str job_scheduled_start_time: Time when the job is scheduled to
549
+ start.
550
+ :param str job_priority: Priority of the job.
551
+ :param bool job_dry_run: Flag indicating that the job will be executed
552
+ in dry-run mode. In this mode, OpenCGA will validate that all
553
+ parameters and prerequisites are correctly set for successful
554
+ execution, but the job will not actually run.
555
+ """
556
+
557
+ return self._post(category='analysis', resource='run', subcategory='clinical/pipeline/genomics', data=data, **options)
558
+
559
+ def run_pipeline_prepare(self, data=None, **options):
560
+ """
561
+ Prepare the clinical pipeline.
562
+ PATH: /{apiVersion}/analysis/clinical/pipeline/prepare/run
563
+
564
+ :param dict data: JSON with parameters to execute the command
565
+ ngs-pipeline-prepare. (REQUIRED)
566
+ :param str study: study.
567
+ :param str job_id: Job ID. It must be a unique string within the
568
+ study. An ID will be autogenerated automatically if not provided.
569
+ :param str job_description: Job description.
570
+ :param str job_depends_on: Comma separated list of existing job IDs
571
+ the job will depend on.
572
+ :param str job_tags: Job tags.
573
+ :param str job_scheduled_start_time: Time when the job is scheduled to
574
+ start.
575
+ :param str job_priority: Priority of the job.
576
+ :param bool job_dry_run: Flag indicating that the job will be executed
577
+ in dry-run mode. In this mode, OpenCGA will validate that all
578
+ parameters and prerequisites are correctly set for successful
579
+ execution, but the job will not actually run.
580
+ """
581
+
582
+ return self._post(category='analysis', resource='run', subcategory='clinical/pipeline/prepare', data=data, **options)
583
+
505
584
  def aggregation_stats_rga(self, field, **options):
506
585
  """
507
586
  RGA aggregation stats.
@@ -1086,6 +1165,9 @@ class ClinicalAnalysis(_ParentRestClient):
1086
1165
  analysts is being updated. Allowed values: ['ADD SET REMOVE']
1087
1166
  :param str files_action: Action to be performed if the array of files
1088
1167
  is being updated. Allowed values: ['ADD SET REMOVE']
1168
+ :param str reported_files_action: Action to be performed if the array
1169
+ of reported files is being updated. Allowed values: ['ADD SET
1170
+ REMOVE']
1089
1171
  :param str panels_action: Action to be performed if the array of
1090
1172
  panels is being updated. Allowed values: ['ADD SET REMOVE']
1091
1173
  :param str annotation_sets_action: Action to be performed if the array
@@ -1260,11 +1342,10 @@ class ClinicalAnalysis(_ParentRestClient):
1260
1342
  project can be either the ID or UUID.
1261
1343
  :param str comments_action: Action to be performed if the array of
1262
1344
  comments is being updated. Allowed values: ['ADD REMOVE REPLACE']
1263
- :param str supporting_evidences_action: Action to be performed if the
1264
- array of supporting evidences is being updated. Allowed values:
1265
- ['ADD SET REMOVE']
1266
- :param str files_action: Action to be performed if the array of files
1267
- is being updated. Allowed values: ['ADD SET REMOVE']
1345
+ :param str signatures_action: Action to be performed if the array of
1346
+ signatures is being updated. Allowed values: ['ADD SET REMOVE']
1347
+ :param str references_action: Action to be performed if the array of
1348
+ references is being updated. Allowed values: ['ADD SET REMOVE']
1268
1349
  :param bool include_result: Flag indicating to include the created or
1269
1350
  updated document result in the response.
1270
1351
  """
@@ -407,11 +407,11 @@ class File(_ParentRestClient):
407
407
  :param str format: File format. Allowed values: ['VCF BCF GVCF TBI
408
408
  BIGWIG SAM BAM BAI CRAM CRAI FASTQ FASTA PED TAB_SEPARATED_VALUES
409
409
  COMMA_SEPARATED_VALUES XML PROTOCOL_BUFFER JSON AVRO PARQUET PDF
410
- IMAGE PLAIN BINARY NONE UNKNOWN']
410
+ IMAGE PLAIN BINARY JAVASCRIPT NONE UNKNOWN']
411
411
  :param str file_format: [DEPRECATED] File format. Allowed values:
412
412
  ['VCF BCF GVCF TBI BIGWIG SAM BAM BAI CRAM CRAI FASTQ FASTA PED
413
413
  TAB_SEPARATED_VALUES COMMA_SEPARATED_VALUES XML PROTOCOL_BUFFER
414
- JSON AVRO PARQUET PDF IMAGE PLAIN BINARY NONE UNKNOWN']
414
+ JSON AVRO PARQUET PDF IMAGE PLAIN BINARY JAVASCRIPT NONE UNKNOWN']
415
415
  :param str bioformat: File bioformat. Allowed values:
416
416
  ['MICROARRAY_EXPRESSION_ONECHANNEL_AGILENT
417
417
  MICROARRAY_EXPRESSION_ONECHANNEL_AFFYMETRIX
@@ -420,7 +420,7 @@ class File(_ParentRestClient):
420
420
  MICROARRAY_EXPRESSION_TWOCHANNELS_GENEPIX DATAMATRIX_EXPRESSION
421
421
  IDLIST IDLIST_RANKED ANNOTATION_GENEVSANNOTATION OTHER_NEWICK
422
422
  OTHER_BLAST OTHER_INTERACTION OTHER_GENOTYPE OTHER_PLINK OTHER_VCF
423
- OTHER_PED VCF4 VARIANT ALIGNMENT COVERAGE SEQUENCE PEDIGREE
423
+ OTHER_PED VCF4 CVDB VARIANT ALIGNMENT COVERAGE SEQUENCE PEDIGREE
424
424
  REFERENCE_GENOME NONE UNKNOWN']
425
425
  :param str checksum: Expected MD5 file checksum.
426
426
  :param bool resource: Boolean field indicating whether the file is a
@@ -557,6 +557,19 @@ class File(_ParentRestClient):
557
557
 
558
558
  return self._post(category='files', resource='annotations/update', query_id=file, subcategory='annotationSets', second_query_id=annotation_set, data=data, **options)
559
559
 
560
+ def update_content(self, file, data=None, **options):
561
+ """
562
+ Overwrite the content of a file.
563
+ PATH: /{apiVersion}/files/{file}/content/update
564
+
565
+ :param dict data: File parameters. (REQUIRED)
566
+ :param str file: File id or name. (REQUIRED)
567
+ :param str study: Study [[organization@]project:]study where study and
568
+ project can be either the ID or UUID.
569
+ """
570
+
571
+ return self._post(category='files', resource='update', query_id=file, subcategory='content', data=data, **options)
572
+
560
573
  def download(self, file, **options):
561
574
  """
562
575
  Download file.
@@ -265,7 +265,7 @@ class Job(_ParentRestClient):
265
265
  Execute an analysis from a custom binary.
266
266
  PATH: /{apiVersion}/jobs/tool/run
267
267
 
268
- :param dict data: NextFlow run parameters. (REQUIRED)
268
+ :param dict data: Workflow tool run parameters. (REQUIRED)
269
269
  :param str study: Study [[organization@]project:]study where study and
270
270
  project can be either the ID or UUID.
271
271
  :param str job_id: Job ID. It must be a unique string within the
@@ -139,7 +139,8 @@ class Study(_ParentRestClient):
139
139
  :param str resource: Resource involved. Allowed values: ['AUDIT NOTE
140
140
  ORGANIZATION USER PROJECT STUDY FILE SAMPLE JOB INDIVIDUAL COHORT
141
141
  DISEASE_PANEL FAMILY CLINICAL_ANALYSIS INTERPRETATION VARIANT
142
- ALIGNMENT CLINICAL EXPRESSION RGA FUNCTIONAL WORKFLOW RESOURCE']
142
+ ALIGNMENT CLINICAL EXPRESSION RGA FUNCTIONAL EXTERNAL_TOOL
143
+ RESOURCE']
143
144
  :param str resource_id: Resource ID.
144
145
  :param str resource_uuid: resource UUID.
145
146
  :param str status: Filter by status. Allowed values: ['SUCCESS ERROR']
@@ -0,0 +1,493 @@
1
+ """
2
+ WARNING: AUTOGENERATED CODE
3
+
4
+ This code was generated by a tool.
5
+
6
+ Manual changes to this file may cause unexpected behavior in your application.
7
+ Manual changes to this file will be overwritten if the code is regenerated.
8
+ """
9
+
10
+ from pyxetabase.rest_clients._parent_rest_clients import _ParentRestClient
11
+
12
+
13
+ class UserTool(_ParentRestClient):
14
+ """
15
+ This class contains methods for the 'User Tools' webservices
16
+ PATH: /{apiVersion}/tools
17
+ """
18
+
19
+ def __init__(self, configuration, token=None, login_handler=None, *args, **kwargs):
20
+ super(UserTool, self).__init__(configuration, token, login_handler, *args, **kwargs)
21
+
22
+ def update_acl(self, members, action, data=None, **options):
23
+ """
24
+ Update the set of user tool permissions granted for the member.
25
+ PATH: /{apiVersion}/tools/acl/{members}/update
26
+
27
+ :param dict data: JSON containing the parameters to update the
28
+ permissions. (REQUIRED)
29
+ :param str action: Action to be performed [ADD, SET, REMOVE or RESET].
30
+ Allowed values: ['SET ADD REMOVE RESET'] (REQUIRED)
31
+ :param str members: Comma separated list of user or group ids.
32
+ (REQUIRED)
33
+ :param str study: Study [[organization@]project:]study where study and
34
+ project can be either the ID or UUID.
35
+ """
36
+
37
+ options['action'] = action
38
+ return self._post(category='tools', resource='update', subcategory='acl', second_query_id=members, data=data, **options)
39
+
40
+ def aggregation_stats(self, **options):
41
+ """
42
+ Fetch user tool stats.
43
+ PATH: /{apiVersion}/tools/aggregationStats
44
+
45
+ :param str study: Study [[organization@]project:]study where study and
46
+ project can be either the ID or UUID.
47
+ :param str id: Comma separated list of external tool IDs up to a
48
+ maximum of 100. Also admits basic regular expressions using the
49
+ operator '~', i.e. '~{perl-regex}' e.g. '~value' for case
50
+ sensitive, '~/value/i' for case insensitive search.
51
+ :param str name: Comma separated list of external tool names up to a
52
+ maximum of 100. Also admits basic regular expressions using the
53
+ operator '~', i.e. '~{perl-regex}' e.g. '~value' for case
54
+ sensitive, '~/value/i' for case insensitive search.
55
+ :param str uuid: Comma separated list of external tool UUIDs up to a
56
+ maximum of 100.
57
+ :param str tags: Comma separated list of tags.
58
+ :param bool draft: Boolean field indicating whether the workflow is a
59
+ draft or not.
60
+ :param str internal.registration_user_id: UserId that created the
61
+ workflow.
62
+ :param str type: External tool type. Allowed types: [CUSTOM_TOOL,
63
+ VARIANT_WALKER or WORKFLOW].
64
+ :param str scope: External tool scope. Allowed types:
65
+ [CLINICAL_INTERPRETATION, SECONDARY_ANALYSIS, RESEARCH or OTHER].
66
+ :param str workflow_repository_name: Workflow repository name.
67
+ :param str docker_name: Docker name.
68
+ :param str creation_date: Creation date. Format: yyyyMMddHHmmss.
69
+ Examples: >2018, 2017-2018, <201805.
70
+ :param str modification_date: Modification date. Format:
71
+ yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805.
72
+ :param str acl: Filter entries for which a user has the provided
73
+ permissions. Format: acl={user}:{permissions}. Example:
74
+ acl=john:WRITE,WRITE_ANNOTATIONS will return all entries for which
75
+ user john has both WRITE and WRITE_ANNOTATIONS permissions. Only
76
+ study owners or administrators can query by this field. .
77
+ :param str release: Release when it was created.
78
+ :param int snapshot: Snapshot value (Latest version of the entry in
79
+ the specified release).
80
+ :param bool deleted: Boolean to retrieve deleted entries.
81
+ :param str field: Field to apply aggregation statistics to (or a list
82
+ of fields separated by semicolons), e.g.:
83
+ studies;type;numSamples[0..10]:1;format:sum(size).
84
+ """
85
+
86
+ return self._get(category='tools', resource='aggregationStats', **options)
87
+
88
+ def run_custom_builder(self, data=None, **options):
89
+ """
90
+ Execute an analysis from a custom binary.
91
+ PATH: /{apiVersion}/tools/custom/builder/run
92
+
93
+ :param dict data: body. (REQUIRED)
94
+ :param str study: Study [[organization@]project:]study where study and
95
+ project can be either the ID or UUID.
96
+ :param str job_id: Job ID. It must be a unique string within the
97
+ study. An ID will be autogenerated automatically if not provided.
98
+ :param str job_description: Job description.
99
+ :param str job_depends_on: Comma separated list of existing job IDs
100
+ the job will depend on.
101
+ :param str job_tags: Job tags.
102
+ :param str job_scheduled_start_time: Time when the job is scheduled to
103
+ start.
104
+ :param str job_priority: Priority of the job.
105
+ :param bool job_dry_run: Flag indicating that the job will be executed
106
+ in dry-run mode. In this mode, OpenCGA will validate that all
107
+ parameters and prerequisites are correctly set for successful
108
+ execution, but the job will not actually run.
109
+ """
110
+
111
+ return self._post(category='tools', resource='run', subcategory='custom/builder', data=data, **options)
112
+
113
+ def create_custom(self, data=None, **options):
114
+ """
115
+ Register a new user tool of type CUSTOM_TOOL.
116
+ PATH: /{apiVersion}/tools/custom/create
117
+
118
+ :param dict data: JSON containing workflow information. (REQUIRED)
119
+ :param str include: Fields included in the response, whole JSON path
120
+ must be provided.
121
+ :param str exclude: Fields excluded in the response, whole JSON path
122
+ must be provided.
123
+ :param str study: Study [[organization@]project:]study where study and
124
+ project can be either the ID or UUID.
125
+ :param bool include_result: Flag indicating to include the created or
126
+ updated document result in the response.
127
+ """
128
+
129
+ return self._post(category='tools', resource='create', subcategory='custom', data=data, **options)
130
+
131
+ def run_custom_docker(self, data=None, **options):
132
+ """
133
+ Execute an analysis from a custom binary.
134
+ PATH: /{apiVersion}/tools/custom/run
135
+
136
+ :param dict data: Container image to be executed and its requirements.
137
+ (REQUIRED)
138
+ :param str study: Study [[organization@]project:]study where study and
139
+ project can be either the ID or UUID.
140
+ :param str job_id: Job ID. It must be a unique string within the
141
+ study. An ID will be autogenerated automatically if not provided.
142
+ :param str job_description: Job description.
143
+ :param str job_depends_on: Comma separated list of existing job IDs
144
+ the job will depend on.
145
+ :param str job_tags: Job tags.
146
+ :param str job_scheduled_start_time: Time when the job is scheduled to
147
+ start.
148
+ :param str job_priority: Priority of the job.
149
+ :param bool job_dry_run: Flag indicating that the job will be executed
150
+ in dry-run mode. In this mode, OpenCGA will validate that all
151
+ parameters and prerequisites are correctly set for successful
152
+ execution, but the job will not actually run.
153
+ """
154
+
155
+ return self._post(category='tools', resource='run', subcategory='custom', data=data, **options)
156
+
157
+ def run_custom(self, tool_id, data=None, **options):
158
+ """
159
+ Execute an analysis from a custom binary.
160
+ PATH: /{apiVersion}/tools/custom/{toolId}/run
161
+
162
+ :param dict data: Custom tool run parameters. (REQUIRED)
163
+ :param str tool_id: Comma separated list of external tool IDs up to a
164
+ maximum of 100. Also admits basic regular expressions using the
165
+ operator '~', i.e. '~{perl-regex}' e.g. '~value' for case
166
+ sensitive, '~/value/i' for case insensitive search. (REQUIRED)
167
+ :param int version: Tool version. If not provided, the latest version
168
+ will be used.
169
+ :param str study: Study [[organization@]project:]study where study and
170
+ project can be either the ID or UUID.
171
+ :param str job_id: Job ID. It must be a unique string within the
172
+ study. An ID will be autogenerated automatically if not provided.
173
+ :param str job_description: Job description.
174
+ :param str job_depends_on: Comma separated list of existing job IDs
175
+ the job will depend on.
176
+ :param str job_tags: Job tags.
177
+ :param str job_scheduled_start_time: Time when the job is scheduled to
178
+ start.
179
+ :param str job_priority: Priority of the job.
180
+ :param bool job_dry_run: Flag indicating that the job will be executed
181
+ in dry-run mode. In this mode, OpenCGA will validate that all
182
+ parameters and prerequisites are correctly set for successful
183
+ execution, but the job will not actually run.
184
+ """
185
+
186
+ return self._post(category='tools', resource='run', subcategory='custom', second_query_id=tool_id, data=data, **options)
187
+
188
+ def update_custom(self, tool_id, data=None, **options):
189
+ """
190
+ Update some custom user tool attributes.
191
+ PATH: /{apiVersion}/tools/custom/{toolId}/update
192
+
193
+ :param str tool_id: Comma separated list of external tool IDs up to a
194
+ maximum of 100. Also admits basic regular expressions using the
195
+ operator '~', i.e. '~{perl-regex}' e.g. '~value' for case
196
+ sensitive, '~/value/i' for case insensitive search. (REQUIRED)
197
+ :param str include: Fields included in the response, whole JSON path
198
+ must be provided.
199
+ :param str exclude: Fields excluded in the response, whole JSON path
200
+ must be provided.
201
+ :param str study: Study [[organization@]project:]study where study and
202
+ project can be either the ID or UUID.
203
+ :param bool include_result: Flag indicating to include the created or
204
+ updated document result in the response.
205
+ :param dict data: body.
206
+ """
207
+
208
+ return self._post(category='tools', resource='update', subcategory='custom', second_query_id=tool_id, data=data, **options)
209
+
210
+ def distinct(self, field, **options):
211
+ """
212
+ User tool distinct method.
213
+ PATH: /{apiVersion}/tools/distinct
214
+
215
+ :param str field: Comma separated list of fields for which to obtain
216
+ the distinct values. (REQUIRED)
217
+ :param str study: Study [[organization@]project:]study where study and
218
+ project can be either the ID or UUID.
219
+ :param str id: Comma separated list of external tool IDs up to a
220
+ maximum of 100. Also admits basic regular expressions using the
221
+ operator '~', i.e. '~{perl-regex}' e.g. '~value' for case
222
+ sensitive, '~/value/i' for case insensitive search.
223
+ :param str name: Comma separated list of external tool names up to a
224
+ maximum of 100. Also admits basic regular expressions using the
225
+ operator '~', i.e. '~{perl-regex}' e.g. '~value' for case
226
+ sensitive, '~/value/i' for case insensitive search.
227
+ :param str uuid: Comma separated list of external tool UUIDs up to a
228
+ maximum of 100.
229
+ :param str tags: Comma separated list of tags.
230
+ :param bool draft: Boolean field indicating whether the workflow is a
231
+ draft or not.
232
+ :param str internal.registration_user_id: UserId that created the
233
+ workflow.
234
+ :param str type: External tool type. Allowed types: [CUSTOM_TOOL,
235
+ VARIANT_WALKER or WORKFLOW].
236
+ :param str scope: External tool scope. Allowed types:
237
+ [CLINICAL_INTERPRETATION, SECONDARY_ANALYSIS, RESEARCH or OTHER].
238
+ :param str workflow_repository_name: Workflow repository name.
239
+ :param str docker_name: Docker name.
240
+ :param str creation_date: Creation date. Format: yyyyMMddHHmmss.
241
+ Examples: >2018, 2017-2018, <201805.
242
+ :param str modification_date: Modification date. Format:
243
+ yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805.
244
+ :param str acl: Filter entries for which a user has the provided
245
+ permissions. Format: acl={user}:{permissions}. Example:
246
+ acl=john:WRITE,WRITE_ANNOTATIONS will return all entries for which
247
+ user john has both WRITE and WRITE_ANNOTATIONS permissions. Only
248
+ study owners or administrators can query by this field. .
249
+ :param str release: Release when it was created.
250
+ :param int snapshot: Snapshot value (Latest version of the entry in
251
+ the specified release).
252
+ :param bool deleted: Boolean to retrieve deleted entries.
253
+ """
254
+
255
+ options['field'] = field
256
+ return self._get(category='tools', resource='distinct', **options)
257
+
258
+ def search(self, **options):
259
+ """
260
+ User tool search method.
261
+ PATH: /{apiVersion}/tools/search
262
+
263
+ :param str include: Fields included in the response, whole JSON path
264
+ must be provided.
265
+ :param str exclude: Fields excluded in the response, whole JSON path
266
+ must be provided.
267
+ :param int limit: Number of results to be returned.
268
+ :param int skip: Number of results to skip.
269
+ :param bool count: Get the total number of results matching the query.
270
+ Deactivated by default.
271
+ :param str study: Study [[organization@]project:]study where study and
272
+ project can be either the ID or UUID.
273
+ :param str id: Comma separated list of external tool IDs up to a
274
+ maximum of 100. Also admits basic regular expressions using the
275
+ operator '~', i.e. '~{perl-regex}' e.g. '~value' for case
276
+ sensitive, '~/value/i' for case insensitive search.
277
+ :param str name: Comma separated list of external tool names up to a
278
+ maximum of 100. Also admits basic regular expressions using the
279
+ operator '~', i.e. '~{perl-regex}' e.g. '~value' for case
280
+ sensitive, '~/value/i' for case insensitive search.
281
+ :param str uuid: Comma separated list of external tool UUIDs up to a
282
+ maximum of 100.
283
+ :param str tags: Comma separated list of tags.
284
+ :param bool draft: Boolean field indicating whether the workflow is a
285
+ draft or not.
286
+ :param str internal.registration_user_id: UserId that created the
287
+ workflow.
288
+ :param str type: External tool type. Allowed types: [CUSTOM_TOOL,
289
+ VARIANT_WALKER or WORKFLOW].
290
+ :param str scope: External tool scope. Allowed types:
291
+ [CLINICAL_INTERPRETATION, SECONDARY_ANALYSIS, RESEARCH or OTHER].
292
+ :param str workflow_repository_name: Workflow repository name.
293
+ :param str docker_name: Docker name.
294
+ :param str creation_date: Creation date. Format: yyyyMMddHHmmss.
295
+ Examples: >2018, 2017-2018, <201805.
296
+ :param str modification_date: Modification date. Format:
297
+ yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805.
298
+ :param str acl: Filter entries for which a user has the provided
299
+ permissions. Format: acl={user}:{permissions}. Example:
300
+ acl=john:WRITE,WRITE_ANNOTATIONS will return all entries for which
301
+ user john has both WRITE and WRITE_ANNOTATIONS permissions. Only
302
+ study owners or administrators can query by this field. .
303
+ :param str release: Release when it was created.
304
+ :param int snapshot: Snapshot value (Latest version of the entry in
305
+ the specified release).
306
+ :param bool deleted: Boolean to retrieve deleted entries.
307
+ """
308
+
309
+ return self._get(category='tools', resource='search', **options)
310
+
311
+ def create_walker(self, data=None, **options):
312
+ """
313
+ Register a new user tool of type VARIANT_WALKER.
314
+ PATH: /{apiVersion}/tools/walker/create
315
+
316
+ :param dict data: JSON containing workflow information. (REQUIRED)
317
+ :param str include: Fields included in the response, whole JSON path
318
+ must be provided.
319
+ :param str exclude: Fields excluded in the response, whole JSON path
320
+ must be provided.
321
+ :param str study: Study [[organization@]project:]study where study and
322
+ project can be either the ID or UUID.
323
+ :param bool include_result: Flag indicating to include the created or
324
+ updated document result in the response.
325
+ """
326
+
327
+ return self._post(category='tools', resource='create', subcategory='walker', data=data, **options)
328
+
329
+ def run_walker(self, tool_id, data=None, **options):
330
+ """
331
+ Execute an analysis from a custom binary.
332
+ PATH: /{apiVersion}/tools/walker/{toolId}/run
333
+
334
+ :param dict data: Variant walker params. (REQUIRED)
335
+ :param str tool_id: Comma separated list of external tool IDs up to a
336
+ maximum of 100. Also admits basic regular expressions using the
337
+ operator '~', i.e. '~{perl-regex}' e.g. '~value' for case
338
+ sensitive, '~/value/i' for case insensitive search. (REQUIRED)
339
+ :param int version: Tool version. If not provided, the latest version
340
+ will be used.
341
+ :param str project: Project [organization@]project where project can
342
+ be either the ID or the alias.
343
+ :param str study: Study [[organization@]project:]study where study and
344
+ project can be either the ID or UUID.
345
+ :param str job_id: Job ID. It must be a unique string within the
346
+ study. An ID will be autogenerated automatically if not provided.
347
+ :param str job_description: Job description.
348
+ :param str job_depends_on: Comma separated list of existing job IDs
349
+ the job will depend on.
350
+ :param str job_tags: Job tags.
351
+ :param str job_scheduled_start_time: Time when the job is scheduled to
352
+ start.
353
+ :param str job_priority: Priority of the job.
354
+ :param bool job_dry_run: Flag indicating that the job will be executed
355
+ in dry-run mode. In this mode, OpenCGA will validate that all
356
+ parameters and prerequisites are correctly set for successful
357
+ execution, but the job will not actually run.
358
+ """
359
+
360
+ return self._post(category='tools', resource='run', subcategory='walker', second_query_id=tool_id, data=data, **options)
361
+
362
+ def create_workflow(self, data=None, **options):
363
+ """
364
+ Register a new user tool of type WORKFLOW.
365
+ PATH: /{apiVersion}/tools/workflow/create
366
+
367
+ :param dict data: JSON containing workflow information. (REQUIRED)
368
+ :param str include: Fields included in the response, whole JSON path
369
+ must be provided.
370
+ :param str exclude: Fields excluded in the response, whole JSON path
371
+ must be provided.
372
+ :param str study: Study [[organization@]project:]study where study and
373
+ project can be either the ID or UUID.
374
+ :param bool include_result: Flag indicating to include the created or
375
+ updated document result in the response.
376
+ """
377
+
378
+ return self._post(category='tools', resource='create', subcategory='workflow', data=data, **options)
379
+
380
+ def import_workflow(self, data=None, **options):
381
+ """
382
+ Import a user tool of type WORKFLOW.
383
+ PATH: /{apiVersion}/tools/workflow/import
384
+
385
+ :param dict data: Repository parameters. (REQUIRED)
386
+ :param str study: Study [[organization@]project:]study where study and
387
+ project can be either the ID or UUID.
388
+ """
389
+
390
+ return self._post(category='tools', resource='import', subcategory='workflow', data=data, **options)
391
+
392
+ def run_workflow(self, tool_id, data=None, **options):
393
+ """
394
+ Execute a user tool of type WORKFLOW.
395
+ PATH: /{apiVersion}/tools/workflow/{toolId}/run
396
+
397
+ :param dict data: Workflow tool run parameters. (REQUIRED)
398
+ :param str tool_id: Comma separated list of external tool IDs up to a
399
+ maximum of 100. Also admits basic regular expressions using the
400
+ operator '~', i.e. '~{perl-regex}' e.g. '~value' for case
401
+ sensitive, '~/value/i' for case insensitive search. (REQUIRED)
402
+ :param int version: Tool version. If not provided, the latest version
403
+ will be used.
404
+ :param str study: Study [[organization@]project:]study where study and
405
+ project can be either the ID or UUID.
406
+ :param str job_id: Job ID. It must be a unique string within the
407
+ study. An ID will be autogenerated automatically if not provided.
408
+ :param str job_description: Job description.
409
+ :param str job_depends_on: Comma separated list of existing job IDs
410
+ the job will depend on.
411
+ :param str job_tags: Job tags.
412
+ :param str job_scheduled_start_time: Time when the job is scheduled to
413
+ start.
414
+ :param str job_priority: Priority of the job.
415
+ :param bool job_dry_run: Flag indicating that the job will be executed
416
+ in dry-run mode. In this mode, OpenCGA will validate that all
417
+ parameters and prerequisites are correctly set for successful
418
+ execution, but the job will not actually run.
419
+ """
420
+
421
+ return self._post(category='tools', resource='run', subcategory='workflow', second_query_id=tool_id, data=data, **options)
422
+
423
+ def update_workflow(self, tool_id, data=None, **options):
424
+ """
425
+ Update some user tool attributes.
426
+ PATH: /{apiVersion}/tools/workflow/{toolId}/update
427
+
428
+ :param str tool_id: Comma separated list of external tool IDs up to a
429
+ maximum of 100. Also admits basic regular expressions using the
430
+ operator '~', i.e. '~{perl-regex}' e.g. '~value' for case
431
+ sensitive, '~/value/i' for case insensitive search. (REQUIRED)
432
+ :param str include: Fields included in the response, whole JSON path
433
+ must be provided.
434
+ :param str exclude: Fields excluded in the response, whole JSON path
435
+ must be provided.
436
+ :param str study: Study [[organization@]project:]study where study and
437
+ project can be either the ID or UUID.
438
+ :param bool include_result: Flag indicating to include the created or
439
+ updated document result in the response.
440
+ :param dict data: body.
441
+ """
442
+
443
+ return self._post(category='tools', resource='update', subcategory='workflow', second_query_id=tool_id, data=data, **options)
444
+
445
+ def acl(self, tools, **options):
446
+ """
447
+ Returns the acl of the user tools. If member is provided, it will only
448
+ return the acl for the member.
449
+ PATH: /{apiVersion}/tools/{tools}/acl
450
+
451
+ :param str tools: Comma separated of external tool ids. (REQUIRED)
452
+ :param str study: Study [[organization@]project:]study where study and
453
+ project can be either the ID or UUID.
454
+ :param str member: User or group id.
455
+ :param bool silent: Boolean to retrieve all possible entries that are
456
+ queried for, false to raise an exception whenever one of the
457
+ entries looked for cannot be shown for whichever reason.
458
+ """
459
+
460
+ return self._get(category='tools', resource='acl', query_id=tools, **options)
461
+
462
+ def delete(self, tools, **options):
463
+ """
464
+ Delete user tools.
465
+ PATH: /{apiVersion}/tools/{tools}/delete
466
+
467
+ :param str tools: Comma separated of external tool ids. (REQUIRED)
468
+ :param str study: Study [[organization@]project:]study where study and
469
+ project can be either the ID or UUID.
470
+ """
471
+
472
+ return self._delete(category='tools', resource='delete', query_id=tools, **options)
473
+
474
+ def info(self, tools, **options):
475
+ """
476
+ Get user tool information.
477
+ PATH: /{apiVersion}/tools/{tools}/info
478
+
479
+ :param str tools: Comma separated of external tool ids. (REQUIRED)
480
+ :param str include: Fields included in the response, whole JSON path
481
+ must be provided.
482
+ :param str exclude: Fields excluded in the response, whole JSON path
483
+ must be provided.
484
+ :param str study: Study [[organization@]project:]study where study and
485
+ project can be either the ID or UUID.
486
+ :param str version: Comma separated list of external tool versions.
487
+ 'all' to get all the external tool versions. Not supported if
488
+ multiple external tool ids are provided.
489
+ :param bool deleted: Boolean to retrieve deleted entries.
490
+ """
491
+
492
+ return self._get(category='tools', resource='info', query_id=tools, **options)
493
+
@@ -105,8 +105,7 @@ class VariantOperation(_ParentRestClient):
105
105
  in dry-run mode. In this mode, OpenCGA will validate that all
106
106
  parameters and prerequisites are correctly set for successful
107
107
  execution, but the job will not actually run.
108
- :param str study: Study [[organization@]project:]study where study and
109
- project can be either the ID or UUID.
108
+ :param str project: project.
110
109
  :param dict data: Parameters to configure a variant annotation
111
110
  extension.
112
111
  """
@@ -118,7 +118,7 @@ class Workflow(_ParentRestClient):
118
118
  Execute a workflow analysis.
119
119
  PATH: /{apiVersion}/workflows/run
120
120
 
121
- :param dict data: NextFlow run parameters. (REQUIRED)
121
+ :param dict data: Workflow tool run parameters. (REQUIRED)
122
122
  :param str study: Study [[organization@]project:]study where study and
123
123
  project can be either the ID or UUID.
124
124
  :param str job_id: Job ID. It must be a unique string within the
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyxetabase
3
- Version: 3.1.0.dev25
3
+ Version: 4.0.0.dev8
4
4
  Summary: A REST client for OpenCGA enterprise REST web services
5
5
  Author: Daniel Perez-Gil
6
6
  Author-email: daniel.perez@zettagenomics.com
@@ -33,6 +33,7 @@ pyxetabase/rest_clients/project_client.py
33
33
  pyxetabase/rest_clients/sample_client.py
34
34
  pyxetabase/rest_clients/study_client.py
35
35
  pyxetabase/rest_clients/user_client.py
36
+ pyxetabase/rest_clients/user_tool_client.py
36
37
  pyxetabase/rest_clients/variant_client.py
37
38
  pyxetabase/rest_clients/variant_operation_client.py
38
39
  pyxetabase/rest_clients/workflow_client.py
@@ -14,7 +14,7 @@ with open(path.join(here, 'README.rst'), encoding='utf-8') as f:
14
14
 
15
15
  setup(
16
16
  name='pyxetabase',
17
- version='3.1.0.dev25',
17
+ version='4.0.0.dev8',
18
18
  description='A REST client for OpenCGA enterprise REST web services',
19
19
  long_description=long_description,
20
20
  long_description_content_type='text/x-rst',