|
5 | 5 | Bioconductor is a large and diverse project with many packages that provide |
6 | 6 | functionality for a wide range of biological data types and statistical methods. |
7 | 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 |
| 8 | +many packages. It is, therefore, important to reuse existing data classes and |
9 | 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. |
| 10 | +_Bioconductor_ software ecosystem. Central data representations allow users to |
| 11 | +readily integrate analysis workflows across multiple Bioconductor packages |
| 12 | +providing a more seamless user experience. |
13 | 13 |
|
14 | 14 | Many classes in Bioconductor are implemented using the S4 object-oriented |
15 | 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 |
| 16 | +of complex genomic data structures. The initial motivations to use S4 in |
17 | 17 | Bioconductor were centered around its benefits over other systems such as S3. |
18 | 18 | These benefits include, but are not limited to, formal class definitions, |
19 | 19 | multiple inheritance, and validity checking. |
@@ -41,12 +41,12 @@ commonly used packages and their methods to import various data types: |
41 | 41 | This list is not exhaustive, and developers are encouraged to initiate dialogue |
42 | 42 | with other community members to identify additional packages and methods that |
43 | 43 | may be useful for their specific use case. We acknowledge that class and method |
44 | | -discover-ability can be a challenge and we are working to improve this aspect of |
| 44 | +discoverability can be a challenge and we are working to improve this aspect of |
45 | 45 | the Bioconductor project. |
46 | 46 |
|
47 | 47 | ### Common Classes {#commonclass} |
48 | 48 |
|
49 | | -The following list, though not exhaustive, provides select classes and |
| 49 | +The following list, though certainly not exhaustive, provides select classes and |
50 | 50 | constructor functions to represent genomic data: |
51 | 51 |
|
52 | 52 | + Rectangular feature x sample data -- |
@@ -75,32 +75,24 @@ package. |
75 | 75 |
|
76 | 76 | ## Package Submission Considerations |
77 | 77 |
|
78 | | -Bioconductor strives for interoperability across packages. To ensure this, we |
79 | | -strongly encourage that package submissions reuse existing Bioconductor classes |
80 | | -and methods. Packages that do not follow this guideline may be asked to revise |
| 78 | +Bioconductor strives for interoperability across packages and strongly |
| 79 | +encourages that package submissions reuse existing Bioconductor classes and |
| 80 | +methods. Packages that do not follow this guideline may be asked to revise |
81 | 81 | their code to use existing classes and methods. |
82 | 82 |
|
83 | 83 | In the case where the data does not conform to an existing data class, |
84 | 84 | we recommend discussing the design of a new class with the Bioconductor |
85 | 85 | community. The open discussion can take place on main Bioconductor communication |
86 | 86 | channels such as the [bioc-devel][bioc-devel-mail] mailing list, or the |
87 | | -Bioconductor slack. |
| 87 | +Bioconductor community slack. |
88 | 88 |
|
89 | 89 | ## Package Implementations |
90 | 90 |
|
91 | | -The following packages are examples of packages that have reused Bioconductor |
92 | | -classes and methods: |
93 | | - |
94 | | -+ `r BiocStyle::Biocpkg("DESeq2")` -- |
95 | | - Uses `r BiocStyle::Biocpkg("SummarizedExperiment")` and |
96 | | - `r BiocStyle::Biocpkg("GenomicRanges")` |
97 | | -+ `r BiocStyle::Biocpkg("GenomicAlignments")` -- |
98 | | - Uses `r BiocStyle::Biocpkg("GenomicRanges")` and |
99 | | - `r BiocStyle::Biocpkg("Rsamtools")` |
100 | | -+ `r BiocStyle::Biocpkg("VariantAnnotation")` -- |
101 | | - Uses `r BiocStyle::Biocpkg("GenomicRanges")`, |
102 | | - `r BiocStyle::Biocpkg("SummarizedExperiment")`, and |
103 | | - `r BiocStyle::Biocpkg("Rsamtools")` classes. |
104 | | - |
105 | | - |
106 | | - |
| 91 | +The following packages are examples of packages that reuse Bioconductor classes |
| 92 | +and methods: |
| 93 | + |
| 94 | +| package | inherits classes and methods from: | |
| 95 | +|---|---| |
| 96 | +| `r BiocStyle::Biocpkg("DESeq2")` | `r BiocStyle::Biocpkg("SummarizedExperiment")`, `r BiocStyle::Biocpkg("GenomicRanges")` | |
| 97 | +| `r BiocStyle::Biocpkg("GenomicAlignments")` | `r BiocStyle::Biocpkg("GenomicRanges")`, `r BiocStyle::Biocpkg("Rsamtools")` | |
| 98 | +| `r BiocStyle::Biocpkg("VariantAnnotation")` | `r BiocStyle::Biocpkg("GenomicRanges")`, `r BiocStyle::Biocpkg("SummarizedExperiment")`, `r BiocStyle::Biocpkg("Rsamtools")` | |
0 commit comments