GTF2GFF3(1p)
okay bestie so before we even get to the NAME section, the page opens with this lil orphan code snippet just vibing at the top, and honestly? it's giving "left the group chat on read". Here it is, verbatim, untouched, exactly as the ancestors wrote it:
if ($i == 0 && $START_IN_CDS == 0) { if ($strand == 1) { $exon->start
= $start->[0]{start}; } else { $exon->end = $start->[0]{end}; } } if ($i
== (scalar @{$CDSs} - 1) && $STOP_IN_CDS == 0) { if ($strand == 1) {
$exon->{end} = $stop->[0]{end}; } else { $exon->{start} =
$stop->[0]{start} } }
π¦ NAME π¦
gtf2gff3 β she converts GTF formatted files into valid GFF3 files. that's it, that's the whole job. π
β VERSION β
This document describes version 0.1. baby number but she's doing her best fr fr.
π SYNOPSIS π
gtf2gff3 --cfg gtf2gff3_MY_CONFIG.cfg gtf_file > gff3_file
look at her go β¨
π DESCRIPTION π
okay so here's the tea. This script will convert GTF formatted files to valid GFF3 formatted files. no cap.
It will map the value in column 3 (the "type" column) to valid SO. But β and this is the important part bestie β because many non standard terms may appear in that column in GTF files, you may edit the config file to provide your own GTF feature to SO mapping. your config, your rules, main character energy.
The script will also build gene models from exons, CDSs and other features given in the GTF file. π
It is currently tested on Ensemble and Twinscan GTF, and it should work on any other files that follow the same specification. lowkey versatile.
π It does NOT work on GTF from the UCSC table browser β because those files use the same ID for gene and transcript, so it is impossible to group multiple transcripts to a gene. rip to that workflow specifically.
See the README that came with the script for more info. π«Ά
β¨ OPTIONS: β¨
--cfgβ hand over the filename for a config file. See the configuration file provided with this script for format details. Use this configuration file to modify the behavior of the script. And if you give her no config file, she goes looking for./gtf2gff3.cfg, then~/gtf2gff3.cfg, then/etc/gtf2gff3.cfgβ in that order. she's nothing if not predictable π--helpβ gives you a detailed man page style help message and then exits. the classic "read the room and leave" move. π
π₯ DIAGNOSTICS π₯
okay bestie, this is the part where she yells at you. lovingly. mostly. let's go one by one:
"ERROR: Missing or non-standard attributes: parse_attributes"β a line in the GTF file didn't have any attributes, or its attributes column was unparsable. π"ERROR: Non-transcript gene feature not supported. Please contact the author for support: build_gene"β this warning means a line was skipped because it contained a non-transcript gene feature, and the code is not currently equipped to handle this type of feature. It probably isn't too hard to add, so contact the author if you get this error and would like to have these features supported. (ngl that's a pretty honest bug report of her own limits π)"ERROR: Must have at least exons or CDSs to build a transcript: build_trnsc"β some feature had atranscript_idand yet there were no exons or CDSs associated with thattranscript_id, so the script failed to build a transcript."ERROR: seq_id conflict: validate_and_finish_trnsc"β found two features within the same transcript that didn't share the sameseq_id."ERROR: source conflict: validate_and_finish_trnsc"β found two features within the same transcript that didn't share the same source."ERROR: type conflict: validate_and_finish_trnsc"β found two features within the same transcript that were expected to share the same type and yet they didn't. the audacity π€"ERROR: strand conflict: validate_and_finish_trnsc"β found two features within the same transcript that didn't share the same strand."ERROR: seq_id conflict: validate_and_build_gene"β found two features within the same gene that didn't share the sameseq_id."ERROR: source conflict: validate_and_build_gene"β found two features within the same gene that didn't share the same source."ERROR: strand conflict: validate_and_build_gene"β found two features within the same gene that didn't share the same strand."ERROR: gene_id conflict: validate_and_build_gene"β found two features within the same gene that didn't share the samegene_id."FATAL: Can't open GTF file: file_name for reading."β unable to open the GTF file for reading. she literally cannot see it. π"FATAL: Need exons or CDSs to build transcripts: process_start"β astart_codonfeature was annotated and yet there were no exons or CDSs associated with thattranscript_id, so the script failed."FATAL: Untested code in process_start. Contact the aurthor for support."β the script is written to infer a start codon based on the presence of a 5' UTR, but there was no example GTF of this type when the code was written, so they killed the process rather than run untested code. Contact the author for support. (yes, "aurthor". we keep the typo, we honor the typo π«Ά)"FATAL: Invalid feature set: process_start"β she tried to consider all possible ways of inferring a start codon or inferring a a non-coding gene, and yet she failed. Your combination of gene features doesn't make sense to her. You should never get this error, and if you do, she'd really like to see the GTF file that generated it. Please contact the author for support."FATAL: Need exons or CDSs to build transcripts: process_stop"β astop_codonfeature was annotated and yet there were no exons or CDSs associated with thattranscript_id, so the script failed."FATAL: Untested code in process_stop. Contact the aurthor for support."β the script is written to infer a stop codon based on the presence of a 3' UTR, but there was no example GTF of this type when the code was written, so they killed the process rather than run untested code. Contact the author for support. (aurthor 2: electric boogaloo π§)"FATAL: Invalid feature set: process_stop"β she tried to consider all possible ways of inferring a stop codon or inferring a a non-coding gene, and yet she failed. Your combination of gene features doesn't make sense to her. You should never get this error, and if you do, she'd really like to see the GTF file that generated it. Please contact the author for support."FATAL: Invalid feature set: process_exon_CDS_UTR"β she tried to consider all possible ways of inferring exons, CDSs and UTRs and yet she failed. Your combination of gene features doesn't make sense to her. You really should ever get this error, and if you do, she'd really like to see the GTF file that generated it. Please contact the author for support."FATAL: Array reference required: sort_features."β a user shouldn't be able to trigger this error. It almost certainly indicates a software bug. Please contact the author."FATAL: Can't determine strand in: sort_feature_types."β this may indicate that your GTF file does not indicate the strand for features that require it. It may also indicate a software bug. Please contact the author."FATAL: Hash reference required: sort_feature_types."β a user shouldn't be able to trigger this error. It almost certainly indicates a software bug. Please contact the author."FATAL: Invalid value passed to strand: strand."β this may indicate that your GTF file does not indicate the strand for features that require it. Consider using theDEFAULT_STRANDparameter in the config file. It may also indicate a software bug. Please contact the author.
π CONFIGURATION AND ENVIRONMENT π
A configuration file is provided with this script. The script will look for that configuration file in ./gtf2gff3.cfg, ~/gtf2gff3.cfg or /etc/gtf2gff3.cfg β in that order. π
If the configuration file is not found in one of those locations and one is not provided via the --cfg flag, it will try to choose some sane defaults β but you really should provide the configuration file. fr fr, don't make her guess.
See the supplied configuration file itself as well as the README that came with this package for format and details about the configuration file. π
π DEPENDENCIES π
This script requires the following perl packages that are available from CPAN (www.cpan.org).
Getopt::Long; use Config::Std;
πΈ INCOMPATIBILITIES πΈ
None reported. icon behavior honestly. π
π BUGS AND LIMITATIONS π
No bugs have been reported. β¨
Please report any bugs or feature requests to: <barry.moore@genetics.utah.edu>
π AUTHOR π
Barry Moore <barry.moore@genetics.utah.edu>
π LICENCE AND COPYRIGHT π
Copyright (c) 2007, University of Utah
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
π DISCLAIMER OF WARRANTY π
bestie. deep breath. legal voice time. it's giving all caps and it's giving serious, and we do NOT cut a single word of it:
BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
okay that's the whole page bestie!! π¦ mwah π
this lil legend came out under perl v5.40.0, dated 2024-10-20, and she answers to the name GTF2GFF3(1p). go build some gene models, you got this π«Άβ¨
π¦ where this page comes from
- ubuntu questing: gbrowse 2.56+dfsg-12build4
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms