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

Multiple encodings for ReadDatastores #12

Merged
merged 2 commits into from
Feb 28, 2020
Merged

Conversation

TransGirlCodes
Copy link
Member

@TransGirlCodes TransGirlCodes commented Feb 21, 2020

Types of changes

This PR implements the following changes:
(Please tick any or all of the following that are applicable)

  • ✨ New feature (A non-breaking change which adds functionality).
  • 🐛 Bug fix (A non-breaking change, which fixes an issue).
  • 💥 Breaking change (fix or feature that would cause existing functionality to change).

📋 Additional detail

In v0.1, all ReadDatastores only support the storage of LongSequence{DNAAlphabet{4}}.

This pull request allows you to also have datastores of LongSequence{DNAAlphabet{2}}.

Some additional improvements are also implemented. For example, the buffering behaviour when streaming sequences from a datastore has been improved:

Previously, a bug meant buffers were refreshed a long time before they needed to be.

In addition, an arbitrary chunk size option was used which HAD to be bigger than the largest long read in a datastore or else there would be a crash.
With this PR, a buffered long read datastore will resize the buffer when it needs to load a sequence that is bigger than the buffer. For ShortRead datastores, such a buffer size check and resizing only needs to be done once at creation.

☑️ Checklist

  • 🎨 The changes implemented is consistent with the julia style guide.
  • 📘 I have updated and added relevant docstrings, in a manner consistent with the documentation styleguide.
  • 📘 I have added or updated relevant user and developer manuals/documentation in docs/src/.
  • 🆗 There are unit tests that cover the code changes I have made.
  • 🆗 The unit tests cover my code changes AND they pass.
  • 📝 I have added an entry to the [UNRELEASED] section of the manually curated CHANGELOG.md file for this repository.
  • 🆗 All changes should be compatible with the latest stable version of Julia.
  • 💭 I have commented liberally for any complex pieces of internal code.

@TransGirlCodes TransGirlCodes added the enhancement New feature or request label Feb 21, 2020
@TransGirlCodes TransGirlCodes self-assigned this Feb 21, 2020
@TransGirlCodes TransGirlCodes added this to In progress in Genome Assembly with Julia via automation Feb 21, 2020
@codecov
Copy link

codecov bot commented Feb 21, 2020

Codecov Report

Merging #12 into master will decrease coverage by 1.03%.
The diff coverage is 94.92%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #12      +/-   ##
==========================================
- Coverage   94.24%   93.21%   -1.04%     
==========================================
  Files           5        6       +1     
  Lines         365      398      +33     
==========================================
+ Hits          344      371      +27     
- Misses         21       27       +6
Impacted Files Coverage Δ
src/linked-reads.jl 97.58% <100%> (ø) ⬆️
src/paired-reads.jl 94.28% <100%> (-2.86%) ⬇️
src/ReadDatastores.jl 88.57% <100%> (-2.92%) ⬇️
src/long-reads.jl 89.04% <100%> (+1.94%) ⬆️
src/sequence-buffer.jl 91.56% <91.42%> (-1.99%) ⬇️
src/short-reads.jl 92.3% <92.3%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ad0de83...9629027. Read the comment docs.

@TransGirlCodes TransGirlCodes force-pushed the benjward/SRDS branch 3 times, most recently from d0ad5ae to ea3d9b3 Compare February 26, 2020 16:38
@codecov
Copy link

codecov bot commented Feb 27, 2020

Codecov Report

Merging #12 into master will decrease coverage by 1.03%.
The diff coverage is 94.92%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #12      +/-   ##
==========================================
- Coverage   94.24%   93.21%   -1.04%     
==========================================
  Files           5        6       +1     
  Lines         365      398      +33     
==========================================
+ Hits          344      371      +27     
- Misses         21       27       +6
Impacted Files Coverage Δ
src/linked-reads.jl 97.58% <100%> (ø) ⬆️
src/paired-reads.jl 94.28% <100%> (-2.86%) ⬇️
src/ReadDatastores.jl 88.57% <100%> (-2.92%) ⬇️
src/long-reads.jl 89.04% <100%> (+1.94%) ⬆️
src/sequence-buffer.jl 91.56% <91.42%> (-1.99%) ⬇️
src/short-reads.jl 92.3% <92.3%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ad0de83...9629027. Read the comment docs.

@codecov
Copy link

codecov bot commented Feb 27, 2020

Codecov Report

Merging #12 into master will decrease coverage by 1.03%.
The diff coverage is 94.92%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #12      +/-   ##
==========================================
- Coverage   94.24%   93.21%   -1.04%     
==========================================
  Files           5        6       +1     
  Lines         365      398      +33     
==========================================
+ Hits          344      371      +27     
- Misses         21       27       +6
Impacted Files Coverage Δ
src/linked-reads.jl 97.58% <100%> (ø) ⬆️
src/paired-reads.jl 94.28% <100%> (-2.86%) ⬇️
src/ReadDatastores.jl 88.57% <100%> (-2.92%) ⬇️
src/long-reads.jl 89.04% <100%> (+1.94%) ⬆️
src/sequence-buffer.jl 91.56% <91.42%> (-1.99%) ⬇️
src/short-reads.jl 92.3% <92.3%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ad0de83...ae6fbc7. Read the comment docs.

Fixup sequence buffer creation


Add inline statements


typo


Tests edit


Test 2 bit lrseq


Add size check to buffered short read datastore creation


Fixup sequence buffer


Update tests


Fixup sequence buffer


Fixup tests


Add resize test to long reads


Push preview


Fixup docs


Docs fixup


Docs fixup


Doctest fixup


Doctests fixup


Doctest fixup


Doctest fixup


pwd doctests


Fixup doctests


Doctest fixup


Fixup doctests


Doctests fixup


Fixup doctests


Doctest fixup


Docs edit


Export max_read_length


Export stream
@TransGirlCodes TransGirlCodes merged commit 66367d6 into master Feb 28, 2020
Genome Assembly with Julia automation moved this from In progress to Done Feb 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Development

Successfully merging this pull request may close these issues.

None yet

1 participant