With modern Perl object systems, introspection of classes is really easy. You don't have to depend on the documentation (which is usually out of date, and maybe nonexistent), you can use the meta-object methods (the MOP) to introspect the class. Anyway, I'll show you how to inspect classes like those with BioPerl.
The Bio::SeqIO class you mention is really just for IO, or reading and writing, so you probably aren't interested in those methods. You probably want to know what you can do with Bio::Seq objects. Ideally, there would be documentation that lists all of the methods, but BioPerl is a large and mature project, and sometimes you find inconsistencies. In this case, Bio::Seq is very well documented (just type: "perldoc Bio::Seq"), though I'll demonstrate how to do this anyway. Here is an example to get at what is available when you load the class:
use Bio::Seq;
no strict 'refs';
print join ', ', grep { defined &{"Bio::Seq::$_"} } keys %{Bio::Seq::};
The hash %{Bio::Seq::}
is the symbol table of the Bio::Seq class and the grep
filters out non-subroutine entries (e.g. package variables). This code will tell you the class methods, but I don't think it will give you inherited methods (the code above was modified from a SO answer).
Here is the result:
$ perl biostars108123.pl
validate_seq, primary_id, new, all_SeqFeatures, add_SeqFeature, get_num_of_annotations, DESTROY, feature_count, display_name, remove_Annotations, flush_SeqFeatures, remove_SeqFeatures, desc, description, alphabet, add_Annotation, num_Annotations, primary_seq, top_SeqFeatures, is_circular, namespace, seq, flush_SeqFeature, annotation, accession, id, display_id, object_id, accession_number, subseq, get_SeqFeatures, can_call_new, authority, length, get_Annotations, species, version
Not all of those will be of interest to the general public, but most are. If you are unsure about whether your object can do "method_a" you can always test it (with eval or try/catch):
eval { $object->can('method_a') };
if ($@) { print "Nope. Can not do 'method_a'"; }
Note: "methods" is the term for what you call "keywords"