Bio::D...Pileup(3pm)

🌸 Bio::DB::HTS::Pileup β€” the vibe πŸ’…

okay bestie, welcome to the manual page for Bio::D...Pileup(3pm) β€” that's Bio::DB::HTS::Pileup, the little object that gets passed to your pileup() callback. she's small, she's iconic, she's holding a whole column of your alignment in her hands. let's get into it 🫢


πŸ“œ LICENSE πŸ“œ

Copyright [2015-2018] EMBL-European Bioinformatics Institute

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

no cap, that's the actual legal text and you literally cannot skip it. read it, it's giving "adulting" but it matters πŸ’–

✨ NAME ✨

Bio::DB::HTS::Pileup -- the object that gets handed to your pileup() callback πŸ‘‘


πŸŽ€ SYNOPSIS πŸŽ€

okay so you don't get a big juicy example here, bestie. the page is literally telling you to go read "The generic fetch() and pileup() methods" over in Bio::DB::HTS to see how this object actually gets passed to pileup callbacks. that's the whole synopsis. go read that section, it's the prequel 🌸


πŸ’– DESCRIPTION πŸ’–

so here's the tea. a Bio::DB::HTS::Pileup object β€” or a Bio::DB::HTS::PileupWrapper object β€” gets passed to the callback you gave to the Bio::DB::HTS->pileup() method, and it happens for every single column in a sequence alignment. every column. she's thorough. πŸ’…

and the only difference between those two classes? Bio::DB::HTS::PileupWrapper returns the way more convenient Bio::DB::HTS::AlignWrapper objects when you call the alignment() method. sounds slay, right? yeah β€” but it costs you some performance. nothing in life is free, not even convenience 🫠


πŸ¦‹ Methods πŸ¦‹

  • $alignment = $pileup->alignment β€” hands you back the Bio::DB::HTS::Alignment or Bio::DB::HTS::AlignWrapper object that represents the aligned read. this is your main character method, fr fr ✨
  • $alignment = $pileup->b β€” this one's just an alias for alignment(). she exists purely for compatibility with the C API. same energy, different name πŸ’œ
  • $qpos = $pileup->qpos β€” gives you the position of this aligned column in read coordinates, and it's zero-based. don't forget the zero, bestie, the off-by-one jump scare is real 😭
  • $pos = $pileup->pos β€” same deal, position of this aligned column in read coordinates, except this one is 1-based. yes, both exist. yes, you have to remember which is which πŸŽ€
  • $indel = $pileup->indel β€” if this column is an indel you get:
    • a positive integer for an insertion relative to the reference,
    • a negative integer for a deletion relative to the reference,
    • or a 0 for no indel at this column at all.
  • $is_del = $pileup->is_del β€” true if the base on the padded read is a deletion. simple. iconic. does exactly what it says πŸ’…
  • $level = $pileup->level β€” okay so if you invoked pileup() or fast_pileup() with the "keep_level" flag, then this method returns a positive integer telling you the level of the read in a printed multiple alignment. no flag, no level. iykyk 🌈
  • $pileup->is_head and $pileup->is_tail β€” these fields are defined in bam.h, but their interpretation is obscure. that's it. that's all the manpage gives us. even the docs are like "idk bestie πŸ™ˆ"

πŸ‘‘ AUTHOR πŸ‘‘

Rishi Nag <rishi@ebi.ac.uk<gt>


πŸ”₯ SEE ALSO πŸ”₯

  • Bio::Perl
  • Bio::DB::HTS
  • Bio::DB::HTS::Alignment
  • Bio::DB::HTS::Constants

and that's the whole page, bestie 🧚 that was Bio::D...Pileup(3pm) from perl v5.40.0, dated 2024-10-31 β€” go forth and pile up responsibly πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from