Bio::D...o::soap(3pm)

πŸ’– Bio::DB::Biblio::soap β€” bestie edition πŸ’–

okay so this is Bio::DB::Biblio::soap, a Perl module, part of the whole Bio::D...o::soap(3pm) situation. It's giving "SOAP-based access to a bibliographic query service" and honestly? it's a whole mood. Let's get into it ✨

🌸 VERSION 🌸

version 1.70 β€” yes bestie, that's the one, no cap.


πŸ¦‹ SYNOPSIS πŸ¦‹

okay so real talk: do NOT use this object directly, bestie. It's giving "please access me through Bio::Biblio instead," fr fr. Like, it's not the main character, it's the supporting cast.
use Bio::Biblio;
my $biblio = Bio::Biblio->new (-access => 'soap');

🌈 DESCRIPTION 🌈

This object is literally where the real implementation of a Bibliographic Query Service lives, as defined in Bio::DB::BiblioI β€” and the way it does that is by using a SOAP protocol to access a WebService (that's a remote server, bestie) that represents a bibliographic repository. iykyk πŸ’…

The main documentation details are to be found in Bio::DB::BiblioI. go read that too, she's iconic.


πŸŽ€ ATTRIBUTES πŸŽ€

πŸ’œ Defaults

Usage   : print $Bio::DB::Biblio::soap::DEFAULT_SERVICE;
          print $Bio::DB::Biblio::soap::DEFAULT_NAMESPACE;

πŸ”₯ INTERNAL METHODS πŸ”₯

✨ _initialize

Usage   : my $obj = Bio::Biblio->new(-access => 'soap' ...);
          (_initialize is internally called from this constructor)
Returns : nothing interesting
Args    : This module recognises and uses following arguments:

okay so here's the tea on the args, one by one πŸ‘‡

  • -namespace => 'urn' β€” the namespace used by the WebService that's being accessed. It's a string that guarantees its world-wide uniqueness β€” so yeah, it often looks like a URL β€” but bestie, that does not mean such a pseudo-URL actually exists. it's just a vibe, not a location.
## TODO: This namespace is no longer valid (check for deprecation ## or update)

Default is 'http://industry.ebi.ac.uk/openBQS'. 🫢

  • -destroy_on_exit => '0' β€” the default value is '1', which means that all Bio::Biblio objects, when being finalised, will send a request to the remote WebService to forget the query collections they represent.

If you change it to '0', make sure you know the query collection identification β€” otherwise you will not be able to re-established connection with it. You can get that by calling method get_collection_id. ⚠️ like, don't just rawdog this one.

  • -collection_id => '...' β€” it defines what query collection this object will work with. Use this argument when you know a collection ID of an existing query collection and you wish to re-established connection with it.

By default, the collection IDs are set automatically by the query methods β€” they return Bio::Biblio objects already having a collection ID.

A missing or undefined collection ID means that the object represents the whole bibliographic repository (which again means that some methods, like get_all, will be probably refused). she said "no thanks" 😭

  • -soap => a SOAP::Lite object β€” usually all Bio::Biblio objects share an instance of the underlying SOAP::Lite module. But you are free to have more β€” perhaps with different characteristics. sharing is caring but also optional πŸ’…

See the code for attributes of the default SOAP::Lite object.

  • -httpproxy => 'http://server:port' β€” in addition to the 'location' parameter, you may need to specify also a location/URL of a HTTP proxy server (if your site requires one).

Additionally, the main module Bio::Biblio recognises also:

  • -access => '...'
  • -location => '...'

It populates the calling object with the given arguments, and then β€” for some attributes and only if they are not yet populated β€” it assigns some default values. lowkey generous of it 🌸

This is an actual new() method (except for the real object creation and its blessing, which is done in the parent class Bio::Root::Root in method _create_object). ✨

Note that this method is called always as an object method (never as a class method) β€” and that the object who calls this method may already be partly initiated (from Bio::Biblio::new method); so if you need to do some tricks with the 'class invocation' you need to change Bio::Biblio::new method, not this one. periodt.

πŸ’€ BUGS AND LIMITATIONS πŸ’€

  • Methods returning a boolean value (has_next, exists and contains) can be used only with SOAP::Lite version 0.52 and newer (probably due to a bug in the older SOAP::Lite).
  • It does not use WSDL. πŸ™ˆ
  • More testing and debugging needed to ensure that returned citations are properly transferred even if they contain foreign characters.

πŸ“ 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. we love a supportive community 🫢

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. 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. like, give them the receipts, bestie 🧾

πŸ› 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://redmine.open-bio.org/projects/bioperl/

⭐ Authors

Martin Senger <martin.senger@gmail.com>

This software is Copyright (c) by 2002 European Bioinformatics Institute and released under the license of the same terms as the perl 5 programming language system itself.


and that's the whole page, bestie!! πŸ’… this was Bio::D...o::soap(3pm), running on perl v5.36.0, dated 2023-02-14 β€” mwah, slay, go forth and query bibliographies responsibly βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from