GETCDS(1)

🌸 NAME 🌸

okay so bestie, meet getcds.pl (a Perl situation, obviously) β€” it does CDS extraction from various annotation formats πŸ’… like it just. goes and gets your coding sequences out of whatever annotation chaos you handed it. iconic behavior, honestly.


✨ SYNOPSIS ✨

the vibe check, literally:

getcds.pl [options] input file [output file] [input file [outputfile] ...]

so yeah, it takes options, then an input file, then optionally an output file, and then it can just. keep going. pairs of files, over and over, as many as you want 🫢


πŸ’… OPTIONS πŸ’…

the options, as promised, include:

  • redirect => turns on a redirect at runtime. and yes, it's explained below, keep reading babe, don't scroll past me 😭
  • force => lets you write empty .cds files. that's it, that's the whole thing. sometimes empty is a valid lifestyle ✨
πŸŽ€ tiny but important: if you don't specify an [output file], it just uses [input file].cds. so it AutoPicks for you. no cap.

πŸ¦‹ the redirect lore πŸ¦‹

there's a lot of dark magic you can do with .redirect files πŸ‘€. redirects exist to modify the ordinary behavior of the program, and you can apply them:

  • globally β€” a .redirect file sitting in the same directory as [input file] 🏠
  • per-input β€” a [input file].redirect file, just for that one file 🌟

and the order matters: they get read in that order, so per-input effects get applied on top of the global effects. global is the base, per-input is the glitter on top πŸ’–

also, a cute little convenience: if you left the filename exactly as-is from an Ensembl download, the right Ensembl DB source gets guessed automatically for you. no extra work. we love a self-sufficient file 🌈


🧚 possible redirects 🧚

here's the whole menu, bestie, every single one:

  • CDS β€” changes what tag type gets searched for when running on bioperl files. (the default is CDS, in case you were wondering.)
  • offset β€” adds some value to all coordinates. shift the whole thing, why not ✨
  • +bioperl β€” on top of any other redirect-based data, this also extracts annotation via bioperl (using a direct disables bioperl's parser by default). yes, the + is doing something. it's giving additive πŸ”₯
  • ensembl_build β€” grab data from the ensembl (in the specified schema).
  • ucsc_build β€” grab data from ucsc (in the specified schema).
  • murasaki_synth β€” synthesize annotation data for each anchor from an alignment. and if this is a directory, then each input file (eg input.lav) is checked for a corresponding .anchors file (eg. input.anchors). very "we'll find it ourselves" of it πŸ‘‘
  • primary β€” what type of tags to create from data gathered from outside data (eg: ensembl, ucsc, or murasaki). the default is the same as the CDS redirect. so like, it inherits the vibe πŸ’œ
  • chromosome β€” forces a specific chromosome rather than deriving it from the filename. assertive. we stan πŸŽ€
  • gtf β€” extract annotation from a .gtf file. that's the whole redirect, lowkey perfect πŸ¦‹
πŸ’€ warning-ish energy, but in a nice way: the redirect files are genuinely dark magic territory. you can stack them, and per-input beats global, so if your output looks cursed, check your .redirect files first bestie. not me speaking from experience πŸ™ˆ

and that's the whole page, fr fr 🫢

sign-off moment, because you deserve it: this lovely thing is documented as part of the User Contributed Perl Documentation ✨, running under perl v5.40.1 πŸ’–, and this version of the page is dated 2026-08-12. go extract some CDS, you absolute main character πŸ‘‘πŸŒΈ

πŸ“¦ where this page comes from