Releases: NBISweden/AGAT
AGAT-v1.4.1
What's Changed
- Allow agat_sp_filter_feature_by_attribute_value to filter with multiple values - fix #426 by @Juke34 in #464
- Add possibility to output agat_sp_statistics.pl result in yaml format - fix #401 by @Juke34 in #466
- fix #420. Now table 0 can be called (bioperl >= april 2024 must be pr… by @Juke34 in #470
- Fix #471 - agat_sp_filter_feature_by_attribute_value.pl to allow the use of "!" test by @Juke34 in #473
- Fix #475 : Added an option for agat_sp_merge_annotations.pl to refer a folder of GFF files by @IvanUgrin in #476
- Mfannot - agat_convert_mfannot2gff.pl - big improvement in handling this conversion by @Juke34 in #483
- sort tag L2 for better reproducibility in a function of OmniscientO by @Juke34 in #487
- fix #484 by @Juke34 in #488 - CDS must not be attached to Level2 if no Parent/ID relationship and locus name not the same as previous L2. Should be parsed using locus instead of sequential (as expected).
- fix #307 - Update agat_sp_statistics.pl to provide median and percentile statistics by @Juke34 in #489
- remove transcript ID in Level1 feature when creating it from another feature used as template (clean_clone) by @Juke34 in #491
Documentation:
- Update documentation of agat_convert_minimap2_bam2gff.md by @Juke34 in #452
- Update README - Update Zenodo to always point to latest DOI
- rename agat_sp_fix_cds_frame.pl to agat_sp_fix_cds_phase.pl in pod of the script and its corresponding md doc file
- fix mispelling script name in doc. fix #456 by @Juke34 in #465
- remove unused inflate option from agat_convert_genscan2gff.pl and agat_convert_genscan2gff.md fix #477 by @Juke34 in #481
- update doc agat_sp_compare_two_annotations.pl by @Juke34 in #490
- Shift AGAT documentation from readthedocs to Mkdocs (gh-pages of GitHub now) by @Juke34 in #482
New Contributors
- @IvanUgrin made their first contribution in #476 (fix #475)
Full Changelog: v1.4.0...v1.4.1
AGAT-v1.4.0
- fix #448 an issue affecting AGAT when using GFF2 and GFF2.5 bioperl parser. Bioperl is adding an extra empty ID attribute that mess up with AGAT. An extra step in AGAT remove this empty attribute and allows AGAT to works appropriately.
AGAT-v1.3.3
What's Changed
Full Changelog: v1.3.2...v1.3.3
AGAT-v1.3.2
/!\ Please avoid to use that version ! Important bug for files with only level3 features (exons, CDS) when recreating Level2 (mRNA) and level1 (gene) - stop prematurely
What's Changed
- Rendering :
- Re-activting progress bar (tata has been deactivated by mistake in previous releases)
- Display AGAT header for all scripts (before was only for sp scripts)
- Providing log information to user about the config file taken.
- fix #441 use L3 feature instead to L1 as template to create features when transcript_id exists by @Juke34 in #442. Bug was affecting GTF input annotations that have only level3 features (CDS,exons;etc.) and that was outputted in GTF (GFF output are fine excepted their transcript_id attribute that become wrong but are anyway useless in GFF).
Full Changelog: v1.3.1...v1.3.2
AGAT-v1.3.1
What's Changed
- Fix #435 agat_sp_compare_two_annotations.pl now output gene IDs by @Juke34 in #437
- Fix #436 agat_sp_manage_functional_annotation.pl now appending Name,product,dbxref,product attributes by default instead of replacing. Add parameters to clean those attributes. by @Juke34 in #438
Full Changelog: v1.3.0...v1.3.1
AGAT-v1.3.0
What's Changed
- Clean_clone by @Juke34 in #384 : add a clean_clone function to clean GFF feature while cloning it (e.g. when used as a template to create another feature). add clean_attributes_from_template parameter in agat_config.yaml to activate it.
- fix #383 by @Juke34 in #402 : -agat_convert_sp_gff2bed.pl was throwing
Can't "continue" outside a when block
error when using -nc parameter - fix #389 by @Juke34 in #403: fix a case that ended up with feature wihtout ID and add test
- fix nex readthedocs requirements by @Juke34 in #414
- New script to move feature from features of a same record (agat_sp_move_attributes_within_records) by @Juke34 in #413
- agat_sp_manage_IDs.pl not sorting feature consistently fix #411 by @Juke34 in #415
- agat_sp_separate_by_record_type.pl not sorting features consistently by @Juke34 in #423
- fix 424 - bug in agat_sp_complement_annotations.pl / check_feature_overlap_from_l3_to_l1 by @Juke34 in #425
- update agat_sp_add_start_and_stop.pl by @Juke34 in #429. Now handle GTF case (stop codon out of the CDS), allow CDS extension to find the first start/stop codon, and possibility to skip codon with IUPAC nucleotide to avoid NNN to be seen as a start or stop codon.
- Update doc by @Juke34 in #432
Full Changelog: v1.2.0...v1.3.0
AGAT-v1.2.0
new scripts:
- agat_sp_add_intergenic_regions.pl
- agat_sp_add_splice_sites.pl
Update/fix:
- agat_convert_minimap2_bam2gff.pl : fix #363 save AS information from BAM into GFF score (instead of phase) and put a dot for the phase
- Update statistics rendering (e.g. agat_sp_statistics.pl): Avoid to display twice stats when there is no isoform, add "(bp)" to clarify what means the numbers.
- new features in feature_levels.yaml :
- pseudogenic_region
- pseudogenic_cds
- intergenic_region
- protein_bind
- regulatory
- five_prime_cis_splice_site
- three_prime_cis_splice_site
- remove JSON from MYMETA.yml
- fix #346 : config.yaml is now called by default agar_config.yaml. It is now possible to create one at the fly with a chosen name. It is also possible to call all script specifying a config file located and named as wished.
- fix #368 - Avoid seq_id 0 to be replaced by default SEQ value
- fix #378 - fix auto format detection for sq scripts
- homogenize input/ouput
- use exclusively AGAT::BioperlGFF (_sq_script was using Bio::Tools::GFF for input/output; sp script were using AGAT::BioperlGFF for input and Bio::Tools::GFF for output)
- improving AGAT::BioperlGFF to take care of GFF and GTF output (adding parameter VERSION and TYPE). Remind AGAT::BioperlGFF is an improved version of Bio::Tools::GFF
- simplify code by factorizing OmniscientToGTF.pm and BioperlGFF.pm by implementing redundant function into BioperlGFF (e.g. filtering feature by GTF version; _gff25_string_JD and _gff25_string to fix incorrect GTF output provided by bioperl, etc)
new test:
- agat_convert_minimap2_bam2gff.pl
- agat_sq_add_attributes_from_tsv.pl
- agat_sp_add_intergenic_regions.pl
- agat_sp_add_splice_sites.pl
doc:
- remove 0 from agat config file which is not a correct to select for GTF version
- remove agat_sq_manage_ID from doc (official script is agat_sq_manage_IDs)
- update pod (removing option not used)
- update doc .md
AGAT-v1.1.0
- Update readme
- add the AGAT version in the log using the AGAT header method
- doc:
- fix #297 modify output name/type
- #303 revise gfx doc for clarity
- #300 add new script agat_sq_rename_seqid.pl in order to rename sequence identifiers.
- add feature types in feature_levels.yaml: 3'-utr, 5'-utr, crispr, splice3, splice5
- fix #329 - when creating L1 from L2 be sure the L1 ID used is not already used by a feature of another type.
- fix #327 - avoid crash if CDS less than 3 nt in agat_sp_filter_incomplete_gene_coding_models.pl
- fix #325 and improve related merge functions (see improved result of test gff_syntax 15). Fix error in keep_only_uniq_from_list2 function to merge identical isoform and add merge_ suffix for merged attributes
- fix #315 add skip_merge_l3 in feature_levels yaml file to handle which feature to skip at the check_all_level3_locations step (decide which type of feature to merge when overlapping)
- fix #290 - deal with GeMoMA peculiar case where L3 is attached to L1 while L2 exists while L2 is also attached to L1. Parent attribute used as a locus_tag
- fix #347 update end location only if longest
- fix #350 improve AGAT to deal properly with peculiar Exonerate gff
- fix #352 do not check feature when already removed from hash in merge_overlap_loci to avoid error
Code:
- factorize functions _merge_overlap_features and merge_overlap_features to keep only the later
- change miscCount uniqID and uniqIDtoType hashes into a single hash for code simplification
- remove L1 and L2 for newly created IDs. Fix problem ID use several times in e.g. agat_sp_prokka_fix_fragmented_gene_annotations_1.gff output file (used by tRNA level1 gene created)
- Improve check_gene_overlap_at_CDSthenEXON to work at l2 and l1 if no children, and rename it into check_feature_overlap_from_l3_to_l1.
- add get_uniq_id function to make unique ID on the fly for spread features that can share identical IDs
- use push in infosequential instead of omniscient for Push-L3-omiscient-3: level3 - Use Unique ID even for CDS to avoid confusion in location and level3 checks - remove strand when cloning L3 to create a l2 (see issue #350)
AGAT-v1.0.0
AGAT version1.0.0 … it implies lot of changes:
· Add a script called agat, allowing to access feature_levels file, access and modify configuration file, list the tools, see the AGAT version being used, etc.
· Use of AppEaser module from https://github.com/polettix/App-Easer to create a multi layers help in agat script
· Replace feature_level json files by a single yaml file
· Apparition of a configuration file (config.yaml) allowing to tune behaviour of all scripts (input, output, AGAT parsing etc... /!\ For sq scripts the config can only modify input/output format behaviours).
· As there is now a config file, superfluous params removed in some scripts (particularly in gxf2gxf)
· Make gtf output possible to every sp script via config.yaml and create a dedicated module (OmniscientToGTF) based on code from the gff2gtf script.
· Create a BioperlGFF module based on the Bioperl code to correct parse GFF/GTF files when they contain a mix of GFF1 and GFF2/GFF3 like seen in Augustus and Tsebra output files (fix #288). Add corresponding tests
· Modify name of the Module Omniscient by AGAT
· Modify all scripts to load config before starting “my $config = get_agat_config();”
· Modify all scripts to take in consideration the output format set the config
· Centralize and standardize the creation of new text file and gff file in OmniscientO with prepare_file and out prepare_gffout. Will not overwrite an existing file.
Other modifications
· Fix header issue (newline missing) in gff2gtf conversion
· Fix GTF1 that was not really selectable in gff2gtf
· Code from gff2gtf script has been moved within OmniscientToGTF module
· fix the script compare_annotations by rewriting it from scratch. + add tests
· Add new features in levels (lot of EDTA ones #271) and others e.g. “Contig”, “expressed_sequence_match”,” transcription_start_site”
· agat_sp_manage_functional_annotation.pl : Avoid dash in output when no GO term #272
· Updating warning messages to be more precise #273
AGAT-v0.9.2
- agat_convert_sp_gff2gtf.pl - fix #245 by making CDS identifier uniq using start and stop position on to of ID because they can share a same ID
- agat_sp_extract_sequences.pl - fix #246 : Remove name from header (now use --keep_attributes and the original attribute tag will be use instead ). Add --keep_attributes and --keep_parent_attributes to keep information from GFF into the fasta. Update test accordingly.
- New script agat_sq_reverse_complement.pl - fix #248
- add missing dependency LWP::Protocol::https dependency used to catch SO on the fly from URI/URL - fix #260
- update doc