{"_id":"5d651c705f55a50029904ba0","project":"5773dcfc255e820e00e1cd4d","initVersion":{"_id":"5773dcfc255e820e00e1cd50","version":"1.0"},"user":{"_id":"5767bc73bb15f40e00a28777","username":"","name":"Marko Marinkovic"},"__v":0,"createdAt":"2019-08-27T12:05:04.339Z","changelog":[],"body":"## Access to task secondary files via the API\n\nYou can now use our [sevenbridges-python](https://sevenbridges-python.readthedocs.io) client to access secondary files for task inputs and outputs.\n\nNew and improved functionality:\n\n1. API users can now see exactly which files were used as secondary files for inputs\n2. Python client can now easily get those files via a simple call, as shown in the example below\n3. All of this is also supported for CWL 1.x tools and workflows, where the secondary files can be defined as [JS expressions](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputParameter)\n\nSome examples utilizing the [sevenbridges-python](https://sevenbridges-python.readthedocs.io/) API client:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"import sevenbridges as sb\\nconfig = sb.Config(profile='default')\\napi = sb.Api(config=config)\\n\\ntask = api.tasks.get('439221a0-27c8-47a3-bcac-fcc5f44f82a8')\\noutput_secondary_files = task.outputs['my_output'].secondary_files\\ninput_secondary_files = task.inputs['my_input'].secondary_files\\nprint(output_secondary_files)\\nprint(input_secondary_files)\",\n      \"language\": \"python\"\n    }\n  ]\n}\n[/block]\nPlease note that secondary files are captured from tasks as inputs or outputs, not from the file system. This means that the `secondary_files` property is available only when the file is pulled from the task itself, not when it is reloaded from the file system or directly instantiated from the file system via the `api.files.get(<FILE_ID>)` call or a similar one. The only supported way of getting secondary files is shown above - they need to be captured as soon as possible from the input file.\n\nLearn more about the [sevenbridges-python client](https://sevenbridges-python.readthedocs.io/en/latest/).\n\n## Whole Genome Sequencing - Quality Control - CWL1.0 Workflow\nData quality control (QC) is an important component of NGS projects, especially with relatively costly whole genome sequencing (WGS). Timely QC can identify and account for issues with the starting biological material (DNA contamination or sample swaps), the sequencing process or bioinformatic pipelines used for processing.\n\n**Whole Genome Sequencing - Quality Control - CWL1.0 Workflow** is intended as a general-purpose QC flow for users processing WGS data, regardless of the number of samples. It should offer plots which can be easily visually inspected by the end users, as well as structured data output suitable for aggregation and parsing in an automated setup. As it may be of interest to keep the cost and duration of single-sample tasks to a minimum in large-scale sequencing projects, the workflow is designed to be modular, with nodes that can be turned on/off on request, or segments completely skipped (based on input data availability, for example).","slug":"release-note-082619","title":"Release note 08.26.19"}

Release note 08.26.19


## Access to task secondary files via the API You can now use our [sevenbridges-python](https://sevenbridges-python.readthedocs.io) client to access secondary files for task inputs and outputs. New and improved functionality: 1. API users can now see exactly which files were used as secondary files for inputs 2. Python client can now easily get those files via a simple call, as shown in the example below 3. All of this is also supported for CWL 1.x tools and workflows, where the secondary files can be defined as [JS expressions](https://www.commonwl.org/v1.0/CommandLineTool.html#CommandInputParameter) Some examples utilizing the [sevenbridges-python](https://sevenbridges-python.readthedocs.io/) API client: [block:code] { "codes": [ { "code": "import sevenbridges as sb\nconfig = sb.Config(profile='default')\napi = sb.Api(config=config)\n\ntask = api.tasks.get('439221a0-27c8-47a3-bcac-fcc5f44f82a8')\noutput_secondary_files = task.outputs['my_output'].secondary_files\ninput_secondary_files = task.inputs['my_input'].secondary_files\nprint(output_secondary_files)\nprint(input_secondary_files)", "language": "python" } ] } [/block] Please note that secondary files are captured from tasks as inputs or outputs, not from the file system. This means that the `secondary_files` property is available only when the file is pulled from the task itself, not when it is reloaded from the file system or directly instantiated from the file system via the `api.files.get(<FILE_ID>)` call or a similar one. The only supported way of getting secondary files is shown above - they need to be captured as soon as possible from the input file. Learn more about the [sevenbridges-python client](https://sevenbridges-python.readthedocs.io/en/latest/). ## Whole Genome Sequencing - Quality Control - CWL1.0 Workflow Data quality control (QC) is an important component of NGS projects, especially with relatively costly whole genome sequencing (WGS). Timely QC can identify and account for issues with the starting biological material (DNA contamination or sample swaps), the sequencing process or bioinformatic pipelines used for processing. **Whole Genome Sequencing - Quality Control - CWL1.0 Workflow** is intended as a general-purpose QC flow for users processing WGS data, regardless of the number of samples. It should offer plots which can be easily visually inspected by the end users, as well as structured data output suitable for aggregation and parsing in an automated setup. As it may be of interest to keep the cost and duration of single-sample tasks to a minimum in large-scale sequencing projects, the workflow is designed to be modular, with nodes that can be turned on/off on request, or segments completely skipped (based on input data availability, for example).