Author image Gabriel Horner


Fry::Lib::BioPerl - Commandline enables common tasks for sequence and alignment objects for Bio::Perl modules.


The main point of this library is to view,retrieve and create sequences and alignments. All objects created are indexed by the shell as Fry::Obj objects. See Fry::Lib::Default for commands that you can perform on these objects.

Sequence and alignment objects created are automatically named with an abbreviation followed by an incremental number ie seq1 and seq2 for sequences and aln1 and aln2 for alignments. Not all classes have unique objects. Bio::DB::GenBank only has one object and its getSeqById command assume this. This can of course be changed. Classes that have commands to create and index more than one of its objects are Bio::Seq derived classes, Bio::SimpleAlign, Bio::SeqIO and Bio::AlignIO.


To load this library read the Using Libraries subsection of Fry::Shell.

After loading this library, &_initLib will be called. This creates a Bio::SeqIO object for sequence output, a Bio::AlignIO for alignment output and reads in a sequence file to create Bio::Seq::RichSeq objects. The default sequence file assumes you're in the installation directory of a bio-perl bundle since it uses a file in t/. If any one the default actions don't work, just comment it out in &_initLib.


You should install the bioperl-1.4 bundle. Time::HiRes and the bioperl-run bundle are used by some of the commands but comment them out if you don't have them and want to try other commands.


        Note: Brief explanation of what some names mean in a command's usage:
                seq- sequence object or its Fry::Obj id
                aln- a Bio::SimpleAlign object or its Fry::Obj id
                seqio- Bio::SeqIO object or its Fry::Obj id
                alnio- a Bio::AlignIO object or its Fry::Obj id

        Constructors: Creates objects to be used by other commands

                readSeq($file,$format,$object_name): Reads a sequence file, creates a
                        Bio::SeqIO object and then creates and indexes its sequence objects.
                readAln($file,$format,$object_name): Reads an alignment file, creates a
                        Bio::AlignIO object and then creates and indexes its alignment objects.
                startClustalw(%options): Creates a
                        Bio::Tools::Run::Alignment::ClustalW object with given options.
                        Default options are specified by %clustal_params.
                startTCoffee(%options): Creates a
                        Bio::Tools::Run::Alignment::TCoffee object with given options.
                        Default options are specified by %tcoffee_params.
                startDB(%options): Creates a Bio::DB::GenBank object with given
                        options. Default options are defined by %db_genbank_params.
                alnioFormat($format): Changes format of alignment output.
                seqioFormat($format): Changes format of sequence output.

        Sequence based
                listSeqs($seqio): Displays sequence ids belonging to a file.
                writeSeq(@seq): Displays sequences via SeqIO.
                        `listSeqs seq1 seq3`
                translateSeq($seq): Translates sequence, creating new sequence object.
                revcomSeq($seq): Reverse complements sequence, creating new sequence object.
                getSeqById($id): Calls &get_Seq_by_id on a Bio::DB::GenBank object to
                        retrieve a sequence.

        General Alignment
                writeAln(@aln): Displays alignments via AlignIO.
                displayAln(@aln): Custom display of alignments.
                getAlnSeqs(@aln): Creates sequence objects from alignment objects.

        Special Alignment
                clustalAlign(@seq): Calls &align on ClustalW object, creating an alignment object.
                tcoffeeAlign(@seq): Calls &align on TCoffee object, creating an alignment object.
                compareAlign(@seq): Times alignments made by TCoffee and ClustalW and
                        displays resulting alignments.
                libCmdAttr($cmd_attribute): See a command attribute for only :BioPerl


I wrote this library for a Bioinformatics class. Since I won't to be doing any bioinformatics in the forseeable future, it's unlikely I'll add more to this library. However, since I'm very interested in making a fully featured shell, more functionality will appear in this shell to make writing commands easier. Ideally, I'd like most of these library commands to be replaced by a config file.

If you want to expand this library, send me patches. I can also pass over ownership of this module. You can also write your own library. But beware that the library and scripting APIs are still changing.


Fry::Shell, Bio::Perl


Me. Gabriel that is. I welcome feedback and bug reports to cldwalker AT chwhat DOT com . If you like using perl,linux,vim and databases to make your life easier (not lazier ;) check out my website at


Copyright (c) 2004-2005, Gabriel Horner. All rights reserved.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.