tag fourth (and hopefully last) alpha
[bioperl-live.git] / branch-1-6 / BioPerl.pod
blob8346b4049db5eafa9d6d6cdc8ccb546826bf01ae
1 =head1 NAME\r
2 \r
3 BioPerl - Perl Modules for Biology\r
4 \r
5 =head1 SYNOPSIS\r
6 \r
7 If you're new to BioPerl, you should start reading L<<a href="http://www.bioperl.org/wiki/Bptutorial">bptutorial</a>>, an\r
8 overview of the BioPerl toolkit.\r
9 \r
10 In the style of the perl documentation, core Bioperl documentation has been\r
11 split up into the following sections:\r
13 =head2 Overview\r
15 =over 3\r
17 =item *\r
19 bioperl\r
21 BioPerl overview (this document)\r
23 =item *\r
25 biodatabases\r
27 How to use databases with BioPerl\r
29 =item *\r
31 biodesign\r
33 A guide for authoring a BioPerl module\r
35 =back\r
37 =head2 Tutorials\r
39         bptutorial.pl   Bioperl tutorial for beginners\r
40         http://www.pasteur.fr/recherche/unites/sis/formation/bioperl\r
42 =head2 References for Individual Modules\r
44 For ease of maintenance and coordination amongst contributors, BioPerl\r
45 code is maintained in a modular form, as is the documentation.  Refer to\r
46 the documentation for individual modules by using perldoc, i.e.\r
48 C<perldoc Bio::Seq>\r
50 to get documentation for the Bio::Seq object.\r
52 =head1 DESCRIPTION\r
54 BioPerl is the product of a community effort to produce Perl code which is\r
55 useful in biology. Examples include Sequence objects, Alignment objects and\r
56 database searching objects. These objects not only do what they are advertised\r
57 to do in the documentation, but they also interact - Alignment objects are made\r
58 from the Sequence objects, Sequence objects have access to Annotation and\r
59 SeqFeature objects and databases, Blast objects can be converted to Alignment\r
60 objects, and so on. This means that the objects provide a coordinated and\r
61 extensible framework to do computational biology.\r
63 BioPerl development focuses on Perl classes, or code that is used to create\r
64 objects representing biological entities. There are scripts provided in the\r
65 scripts/ and examples/ directories but scripts are not the main focus of the\r
66 BioPerl developers. Of course, as the objects do most of the hard work for you,\r
67 all you have to do is combine a number of objects together sensibly to make\r
68 useful scripts.\r
70 The intent of the BioPerl development effort is to make reusable tools that aid\r
71 people in creating their own sites or job-specific applications.\r
73 The BioPerl website at http://bioperl.org also attempts to maintain links\r
74 and archives of standalone bio-related Perl tools that are not affiliated or\r
75 related to the core BioPerl effort. Check the site for useful code ideas and\r
76 contribute your own if possible.\r
78 =head1 DOCUMENTATION\r
80 The Bio::Perl module is designed to flatten the learning curve for newcomers to\r
81 Perl/Bioperl. This is a good place to start if you want some simple\r
82 functionality. We have a cookbook tutorial in bptutorial.pl which has embedded\r
83 documentation. Start there if learning-by-example suits you most, or examine the\r
84 BioPerl online course at\r
86 http://www.pasteur.fr/recherche/unites/sis/formation/bioperl\r
88 Make sure to check the documentation in the modules as well - there are over 900\r
89 modules in BioPerl, and counting, and there's detail in the modules'\r
90 documentation that will not appear in the general documentation.\r
92 =head1 INSTALLATION\r
94 The BioPerl modules are distributed as a tar file that expands into a standard\r
95 perl CPAN distribution. Detailed installation directions can be found in the\r
96 distribution INSTALL file. Installing on windows using ActiveState Perl is\r
97 covered in the INSTALL.WIN file.  We highly suggest reading the installation\r
98 instructions on the BioPerl website.\r
100 The BioPerl modules can interact with local flat file and relational databases.\r
101 To learn how to set this up, look at the biodatabases.pod documentation\r
102 ('perldoc biodatabases.pod' should work once BioPerl has been installed).\r
104 The BioPerl-db, BioPerl-run, BioPerl-gui, corba-server, BioPerl-ext,\r
105 BioPerl-pipeline, BioPerl-microarray and corba-client packages are installed\r
106 separately from BioPerl. Please refer to their respective documentation for more\r
107 information.\r
109 =head1 GETTING STARTED\r
111 A good place to start is by reading and running the cookbook script,\r
112 bptutorial.pl.\r
114 The distribution I<scripts/> directory has working scripts for use with BioPerl,\r
115 check the self-described examples/ directory as well. A list and brief\r
116 description of all these scripts is found in bioscripts.pod. You are more than\r
117 welcome to contribute your script!\r
119 If you have installed BioPerl in the standard way, as detailed in the INSTALL in\r
120 the distribution, these scripts should work by just running them. If you have\r
121 not installed it in a standard way you will have to change the 'use lib' to\r
122 point to your installation (see INSTALL for details).\r
124 =head1 GETTING INVOLVED\r
126 BioPerl is a completely open community of developers. We are not funded and we\r
127 don't have a mission statement. We encourage collaborative code, in particular\r
128 in Perl. You can help us in many different ways, from just a simple statement\r
129 about how you have used BioPerl to doing something interesting to contributing a\r
130 whole new object hierarchy. See http://bioperl.org for more information. Here\r
131 are some ways of helping us:\r
133 =head2 Asking questions and telling us you used it\r
135 We are very interested to hear how you experienced using BioPerl. Did it install\r
136 cleanly? Did you understand the documentation? Could you get the objects to do\r
137 what you wanted them to do? If BioPerl was useless we want to know why, and if\r
138 it was great - that too. Post a message to B<bioperl-l@bioperl.org>, the BioPerl\r
139 mailing list, where all the developers are.\r
141 Only by getting people's feedback do we know whether we are providing anything\r
142 useful.\r
144 =head2 Writing a script that uses it\r
146 By writing a good script that uses BioPerl you both show that BioPerl is useful\r
147 and probably save someone elsewhere writing it. If you contribute it to the\r
148 'script central' at http://bioperl.org then other people can view and use it.\r
149 Don't be nervous if you've never done this sort of work, advice is freely given\r
150 and all are welcome!\r
152 =head2 Find bugs!\r
154 We know that there are bugs in there. If you find something which you are pretty\r
155 sure is a problem, post a note to bioperl-bugs@bioperl.org and we will get on it\r
156 as soon as possible. You can also access the bug system through the web pages.\r
158 =head2 Suggest new functionality\r
160 You can suggest areas where the objects are not ideally written and could be\r
161 done better. The best way is to find the main developer of the module (each\r
162 module was written principally by one person, except for Seq.pm). Talk to him or\r
163 her and suggest changes.\r
165 =head2 Make your own objects\r
167 If you can make a useful object we will happily include it into the core.\r
168 Probably you will want to read a lot of the documentation in L<Bio::Root>, talk\r
169 to people on the BioPerl mailing list, B<bioperl-l@bioperl.org>, and read\r
170 biodesign.pod. biodesign.pod provides documentation on the conventions and ideas\r
171 used in BioPerl, it's definitely worth a read if you would like to be a BioPerl\r
172 developer.\r
174 =head2 Writing documentation\r
176 We appreciate good documentation. It's what tells the world what's in BioPerl,\r
177 it's what instructs the user, it's what describes the rationale and inner\r
178 workings of the package. Feel free to contribute.\r
180 =head1 ACKNOWLEDGEMENTS\r
182 For a more detailed history of the BioPerl project, we recommend the\r
183 History of BioPerl:\r
185 http://www.bioperl.org/wiki/History_of_BioPerl\r
187 =head1 COPYRIGHT\r
189 Copyright (c) 1996-2003 Georg Fuellen, Richard Resnick, Steven E. Brenner, Chris\r
190 Dagdigian, Steve Chervitz, Ewan Birney, James Gilbert, Elia Stupka, and others.\r
191 All Rights Reserved. This module is free software; you can redistribute it\r
192 and/or modify it under the same terms as Perl itself.\r
194 =cut\r