1 of 21

Writing our first Bioconductor package as members of the CDSB community

Joselyn Chávez, Carmina Barberena Jonas, Emiliano Sotelo

2 of 21

A recap of the Community of Bioinformatics Software Developers (CDSB in Spanish)

3 of 21

4 of 21

Events held by the CDSB

Workshop 2018: Latin American R/BioConductor Developers Workshop

Workshop 2019: How to Build and Create Tidy Tools

5 of 21

What is regutools?

6 of 21

How it started?

7 of 21

What we had at this point

  • Functions
  • SQLite database

Building regutools as a package

  • Functions improvement
  • Documentation
  • Vignette
  • Tests
  • Integrated workflow

8 of 21

regutools team

Developers and Mentors

Developer Alumni

Regulondb Maintainer

9 of 21

What can you do with regutools?

  • Connect to the RegulonDB database
  • Build a new object defined as a regulondb object

10 of 21

What can you do with regutools?

  • List datasets contained in the RegulonDB database
  • List columns called attributes from the datasets

11 of 21

What can you do with regutools?

  • Retrieve and filter data

12 of 21

Importantly, the result of each function is by default a regulondb object which keeps the slots from the original object.

13 of 21

What can you do with regutools?

  • Extract and visualize regulatory networks

14 of 21

What can you do with regutools?

  • Search binding sites and retrieve them in multiple formats.

15 of 21

Things we learned

Joselyn:

  • Modifying parameters into a function implies to run and sometimes update tests.
  • Implementing Travis CI App (Thanks to Leo) makes a big difference to test code.
  • It is better to write separate functions when we expect VERY different outputs.

16 of 21

That was how these two functions born

Integration with Gviz

17 of 21

Things we learned

Emiliano:

  • Working on a coding project collaboratively using github, slack.
  • Using R developer tools: devtools::test_coverage() makes writing unit tests a game.

Carmina:

  • Writing the code it's an important part of development but it's not all!

18 of 21

The experience of submitting regutools to Bioconductor

We used guidelines to know important facts about the submitting process like:

  • There is a developers mail list.
  • How to create a SSH key to Github.

But, the experience and guide from Leonardo and Alejandro was crucial to perform the submission process and understand build reports.

19 of 21

Feedback during review process

Some fixes:

  • Keep just one maintainer.
  • Remove the .Rproj file.
  • Add the NEWS file.
  • Adjust lines length and indentation.

Good comments:

Thanks a lot Nitesh!

20 of 21

Current status of regutools

Almost done but dealing with a Warning in the R CMD check

21 of 21

Final thoughts

The development process has been very rewarding as a collaborative and learning experience.

We hope regutools will be a very useful tool for projects related with microbiological studies.