Permalink
...
Comparing changes
Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also .
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Choose a Base Repository
samtools/htsjdk
AlexanderSenf/htsjdk
AlexanderVeselov/htsjdk
AlexanderVi/htsjdk
AlpenDitrix/htsjdk
AndreSchumacher/htsjdk
AnomeGAP/htsjdk
BGI-flexlab/htsjdk
BeatWolf/htsjdk
DevFactory/htsjdk
EduardoCandeal/htsjdk
EgorBobrov/htsjdk
EpamLifeSciencesTeam/htsjdk
Evegen55/htsjdk
GuttmanLab/htsjdk
HadoopGenomics/htsjdk
IamAfli/htsjdk
Intel-HSS/htsjdk
JeShiuHuang/htsjdk
JonasGiek/htsjdk
Kentalot/htsjdk
KolesovAlexandr/htsjdk.original
Lenbok/htsjdk
Leo-Scream/htsjdk
MicrosoftGenomics/htsjdk
NovelBioCloud/htsjdk
RS-BIO/htsjdk
Razorr1996/htsjdk
SHuang-Broad/htsjdk
SilinPavel/htsjdk
SvichkarevAnatoly/htsjdk
ThordurKristjansson/htsjdk
Tmacme/htsjdk
WhiteSymmetry/htsjdk
YanushAleks/htsjdk
ZLyanov/htsjdk
a-nikitiuk/htsjdk
alenzhao/htsjdk
allenday/htsjdk
amilamanoj/htsjdk
ashwinkalbhor/htsjdk
austindoupnik/htsjdk
azymer/htsjdk
baradist/htsjdk
bayolau/htsjdk
bbimber/htsjdk
bfulton/htsjdk
binalabs/htsjdk
bkenn/htsjdk
bpow/htsjdk
brendanofallon/htsjdk
broadinstitute/htsjdk
callsobing/htsjdk
chendijun2010/htsjdk
christear/htsjdk
cmnbroad/htsjdk
cwhelan/htsjdk
d-cameron/htsjdk
delocalizer/htsjdk
dfsurdyk/htsjdk
dmyersturnbull/htsjdk
dnikolaeva/htsjdk
edwardkw/htsjdk
eitanbanks/htsjdk
epeck/htsjdk
espre05/htsjdk
evolvedmicrobe/htsjdk
fjolidon/htsjdk
fnothaft/htsjdk
genestack/htsjdk
georgetzavelas/htsjdk
gitter-badger/htsjdk
gotolino/htsjdk
gsc0107/htsjdk
gspowley/htsjdk
heuermh/htsjdk
hwangy/htsjdk
iliat/htsjdk
jakeakopp/htsjdk
james-d/htsjdk
jamesemery/htsjdk
jean-philippe-martin/htsjdk
jessicacambry/htsjdk
jimclauwaert/htsjdk
jmafofo/htsjdk
jmarshall/htsjdk
jmchung/htsjdk
jn7163/htsjdk
johnwallace123/htsjdk
jpritt/htsjdk
jsilter/htsjdk
k-i-t-e/htsjdk
kasont/htsjdk
kcibul/htsjdk
labkey-bpatel/htsjdk
laserson/htsjdk
lbergelson/htsjdk
lequynhnhu/htsjdk
lessc0de/htsjdk
lh3/htsjdk
limbus-medtec/htsjdk
lindenb/htsjdk
lletourn/htsjdk
lvaruzza/htsjdk
lybird300/htsjdk
maarten-k/htsjdk
magicDGS/htsjdk
marc-flesch/htsjdk
mbreese/htsjdk
meganshand/htsjdk
melonistic/htsjdk
melop/htsjdk
mnter/htsjdk
monkollek/htsjdk
mp15/htsjdk
mremmert/htsjdk
mrferreira/htsjdk
nagyist/htsjdk
nagyistoce/htsjdk
nathanhaigh/htsjdk
nebiolabs/htsjdk
nh13/htsjdk
nikolaikopernik/htsjdk
nirmalyab/htsjdk
nkarulin/htsjdk
nnordborg/htsjdk
noamBarkai/htsjdk
pabarcgar/htsjdk
pamelarussell/htsjdk
pdexheimer/htsjdk
pfxuan/htsjdk
pityka/htsjdk
pryvkingh/htsjdk
ramzanzan/htsjdk
readbio/htsjdk
rithy8/htsjdk
ronlevine/htsjdk
ryan-williams/htsjdk
s70c3/htsjdk
saarwexler/htsjdk
shenkers/htsjdk
skashin/htsjdk
sonicyyouth/htsjdk
sooheelee/htsjdk
superbobry/htsjdk
tomwhite/htsjdk
twelvesummer/htsjdk-cram
typekpb/htsjdk
u4s5/htsjdk
vadimzalunin/htsjdk
vdanjean/htsjdk
vreuter/htsjdk
wanggl2017/htsjdk
wangwl/htsjdk
weincody/htsjdk
yfarjoun/htsjdk
zengfengbo/htsjdk
zyywmy/htsjdk
Nothing to show
Choose a base branch
1.4.1
CRAM_lossless_roundtrip
SAMRecordDuplicateComparator_make_methods_accessible
ab_tabix_index_on_bgzip
ak_asyncTribbleCloseThreads
ak_makeTribbleReadingSynchronous
ak_revup_dependencies
bcmaster
bt_sam_record_filters
compression-level
cram_ambiguity_bases_fix
cram_compression_improvements
cram_multiref_roundtrip_fixes
dr_fix_travis_exit_status
eb_breakout_extensions
fix_file_extension_checks_in_makeSAMOrBAMwriter_and_makeWriter
gg_RemoveInvalidCharacterFromComment
gh-pages
jc_buffered_writing
lb_asynch_iterator_for_yossi
lb_cleanup_sorting_code
lb_move_SimpleInterval_methods_to_locatable
lb_remove_release_picard_script
lb_switch_to_codecov
master
nh_cache_representative_in_duplicate_set
nh_dangling_cram_test
nh_flag_fields_format_now_with_tests
nh_pub_reg2bin
nh_vcf_double
revert-473-ak_jacoco
revert-631-ak_histogram
rhl_gt_has_any_attribute_920
rhl_handle_stdin
rhl_liftover_max_overlap_924
rhl_tabix_read_bad_coord_908
tf_cleanup_read_beans
tf_samrecord_better_flag_methods
tf_sort_query_hash
tf_upgrade_snappy
tf_validate_read_length_vs_insert_size
tf_vcb_attributes
vrr_vc_attr_as_list
vrr_vcf_query_locatable
yf_add_tests
yf_add_unknown_SO
yf_fix_NPE_in_md5OutputStream
yf_intel_unittest
yf_make_codecov_less_sensitive
yf_make_get_header_possible_from_cram_with_no_reference
yf_make_star_allele_symbolic
Nothing to show
Choose a Head Repository
samtools/htsjdk
AlexanderSenf/htsjdk
AlexanderVeselov/htsjdk
AlexanderVi/htsjdk
AlpenDitrix/htsjdk
AndreSchumacher/htsjdk
AnomeGAP/htsjdk
BGI-flexlab/htsjdk
BeatWolf/htsjdk
DevFactory/htsjdk
EduardoCandeal/htsjdk
EgorBobrov/htsjdk
EpamLifeSciencesTeam/htsjdk
Evegen55/htsjdk
GuttmanLab/htsjdk
HadoopGenomics/htsjdk
IamAfli/htsjdk
Intel-HSS/htsjdk
JeShiuHuang/htsjdk
JonasGiek/htsjdk
Kentalot/htsjdk
KolesovAlexandr/htsjdk.original
Lenbok/htsjdk
Leo-Scream/htsjdk
MicrosoftGenomics/htsjdk
NovelBioCloud/htsjdk
RS-BIO/htsjdk
Razorr1996/htsjdk
SHuang-Broad/htsjdk
SilinPavel/htsjdk
SvichkarevAnatoly/htsjdk
ThordurKristjansson/htsjdk
Tmacme/htsjdk
WhiteSymmetry/htsjdk
YanushAleks/htsjdk
ZLyanov/htsjdk
a-nikitiuk/htsjdk
alenzhao/htsjdk
allenday/htsjdk
amilamanoj/htsjdk
ashwinkalbhor/htsjdk
austindoupnik/htsjdk
azymer/htsjdk
baradist/htsjdk
bayolau/htsjdk
bbimber/htsjdk
bfulton/htsjdk
binalabs/htsjdk
bkenn/htsjdk
bpow/htsjdk
brendanofallon/htsjdk
broadinstitute/htsjdk
callsobing/htsjdk
chendijun2010/htsjdk
christear/htsjdk
cmnbroad/htsjdk
cwhelan/htsjdk
d-cameron/htsjdk
delocalizer/htsjdk
dfsurdyk/htsjdk
dmyersturnbull/htsjdk
dnikolaeva/htsjdk
edwardkw/htsjdk
eitanbanks/htsjdk
epeck/htsjdk
espre05/htsjdk
evolvedmicrobe/htsjdk
fjolidon/htsjdk
fnothaft/htsjdk
genestack/htsjdk
georgetzavelas/htsjdk
gitter-badger/htsjdk
gotolino/htsjdk
gsc0107/htsjdk
gspowley/htsjdk
heuermh/htsjdk
hwangy/htsjdk
iliat/htsjdk
jakeakopp/htsjdk
james-d/htsjdk
jamesemery/htsjdk
jean-philippe-martin/htsjdk
jessicacambry/htsjdk
jimclauwaert/htsjdk
jmafofo/htsjdk
jmarshall/htsjdk
jmchung/htsjdk
jn7163/htsjdk
johnwallace123/htsjdk
jpritt/htsjdk
jsilter/htsjdk
k-i-t-e/htsjdk
kasont/htsjdk
kcibul/htsjdk
labkey-bpatel/htsjdk
laserson/htsjdk
lbergelson/htsjdk
lequynhnhu/htsjdk
lessc0de/htsjdk
lh3/htsjdk
limbus-medtec/htsjdk
lindenb/htsjdk
lletourn/htsjdk
lvaruzza/htsjdk
lybird300/htsjdk
maarten-k/htsjdk
magicDGS/htsjdk
marc-flesch/htsjdk
mbreese/htsjdk
meganshand/htsjdk
melonistic/htsjdk
melop/htsjdk
mnter/htsjdk
monkollek/htsjdk
mp15/htsjdk
mremmert/htsjdk
mrferreira/htsjdk
nagyist/htsjdk
nagyistoce/htsjdk
nathanhaigh/htsjdk
nebiolabs/htsjdk
nh13/htsjdk
nikolaikopernik/htsjdk
nirmalyab/htsjdk
nkarulin/htsjdk
nnordborg/htsjdk
noamBarkai/htsjdk
pabarcgar/htsjdk
pamelarussell/htsjdk
pdexheimer/htsjdk
pfxuan/htsjdk
pityka/htsjdk
pryvkingh/htsjdk
ramzanzan/htsjdk
readbio/htsjdk
rithy8/htsjdk
ronlevine/htsjdk
ryan-williams/htsjdk
s70c3/htsjdk
saarwexler/htsjdk
shenkers/htsjdk
skashin/htsjdk
sonicyyouth/htsjdk
sooheelee/htsjdk
superbobry/htsjdk
tomwhite/htsjdk
twelvesummer/htsjdk-cram
typekpb/htsjdk
u4s5/htsjdk
vadimzalunin/htsjdk
vdanjean/htsjdk
vreuter/htsjdk
wanggl2017/htsjdk
wangwl/htsjdk
weincody/htsjdk
yfarjoun/htsjdk
zengfengbo/htsjdk
zyywmy/htsjdk
Nothing to show
Choose a head branch
1.4.1
CRAM_lossless_roundtrip
SAMRecordDuplicateComparator_make_methods_accessible
ab_tabix_index_on_bgzip
ak_asyncTribbleCloseThreads
ak_makeTribbleReadingSynchronous
ak_revup_dependencies
bcmaster
bt_sam_record_filters
compression-level
cram_ambiguity_bases_fix
cram_compression_improvements
cram_multiref_roundtrip_fixes
dr_fix_travis_exit_status
eb_breakout_extensions
fix_file_extension_checks_in_makeSAMOrBAMwriter_and_makeWriter
gg_RemoveInvalidCharacterFromComment
gh-pages
jc_buffered_writing
lb_asynch_iterator_for_yossi
lb_cleanup_sorting_code
lb_move_SimpleInterval_methods_to_locatable
lb_remove_release_picard_script
lb_switch_to_codecov
master
nh_cache_representative_in_duplicate_set
nh_dangling_cram_test
nh_flag_fields_format_now_with_tests
nh_pub_reg2bin
nh_vcf_double
revert-473-ak_jacoco
revert-631-ak_histogram
rhl_gt_has_any_attribute_920
rhl_handle_stdin
rhl_liftover_max_overlap_924
rhl_tabix_read_bad_coord_908
tf_cleanup_read_beans
tf_samrecord_better_flag_methods
tf_sort_query_hash
tf_upgrade_snappy
tf_validate_read_length_vs_insert_size
tf_vcb_attributes
vrr_vc_attr_as_list
vrr_vcf_query_locatable
yf_add_tests
yf_add_unknown_SO
yf_fix_NPE_in_md5OutputStream
yf_intel_unittest
yf_make_codecov_less_sensitive
yf_make_get_header_possible_from_cram_with_no_reference
yf_make_star_allele_symbolic
Nothing to show
10
contributors
Commits on Jun 09, 2017
|
|
ronlevine |
Fix SAMRecord.getReadLength() so it does not throw an exception if nu…
…ll bases |
All checks have passed5 successful checks |
9e0199a
|
||
|
|
lindenb + yfarjoun |
use Locatable interface (#887)
|
Some checks were not successful1 failing and 3 successful checks |
7e79bba
|
||
|
|
ronlevine |
Added test using setReadString()
|
Some checks were not successful1 failing and 4 successful checks |
112758b
|
||
|
|
yfarjoun |
Cleaned up SAMUtils (mostly cosmetic) (#888)
* Fixing-up SamUtils: - adding more information to some exceptions - fixing java-doc - java8 <> - if/else alignment & braces - removed use of deprecated SAMRecordUtils class - @Deprecated all methods and members of SAMRecordUtils - fixed javadoc @deprecated across the board. |
9b84fe8
|
|||
|
|
lbergelson |
updating artifactory link to point to new artifactory (#892)
* the Broad artifactory moved from a self hosted repository at artifactory.broadinstitute.org to a web based artifactory at broadinstitute.jfrog.io/broadinstitute/ this was causing our snapshot uploads to fail * updating our snapshot repository to point to the new link * the old artifactory has a redirect in place to the new artifactory so artifacts relying on the old url should still resolve. For unknown reasons this redirect doesn't work with gradle uploads, probably a gradle bug. |
All checks have passed4 successful checks |
4626fe6
|
||
|
|
ronlevine |
Merge pull request #893 from samtools/rhl_samrecord_tostring_297
Fix SAMRecord.getReadLength() so it does not throw an exception if null bases |
f0f7c9b
|
|||
|
|
ronlevine |
Fixed flipped sign when comparing read paired flags (#897)
Fixed flipped sign when comparing read paired flags |
Some checks were not successful2 failing and 2 successful checks |
6383b25
|
||
|
|
nh13 |
Standardizes mate info computation in SAMRecordSetBuilder. (#692)
|
9f1f191
|
Commits on Jun 10, 2017
|
|
yfarjoun |
Typekpb patch 1 (replacing #725) (#883)
* seek() checks for negative position argument value * tests |
cc538e2
|
Commits on Jun 16, 2017
|
|
tfenne |
A little more caution when checking terminator blocks on close of Blo…
…ckCompressedOutputStream. (#901) |
Some checks were not successful2 errored and 2 successful checks |
04fd13e
|
Commits on Jun 21, 2017
|
|
nh13 + tfenne |
Sort and group order not updated when using setAttribute. (#905)
|
All checks have passed4 successful checks |
8f89e27
|
Commits on Jun 26, 2017
|
|
ronlevine |
Add more checks to SamFileValidator (#907)
|
Some checks were not successful2 failing and 2 successful checks |
c20e0ed
|
||
|
|
tfenne |
Adding the gitter badge.
|
All checks have passed4 successful checks |
7d31bc2
|
Commits on Jul 05, 2017
|
|
ronlevine |
Make stream seek error message informative (#927)
|
All checks have passed4 successful checks |
1cd23da
|
Commits on Jul 12, 2017
|
|
tfenne |
Updates to readme about documentation, communication & license. (#916)
|
All checks have passed4 successful checks |
8d207ae
|
Commits on Jul 19, 2017
|
|
magicDGS + lbergelson |
Add missing HtsjdkTest marker to test classes (#936)
Some tests were being skipped because they weren't marked as HtsjdkTest |
Some checks were not successful1 failing and 3 successful checks |
624a3bf
|
Commits on Jul 20, 2017
|
|
vadimzalunin + cmnbroad |
fix for ambiguity and lc match/mismatch bases in CRAM (#889)
|
All checks have passed4 successful checks |
cfbbe4b
|
Commits on Jul 25, 2017
|
|
ronlevine + lbergelson |
Add ability to redirect log to an alternate print Stream (#942)
* added a new method which allows the logger to be redirected to a different stream other than stdout. This allows logging to be redirected to a file or other destination. |
All checks have passed4 successful checks |
d0f0ba1
|
||
|
|
cmnbroad |
Replace bad .fai test file and create one new CRAMComplianceTest data…
… provider. (#940) |
Some checks were not successful2 failing and 2 successful checks |
1969eb8
|
Commits on Jul 27, 2017
|
|
magicDGS + lbergelson |
Increase test coverage for Cigar classes (#939)
* Full coverage for CigarElement * Full coverage for CigarOperator * Increase Cigar coverage and test explicitly some methods |
All checks have passed4 successful checks |
69f31b5
|
||
|
|
magicDGS + lbergelson |
deprecate SAMTools.java (#937)
* Deprecate SAMTools.java because it is confusing and of very limited use, as well as being untested and unmaintained. |
Some checks were not successful2 failing and 2 successful checks |
3ad7948
|
||
|
|
nh13 + ronlevine |
Should write to /dev/stdout as a special case. (#933)
|
Some checks were not successful1 failing and 3 successful checks |
81ac548
|
Commits on Jul 31, 2017
|
|
eitanbanks |
Updated javadocs for the query method
|
3ae056c
|
|||
|
|
eitanbanks |
Merge pull request #954 from samtools/bsw_update_javadocs
Updated javadocs for query method |
9da03d8
|
|||
|
|
eitanbanks |
Broke out the static variables for VCF suffixes so that they can be u…
…sed separately. |
All checks have passed5 successful checks |
03e8eaa
|
||
|
|
eitanbanks |
Merge pull request #960 from samtools/eb_breakout_extensions
Broke out the static VCF suffix variables so that they can be used separately. |
9c6c364
|
Unified
Split
Showing
with
2,197 additions
and 807 deletions.
- +22 −10 README.md
- +1 −1 build.gradle
- +1 −2 src/main/java/htsjdk/samtools/AbstractSAMHeaderRecord.java
- +8 −1 src/main/java/htsjdk/samtools/CRAMContainerStreamWriter.java
- +2 −2 src/main/java/htsjdk/samtools/DuplicateScoringStrategy.java
- +1 −1 src/main/java/htsjdk/samtools/DuplicateSetIterator.java
- +37 −2 src/main/java/htsjdk/samtools/SAMFileHeader.java
- +63 −29 src/main/java/htsjdk/samtools/SAMRecord.java
- +5 −12 src/main/java/htsjdk/samtools/SAMRecordSetBuilder.java
- +21 −6 src/main/java/htsjdk/samtools/SAMRecordUtil.java
- +38 −12 src/main/java/htsjdk/samtools/SAMSequenceDictionary.java
- +13 −37 src/main/java/htsjdk/samtools/SAMTestUtil.java
- +3 −0 src/main/java/htsjdk/samtools/SAMTools.java
- +156 −146 src/main/java/htsjdk/samtools/SAMUtils.java
- +16 −1 src/main/java/htsjdk/samtools/SAMValidationError.java
- +23 −19 src/main/java/htsjdk/samtools/SamFileValidator.java
- +5 −6 src/main/java/htsjdk/samtools/cram/build/CramNormalizer.java
- +46 −90 src/main/java/htsjdk/samtools/cram/build/Sam2CramRecordFactory.java
- +13 −2 src/main/java/htsjdk/samtools/cram/encoding/readfeatures/Substitution.java
- +7 −2 src/main/java/htsjdk/samtools/cram/ref/ReferenceSource.java
- +1 −1 src/main/java/htsjdk/samtools/filter/FilteringIterator.java
- +14 −9 src/main/java/htsjdk/samtools/seekablestream/ByteArraySeekableStream.java
- +15 −2 src/main/java/htsjdk/samtools/util/BlockCompressedInputStream.java
- +2 −1 src/main/java/htsjdk/samtools/util/BlockCompressedOutputStream.java
- +6 −3 src/main/java/htsjdk/samtools/util/IOUtil.java
- +6 −6 src/main/java/htsjdk/samtools/util/IntervalTreeMap.java
- +33 −2 src/main/java/htsjdk/samtools/util/Log.java
- +51 −3 src/main/java/htsjdk/samtools/util/SequenceUtil.java
- +6 −0 src/main/java/htsjdk/samtools/util/StringUtil.java
- +3 −0 src/main/java/htsjdk/tribble/util/HTTPHelper.java
- +6 −0 src/main/java/htsjdk/variant/variantcontext/GenotypeLikelihoods.java
- +1 −1 src/main/java/htsjdk/variant/variantcontext/filter/FilteringIterator.java
- +3 −1 src/main/java/htsjdk/variant/variantcontext/writer/IndexingVariantContextWriter.java
- +3 −2 src/main/java/htsjdk/variant/variantcontext/writer/VariantContextWriterBuilder.java
- +358 −357 src/main/java/htsjdk/variant/vcf/VCFEncoder.java
- +8 −1 src/main/java/htsjdk/variant/vcf/VCFFileReader.java
- +3 −1 src/test/java/htsjdk/samtools/BAMFileSpanTest.java
- +39 −0 src/test/java/htsjdk/samtools/BAMFileWriterTest.java
- +39 −3 src/test/java/htsjdk/samtools/CRAMComplianceTest.java
- +136 −0 src/test/java/htsjdk/samtools/CRAMSliceMD5Test.java
- +137 −0 src/test/java/htsjdk/samtools/CigarOperatorUnitTest.java
- +122 −4 src/test/java/htsjdk/samtools/CigarTest.java
- +26 −0 src/test/java/htsjdk/samtools/DuplicateScoringStrategyTest.java
- +3 −1 src/test/java/htsjdk/samtools/PathInputResourceTest.java
- +64 −0 src/test/java/htsjdk/samtools/SAMFileHeaderTest.java
- +2 −1 src/test/java/htsjdk/samtools/SAMProgramRecordTest.java
- +2 −1 src/test/java/htsjdk/samtools/SAMReadGroupRecordTest.java
- +37 −5 src/test/java/htsjdk/samtools/SAMRecordUnitTest.java
- +24 −0 src/test/java/htsjdk/samtools/SAMSequenceDictionaryTest.java
- +46 −2 src/test/java/htsjdk/samtools/SAMSequenceRecordTest.java
- +19 −6 src/test/java/htsjdk/samtools/ValidateSamFileTest.java
- +109 −0 src/test/java/htsjdk/samtools/cram/build/Sam2CramRecordFactoryTest.java
- +1 −1 src/test/java/htsjdk/samtools/cram/lossy/QualityScorePreservationTest.java
- +33 −0 src/test/java/htsjdk/samtools/cram/ref/ReferenceSourceTest.java
- +2 −1 src/test/java/htsjdk/samtools/fastq/FastqEncoderTest.java
- +116 −0 src/test/java/htsjdk/samtools/seekablestream/ByteArraySeekableStreamTest.java
- +2 −2 src/test/java/htsjdk/samtools/sra/AbstractSRATest.java
- +15 −5 src/test/java/htsjdk/samtools/util/BlockCompressedOutputStreamTest.java
- +30 −1 src/test/java/htsjdk/samtools/util/CigarElementUnitTest.java
- +41 −0 src/test/java/htsjdk/samtools/util/LogTest.java
- +59 −2 src/test/java/htsjdk/samtools/util/SequenceUtilTest.java
- +8 −0 src/test/java/htsjdk/variant/variantcontext/writer/VariantContextWriterBuilderUnitTest.java
- +1 −1 src/test/resources/htsjdk/samtools/SequenceUtil/upper_and_lowercase_read.sam
- +21 −0 src/test/resources/htsjdk/samtools/ValidateSamFileTest/seq_qual_len_mismatch.sam
- BIN src/test/resources/htsjdk/samtools/cram/amb#amb.2.1.cram
- BIN src/test/resources/htsjdk/samtools/cram/amb#amb.3.0.cram
- +57 −0 src/test/resources/htsjdk/samtools/cram/amb#amb.sam
- +2 −0 src/test/resources/htsjdk/samtools/cram/amb.fa
- +1 −0 src/test/resources/htsjdk/samtools/cram/amb.fa.fai
- +2 −0 src/test/resources/htsjdk/samtools/cram/ambiguityCodes.fasta
- +1 −0 src/test/resources/htsjdk/samtools/cram/ambiguityCodes.fasta.fai
- BIN src/test/resources/htsjdk/samtools/cram/samtoolsSliceMD5WithAmbiguityCodesTest.cram
View
32
README.md
| @@ -3,6 +3,7 @@ | ||
| [](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.github.samtools%22%20AND%20a%3A%22htsjdk%22) | ||
| [](https://github.com/samtools/htsjdk) | ||
| [](https://www.java.com/) | ||
| +[](https://gitter.im/samtools/htsjdk?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) | ||
| Status of downstream projects automatically built on top of the current htsjdk master branch. See [gatk-jenkins](https://gatk-jenkins.broadinstitute.org/view/HTSJDK%20Release%20Tests/) for detailed logs. Failure may indicate problems in htsjdk, but may also be due to expected incompatibilities between versions, or unrelated failures in downstream projects. | ||
| - [Picard](https://github.com/broadinstitute/picard): [](https://gatk-jenkins.broadinstitute.org/job/picard-on-htsjdk-master/) | ||
| @@ -15,11 +16,19 @@ common file formats, such as [SAM][1] and [VCF][2], used for high-throughput | ||
| sequencing data. There are also an number of useful utilities for | ||
| manipulating HTS data. | ||
| -Please see the [HTSJDK Documentation](http://samtools.github.io/htsjdk) for more information. | ||
| - | ||
| > **NOTE: _HTSJDK does not currently support the latest Variant Call Format Specification (VCFv4.3 and BCFv2.2)._** | ||
| -#### Building HTSJDK | ||
| +### Documentation & Getting Help | ||
| + | ||
| +API documentation for all versions of HTSJDK since `1.128` are available through [javadoc.io](http://www.javadoc.io/doc/com.github.samtools/htsjdk). | ||
| + | ||
| +If you believe you have found a bug or have an issue with the library please a) search the open and recently closed issues to ensure it has not already been reported, then b) log an issue. | ||
| + | ||
| +The project has a [gitter chat room](https://gitter.im/samtools/htsjdk) if you would like to chat with the developers and others involved in the project. | ||
| + | ||
| +To receive announcements of releases and other significant project news please subscribe to the [htsjdk-announce](https://groups.google.com/forum/#!forum/htsjdk-announce) google group. | ||
| + | ||
| +### Building HTSJDK | ||
| HTSJDK is now built using [gradle](http://gradle.org/). | ||
| @@ -73,7 +82,7 @@ Example gradle usage from the htsjdk root directory: | ||
| ./gradlew tasks | ||
| ``` | ||
| -#### Create an HTSJDK project in IntelliJ | ||
| +### Create an HTSJDK project in IntelliJ | ||
| To create a project in IntelliJ IDE for htsjdk do the following: | ||
| 1. Select fom the menu: `File -> New -> Project from Existing Sources` | ||
| @@ -82,23 +91,26 @@ To create a project in IntelliJ IDE for htsjdk do the following: | ||
| From time to time if dependencies change in htsjdk you may need to refresh the project from the `View -> Gradle` menu. | ||
| -#### Licensing Information | ||
| +### Licensing Information | ||
| -Not all sub-packages of htsjdk are subject to the same license, so a license notice is included in each source file or sub-package as appropriate. Please check the relevant license notice whenever you start working with a part of htsjdk that you have not previously worked with to avoid any surprises. | ||
| +Not all sub-packages of htsjdk are subject to the same license, so a license notice is included in each source file or sub-package as appropriate. | ||
| +Please check the relevant license notice whenever you start working with a part of htsjdk that you have not previously worked with to avoid any surprises. | ||
| +Broadly speaking the majority of the code is covered under the MIT license with the following notable exceptions: | ||
| -#### Java Minimum Version Support Policy | ||
| +* Much of the CRAM code is under the Apache License, Version 2 | ||
| +* Core `tribble` code (underlying VCF reading/writing amongst other things) is under LGPL | ||
| +* Code supporting the reading/writing of SRA format is uncopyrighted & public domain | ||
| -> **NOTE: _Effective November 24th 2015, HTSJDK has ended support of Java 7 and previous versions. Java 8 is now required_.** | ||
| +### Java Minimum Version Support Policy | ||
| We will support all Java SE versions supported by Oracle until at least six months after Oracle's Public Updates period has ended ([see this link](http://www.oracle.com/technetwork/java/eol-135779.html)). | ||
| Java SE Major Release | End of Java SE Oracle Public Updates | Proposed End of Support in HTSJDK | Actual End of Support in HTSJDK | ||
| ---- | ---- | ---- | ---- | ||
| 6 | Feb 2013 | Aug 2013 | Oct 2015 | ||
| 7 | Apr 2015 | Oct 2015 | Oct 2015 | ||
| -8* | Mar 2017 | Sep 2017 | Sep 2017 | ||
| +8 | Jul 2018 | Jul 2018 | TBD | ||
| -* to be finalized | ||
| HTSJDK is migrating to semantic versioning (http://semver.org/). We will eventually adhere to it strictly and bump our major version whenever there are breaking changes to our API, but until we more clearly define what constitutes our official API, clients should assume that every release potentially contains at least minor changes to public methods. | ||
View
2
build.gradle
| @@ -169,7 +169,7 @@ uploadArchives { | ||
| authentication(userName: project.findProperty("sonatypeUsername"), password: project.findProperty("sonatypePassword")) | ||
| } | ||
| - snapshotRepository(url: "https://artifactory.broadinstitute.org/artifactory/libs-snapshot-local/") { | ||
| + snapshotRepository(url: "https://broadinstitute.jfrog.io/broadinstitute/libs-snapshot-local/") { | ||
| authentication(userName: System.env.ARTIFACTORY_USERNAME, password: System.env.ARTIFACTORY_PASSWORD) | ||
| } | ||
View
3
src/main/java/htsjdk/samtools/AbstractSAMHeaderRecord.java
| @@ -59,8 +59,6 @@ public void setAttribute(final String key, final Object value) { | ||
| /** | ||
| * Set the given value for the attribute named 'key'. Replaces an existing value, if any. | ||
| * If value is null, the attribute is removed. | ||
| - * Supported types are Character, Integer, Float and String. Byte and Short may also be | ||
| - * passed in but they will be converted to Integer. | ||
| * @param key attribute name | ||
| * @param value attribute value | ||
| */ | ||
| @@ -71,6 +69,7 @@ public void setAttribute(final String key, final String value) { | ||
| mAttributes.put(key, value); | ||
| } | ||
| } | ||
| + | ||
| /** | ||
| * Returns the Set of attributes. | ||
| */ | ||
View
9
src/main/java/htsjdk/samtools/CRAMContainerStreamWriter.java
| @@ -17,6 +17,7 @@ | ||
| import htsjdk.samtools.cram.structure.Slice; | ||
| import htsjdk.samtools.util.Log; | ||
| import htsjdk.samtools.util.RuntimeIOException; | ||
| +import htsjdk.samtools.util.SequenceUtil; | ||
| import java.io.IOException; | ||
| import java.io.OutputStream; | ||
| @@ -437,7 +438,13 @@ protected void flushContainer() throws IllegalArgumentException, IllegalAccessEx | ||
| final SAMRecord restoredSamRecord = f.create(cramRecords.get(i)); | ||
| assert (restoredSamRecord.getAlignmentStart() == samRecords.get(i).getAlignmentStart()); | ||
| assert (restoredSamRecord.getReferenceName().equals(samRecords.get(i).getReferenceName())); | ||
| - assert (restoredSamRecord.getReadString().equals(samRecords.get(i).getReadString())); | ||
| + | ||
| + if (!restoredSamRecord.getReadString().equals(samRecords.get(i).getReadString())) { | ||
| + // try to fix the original read bases by normalizing them to BAM set: | ||
| + final byte[] originalReadBases = samRecords.get(i).getReadString().getBytes(); | ||
| + final String originalReadBasesUpperCaseIupacNoDot = new String(SequenceUtil.toBamReadBasesInPlace(originalReadBases)); | ||
| + assert (restoredSamRecord.getReadString().equals(originalReadBasesUpperCaseIupacNoDot)); | ||
| + } | ||
| assert (restoredSamRecord.getBaseQualityString().equals(samRecords.get(i).getBaseQualityString())); | ||
| } | ||
| } | ||
View
4
src/main/java/htsjdk/samtools/DuplicateScoringStrategy.java
| @@ -36,7 +36,7 @@ | ||
| public enum ScoringStrategy { | ||
| SUM_OF_BASE_QUALITIES, | ||
| TOTAL_MAPPED_REFERENCE_LENGTH, | ||
| - RANDOM, | ||
| + RANDOM | ||
| } | ||
| /** Hash used for the RANDOM scoring strategy. */ | ||
| @@ -128,7 +128,7 @@ public static int compare(final SAMRecord rec1, final SAMRecord rec2, final Scor | ||
| int cmp; | ||
| // always prefer paired over non-paired | ||
| - if (rec1.getReadPairedFlag() != rec2.getReadPairedFlag()) return rec1.getReadPairedFlag() ? 1 : -1; | ||
| + if (rec1.getReadPairedFlag() != rec2.getReadPairedFlag()) return rec1.getReadPairedFlag() ? -1 : 1; | ||
| cmp = computeDuplicateScore(rec2, scoringStrategy, assumeMateCigar) - computeDuplicateScore(rec1, scoringStrategy, assumeMateCigar); | ||
View
2
src/main/java/htsjdk/samtools/DuplicateSetIterator.java
| @@ -114,7 +114,7 @@ public DuplicateSetIterator(final CloseableIterator<SAMRecord> iterator, | ||
| } | ||
| @Deprecated | ||
| - /** Do not use this method as the first duplicate set will not be compared with this scoring strategy. | ||
| + /** @deprecated Do not use this method as the first duplicate set will not be compared with this scoring strategy. | ||
| * Instead, provide a comparator to the constructor that has the scoring strategy set. */ | ||
| public void setScoringStrategy(final DuplicateScoringStrategy.ScoringStrategy scoringStrategy) { | ||
| this.comparator.setScoringStrategy(scoringStrategy); | ||
View
39
src/main/java/htsjdk/samtools/SAMFileHeader.java
| @@ -270,7 +270,7 @@ public SortOrder getSortOrder() { | ||
| public void setSortOrder(final SortOrder so) { | ||
| sortOrder = so; | ||
| - setAttribute(SORT_ORDER_TAG, so.name()); | ||
| + super.setAttribute(SORT_ORDER_TAG, so.name()); | ||
| } | ||
| public GroupOrder getGroupOrder() { | ||
| @@ -292,7 +292,42 @@ public GroupOrder getGroupOrder() { | ||
| public void setGroupOrder(final GroupOrder go) { | ||
| groupOrder = go; | ||
| - setAttribute(GROUP_ORDER_TAG, go.name()); | ||
| + super.setAttribute(GROUP_ORDER_TAG, go.name()); | ||
| + } | ||
| + | ||
| + | ||
| + /** | ||
| + * Set the given value for the attribute named 'key'. Replaces an existing value, if any. | ||
| + * If value is null, the attribute is removed. | ||
| + * Otherwise, the value will be converted to a String with toString. | ||
| + * @param key attribute name | ||
| + * @param value attribute value | ||
| + * @deprecated Use {@link #setAttribute(String, String) instead | ||
| + */ | ||
| + @Deprecated | ||
| + @Override | ||
| + public void setAttribute(final String key, final Object value) { | ||
| + if (key.equals(SORT_ORDER_TAG) || key.equals(GROUP_ORDER_TAG)) { | ||
| + this.setAttribute(key, value.toString()); | ||
| + } else { | ||
| + super.setAttribute(key, value); | ||
| + } | ||
| + } | ||
| + | ||
| + /** | ||
| + * Set the given value for the attribute named 'key'. Replaces an existing value, if any. | ||
| + * If value is null, the attribute is removed. | ||
| + * @param key attribute name | ||
| + * @param value attribute value | ||
| + */ | ||
| + @Override | ||
| + public void setAttribute(final String key, final String value) { | ||
| + if (key.equals(SORT_ORDER_TAG)) { | ||
| + this.sortOrder = null; | ||
| + } else if (key.equals(GROUP_ORDER_TAG)) { | ||
| + this.groupOrder = null; | ||
| + } | ||
| + super.setAttribute(key, value); | ||
| } | ||
| /** | ||
Oops, something went wrong.