A message of thanks to the Chan-Zuckerberg Initiative for funding #2423
Replies: 6 comments
|
Before working on cogent3, I’d mostly worked on solo biology projects with an “it just works” attitude toward my code. Joining the team helped me build confidence as a programmer, adopting practices like test-driven development, software design, and collaborative code review. I’ve since applied these skills to develop software, scientific pipelines, and resources for a wide range of users. These include field epidemiologists, conservation managers, and clinicians. In my current role as a bioinformatician, being part of the cogent3 team has enabled me to lead a national initiative across Australian research institutions to adopt test-driven practices in pipelines through the Workflow Commons. Good software shouldn’t only be accessible to those who build it - it should empower the scientists and professionals who rely on it. |
|
Working on the Chan–Zuckerberg Initiative has been an invaluable experience. It gave me insight into how scientific software development works. That is something my bioinformatics master’s degree did not provide. As a student, my coding was focused on analysing my own data sets. However, as those data sets grew, I found it difficult to adapt my scripts to different contexts. Working with the cogent3 and piqtree development team transformed my role from postgraduate student, teaching me to design tools that serve the broader biology community while reducing the burden on users. I have witnessed the power of integrating diverse computational biology methods in a way that remains flexible for varied research designs. This work directly benefits the community, as user needs often reflect the challenges we encounter in our own research. It would not have been possible without the team’s deep expertise in computational biology and CZI’s strategic vision in providing support. |
|
When I started on this project I was new to Biology, but had over 30 years experience of commercial software development. I recognized the software engineering methods used in the cogent3 project, such as test driven design, collaborative design, and continuous integration from the field of commercial software development. However most scientific software for Biology is often disposable brittle solutions constructed for one-off analyses, or software methods designed exclusively for narrow fields with sparse coverage of features outside their narrow field. Prior to this development a biologist working with sequences and phylogenies would have to cobble together some ad-hoc scripted solution that used both (along with the time required to master both), or choose one and accept it's limitations outside it's specialty. The Chan Zuckerberg Initiative (CZI) funded the development of infrastructure that allowed cogent3, to interoperate with other computational tools for the study of Biology. Especially in a field where scientific software is often written for one-off analyses, this kind of extensible, reusable integration is both uncommon and highly impactful. Specifically CZI directly funded the development of piqtree, a C++ module exposing core IQ-TREE functionality in a way that slots into cogent3's python based composable app framework. piqtree bridged two traditionally separate workflows, model-rich sequence analysis and high-performance phylogenetic inference. This is an example of how cross-language, cross-discipline development can unify best-in-class tools under a consistent, user-friendly interface. By funding this work, CZI didn’t just enhance individual programs, it advanced the broader goal of building interoperable, high-quality infrastructure that biologists can actually use, adapt, and build upon. There are other "best of class" software methods that deserve to be integrated within this infrastructure. CZI should be very proud of their involvement to begin this process. I hope this work continues. |
|
It has been an invaluable experience to work under the Chan Zuckerberg Initiative to develop software, in particular for piqtree and cogent3. As a young scientist, working on these projects has given me a strong hands-on experience with the different skills needed to create and maintain open-source projects. The skills I have gained through this process have ranged from designing code with a strong emphasis on future maintainability; managing Python packages (with complex C++ dependencies); developing automated tools to make the development process easier for contributors; collaborating effectively within open-source projects; designing smart and robust tests; and writing effective documentation to make using Python packages seamless for users. Learning and applying these practical skills under the Chan Zuckerberg Initiative has given me the confidence and capability needed to contribute meaningfully to the broader open-source ecosystem. I’m deeply grateful for this experience, and it will continue to shape my work and contributions for years to come. |
|
Working on the piqtree project (i.e. building a cogent3 python APIs for IQ-TREE) has been a very valuable experience for me. I have learned that developing high-quality scientific software is not only about writing correct and efficient code, but also about making the software reliable, well-documented, user-friendly, and meaningful for real biological applications. Through this project, I have experienced the full software development cycle, from idea and design to implementation, testing, debugging, extension, and writing a user manual. I also gained much experience in testing the software across different operating systems and platforms to ensure robustness. I also learned the value of teamwork. Everyone in the team had a clear role, and we worked very well together under the excellent leadership of Gavin and Minh. Their deep knowledge in both technical and biological areas contributed to the success of the project. I believe the software will make a meaningful contribution to the research community and may result in a high-impact publication. More importantly, if the tool becomes widely used, I believe it will benefit our future careers and give us a rewarding experience for having developed something that is truly useful to others in science. |
|
Being part of this Chan Zuckerberg Initiative grant has been a transformative experience for my career in science. One of my main roles on this grant was to help modernise the foundations of the core classes of cogent3. Under the guidance of the project leads, I contributed to both the design and the implementation of this new foundation. Being included in the design process taught me an immense amount about software engineering principles, like how to find the delicate balance between adopting modern coding paradigms and maintaining compatibility with an existing (and extensive) code base! Working through the implementation of this redesign has led to a phenomenal improvement in my programming ability, thanks in no small part to @GavinHuttley's diligence in reviewing every PR. Beyond the technical skills, working on this project has been decidedly important in building my confidence as a developer, something not always afforded to women in programming, and it will no doubt shape the trajectory of my career in science. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Over two years ago, the lead developers of three open source projects -- cogent3, IQ-TREE and GraphBin -- collaborated in a submission to the Chan-Zuckerberg Initiative funding for essential open source software for science.
We proposed to build linkages between these three different open source projects based on their overlap in the interrogation of genetic variation. The title of the proposal was "cogent3 python APIs for IQ-TREE and GraphBin via a plug-in architecture". The authors of that submission were myself (@GavinHuttley), Vijini Mallawaarachchi (@Vini2), Yu Lin, and Minh Bui (@bqminh). Our submission was successful 🎉.
Before I proceed further, I want to acknowledge our dear friend and colleague Yu Lin, who was deeply involved in the development of GraphBin. Before the funding for this work started, he tragically passed away. He has been deeply missed.
The nature of the proposal submitted to CZI was highly technical. It was focused on strategies we would employ to improve cross-linkages between these distinctive projects. But one of the most important outcomes of this funding is not technical. It is the transfer of knowledge and experience to the next generation of open source developers. It has been an incredible opportunity for us, the project leaders, to employ exceptionally talented young scientists and engineers to work with us on projects that are our passion.
I invite those individuals (in no particular order), @KatherineCaley, @rmcar17, @fredjaya, @khiron, @YapengLang, and @thomaskf to comment here on how they feel being involved in this project has impacted them.
All reactions