├── docs ├── MeetingNotes.md └── notesByDate │ └── 20241120.md └── README.md /docs/MeetingNotes.md: -------------------------------------------------------------------------------- 1 | 2 | # Meetings 3 | 4 | 5 | - [2024-11-21](notesByDate/20241120.md) 6 | 7 | - [WG meeting 2023-02-10](https://github.com/Bioconductor/BiocClassesWorkingGroup/issues/3) 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Bioconductor Classes and Methods Working Group 2 | 3 | - Description: Discussions arounnd Bioconductor 'official' classes and 4 | methods and how to articulate their benefits to increase their usage 5 | across the ecosystem, in particular in new contributions. Contemplation of how 6 | to integrate S7 framework. 7 | 8 | - Leads: Laurent Gatto, Michael Lawrence, Lori Shepherd 9 | - Current Members: Vince Carey, Laurent Gatto, Michael Lawrence, Marcel Ramos, 10 | Lluis Revilla, Dario Righelli, Lori Shepherd, Malte Thodberg, Tim Triche 11 | 12 | - Slack: #biocclasses 13 | 14 | The BiocClasses and Methods Working Group tackles the following 15 | questions and issues: 16 | 17 | - What are [the 'official' 18 | classes](https://contributions.bioconductor.org/important-bioconductor-package-development-features.html#commonclass)? 19 | 20 | - What is the procedure to establish a new 'official' class? 21 | 22 | - When should a new package be formed vs adding new methods or extensions to an 23 | existing class/package? How to encourage PR and they are as equally of value 24 | than a distinct package? 25 | 26 | - To what extent should these be enforced during package review? 27 | 28 | > In general, a package will not be accepted if it does not show 29 | > interoperability with the current Bioconductor ecosystem. 30 | 31 | - How do we better encourage the use of classes? 32 | 33 | - How will S7 framework integrate into the Bioconductor ecosystem. 34 | 35 | - Increase documentation for why classes are valuable, how to use popular 36 | classes, how to extend a class, intro to S7, ... 37 | 38 | To participate, feel free to open/reply to issues and join the #biocclasses slack channel. 39 | -------------------------------------------------------------------------------- /docs/notesByDate/20241120.md: -------------------------------------------------------------------------------- 1 | # Meeting summary for BiocClasses Meeting (11/20/2024) 2 | 3 | ## Quick recap 4 | 5 | The team discussed the importance of reusing existing classes in Bioconductor to avoid technical debt and facilitate collaboration, and the need for better documentation and education to encourage developers to use existing classes effectively. They also discussed the challenges faced with the 50/50 mix of resistance and willingness to adapt to new changes in their system, and the potential benefits of aligning with the tidyverse. The team agreed on the need for a recurring meeting to work on defining the Bioconductor classes and class structures, and getting solid documentation on them. 6 | 7 | ## Next steps 8 | 9 | Here are the key action items from the meeting: 10 | * Lori to create a shared Google Doc agenda for future meetings and pin it in the Slack channel. 11 | * Dario to create a poll for scheduling future monthly meetings (unless Tim has his admin Jen do it). 12 | * Michael/Laurent/Working Group to work on developing concrete documentation on Bioconductor classes and why to use them. 13 | * Working Group to explore creating a proof-of-concept showing integration of Bioconductor ecosystem with tidyverse popularity. 14 | 15 | 16 | ## Summary 17 | 18 | **Reusing Classes in Bioconductor Benefits** 19 | 20 | The team discussed the importance of reusing existing classes in Bioconductor to 21 | avoid technical debt and facilitate collaboration. They agreed on the need for 22 | better documentation and education to encourage developers to use existing 23 | classes effectively. The team also discussed the potential for extending classes 24 | and the importance of maintaining standards and avoiding coupling between 25 | packages. They concluded that a white paper outlining the benefits of using 26 | existing classes could be a useful tool for developers. 27 | 28 | 29 | **Improving Package Contribution and Education** 30 | 31 | Lorikern and Laurent discussed the need for a more streamlined process for 32 | extending and contributing to existing packages, rather than creating new 33 | ones. They suggested that contributors should receive proper recognition for 34 | their work. Michael proposed gathering data on why certain packages are not 35 | being used or are not up to standards, while Unknown Speaker 1 emphasized the 36 | need for more education and demonstration of the value of certain 37 | features. Lorikern suggested analyzing the issues raised in the issues section 38 | to develop a report. The team also discussed the challenges of working within a 39 | company versus an open source project. 40 | 41 | **Challenges With System Changes and Guidelines** 42 | 43 | Lorikern discussed the challenges faced with the 50/50 mix of resistance and 44 | willingness to adapt to new changes in their system. The team also discussed the 45 | issue of constantly changing and reformatted data, which makes it difficult to 46 | maintain. Michael and Laurent agreed with Lorikern's observations. The team then 47 | discussed the need for clearer guidelines for developers, particularly regarding 48 | the advantages of class adoption and the evolution towards S. 7. Michael 49 | suggested that S. 7 provides convenient syntax for defining methods on existing 50 | classes, which could be a no-brainer for developers to use. However, he noted 51 | that extending an S. 4 class is not yet supported, which could be a limitation 52 | for developers who want to extend someone else's class. 53 | 54 | **Improving S. 7 Safety and Guidelines** 55 | 56 | The team discussed the potential for a project or document that could be 57 | contributed to by all members, with a focus on improving the safety of using 58 | S. 7 in the bioconductor world. They considered the idea of a minimum viable 59 | product (MVP) that could serve as a milestone for making S. 7 safe to 60 | use. However, they also acknowledged that introducing another core class could 61 | be challenging. The team also discussed the possibility of refactoring an 62 | existing popular package into using S. 7 as a showcase. The idea of creating 63 | guidelines for developers on the use of existing classes was also proposed, with 64 | the aim of providing more clarity and support for those who are new to the 65 | bioconductor world. The team agreed that a more detailed and dedicated document 66 | on the class structures would be beneficial. 67 | 68 | **Aligning With Tidyverse and Object-Oriented Programming** 69 | 70 | Michael discussed the potential benefits of aligning with the tidyverse, given 71 | its widespread adoption in education. Laurent shared his experience teaching the 72 | advanced R book, noting that students found the object-oriented chapters 73 | challenging due to a lack of understanding of why such programming is 74 | useful. The team agreed on the need for a practical introduction to 75 | object-oriented programming for those without a computer science 76 | background. Loris suggested that demonstrating the practical importance of 77 | object-oriented programming could be a powerful teaching tool. The conversation 78 | also touched on the importance of reproducibility in research and the potential 79 | for humorous analogies, such as Mario's experience in Super Mario Brothers, to 80 | illustrate the challenges of working with data. 81 | 82 | **Bioconductor Classes and Documentation Meeting** 83 | 84 | In the meeting, the team discussed the need for a recurring meeting to work on 85 | two main goals: defining the Bioconductor classes and class structures, and 86 | getting solid documentation on them. They agreed to have a monthly meeting, with 87 | the possibility of extending the gap between meetings if necessary. The team 88 | also discussed the need for a directory for meeting agendas and the possibility 89 | of involving more people in the working group. They decided to put out a poll to 90 | determine the best time for the recurring meeting. The team also discussed the 91 | potential for a grant to support their work and the need for better 92 | documentation to welcome new users to the Bioconductor ecosystem. 93 | 94 | _AI-generated content may be inaccurate or misleading. Always check for accuracy._ 95 | --------------------------------------------------------------------------------