Open magicDGS opened 6 years ago
I think might actually split sam/bam out of core and have core be JUST be the API and the machinery for loading plugins.
I would advocate for:
Maven artifactId | Folder name | Package name |
---|---|---|
htsjdk-module |
module |
org.htsjdk.module |
Let's go for that one if @tfenne and @jacarey agree!
By the way - if we split a sam/bam out of core, we should also split vcf (and maybe other locatable implementations). Is that ok for you? And where the FASTQ will live (sam/bam, or a new module), if we opt to implement as a Read
?
I'm not sure exactly how finely we want to subdivide things, maybe it makes sense to leave sam/vcf/fasta in core.
First proposal, taking the last commont of @tfenne in https://github.com/samtools/htsjdk/issues/896:
htsjdk-core
: common code, interface/api definitions for things and then the implementations of most things that don't include significant dependencies. Suppor for SAM/BAM, VCF.htsjdk-cram
: support for CRAM (requires a lot of external libraries)htsjdk-sra
: support for SRA (requires the ngs-java, which downloads native libraries)htsjdk-jexl
: for expressions, because it is not a core dependency for just reading/writing VCFsIs this ok for you, @samtools/htsjdk-next-maintainers?
We should also decide for the naming scheme:
module
module
module
module
module
module
module
module
module