TileDB-Inc / TileDB-VCF

Efficient variant-call data storage and retrieval library using the TileDB storage library.
https://tiledb-inc.github.io/TileDB-VCF/
MIT License
83 stars 13 forks source link

Java API: Request to support loading Mac-ARM libraries #664

Open pjbradbury opened 4 months ago

pjbradbury commented 4 months ago

Our group is developing software, PHG (Practical Haplotype Graph, https://github.com/maize-genetics/phg_v2), that makes use of TileDB-VCF to store VCF files. Our own code is written using Kotlin, a popular Java replacement, which can call Java code seamlessly. We want plan to use the TileDB-VCF Java interface to read from the database and the CLI to write, since the Java interface does not support writing. We have written and tested code to access the tiledb database using the api and have that working. Some calls we need (sample names and headers) use the TileDB library, so we need to use both. Also, we want to support Linux, Mac-Intel, and Mac-ARM. We plan to combine the TileDB-Java and TileDB-VCF jar files to avoid distributing two copies of the tiledb shared library, which is rather big. (We have tested combining them and it works fine). We have noticed that there is a TileDB-Java jar file on maven central that contains libraries for Linux, Mac-Intel, Mac-ARM, and Windows. This leads to the following questions: (1) Are there plans to port the native library loader from TileDB-Java to the TileDB-VCF Java api to support automatically loading Mac-ARM libraries from the jar file? (2) If not, would you like us to port that code and contribute the change to your project? (3) We would put any jars that we build (such as a combined TileDB-Java:TileDB-VCF jar) in the Maven central net.maizegenetics group. Do have any issues with that? (Our distribution plans are preliminary and could change.)

gspowley commented 4 months ago

Thank you @pjbradbury, glad to see the PHG project is successfully using TileDB-VCF!

Porting the Java native library loader is not a high priority for us right now. We would be happy for your team to contribute the required changes to TileDB-VCF. We do not have any issues with you distributing TileDB jars in your project jar.

Please let us know if you have any questions and feel free to submit a PR.