[bug 2707]
[bioperl-live.git] / README
blobfedfcd35fb1880f28054e9569e9ee205d165372b
1 # $Id$
3 This is the README file for the Bioperl central distribution.
5 o Version
7  This is Bioperl version 1.5.2 from CVS HEAD
9 o Getting Started
11  Thanks for downloading this distribution!
13  Please see the the INSTALL or INSTALL.WIN documents for installation 
14  instructions.
16  For tutorials see the Bioperl Tutorial.pl (http://www.bioperl.org/wiki/Bptutorial.pl)
17  or the HOWTO documents and tutorials online at http://bioperl.org. 
18  To look at example code browse the scripts/ and examples/ directories
20  For people starting out with Perl and Bioperl, look at the Bio::Perl
21  module (go "perldoc Bio::Perl" from within this directory). This 
22  module is designed to flatten the learning curve for newcomers.
24  For a list of OS's and versions that are known to support Bioperl see the
25  PLATFORMS file.
27  For info on Bioperl read on!
29 o About Bioperl
31  Bioperl is a package of public domain Perl tools for computational 
32  molecular biology.
34  Our website, http://bioperl.org, provides an online resource of
35  modules, scripts, and web links for developers of Perl-based software
36  for life science research.
38 o Contact info
40  Bioperl developers: bioperl-l@bioperl.org
42  There's quite a variety of tools available in Bioperl, and more are
43  added all the time. If the tool you're looking for isn't described in
44  the documentation please write us, it could be undocumented or in process.
46  Project website     : http://bioperl.org
47  Project FTP server  : bioperl.org (anonymous FTP ok)
49  Bug reports         : http://bugzilla.open-bio.org/
51  Please send us bugs, in particular about documentation which you
52  think is unclear or problems in installation. We are also very
53  interested in functions which don't work the way you think they do!
55  Please see the AUTHORS file for the complete list of bioperl
56  developers and contributors.
58 o About the directory structure
60  The bioperl directory structure is organized as follows:
62  Bio/            - Bioperl modules  
63  models/         - DIA drawing program generated OO UML for bioperl classes
64  t/              - Perl built-in tests
65  t/data/         - Data files used for the tests - provides good data
66                    examples for those new to bioinformatics data.            
67  scripts/        - Useful production-quality scripts with POD documentation 
68  examples/       - Scripts demonstrating the many uses of Bioperl
69  maintenance/    - Bioperl housekeeping scripts
71 o Documentation
73  The Bioperl Tutorial (http://www.bioperl.org/wiki/Bptutorial.pl) 
74  contains useful information for new and existing Bioperl users.
75  This file also contains a number of useful scripts that the 
76  student of Bioperl may want to examine.
78  Individual *.pm modules have their own embedded POD documentation
79  as well. A complete set of hyperlinked POD, or module, documentation 
80  is available at http://www.bioperl.org.
82  Remember that 'perldoc' is your friend. You can use it to read any
83  file containing POD formatted documentation without needing any type
84  of translator.
86  If you used the Build.PL installation, and depending on your platform,
87  you may have documentation installed as man pages, which can be
88  accessed in the usual way.
90  There is also an online course written at the Pasteur Institute. See
91  http://www.pasteur.fr/recherche/unites/sis/formation/bioperl.
93  Useful documentation in the form of example code can also be found
94  in the examples/ and scripts/ directories. The current collection 
95  includes scripts that run BLAST, index flat files, parse PDB 
96  structure files, make primers, retrieve ESTs based on tissue, align 
97  protein to nucleotide sequence, run GENSCAN on multiple sequences, 
98  and much more! See bioscripts.pod for a complete listing.
100 o Releases
101   
102  Bioperl releases are always available from the website
103  http://www.bioperl.org or by FTP from ftp://bioperl.org (note that
104  we've had trouble with our new network setup which is not allowing
105  FTP to support passive mode properly, use http://www.bioperl.org/DIST
106  to get a listing of the distribution directory).  Each release is
107  tested with the test suite and cross-tested on a number of different
108  platforms.  See the PLATFORMS file for more information on a specific
109  platform.  All efforts are made to release a bug-free package,
110  however most major bugs in a release will be documented in the BUGS
111  file. See the Changes file for a listing of what features have been
112  added or what APIs have changed between releases.
114  Bioperl now has a consistent numbering scheme to indicate stable 
115  release series vs. development release series. A release number 
116  is a three digit number like 1.2.0 - the first digit
117  indicates the major release - the idea being that all the API calls in a
118  major release are reasonably consistent. The second number is the
119  release series. This is probably the most important number. Even
120  numbers here (1.0, 1.2 etc) indicate stable releases. Stable releases
121  are well tested and recommended for most uses. Odd numbers (1.1, 1.3
122  etc) are development releases which one should only use if you are
123  interested in the latest and greatest features. The final number (e.g.
124  1.2.0, 1.2.1) is the bug fix release. The higher the number the
125  more bug fixes has been incorporated. In theory you can upgrade from one
126  bug fix release to the next with no changes to your own code (for production
127  cases, obviously check things out carefully before you switch over).
129 o Caveats, warnings, etc
131  When you run the tests ("make test") some tests may issue
132  warnings messages or even fail.  Sometimes this is because we didn't
133  have anyone to test the test system on the combination of your operating
134  system, version of perl, and associated libraries and other modules.
135  Because Bioperl depends on several outside libraries we may not be
136  able to test every single combination so if there are warnings you 
137  may find that the package is still perfectly useful.  See the 
138  PLATFORMS file for reports of specific issues.
140  If you install the bioperl-run system and run tests when you don't
141  have the program installed you'll get messages like 'program XXX not
142  found, skipping tests'.  That's okay, Bioperl is doing what it is
143  supposed to do.  If you wanted to run the program you'd need to
144  install it first.
146  Not all scripts in the examples/ directory are correct and up-to-date.
147  We need volunteers to help maintain these so if you find they do not
148  work, submit a bug report to http://bugzilla.open-bio.org and consider
149  helping out in their maintenance.
151  If you are confused about what modules are appropriate when you try
152  and solve a particular issue in bioinformatics we urge you to look at
153  the Bioperl Tutorial or the HOWTO documents first. 
155 o A simple module summary
157  Here is a quick summary of many of the useful modules and how the
158  toolkit is laid out:
160  All modules are in the Bio/ namespace, 
161  - Perl is for newbies and gives a functional interface to the main
162    parts of the package
163  - Seq is for Sequences (protein and DNA).
164    o Bio::PrimarySeq is a plain sequence (sequence data + identifiers)
165    o Bio::Seq is a PrimarySeq plus it has a Bio::Annotation::Collection 
166      and a Bio::SeqFeatureI objects attached.
167    o Bio::Seq::RichSeq is all of the above plus it has slots for
168      extra information specific to GenBank/EMBL/SwissProt files.
169    o Bio::Seq::LargeSeq is for sequences which are too big for
170      fitting into memory.
171  - SeqIO is for reading and writing Sequences, it is a front end
172    module for separate driver modules supporting the different
173    sequence formats
174  - SeqFeature - start/stop/strand annotations of sequences
175    o Bio::SeqFeature::Generic is basic catchall
176    o Bio::SeqFeature::Similarity a similarity sequence feature
177    o Bio::SeqFeature::FeaturePair a sequence feature which is pairwise
178      such as query/hit pairs
179  - SearchIO is for reading and writing pairwise alignment reports
180    like BLAST or FASTA
181  - Search is where the alignment objects are defined
182    o Bio::Search::Result::GenericResult is the result object (a blast query
183      is a Result object)
184    o Bio::Search::Hit::GenericHit is the Hit object (a query will have
185      0-> many hits in a database)
186    o Bio::Search::HSP::GenericHSP is the High-scoring Segment Pair
187      object defining the alignment(s) of the query and hit.  
188  - SimpleAlign is for multiple sequence alignments
189  - AlignIO is for reading and writing multiple sequence alignment
190    formats
191  - Assembly provides the start of an infrastructure for assemblies
192    and Assembly::IO IO converters for them
193  - DB is the namespace for all the database query objects
194    o Bio::DB::GenBank/GenPept are two modules which query NCBI entrez
195      for sequences
196    o Bio::DB::SwissProt/EMBL query various EMBL and SwissProt
197      repositories for a sequences
198    o Bio::DB::GFF is Lincoln Stein's fast, lightweight feature and
199      sequence database which is the backend to his GBrowse system 
200      (see www.gmod.org)
201    o Bio::DB::Flat is a fast implementation of the OBDA flat-file
202      indexing system (cross-language and cross-platform supported by
203      O|B|F projects see http://obda.open-bio.org).
204    o Bio::DB::BioFetch/DBFetch for OBDA, Web (HTTP) access to remote
205      databases.
206    o Bio::DB::InMemoryCache/FileCache (fast local caching of sequences
207      from remote dbs to speed up your access). 
208    o Bio::DB::Registry interface to the OBDA specification for remote 
209      data sources
210    o Bio::DB::XEMBL SOAP access to sequence databases
211    o Bio::DB::Biblio for access to remote bibliographic databases.
212  - Annotation collection of annotation objects (comments,
213    DBlinks, References, and misc key/value pairs)
214  - Coordinate is a system for mapping between different coordinate
215    systems such as DNA to protein or between assemblies.
216  - Index is for locally indexed flatfiles with BerkeleyDB
217  - Tools contains many miscellaneous parsers and function for different
218    bioinformatics needs
219    o Gene prediction parser (Genscan, MZEF, Grail, Genemark)
220    o Annotation format (GFF)
221    o simulate restriction enzyme cutting with RestrictionEnzyme
222    o Enumerate codon tables and valid sequences symbols (CodonTable, IUPAC)
223    o Phylogenetic program parsing (PAML, Molphy, Phylip)
224  - Map genetic and physical map representations
225  - Graphics render a sequence with its features or a sequence analysis
226    result.
227  - Structure - parse and represent protein structure data
228  - TreeIO is for reading and writing Tree formats
229  - Tree is the namespace for all the associated Tree objects
230    o Bio::Tree::Tree is the basic tree object
231    o Bio::Tree::Node are the nodes which make up the tree
232    o Bio::Tree::Statistics is for computing statistics for a tree
233    o Bio::Tree::TreeFunctionsI is where specific tree functions are
234      implemented (like is_monophyletic and lca)
235  - Bio::Biblio is where bibliographic data and database access objects
236    are kept
237  - Variation represent sequences with mutations and variations applied
238    so one can compare and represent wild-type and mutation versions of
239    a sequence.
240  - Root, basic objects for the internals of Bioperl
242 o Upgrading from an older version
244  If you have a previously installed version of bioperl on your system
245  some of these notes may help you.  
247  Some modules have been removed because they have been superceded by
248  new development efforts.  They are documented in the DEPRECATED file
249  that is included in the release.  In addition some methods, or the
250  Application Programming Interface (API), have changed or been
251  removed.  You may find that scripts which worked with bioperl 1.4
252  may give you warnings or may not work at all (although we have tried
253  very hard to minimize this!).  Send an email to the list and we'll be
254  happy to give you pointers.