Bio::SeqIO::embl(3pm)

πŸ“¦
version 1.7.8 Β· 3 versions
, in debian bookworm, debian trixie, ubuntu jammy, ubuntu noble

πŸ’– Bio::SeqIO::embl πŸ’–

okay bestie, gather round, because this is the Bio::SeqIO::embl page from the User Contributed Perl Documentation set, and she is serving EMBL sequence input/output stream realness. no cap.


✨ NAME ✨

Bio::SeqIO::embl β€” the EMBL sequence input/output stream. that's it, that's the whole name, she's straightforward and iconic for it. πŸ’…


🌸 SYNOPSIS 🌸

fr fr, bestie, the move here is not to use this object directly. like, it works, but the vibe is so much better if you go through the SeqIO handler system instead. so do this:

$stream = Bio::SeqIO->new(-file => $filename, -format => 'EMBL');

while ( (my $seq = $stream->next_seq()) ) {
    # do something with $seq
}

see? gorgeous. no notes. πŸ¦‹


πŸŽ€ DESCRIPTION πŸŽ€

this object can transform Bio::Seq objects to and from EMBL flat file databases. she's bilingual, she's versatile, she contains multitudes.

and there is a lot of flexibility here about how to dump things, which honestly should be documented more fully. (yes, the original really says that. i'm just the messenger. πŸ™ˆ)

there should be a common object that this one and Genbank share β€” probably with Swissprot too. way too much of the magic is identical. it's giving shared codebase energy. ✨

πŸ’œ Optional functions πŸ’œ

_show_dna()

(output only) shows the dna or not. simple as that, bestie.

_post_sort()

(output only) provides a sorting func which is applied to the FTHelpers before printing. a little pre-print glow-up, if you will.

_id_generation_func()

this is a function which is called as

print "ID   ", $func($annseq), "\n";

to generate the ID line. and if it's not there? she generates a sensible ID line using a number of tools. self-sufficient queen. πŸ‘‘

if you want to output annotations in EMBL format they need to be stored in a Bio::Annotation::Collection object, which is accessible through the Bio::SeqI interface method annotation().

the following are the names of the keys which are polled from a Bio::Annotation::Collection object:

  • reference β€” should contain Bio::Annotation::Reference objects
  • comment β€” should contain Bio::Annotation::Comment objects
  • dblink β€” should contain Bio::Annotation::DBLink objects

🫢 FEEDBACK 🫢

🌈 Mailing Lists

user feedback is an integral part of the evolution of this and other Bioperl modules. so send your comments and suggestions preferably to one of the Bioperl mailing lists. your participation is much appreciated, literally, they mean it:

bioperl-l@bioperl.org                  - General discussion
http://bioperl.org/wiki/Mailing_lists  - 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. there are many experienced and reponsive experts who 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. the more detail the better, bestie, they want to help you. πŸ₯Ή

πŸ”₯ Reporting Bugs

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

https://github.com/bioperl/bioperl-live/issues

πŸ‘‘ AUTHOR - Ewan Birney

Email birney@ebi.ac.uk β€” shoutout to Ewan, an absolute legend. πŸ’


⭐ APPENDIX ⭐

the rest of the documentation details each of the object methods. internal methods are usually preceded with a _. (iykyk β€” the underscore is the tell. 🧚)

next_seq

  • Title: next_seq
  • Usage: $seq = $stream->next_seq()
  • Function: returns the next sequence in the stream
  • Returns: Bio::Seq object
  • Args: (nothing, she needs no input, she just delivers)

_write_ID_line

  • Title: _write_ID_line
  • Usage: $self->_write_ID_line($seq);
  • Function: writes the EMBL Release 87 format ID line to the stream, unless there is a user-supplied ID line generation function, in which case that is used instead. (see Bio::SeqIO::embl::_id_generation_function().)
  • Returns: nothing
  • Args: Bio::Seq object

_is_valid_division

  • Title: _is_valid_division
  • Usage: $self->_is_valid_division($div)
  • Function: tests division code for validity
  • Returns: true if $div is a valid EMBL release 87 taxonomic division.
  • Args: taxonomic division code string

_is_valid_molecule_type

  • Title: _is_valid_molecule_type
  • Usage: $self->_is_valid_molecule_type($mol)
  • Function: tests molecule type for validity
  • Returns: true if $mol is a valid EMBL release 87 molecule type.
  • Args: molecule type string

write_seq

  • Title: write_seq
  • Usage: $stream->write_seq($seq)
  • Function: writes the $seq object (must be seq) to the stream
  • Returns: 1 for success and undef for error
  • Args: array of 1 to n Bio::SeqI objects
  • Title: _print_EMBL_FTHelper
  • Usage:
  • Function: Internal function
  • Returns: 1 if writing succeeded, otherwise undef
  • Args:

_read_EMBL_Contig()

  • Title: _read_EMBL_Contig
  • Usage:
  • Function: convert CO lines into annotations
  • Returns:
  • Args:

_read_EMBL_References

  • Title: _read_EMBL_References
  • Usage:
  • Function: Reads references from EMBL format. Internal function really
  • Example:
  • Returns:
  • Args:

_read_EMBL_Species

  • Title: _read_EMBL_Species
  • Usage:
  • Function: Reads the EMBL Organism species and classification lines.
  • Example:
  • Returns: A Bio::Species object
  • Args: a reference to the current line buffer, accession number
  • Title: _read_EMBL_DBLink
  • Usage:
  • Function: Reads the EMBL database cross reference ("DR") lines
  • Example:
  • Returns: A list of Bio::Annotation::DBLink objects
  • Args:
  • Title: _read_EMBL_TaxID_DBLink
  • Usage:
  • Function: Reads the EMBL database cross reference to NCBI TaxID ("OX") lines
  • Example:
  • Returns: A list of Bio::Annotation::DBLink objects
  • Args:

_filehandle

  • Title: _filehandle
  • Usage: $obj->_filehandle($newval)
  • Function:
  • Example:
  • Returns: value of _filehandle
  • Args: newvalue (optional)

_read_FTHelper_EMBL

  • Title: _read_FTHelper_EMBL
  • Usage: _read_FTHelper_EMBL($buffer)
  • Function: reads the next FT key line
  • Example:
  • Returns: Bio::SeqIO::FTHelper object
  • Args: filehandle and reference to a scalar

_write_line_EMBL

  • Title: _write_line_EMBL
  • Usage:
  • Function: internal function
  • Example:
  • Returns: 1 if writing succeeded, else undef
  • Args:

_write_line_EMBL_regex

  • Title: _write_line_EMBL_regex
  • Usage:
  • Function: internal function for writing lines of specified length, with different first and the next line left hand headers and split at specific points in the text
  • Example:
  • Returns: nothing
  • Args: file handle, first header, second header, text-line, regex for line breaks, total line length

_post_sort

  • Title: _post_sort
  • Usage: $obj->_post_sort($newval)
  • Function:
  • Returns: value of _post_sort
  • Args: newvalue (optional)

_show_dna

  • Title: _show_dna
  • Usage: $obj->_show_dna($newval)
  • Function:
  • Returns: value of _show_dna
  • Args: newvalue (optional)

_id_generation_func

  • Title: _id_generation_func
  • Usage: $obj->_id_generation_func($newval)
  • Function:
  • Returns: value of _id_generation_func
  • Args: newvalue (optional)

_ac_generation_func

  • Title: _ac_generation_func
  • Usage: $obj->_ac_generation_func($newval)
  • Function:
  • Returns: value of _ac_generation_func
  • Args: newvalue (optional)

_sv_generation_func

  • Title: _sv_generation_func
  • Usage: $obj->_sv_generation_func($newval)
  • Function:
  • Returns: value of _sv_generation_func
  • Args: newvalue (optional)

_kw_generation_func

  • Title: _kw_generation_func
  • Usage: $obj->_kw_generation_func($newval)
  • Function:
  • Returns: value of _kw_generation_func
  • Args: newvalue (optional)

and that's the whole page, bestie!! πŸŽ€ this one's running on perl v5.32.1, dated 2021-08-15, and it's from the Bio::SeqIO::embl(3pm) era of the User Contributed Perl Documentation. go forth and parse your EMBL files, you gorgeous main character. slay πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from