Skip to content

Commit 77a04c4

Browse files
committed
add S4 blurb to motivation section
1 parent ab4cdc4 commit 77a04c4

File tree

1 file changed

+20
-11
lines changed

1 file changed

+20
-11
lines changed

bioc-classes-methods.Rmd

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,26 @@
22

33
## Motivation {#bioc-common-motivation}
44

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.
1625

1726
### Use Case: Importing data {#commonimport}
1827

0 commit comments

Comments
 (0)