Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Decide how to separate modules #17

Open
magicDGS opened this issue Jul 19, 2018 · 4 comments
Open

Decide how to separate modules #17

magicDGS opened this issue Jul 19, 2018 · 4 comments

Comments

@magicDGS
Copy link
Member

First proposal, taking the last commont of @tfenne in samtools/htsjdk#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 VCFs

Is this ok for you, @samtools/htsjdk-next-maintainers?

We should also decide for the naming scheme:

Maven artifactId Folder name Package name
htsjdk-module htsjdk-module org.htsjdk.htsjdk_module
htsjdk-module htsjdk-module org.htsjdk.module
module module org.htsjdk.module
@lbergelson
Copy link
Member

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

@magicDGS
Copy link
Member Author

Let's go for that one if @tfenne and @jacarey agree!

@magicDGS
Copy link
Member Author

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?

@lbergelson
Copy link
Member

I'm not sure exactly how finely we want to subdivide things, maybe it makes sense to leave sam/vcf/fasta in core.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants