name: agat_sp_filter_feature_from_kill_list
namespace: agat
description: |
  Remove features based on a kill list. The default behaviour is to look at the features's ID. 
  If the feature has an ID (case insensitive) listed among the kill list it will be removed.
  Removing a level1 or level2 feature will automatically remove all linked subfeatures, and 
  removing all children of a feature will automatically remove this feature too.
keywords: [gene annotations, filtering, gff]
links:
  homepage: https://github.com/NBISweden/AGAT
  documentation: https://agat.readthedocs.io/en/latest/tools/agat_sp_filter_feature_from_kill_list.html
  issue_tracker: https://github.com/NBISweden/AGAT/issues
  repository: https://github.com/NBISweden/AGAT
references: 
  doi: 10.5281/zenodo.3552717
license: GPL-3.0
requirements:
  - commands: [agat]
authors:
  - __merge__: /src/_authors/leila_paquay.yaml
    roles: [ author, maintainer ]

argument_groups:
  - name: Inputs
    arguments:
      - name: --gff
        alternatives: [-f, --ref, --reffile]
        description: Input GFF3 file that will be read.
        type: file
        required: true
      - name: --kill_list
        alternatives: [--kl]
        description: Text file containing the kill list. One value per line.
        type: file
        required: true
        example: kill_list.txt
  - name: Outputs
    arguments:
      - name: --output
        alternatives: [-o, --out]
        description: |
          Path to the output GFF file that contains filtered features. 
        type: file
        direction: output
        required: true
  - name: Arguments
    arguments:
      - name: --type
        alternatives: [-p, -l]
        description: |
          Primary tag option, case insensitive, list. Allow to specify the feature types that 
          will be handled. 
  
          You can specify a specific feature by giving its primary tag name (column 3) as: 

            * cds
            * Gene
            * mRNA
            
          You can specify directly all the feature of a particular
          level: 

            * level2=mRNA,ncRNA,tRNA,etc 
            * level3=CDS,exon,UTR,etc. 
          
          By default all features are taken into account. Fill the option with the value "all" will 
          have the same behaviour.
        type: string
        multiple: true
      - name: --attribute
        alternatives: [-a]
        description: |
          Attribute tag to specify the attribute to analyse. Case sensitive. Default: ID
        type: string
        example: ID
      - name: --config
        alternatives: [-c]
        description: |
          AGAT config file. By default AGAT takes the original agat_config.yaml shipped with AGAT.
          The `--config` option gives you the possibility to use your own AGAT config file (located 
          elsewhere or named differently).
        type: file
        example: custom_agat_config.yaml
      - name: --verbose
        alternatives: [-v]
        description: Verbose option for debugging purpose.
        type: boolean_true
resources:
  - type: bash_script
    path: script.sh
test_resources:
  - type: bash_script
    path: test.sh
  - type: file
    path: test_data
engines:
  - type: docker
    image: quay.io/biocontainers/agat:1.4.0--pl5321hdfd78af_0
    setup:
      - type: docker
        run: |
          agat --version | sed 's/AGAT\s\(.*\)/agat: "\1"/' > /var/software_versions.txt
runners:
  - type: executable
  - type: nextflow