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

Ensure bam->cram->bam roundtripping is completely lossless #483

Open
cmnbroad opened this issue Feb 18, 2016 · 4 comments
Open

Ensure bam->cram->bam roundtripping is completely lossless #483

cmnbroad opened this issue Feb 18, 2016 · 4 comments
Labels

Comments

@cmnbroad
Copy link
Collaborator

This is related to #455, but we also need to add tests to verify this in general. Specifically, we need to ensure that the NM tag is regenerated using the same algorithm used by Picard. It looks like the CRAM code is using SequenceUtils.calculateMdAndNmTags (with restoreMD set to false), whereas it looks like Picard is using SequenceUtils.calculateSamNmTag. Need to verify this.

@yfarjoun
Copy link
Contributor

currently Picard's SamFormatConverter doesn't generate a PIcard-valid sam since the NM tag is missing.

@cmnbroad
Copy link
Collaborator Author

cmnbroad commented Oct 7, 2016

@yfarjoun Do you have more context for this SamFormatConverter issue ? It looks to me like Picard is just delegating to htsjdk to do the conversion, so (with the changes we made in #487) it should be restoring whatever NM tag value was there when the file was originally converted to CRAM.

@yfarjoun
Copy link
Contributor

yfarjoun commented Oct 7, 2016

OK. perhaps it is now working.

@cmnbroad
Copy link
Collaborator Author

cmnbroad commented Oct 7, 2016

Remaining known issues:

#499 (unsigned attributes)
#713 (cigar element transformations)
#714 (lossy values for unmapped reads)
#509 (legacy issue that only affects version 2.1 CRAMs created with old htsjdk code)

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

No branches or pull requests

2 participants