BioJulia/Bio.jl

Move file format readers and writers in separated modules.

bicycle1885 opened this issue · 5 comments

Since we've deprecated type names (e.g. FASTA) of file formats in Bio.jl 0.4, we can use these for names of submodules. For example, Bio.Seq.FASTAReader can be Bio.Seq.FASTA.Reader, which looks easier to read to me.


TODO list of this issue:

This sounds much better in terms of naming, but would there be a change for name conflicts if someone wants to import say Bio.Seq.FASTA.Reader, and Bio.Seq.FASTQ.Reader?

Oh I think I know what you mean now, FASTAReader is still called FASTAReader, it is just in the Bio.Seq.FASTA.Reader module.

No, FASTAReader will be FASTA.Reader. No conflict will happen if we don't export Reader from each module. So, actual code will look like this:

using Bio.Seq

reader = open(FASTA.Reader, "data.fasta")
# or more explicitly: open(Bio.Seq.FASTA.Reader, "data.fasta")
for record in reader
   # ...
end

This has been completed, so I will close to help clear the issues list.