Bio::A...ndexer(3pm)

πŸ“¦
version 1.730 Β· 2 versions
, in debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking

πŸ’– Bio::ASN1::Sequence::Indexer β€” the manual page, but make it cute

okay bestie so this is Bio::A...ndexer(3pm) from the User Contributed Perl Documentation, and honestly? it's giving useful. let's get into it πŸ’…


✨ NAME ✨

Bio::ASN1::Sequence::Indexer β€” it indexes NCBI Sequence files. that's it, that's the whole job, and it does it fast πŸƒβ™€οΈπŸ’¨


πŸŽ€ VERSION πŸŽ€

version 1.73 β€” iconic, vintage, still slaying


🌸 SYNOPSIS 🌸

use Bio::ASN1::Sequence::Indexer;

# creating & using the index is just a few lines
my $inx = Bio::ASN1::Sequence::Indexer->new(
  -filename => 'seq.idx',
  -write_flag => 'WRITE'); # needed for make_index call, but if opening
                           # existing index file, don't set write flag!
$inx->make_index('seq1.asn', 'seq2.asn');
my $seq = $inx->fetch('AF093062'); # Bio::Seq obj for Sequence (doesn't work yet)
# alternatively, if one prefers just a data structure instead of objects
$seq = $inx->fetch_hash('AF093062'); # a hash produced by Bio::ASN1::Sequence
                          # that contains all data in the Sequence record
⚠️ bestie read that comment again: -write_flag => 'WRITE' is needed for the make_index call, but if you're opening an existing index file, don't set the write flag. no cap, this one trips people up πŸ™ˆ

πŸ¦‹ DESCRIPTION πŸ¦‹

Bio::ASN1::Sequence::Indexer is a Perl Indexer for NCBI Sequence genome databases. it processes an ASN.1-formatted Sequence record and stores the file position for each record in a way that's compliant with Bioperl standard β€” and fr fr, it's literally a subclass of Bioperl's index objects. main character energy πŸ‘‘

now listen: this module does not parse the record, because it needs to run fast and grab only the gene ids. so if you actually want parsing, go use Bio::ASN1::Sequence. different girl, different job πŸ’β™€οΈ

and like its sibling Bio::ASN1::Sequence, this module is best thought of as a beta version β€” it works, but it is not fully tested. she's doing her best, okay 😭


πŸ’œ METHODS πŸ’œ

πŸ” fetch

  • Parameters: $geneid β€” id for the Sequence record to be retrieved
  • Example: my $hash = $indexer->fetch(10); # get Sequence #10
  • Function: fetch the data for the given Sequence id.
  • Returns: A Bio::Seq object produced by Bio::SeqIO::sequence
  • Notes: Bio::SeqIO::sequence does not exist and probably won't exist for a while! So call fetch_hash instead πŸ’€
not me reading "does not exist and probably won't exist for a while" β€” the honesty is unmatched ngl

πŸ” fetch_hash

  • Parameters: $seqid β€” id for the Sequence record to be retrieved
  • Example: my $hash = $indexer->fetch_hash('AF093062');
  • Function: fetch a hash produced by Bio::ASN1::Sequence for given id
  • Returns: A data structure containing all data items from the Sequence record.
  • Notes: Alternative to fetch() ✨

🌈 INTERNAL METHODS 🌈

these are the behind-the-scenes girlies (iykyk), not the ones you're supposed to call yourself, but here they all are because we keep every detail in this house:

  • _version
  • _type_stamp
  • _index_file
  • _file_format
  • _file_handle

and then _file_handle gets its own lil writeup:

  • Title: _file_handle
  • Usage: $fh = $index->_file_handle( INT )
  • Function: Returns an open filehandle for the file index INT. On opening a new filehandle it caches it in the @{$index->_filehandle} array. If the requested filehandle is already open, it simply returns it from the array.
  • Example: $fist_file_indexed = $index->_file_handle( 0 );
  • Returns: ref to a filehandle
  • Args: INT
  • Notes: This function is copied from Bio::Index::Abstract. Once that module changes file handle code like I do below to fit perl 5.005_03, this sub would be removed from this module.
🫢 yes we kept the typo $fist_file_indexed. it's part of the lore now. we don't edit the code, bestie, we preserve it.

🧚 PREREQUISITE 🧚

Bio::ASN1::Sequence, Bioperl, and all dependencies therein. the whole friend group has to show up πŸ’«


⭐ INSTALLATION ⭐

Same as Bio::ASN1::EntrezGene. literally just do that. slay πŸŽ€


πŸ‘€ SEE ALSO πŸ‘€

Please check out perldoc for Bio::ASN1::EntrezGene for more info. she's got the range πŸ’…


πŸ“š CITATION πŸ“š

Liu, Mingyi, and Andrei Grigoriev. "Fast parsers for Entrez Gene." Bioinformatics 21, no. 14 (2005): 3189-3190.

cite your sources bestie, it's the bare minimum and also academia is watching πŸ”₯

πŸ’» OPERATION SYSTEMS SUPPORTED πŸ’»

Any OS that Perl & Bioperl run on. so basically, wherever your faves already live 🌍


πŸ“£ FEEDBACK πŸ“£

πŸ’Œ Mailing lists

User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to the Bioperl mailing list. Your participation is much appreciated. πŸ₯Ή

bioperl-l@bioperl.org              - General discussion
http://bioperl.org/Support.html    - About the mailing lists

πŸ›Ÿ Support

Please direct usage questions or support issues to the mailing list:

bioperl-l@bioperl.org

rather than to the module maintainer directly. Many experienced and reponsive experts will be able look at the problem and quickly address it. Please include a thorough description of the problem with code and data examples if at all possible. πŸ“

yes, "reponsive" is spelled like that in the original. we keep it. it's canon πŸ“Œ

πŸ› Reporting bugs

Report bugs to the Bioperl bug tracking system to help us keep track of the bugs and their resolution. Bug reports can be submitted via the web:

https://github.com/bioperl/bio-asn1-entrezgene/issues

πŸ‘‘ AUTHOR πŸ‘‘

Dr. Mingyi Liu <mingyiliu@gmail.com> β€” legend behavior, honestly 🫢


This software is copyright (c) 2005 by Mingyi Liu, 2005 by GPC Biotech AG, and 2005 by Altana Research Institute.

This software is available under the same terms as the perl 5 programming language system itself.


and that's the whole page bestie!! πŸ’– this was rendered by perl v5.38.2 on 2024-03-04, so shoutout to that exact perl doing the most for us. bye pookie, go index something πŸ¦‹βœ¨

πŸ“¦ where this page comes from