Ace::S...e::Gene(3pm)

✨ Ace::Sequence::Gene β€” Simple "Gene" Object ✨

okay bestie, pull up a chair, we're talking Ace::Sequence::Gene from the Perl docs (perl v5.42.3, dated 2026-08-19, in case you were wondering what era of chaos we're in) πŸ§¬πŸ’–


πŸ¦‹ NAME

Ace::Sequence::Gene β€” the Simple "Gene" Object. that's it. that's the whole name. iconic, honestly.


πŸŽ€ SYNOPSIS

here's the vibe, literally copy-paste this energy:

# open database connection and get an Ace::Object sequence
use Ace::Sequence;

# get a megabase from the middle of chromosome I
$seq = Ace::Sequence->new(-name   => 'CHROMOSOME_I,
                          -db     => $db,
                          -offset => 3_000_000,
                          -length => 1_000_000);

# get all the genes
@genes = $seq->genes;

# get the exons from the first one
@exons = $genes[0]->exons;

# get the introns
@introns = $genes[0]->introns

# get the CDSs (NOT IMPLEMENTED YET!)
@cds = $genes[0]->cds;
no girl don't look at the missing quote in 'CHROMOSOME_I and the missing semicolon after introns β€” that's canon, that's the original, we do not touch the artifacts πŸ’€

🌸 DESCRIPTION

so Ace::Sequence::Gene is a subclass of Ace::Sequence::Feature. it inherits every single method that Ace::Sequence::Feature has β€” all of them, no cap β€” but then it's like "and also, I can grab you the annotated introns and exons of the gene." main character behavior tbh πŸ‘‘


πŸ’… OBJECT CREATION

okay so here's the thing β€” you will not normally be out here making an Ace::Sequence::Gene object by hand. that's not the move. instead, these objects just appear in response to a genes() call on an Ace::Sequence object. it's giving "you don't find the object, the object finds you" βœ¨πŸ¦‹


πŸ‘‘ OBJECT METHODS

most of the methods are inherited from Ace::Sequence::Feature (free real estate). but these ones are also supported, and yes we're doing all of them, in order, no skipping:

  • exons()
@exons = $gene->exons;

returns a list of Ace::Sequence::Feature objects that correspond to annotated exons. cute, useful, the exons we deserve 🫢

  • introns()
@introns = $gene->introns;

returns a list of Ace::Sequence::Feature objects that correspond to annotated introns. yes, the introns get their moment too 🌈

  • cds()
@cds = $gene->cds;

returns a list of Ace::Sequence::Feature objects corresponding to coding sequence. THIS IS NOT YET IMPLEMENTED. like, fr fr, not implemented. do not come for me, come for the code 😭

  • relative()
$relative = $gene->relative;
$gene->relative(1);

this turns relative coordinates on and off. by default, the exon and intron features are returned in the coordinate system used by the gene. but if relative() is set to a true value, then coordinates get expressed relative to the start of the gene. so the first exon will (usually) be 1. note the "usually" β€” the docs are hedging and honestly, same πŸ’œ


🧚 SEE ALSO

go check out these besties:

  • Ace
  • Ace::Object
  • Ace::Sequence
  • Ace::Sequence::Homol
  • Ace::Sequence::Feature
  • Ace::Sequence::FeatureList
  • GFF

(yes that's the same list, same order, I just gave them a bullet list glow-up ✨)


🌟 AUTHOR

written by Lincoln Stein <lstein@cshl.org> with extensive help from Jean Thierry-Mieg <mieg@kaa.crbm.cnrs-mop.fr>. collab of the century, honestly 🫢

Copyright (c) 1999, Lincoln D. Stein

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See DISCLAIMER.txt for disclaimers of warranty.

read DISCLAIMER.txt bestie, the warranty situation is giving "there is no warranty" πŸ’€

and that's the whole page! πŸ’– perl v5.42.3, 2026-08-19 β€” Ace::S...e::Gene(3pm). go annotate some genes, you absolute icon. periodt. πŸ’…πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from