Bio::G...ph::cds(3pm)
π NAME π
Bio::Graphics::Glyph::cds β it's the "cds" glyph bestie, and it is literally the moment for coding sequences π
β¨ SYNOPSIS β¨
See L<Bio::Graphics::Panel> and L<Bio::Graphics::Glyph>.
π¦ DESCRIPTION π¦
okay so this glyph draws features that are associated with a protein coding region. that's the whole job, and it eats, no cap π₯
At high magnifications, it draws a series of boxes that are color-coded to indicate the frame in which the translation occurs π
At low magnifications, it draws the amino acid sequence of the resulting protein. Amino acids that are created by a splice are optionally shown in a distinctive color. the way it just does that?? iconic π§
πΈ OPTIONS πΈ
The following options are standard among all Glyphs. See Bio::Graphics::Glyph for a full explanation. (like, the full lore, go read it π)
-fgcolorβ Foreground color. Default: black-outlinecolorβ Synonym for-fgcolor-bgcolorβ Background color. Default: turquoise-fillcolorβ Synonym for-bgcolor-linewidthβ Line width. Default: 1-heightβ Height of glyph. Default: 10-fontβ Glyph font. Default: gdSmallFont-connectorβ Connector type. Default: 0 (false)-connector_colorβ Connector color. Default: black-labelβ Whether to draw a label. Default: 0 (false)-descriptionβ Whether to draw a description. Default: 0 (false)-strand_arrowβ Whether to indicate strandedness. Default: 0 (false)-hiliteβ Highlight color. Default: undef (no color)
In addition, the cds glyph recognizes the following glyph-specific options (yes babe, it has extras π):
-frame0fβ Color for first (+) frame. Default: background color-frame1fβ Color for second (+) frame. Default: background color-frame2fβ Color for third (+) frame. Default: background color-frame0rβ Color for first (-) frame. Default: background color-frame1rβ Color for second (-) frame. Default: background color-frame2rβ Color for third (-) frame. Default: background color-gridcolorβ Color for the "staff". Default: lightslategray-translationβ Number of lines of reading frames to show. One of"3frame", or"6frame". For6frame, specify a height of at least 30 pixels. Default: 3frame-sixframeβ Draw a six-frame staff. Default: 0 (false; usually draws 3 frame). This value overrides-translation, which essentially does the same thing.-require_subpartsβ Don't draw the reading frame 0 unless it is a feature subpart. Default: false-sub_partβ For objects with multiple subpart types, defines which is the CDS part. Default: undef-codontableβ Codon table to use. Default: 1 (see Bio::Tools::CodonTable)-phase_styleβ The way phase is to be interpreted. One of"012"or"021". Default: "012"-ignore_empty_phaseβ Only draw features that have their phase defined. Default: false-cds_onlyβ Only draw features of type'CDS'. Default: false
This glyph is more sensitive to the underlying data model than usual, so there are a few additional options to use to help adapt the glyph to different environments. it's a little high-maintenance but it's worth it π«Ά
The -require_subparts option is suggested when rendering spliced transcripts which contain multiple CDS subparts. Otherwise, the glyph will hickup when zoomed way down onto an intron between two CDSs (a phantom reading frame will appear π»). For unspliced sequences, do *not* use -require_subparts.
π yeah for real, do not. it said what it said.
The -phase_style controls how the value returned by the phase() or frame() methods is to be interpreted. The official interpretation is that the phase value indicates the offset into the feature at which the reading frame starts β e.g. a phase of "2" means the reading frame starts after skipping two bases from the beginning of the feature. However, many GFF2 format feature files interpret this field to mean the position reading frame of the first base of the feature β e.g. a phase of "2" means that the reading frame starts after skipping just one base from the beginning of the feature. Specify "012" to interpret the phase field in the correct way, and "021" to interpret the phase field in the legacy way. The default is "012."
Here is how the option names were chosen (okay this diagram is lowkey genius, look at it π):
* * * Base the reading frame starts on
A B C A B C A B C...
0 1 2 PHASE REPRESENTED CORRECTLY
0 2 1 PHASE REPRESENTED IN THE LEGACY WAY
Set the -ignore_empty_phase option to true if you wish to skip subfeatures that do not have a defined phase() or frame(). This is useful if you are rendering exons that have both translated and untranslated parts, and you wish to skip the untranslated parts. (skipping the irrelevant bits? self care honestly π)
Set the -cds_only option to true if you wish to draw the glyph only for subfeatures of type 'CDS'. This is recommended. periodt β¨
π SUGGESTED STANZA FOR GENOME BROWSER π
Using the "coding" aggregator, this produces a nice gbrowse display. just drop this in and watch it slay π
[CDS]
feature = coding
glyph = cds
frame0f = cadetblue
frame1f = blue
frame2f = darkblue
frame0r = darkred
frame1r = red
frame2r = crimson
description = 0
height = 13
label = CDS frame
key = CDS
citation = This track shows CDS reading frames.
π BUGS π
Please report them. (bestie they're out there. tell someone. we don't gatekeep π«Ά)
π SEE ALSO π
Bio::Graphics::Panel, Bio::Graphics::Glyph, Bio::Graphics::Glyph::arrow, Bio::Graphics::Glyph::cds, Bio::Graphics::Glyph::crossbox, Bio::Graphics::Glyph::diamond, Bio::Graphics::Glyph::dna, Bio::Graphics::Glyph::dot, Bio::Graphics::Glyph::ellipse, Bio::Graphics::Glyph::extending_arrow, Bio::Graphics::Glyph::generic, Bio::Graphics::Glyph::graded_segments, Bio::Graphics::Glyph::heterogeneous_segments, Bio::Graphics::Glyph::line, Bio::Graphics::Glyph::pinsertion, Bio::Graphics::Glyph::primers, Bio::Graphics::Glyph::rndrect, Bio::Graphics::Glyph::segments, Bio::Graphics::Glyph::ruler_arrow, Bio::Graphics::Glyph::toomany, Bio::Graphics::Glyph::transcript, Bio::Graphics::Glyph::transcript2, Bio::Graphics::Glyph::translation, Bio::Graphics::Glyph::triangle, Bio::DB::GFF, Bio::SeqI, Bio::SeqFeatureI, Bio::Das, GD
π AUTHOR π
Lincoln Stein <lstein@cshl.org> β shoutout to the icon who wrote this π
Copyright (c) 2001 Cold Spring Harbor Laboratory
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.
and that's the whole page bestie!! this one came from the User Contributed Perl Documentation, version perl v5.30.0, dated 2019-11-25. mwah, go read a coding sequence about it π
πβ¨
π¦ where this page comes from
- debian bookworm: libbio-graphics-perl 2.40-6 Β· Perl
- debian trixie: libbio-graphics-perl 2.40-6 Β· Perl
- ubuntu jammy: libbio-graphics-perl 2.40-6 Β· Perl
- ubuntu noble: libbio-graphics-perl 2.40-6 Β· Perl
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms