PageRenderTime 45ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/en/chr21.rst

https://gitlab.com/freedmpure/Biopython-cn
ReStructuredText | 185 lines | 146 code | 39 blank | 0 comment | 0 complexity | 3c7c94764a7703067ff1ff5840b66806 MD5 | raw file
  1. Chapter 21 Where to go from here contributing to Biopython
  2. =============================================================
  3. 21.1 Bug Reports + Feature Requests
  4. ------------------------------------
  5. Getting feedback on the Biopython modules is very important to us.
  6. Open-source projects like this benefit greatly from feedback,
  7. bug-reports (and patches!) from a wide variety of contributors.
  8. The main forums for discussing feature requests and potential bugs are
  9. the `Biopython mailing
  10. lists <http://biopython.org/wiki/Mailing_lists>`__:
  11. - `biopython@biopython.org <mailto:biopython@biopython.org>`__ An
  12. unmoderated list for discussion of anything to do with Biopython.
  13. - `biopython-dev@biopython.org <mailto:biopython-dev@biopython.org>`__
  14. A more development oriented list that is mainly used by developers
  15. (but anyone is free to contribute!).
  16. Additionally, if you think youve found a bug, you can submit it to our
  17. bug-tracking page at
  18. `http://redmine.open-bio.org/projects/biopython <http://redmine.open-bio.org/projects/biopython>`__.
  19. This way, it wont get buried in anyones Inbox and forgotten about.
  20. 21.2 Mailing lists and helping newcomers
  21. -----------------------------------------
  22. We encourage all our uses to sign up to the main Biopython mailing list.
  23. Once youve got the hang of an area of Biopython, wed encourage you to
  24. help answer questions from beginners. After all, you were a beginner
  25. once.
  26. 21.3 Contributing Documentation
  27. --------------------------------
  28. Were happy to take feedback or contributions - either via a bug-report
  29. or on the Mailing List. While reading this tutorial, perhaps you noticed
  30. some topics you were interested in which were missing, or not clearly
  31. explained. There is also Biopythons built in documentation (the
  32. docstrings, these are also
  33. `online <http://biopython.org/DIST/docs/api>`__), where again, you may
  34. be able to help fill in any blanks.
  35. 21.4 Contributing cookbook examples
  36. ------------------------------------
  37. As explained in Chapter \ `18 <#chapter:cookbook>`__, Biopython now has
  38. a wiki collection of user contributed cookbook examples,
  39. `http://biopython.org/wiki/Category:Cookbook <http://biopython.org/wiki/Category:Cookbook>`__
  40. maybe you can add to this?
  41. 21.5 Maintaining a distribution for a platform
  42. -----------------------------------------------
  43. We currently provide source code archives (suitable for any OS, if you
  44. have the right build tools installed), and Windows Installers which are
  45. just click and run. This covers all the major operating systems.
  46. Most major Linux distributions have volunteers who take these source
  47. code releases, and compile them into packages for Linux users to easily
  48. install (taking care of dependencies etc). This is really great and we
  49. are of course very grateful. If you would like to contribute to this
  50. work, please find out more about how your Linux distribution handles
  51. this.
  52. Below are some tips for certain platforms to maybe get people started
  53. with helping out:
  54. **Windows**
  55. Windows products typically have a nice graphical installer that
  56. installs all of the essential components in the right place. We use
  57. Distutils to create a installer of this type fairly easily.
  58. You must first make sure you have a C compiler on your Windows
  59. computer, and that you can compile and install things (this is the
  60. hard bit - see the Biopython installation instructions for info on
  61. how to do this).
  62. Once you are setup with a C compiler, making the installer just
  63. requires doing:
  64. .. code:: python
  65. python setup.py bdist_wininst
  66. Now youve got a Windows installer. Congrats! At the moment we have
  67. no trouble shipping installers built on 32 bit windows. If anyone
  68. would like to look into supporting 64 bit Windows that would be
  69. great.
  70. **RPMs**
  71. RPMs are pretty popular package systems on some Linux platforms.
  72. There is lots of documentation on RPMs available at
  73. `http://www.rpm.org <http://www.rpm.org>`__ to help you get
  74. started with them. To create an RPM for your platform is really
  75. easy. You just need to be able to build the package from source
  76. (having a C compiler that works is thus essential) see the
  77. Biopython installation instructions for more info on this.
  78. To make the RPM, you just need to do:
  79. .. code:: python
  80. python setup.py bdist_rpm
  81. This will create an RPM for your specific platform and a source RPM
  82. in the directory ``dist``. This RPM should be good and ready to go,
  83. so this is all you need to do! Nice and easy.
  84. **Macintosh**
  85. Since Apple moved to Mac OS X, things have become much easier on
  86. the Mac. We generally treat it as just another Unix variant, and
  87. installing Biopython from source is just as easy as on Linux. The
  88. easiest way to get all the GCC compilers etc installed is to install
  89. Apples X-Code. We might be able to provide click and run installers
  90. for Mac OS X, but to date there hasnt been any demand.
  91. Once youve got a package, please test it on your system to make sure it
  92. installs everything in a good way and seems to work properly. Once you
  93. feel good about it, send it off to one of the Biopython developers
  94. (write to our main mailing list at biopython@biopython.org if youre not
  95. sure who to send it to) and youve done it. Thanks!
  96. 21.6 Contributing Unit Tests
  97. -----------------------------
  98. Even if you dont have any new functionality to add to Biopython, but
  99. you want to write some code, please consider extending our unit test
  100. coverage. Weve devoted all of Chapter \ `19 <#sec:regr_test>`__ to this
  101. topic.
  102. 21.7 Contributing Code
  103. -----------------------
  104. There are no barriers to joining Biopython code development other than
  105. an interest in creating biology-related code in Python. The best place
  106. to express an interest is on the Biopython mailing lists just let us
  107. know you are interested in coding and what kind of stuff you want to
  108. work on. Normally, we try to have some discussion on modules before
  109. coding them, since that helps generate good ideas then just feel free
  110. to jump right in and start coding!
  111. The main Biopython release tries to be fairly uniform and interworkable,
  112. to make it easier for users. You can read about some of (fairly
  113. informal) coding style guidelines we try to use in Biopython in the
  114. contributing documentation at
  115. `http://biopython.org/wiki/Contributing <http://biopython.org/wiki/Contributing>`__.
  116. We also try to add code to the distribution along with tests (see
  117. Chapter \ `19 <#sec:regr_test>`__ for more info on the regression
  118. testing framework) and documentation, so that everything can stay as
  119. workable and well documented as possible (including docstrings). This
  120. is, of course, the most ideal situation, under many situations youll be
  121. able to find other people on the list who will be willing to help add
  122. documentation or more tests for your code once you make it available.
  123. So, to end this paragraph like the last, feel free to start working!
  124. Please note that to make a code contribution you must have the legal
  125. right to contribute it and license it under the Biopython license. If
  126. you wrote it all yourself, and it is not based on any other code, this
  127. shouldnt be a problem. However, there are issues if you want to
  128. contribute a derivative work - for example something based on GPL or
  129. LPGL licenced code would not be compatible with our license. If you have
  130. any queries on this, please discuss the issue on the biopython-dev
  131. mailing list.
  132. Another point of concern for any additions to Biopython regards any
  133. build time or run time dependencies. Generally speaking, writing code to
  134. interact with a standalone tool (like BLAST, EMBOSS or ClustalW) doesnt
  135. present a big problem. However, any dependency on another library - even
  136. a Python library (especially one needed in order to compile and install
  137. Biopython like NumPy) would need further discussion.
  138. Additionally, if you have code that you dont think fits in the
  139. distribution, but that you want to make available, we maintain Script
  140. Central
  141. (`http://biopython.org/wiki/Scriptcentral <http://biopython.org/wiki/Scriptcentral>`__)
  142. which has pointers to freely available code in Python for
  143. bioinformatics.
  144. Hopefully this documentation has got you excited enough about Biopython
  145. to try it out (and most importantly, contribute!). Thanks for reading
  146. all the way through!