|
2 | 2 |
|
3 | 3 | ## Motivation {#bioc-common-motivation} |
4 | 4 |
|
5 | | -Bioconductor is a large and diverse project with many packages that |
6 | | -provide functionality for a wide range of biological data types and statistical |
7 | | -methods. It is, therefore, important to reuse existing data classes and methods |
8 | | -to ensure that packages are inter-operable with the rest of the _Bioconductor_ |
9 | | -ecosystem. Central data representations allow users to readily integrate |
10 | | -analysis workflows across multiple Bioconductor packages providing a more |
11 | | -seamless user experience. |
12 | | - |
13 | | -Of course, there are data that have no established representation in |
14 | | -Bioconductor, and in such cases, new classes can be developed ideally with open |
15 | | -discussion and consideration of the Bioconductor community. |
| 5 | +Bioconductor is a large and diverse project with many packages that provide |
| 6 | +functionality for a wide range of biological data types and statistical methods. |
| 7 | +It has a rich set of classes and methods that are widely used across |
| 8 | +many packages. It, therefore, is important to reuse existing data classes and |
| 9 | +methods to ensure that packages are inter-operable with the rest of the |
| 10 | +_Bioconductor_ ecosystem. Central data representations allow users to readily |
| 11 | +integrate analysis workflows across multiple Bioconductor packages providing a |
| 12 | +more seamless user experience. |
| 13 | + |
| 14 | +Many classes in Bioconductor are implemented using the S4 object-oriented |
| 15 | +system in R. The S4 system is particularly well-suited for the representation |
| 16 | +of complex genomic data structures and the initial motivations to use S4 in |
| 17 | +Bioconductor were centered around its benefits over other systems such as S3. |
| 18 | +These benefits include, but are not limited to, formal class definitions, |
| 19 | +multiple inheritance, and validity checking. |
| 20 | + |
| 21 | +Although Bioconductor promotes the re-use of existing S4 classes to represent |
| 22 | +genomic data, there are cases where new classes are needed for cutting-edge |
| 23 | +technologies. In such cases, new classes should be developed, ideally, with |
| 24 | +open discussion and consideration of the Bioconductor community. |
16 | 25 |
|
17 | 26 | ### Use Case: Importing data {#commonimport} |
18 | 27 |
|
|
0 commit comments