Skip to content

Commit

Permalink
Add agat convert mfannot2gff (#112)
Browse files Browse the repository at this point in the history
* add help

* add config

* add run script

* add test data and expected output + script to fetch them

* add test

* update changelog

* cleanup

* create temporary directory and clean up on exit

* add requirements

* update keywords

* update --config description

* add set -eo pipefail to script and test files

* fxi create temporary directory

* cleanup changelog

* cleanup changelog

---------

Co-authored-by: Robrecht Cannoodt <[email protected]>
  • Loading branch information
Leila011 and rcannood authored Nov 2, 2024
1 parent cc67547 commit 06005a7
Show file tree
Hide file tree
Showing 8 changed files with 3,344 additions and 0 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@
- `agat_convert_embl2gff`: convert an EMBL file into GFF format (PR #99).
- `agat/agat_convert_sp_gff2gtf`: convert any GTF/GFF file into a proper GTF file (PR #76).
- `agat/agat_convert_bed2gff`: convert bed file to gff format (PR #97).
- `agat/agat_convert_mfannot2gff`: convert MFannot "masterfile" annotation to gff format (PR #112).
- `agat/agat_convert_embl2gff`: convert an EMBL file into GFF format (PR #99).
- `agat/agat_convert_sp_gff2tsv`: convert gtf/gff file into tabulated file (PR #102).
- `agat/agat_convert_sp_gxf2gxf`: fixes and/or standardizes any GTF/GFF file into full sorted GTF/GFF file (PR #103).
Expand Down
66 changes: 66 additions & 0 deletions src/agat/agat_convert_mfannot2gff/config.vsh.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: agat_convert_mfannot2gff
namespace: agat
description: |
Conversion utility for MFannot "masterfile" annotation produced by the
[MFannot pipeline](http://megasun.bch.umontreal.ca/RNAweasel/). Reports
GFF3 format.
keywords: [gene annotations, GFF , Mfannot]
links:
homepage: https://github.com/NBISweden/AGAT
documentation: https://agat.readthedocs.io/en/latest/tools/agat_convert_mfannot2gff.html
issue_tracker: https://github.com/NBISweden/AGAT/issues
repository: https://github.com/NBISweden/AGAT
references:
doi: 10.5281/zenodo.3552717
license: GPL-3.
requirements:
- command: [agat]
authors:
- __merge__: /src/_authors/leila_paquay.yaml
roles: [ author, maintainer ]
argument_groups:
- name: Inputs
arguments:
- name: --mfannot
alternatives: [-m, -i]
description: The mfannot input file.
type: file
required: true
direction: input
example: input.mfannot
- name: Outputs
arguments:
- name: --gff
alternatives: [-g, -o]
description: The GFF output file.
type: file
direction: output
required: true
example: output.gff
- name: Arguments
arguments:
- 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
required: false
example: custom_agat_config.yaml
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
67 changes: 67 additions & 0 deletions src/agat/agat_convert_mfannot2gff/help.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
```sh
agat_convert_mfannot2gff.pl --help
```

------------------------------------------------------------------------------
| Another GFF Analysis Toolkit (AGAT) - Version: v1.4.0 |
| https://github.com/NBISweden/AGAT |
| National Bioinformatics Infrastructure Sweden (NBIS) - www.nbis.se |
------------------------------------------------------------------------------


Name:
agat_convert_mfannot2gff.pl

Description:
Conversion utility for MFannot "masterfile" annotation produced by the
MFannot pipeline (http://megasun.bch.umontreal.ca/RNAweasel/). Reports
GFF3 format.

Usage:
agat_convert_mfannot2gff.pl -m <mfannot> -o <gff>
agat_convert_mfannot2gff.pl --help

Copyright and License:
Copyright (C) 2015, Brandon Seah ([email protected]) ... GPL-3 ...
modified by jacques dainat 2017-11

Options:
-m or -i or --mfannot
The mfannot input file

-g or -o or --gff
the gff output file

-c or --config
String - Input agat config file. By default AGAT takes as input
agat_config.yaml file from the working directory if any,
otherwise it takes the orignal agat_config.yaml shipped with
AGAT. To get the agat_config.yaml locally type: "agat config
--expose". The --config option gives you the possibility to use
your own AGAT config file (located elsewhere or named
differently).

-h or --help
Display this helpful text.

Feedback:
Did you find a bug?:
Do not hesitate to report bugs to help us keep track of the bugs and
their resolution. Please use the GitHub issue tracking system available
at this address:

https://github.com/NBISweden/AGAT/issues

Ensure that the bug was not already reported by searching under Issues.
If you're unable to find an (open) issue addressing the problem, open a new one.
Try as much as possible to include in the issue when relevant:
- a clear description,
- as much relevant information as possible,
- the command used,
- a data sample,
- an explanation of the expected behaviour that is not occurring.

Do you want to contribute?:
You are very welcome, visit this address for the Contributing
guidelines:
https://github.com/NBISweden/AGAT/blob/master/CONTRIBUTING.md
11 changes: 11 additions & 0 deletions src/agat/agat_convert_mfannot2gff/script.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/bin/bash

set -eo pipefail

## VIASH START
## VIASH END

agat_convert_mfannot2gff.pl \
--mfannot "$par_mfannot" \
--gff "$par_gff" \
${par_config:+--config "${par_config}"}
35 changes: 35 additions & 0 deletions src/agat/agat_convert_mfannot2gff/test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#!/bin/bash

set -eo pipefail

## VIASH START
## VIASH END

test_dir="${meta_resources_dir}/test_data"

# create temporary directory and clean up on exit
TMPDIR=$(mktemp -d "$meta_temp_dir/$meta_functionality_name-XXXXXX")
function clean_up {
[[ -d "$TMPDIR" ]] && rm -rf "$TMPDIR"
}
trap clean_up EXIT

echo "> Run $meta_name with test data"
"$meta_executable" \
--mfannot "$test_dir/test.mfannot" \
--gff "$TMPDIR/output.gff"

echo ">> Checking output"
[ ! -f "$TMPDIR/output.gff" ] && echo "Output file output.gff does not exist" && exit 1

echo ">> Check if output is empty"
[ ! -s "$TMPDIR/output.gff" ] && echo "Output file output.gff is empty" && exit 1

echo ">> Check if output matches expected output"
diff "$TMPDIR/output.gff" "$test_dir/agat_convert_mfannot2gff_1.gff"
if [ $? -ne 0 ]; then
echo "Output file output.gff does not match expected output"
exit 1
fi

echo "> Test successful"
Loading

0 comments on commit 06005a7

Please sign in to comment.