Skip to content

maize-genetics/BioKotlin

Repository files navigation

README

BioKotlin is in the early stages of development, but we expect to support nucleotide and protein sequence manipulation, fast sequence IO, alignment, motif, pathway support.

BioKotlin leverages the performance and type safety of the JVM languages with ease of Python like scripting. Because the Kotlin language is compiled on the fly it can be thousands of times faster for certain applications than scripting languages. Because it uses the JVM, we expect high interoperability with GATK, SamTools HTSJDK, BioJava, TASSEL for GWAS and Genome Wide Prediction, and the PHG - the pangenome representation. Additionally, since we have mimicked the beautiful API of BioPython, we expect fast and efficient interoperability with BioPython through GraalVM.

We expect to have extensive cross language support with the use of GraalVM's support of JVM, Python, and R (FastR).

You can follow our current progress at our Trello Board

What is this repository for?

  • This is the main repository for BioKotlin development
  • We follow a Git-Flow branching structure
  • Since we are in early development, most of the code is in the develop and associated branches

How do I get set up?

  • Configuration for a User

    • JupyterLab with Kotlin
  • Configuration for a Power User (or Developer)

    • IntelliJ with Kotlin support
    • JupyterLab with Kotlin
  • Dependencies

  • How to run tests

  • Deployment instructions

Contribution guidelines

  • Writing tests
  • Code review
  • Other guidelines

Who do I talk to?

ToDo

  1. Making the
  2. Interop between languages using GraalVM