Metadata-Version: 2.1
Name: capanno_utils
Version: 0.11.0
Summary: Tool for managing bioinformatics content repositories.
Home-page: https://github.com/truwl/capanno-utils
Author: Karl Sebby
Author-email: karl.sebby@truwl.com
License: Apache 2.0
Description: # General
        `capanno-utils` is a companion tool to manage metadata and workflow language files for bioinformatics tools in the [capanno](https://github.com/truwl/capanno) and similar repositories. Usage examples and additional documentation can be found in that repository. It is recommended to start with the [Getting Started](https://github.com/truwl/capanno/blob/master/docs/Getting_Started.md) documentation.
        
        ## Create the parser using the latest and greatest CWL and schema-salad versions
        ```
        schema-salad-tool --codegen python https://github.com/common-workflow-language/common-workflow-language/raw/master/v1.0/CommonWorkflowLanguage.yml > capanno_utils/classes/cwl/common_workflow_language.py
        ```
        or
        ```
        curl https://raw.githubusercontent.com/common-workflow-language/cwl-utils/main/cwl_utils/parser/cwl_v1_2.py > capanno_utils/classes/cwl/common_workflow_language.py
        ```
        ## Add the 10 mixins by hand
        ```
        perl -p -i -e 'print "from capanno_utils.classes.cwl.common_workflow_language_mixins import CommandLineToolMixin, \\
        CommandInputParameterMixin, SchemaDefRequirementMixin, CommandLineBindingMixin, \\
        CommandOutputParameterMixin, WorkflowMixin, InputParameterMixin, WorkflowOutputParameterMixin, \\
        WorkflowStepMixin, WorkflowStepInputMixin\n" if $. == 1' capanno_utils/classes/cwl/common_workflow_language.py
        
        perl -p -i -e 's/SchemaDefRequirement\(/SchemaDefRequirement(SchemaDefRequirementMixin,/; \
                       s/CommandLineBinding\(/CommandLineBinding(CommandLineBindingMixin,/; \
                       s/CommandInputParameter\(/CommandInputParameter(CommandInputParameterMixin,/; \
                       s/CommandOutputParameter\(/CommandOutputParameter(CommandOutputParameterMixin,/; \
                       s/CommandLineTool\(/CommandLineTool(CommandLineToolMixin,/; \
                       s/Workflow\(/Workflow(WorkflowMixin,/; \
                       s/class InputParameter\(/class InputParameter(InputParameterMixin,/; \
                       s/WorkflowOutputParameter\(/WorkflowOutputParameter(WorkflowOutputParameterMixin,/; \
                       s/class WorkflowStep\(/class WorkflowStep(WorkflowStepMixin,/; \
                       s/class WorkflowStepInput\(/class WorkflowStepInput(WorkflowStepInputMixin,/;' capanno_utils/classes/cwl/common_workflow_language.py
        ```
        
        ## Adding a tool
        Usage:
        ```
        capanno-add tool kallisto 0.45.x --biotoolsID kallisto  #This will initialize a directory for kallisto
        tools/
        └── kallisto
            └── 0.45.x
                ├── common
                │   └── common-metadata.yaml
                └── kallisto
                    ├── instances
                    └── kallisto-metadata.yaml
        ```
        If you don't provide a `biotoolsID`, capanno-utils will just make a blank template.
        ```
        capanno-add tool kallisto 0.45.x
        tools/
        └── kallisto
            └── 0.45.x
                └── common
                    └── common-metadata.yaml
        ```
         
        
        
        ## Adding a subtool
        ```
        #remote
        capanno-add subtool kallisto 0.45.x index -u --init-cwl https://github.com/common-workflow-library/bio-cwl-tools/raw/release/Kallisto/Kallisto-Index.cwl
        #local
        capanno-add subtool kallisto 0.45.x index -u --init-cwl bio-cwl-tools-submodule/Kallisto/Kallisto-Index.cwl 
        tools/
        └── kallisto
            └── 0.45.x
                ├── common
                │   └── common-metadata.yaml
                ├── kallisto
                │   ├── instances
                │   └── kallisto-metadata.yaml
                └── kallisto_index
                    ├── instances
                    ├── kallisto-index-metadata.yaml
                    └── kallisto-index.cwl
        ```
        
        If ``--init_cwl`` is not provided, no cwl file is initialized and capanno-utils will make a blank template.
        Can also initialize all subtool directories when first initialize the tool directory but haven't made a way to specify cwl urls to initialize each one doing it that way yet.
        ```
        capanno-add subtool kallisto 0.45.x index -u
        cwl-tools/
        └── kallisto
            └── 0.45.x
                ├── common
                │   └── common-metadata.yaml
                └── kallisto_index
                    ├── instances
                    └── kallisto-index-metadata.yaml
        ```
        
        
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: Apache Software License
Requires-Python: >=3.6
Description-Content-Type: text/markdown
