From 9ca9cf52aca2fe7bc47c6cc5d7eb527a77c488a6 Mon Sep 17 00:00:00 2001 From: Mark DePristo Date: Sun, 17 Jul 2011 15:38:33 -0400 Subject: [PATCH 09/46] Uncommenting a stray commented test. --- .../walkers/variantutils/CombineVariantsIntegrationTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/java/test/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariantsIntegrationTest.java b/public/java/test/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariantsIntegrationTest.java index daaab9425..fb18c6c33 100755 --- a/public/java/test/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariantsIntegrationTest.java +++ b/public/java/test/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariantsIntegrationTest.java @@ -119,7 +119,7 @@ public class CombineVariantsIntegrationTest extends WalkerTest { executeTest("combineComplexSites 1:" + new File(file1).getName() + " 2:" + new File(file2).getName() + " args = " + args, spec); } -// @Test public void complexTestFull() { combineComplexSites("", "64b991fd3850f83614518f7d71f0532f"); } + @Test public void complexTestFull() { combineComplexSites("", "64b991fd3850f83614518f7d71f0532f"); } @Test public void complexTestMinimal() { combineComplexSites(" -minimalVCF", "df96cb3beb2dbb5e02f80abec7d3571e"); } @Test public void complexTestSitesOnly() { combineComplexSites(" -sites_only", "f72a178137e25dbe0b931934cdc0079d"); } @Test public void complexTestSitesOnlyMinimal() { combineComplexSites(" -sites_only -minimalVCF", "f704caeaaaed6711943014b847fe381a"); } From 9992c373be8bda5fd4e5999ac3cac36c35e9bb96 Mon Sep 17 00:00:00 2001 From: Mark DePristo Date: Sun, 17 Jul 2011 20:29:58 -0400 Subject: [PATCH 10/46] Optimize imports run on the whole project, public and private. I just got too tired of all of the unused imports floating around. Confirmed that the system builds after the changes. --- .../analyzecovariates/AnalyzeCovariates.java | 11 +++-- .../sting/commandline/Argument.java | 7 +-- .../commandline/ArgumentDefinitionGroup.java | 4 +- .../commandline/ArgumentDefinitions.java | 4 +- .../commandline/ArgumentTypeDescriptor.java | 6 +-- .../sting/commandline/CommandLineProgram.java | 10 +++- .../sting/commandline/CommandLineUtils.java | 10 +++- .../MissingArgumentValueException.java | 2 - .../sting/commandline/ParsingEngine.java | 10 ++-- .../sting/commandline/ParsingMethod.java | 4 +- .../sting/gatk/CommandLineExecutable.java | 21 +++------ .../sting/gatk/CommandLineGATK.java | 10 ++-- .../sting/gatk/GenomeAnalysisEngine.java | 15 ++---- .../sting/gatk/ReadMetrics.java | 9 ++-- .../sting/gatk/ReadProperties.java | 1 - .../sting/gatk/WalkerManager.java | 7 ++- .../arguments/GATKArgumentCollection.java | 11 ++--- .../sting/gatk/contexts/AlignmentContext.java | 6 +-- .../gatk/contexts/AlignmentContextUtils.java | 2 +- .../sting/gatk/contexts/ReferenceContext.java | 9 ++-- .../datasources/providers/AllLocusView.java | 16 +++---- .../providers/LocusReferenceView.java | 11 ++--- .../providers/LocusShardDataProvider.java | 9 ++-- .../gatk/datasources/providers/LocusView.java | 2 +- .../ManagingReferenceOrderedView.java | 2 +- .../providers/ReadReferenceView.java | 3 +- .../providers/ReadShardDataProvider.java | 7 ++- .../gatk/datasources/providers/ReadView.java | 5 +- .../datasources/providers/ReferenceView.java | 18 ++++---- .../datasources/providers/RodLocusView.java | 4 +- .../providers/ShardDataProvider.java | 5 +- .../reads/BAMBlockStartIterator.java | 5 -- .../gatk/datasources/reads/BAMSchedule.java | 7 +-- .../gatk/datasources/reads/BAMScheduler.java | 12 +---- .../gatk/datasources/reads/FilePointer.java | 10 +--- .../gatk/datasources/reads/GATKBAMIndex.java | 14 ++---- .../datasources/reads/GATKBAMIndexData.java | 6 +-- .../datasources/reads/IntervalSharder.java | 11 +---- .../gatk/datasources/reads/LocusShard.java | 3 +- .../datasources/reads/LocusShardStrategy.java | 17 +++---- .../datasources/reads/MonolithicShard.java | 2 +- .../reads/MonolithicShardStrategy.java | 2 +- .../gatk/datasources/reads/ReadShard.java | 14 +++--- .../datasources/reads/ReadShardStrategy.java | 5 +- .../gatk/datasources/reads/SAMDataSource.java | 14 +++--- .../sting/gatk/datasources/reads/Shard.java | 8 +--- .../reads/ShardStrategyFactory.java | 4 +- .../reads/utilities/BAMFileStat.java | 8 ++-- .../reads/utilities/BAMTagRenamer.java | 8 ++-- .../reads/utilities/PrintBGZFBounds.java | 1 - .../reference/ReferenceDataSource.java | 11 ++--- .../gatk/datasources/rmd/ResourcePool.java | 6 +-- .../datasources/sample/SampleDataSource.java | 5 +- .../sting/gatk/examples/CoverageBySample.java | 17 ++++--- .../gatk/examples/GATKPaperGenotyper.java | 4 +- .../sting/gatk/executive/Accumulator.java | 12 ++--- .../executive/HierarchicalMicroScheduler.java | 18 ++++---- .../gatk/executive/LinearMicroScheduler.java | 11 ++--- .../sting/gatk/executive/MicroScheduler.java | 25 +++++----- .../sting/gatk/executive/OutputMergeTask.java | 3 +- .../sting/gatk/executive/ReduceTree.java | 4 +- .../sting/gatk/executive/ShardTraverser.java | 6 +-- .../sting/gatk/executive/TreeReducer.java | 2 +- .../sting/gatk/executive/WindowMaker.java | 19 ++++---- .../sting/gatk/filters/BadCigarFilter.java | 6 ++- .../sting/gatk/filters/BadMateFilter.java | 1 - .../filters/CountingFilteringIterator.java | 13 +++--- .../gatk/filters/DuplicateReadFilter.java | 1 - .../FailsVendorQualityCheckReadFilter.java | 1 - .../sting/gatk/filters/FilterManager.java | 3 -- .../gatk/filters/MalformedReadFilter.java | 2 +- .../filters/MappingQualityReadFilter.java | 1 - .../MappingQualityUnavailableReadFilter.java | 1 - .../gatk/filters/MaxInsertSizeFilter.java | 1 - .../gatk/filters/MaxReadLengthFilter.java | 1 - .../gatk/filters/MissingReadGroupFilter.java | 1 - .../NoOriginalQualityScoresFilter.java | 1 - .../NotPrimaryAlignmentReadFilter.java | 1 - .../sting/gatk/filters/Platform454Filter.java | 2 - .../sting/gatk/filters/PlatformFilter.java | 4 +- .../gatk/filters/PlatformUnitFilter.java | 10 ++-- .../sting/gatk/filters/ReadFilter.java | 1 - .../filters/ReadGroupBlackListFilter.java | 13 +++--- .../sting/gatk/filters/ReadStrandFilter.java | 1 - .../sting/gatk/filters/SampleFilter.java | 3 +- .../gatk/filters/SingleReadGroupFilter.java | 3 +- .../gatk/filters/UnmappedReadFilter.java | 1 - .../sting/gatk/io/DirectOutputTracker.java | 4 +- .../sting/gatk/io/OutputTracker.java | 16 +++---- .../sting/gatk/io/StingSAMFileWriter.java | 2 +- .../gatk/io/ThreadLocalOutputTracker.java | 9 ++-- .../gatk/io/storage/OutputStreamStorage.java | 4 +- .../gatk/io/storage/SAMFileWriterStorage.java | 9 ++-- .../sting/gatk/io/storage/StorageFactory.java | 2 +- .../gatk/io/storage/VCFWriterStorage.java | 19 +++++--- .../OutputStreamArgumentTypeDescriptor.java | 2 +- .../sting/gatk/io/stubs/OutputStreamStub.java | 4 +- .../SAMFileReaderArgumentTypeDescriptor.java | 8 ++-- .../SAMFileWriterArgumentTypeDescriptor.java | 9 ++-- .../gatk/io/stubs/SAMFileWriterStub.java | 15 +++--- .../VCFWriterArgumentTypeDescriptor.java | 7 ++- .../sting/gatk/io/stubs/VCFWriterStub.java | 18 ++++---- .../gatk/iterators/BoundedReadIterator.java | 4 +- .../gatk/iterators/BufferingReadIterator.java | 5 +- .../gatk/iterators/DownsampleIterator.java | 3 +- .../gatk/iterators/GenomeLocusIterator.java | 2 +- .../sting/gatk/iterators/LocusIterator.java | 3 +- .../gatk/iterators/LocusIteratorByState.java | 20 +++++--- .../sting/gatk/iterators/NullSAMIterator.java | 1 - .../iterators/PositionTrackingIterator.java | 1 - .../iterators/ReadFormattingIterator.java | 7 +-- .../gatk/iterators/StingSAMIterator.java | 1 - .../sting/gatk/phonehome/GATKRunReport.java | 5 +- .../sting/gatk/refdata/RODRecordIterator.java | 10 ++-- .../sting/gatk/refdata/RODRecordListImpl.java | 2 +- .../gatk/refdata/RefMetaDataTracker.java | 4 +- .../gatk/refdata/SeekableRODIterator.java | 2 +- .../gatk/refdata/VariantContextAdaptors.java | 12 ++--- .../annotator/AnnotatorInputTableCodec.java | 12 ++--- .../annotator/AnnotatorInputTableFeature.java | 4 +- .../refdata/features/beagle/BeagleCodec.java | 10 ++-- .../features/beagle/BeagleFeature.java | 5 +- .../features/refseq/RefSeqFeature.java | 3 +- .../features/sampileup/SAMPileupCodec.java | 4 +- .../features/sampileup/SAMPileupFeature.java | 3 +- .../features/samread/SAMReadCodec.java | 6 +-- .../refdata/features/table/BedTableCodec.java | 5 -- .../refdata/features/table/TableCodec.java | 6 +-- .../refdata/features/table/TableFeature.java | 2 +- .../gatk/refdata/indexer/RMDIndexer.java | 1 - .../gatk/refdata/tracks/QueryableTrack.java | 1 - .../sting/gatk/refdata/tracks/RMDTrack.java | 2 - .../tracks/builders/RMDTrackBuilder.java | 8 ++-- .../utils/FeatureToGATKFeatureIterator.java | 2 - .../sting/gatk/refdata/utils/GATKFeature.java | 2 - .../LocationAwareSeekableRODIterator.java | 4 -- .../StringToGenomeLocIteratorAdapter.java | 2 +- .../refdata/utils/helpers/DbSNPHelper.java | 2 +- .../gatk/traversals/TraversalEngine.java | 9 ++-- .../gatk/traversals/TraverseDuplicates.java | 3 +- .../sting/gatk/traversals/TraverseLoci.java | 1 - .../gatk/traversals/TraverseReadPairs.java | 16 ++++--- .../sting/gatk/traversals/TraverseReads.java | 8 ++-- .../sting/gatk/walkers/Allows.java | 7 +-- .../sting/gatk/walkers/BAQMode.java | 7 +-- .../broadinstitute/sting/gatk/walkers/By.java | 7 +-- .../sting/gatk/walkers/ClipReadsWalker.java | 26 +++++------ .../sting/gatk/walkers/DuplicateWalker.java | 7 +-- .../walkers/FindReadsWithNamesWalker.java | 1 - .../sting/gatk/walkers/FlagStatWalker.java | 6 +-- .../walkers/GCContentByIntervalWalker.java | 3 +- .../sting/gatk/walkers/LocusWalker.java | 7 ++- .../sting/gatk/walkers/PileupWalker.java | 8 ++-- .../sting/gatk/walkers/PrintRODsWalker.java | 4 +- .../sting/gatk/walkers/PrintReadsWalker.java | 6 +-- .../sting/gatk/walkers/ReadWalker.java | 2 +- .../sting/gatk/walkers/Requires.java | 7 +-- .../gatk/walkers/SplitSamFileWalker.java | 18 +++++--- .../sting/gatk/walkers/Walker.java | 6 +-- .../sting/gatk/walkers/WalkerName.java | 6 +-- .../sting/gatk/walkers/Window.java | 5 +- .../gatk/walkers/annotator/AlleleBalance.java | 16 +++---- .../annotator/AlleleBalanceBySample.java | 14 ++++-- .../walkers/annotator/AnnotationByDepth.java | 3 +- .../gatk/walkers/annotator/BaseCounts.java | 12 ++--- .../annotator/BaseQualityRankSumTest.java | 8 ++-- .../walkers/annotator/ChromosomeCounts.java | 20 ++++---- .../walkers/annotator/DepthOfCoverage.java | 15 +++--- .../annotator/DepthPerAlleleBySample.java | 19 ++++---- .../gatk/walkers/annotator/FisherStrand.java | 14 +++--- .../gatk/walkers/annotator/GCContent.java | 13 +++--- .../sting/gatk/walkers/annotator/GLstats.java | 15 +++--- .../walkers/annotator/HaplotypeScore.java | 32 +++++++------ .../gatk/walkers/annotator/HardyWeinberg.java | 15 +++--- .../walkers/annotator/HomopolymerRun.java | 10 ++-- .../gatk/walkers/annotator/IndelType.java | 6 +-- .../sting/gatk/walkers/annotator/LowMQ.java | 12 ++--- .../annotator/MappingQualityRankSumTest.java | 8 ++-- .../walkers/annotator/MappingQualityZero.java | 8 ++-- .../annotator/MappingQualityZeroBySample.java | 20 ++++---- .../annotator/MappingQualityZeroFraction.java | 6 +-- .../gatk/walkers/annotator/NBaseCount.java | 6 +-- .../gatk/walkers/annotator/QualByDepth.java | 12 ++--- .../walkers/annotator/RMSMappingQuality.java | 15 +++--- .../gatk/walkers/annotator/RankSumTest.java | 15 +++--- .../ReadDepthAndAllelicFractionBySample.java | 21 ++++----- .../walkers/annotator/ReadPosRankSumTest.java | 11 +++-- .../gatk/walkers/annotator/SBByDepth.java | 10 ++-- .../gatk/walkers/annotator/SampleList.java | 10 ++-- .../walkers/annotator/SpanningDeletions.java | 6 +-- .../annotator/TechnologyComposition.java | 6 ++- .../walkers/annotator/VariantAnnotator.java | 13 +++--- .../annotator/VariantAnnotatorEngine.java | 31 ++++++------- .../genomicannotator/GenomicAnnotation.java | 14 +++--- .../genomicannotator/GenomicAnnotator.java | 22 ++++----- .../annotator/genomicannotator/JoinTable.java | 6 +-- .../genomicannotator/JoinTableParser.java | 8 ++-- .../TranscriptToGenomicInfo.java | 15 ++---- .../interfaces/GenotypeAnnotation.java | 10 ++-- .../interfaces/InfoFieldAnnotation.java | 8 ++-- .../beagle/BeagleOutputToVCFWalker.java | 14 +++--- .../beagle/ProduceBeagleInputWalker.java | 13 +++--- .../VariantsToBeagleUnphasedWalker.java | 19 ++++---- .../walkers/coverage/CallableLociWalker.java | 6 +-- .../coverage/CoarseCoverageWalker.java | 7 ++- .../coverage/CompareCallableLociWalker.java | 10 ++-- .../gatk/walkers/coverage/CoverageUtils.java | 4 +- .../coverage/DepthOfCoverageWalker.java | 11 +++-- .../walkers/diffengine/BAMDiffableReader.java | 13 ++---- .../gatk/walkers/diffengine/DiffElement.java | 4 +- .../gatk/walkers/diffengine/DiffValue.java | 2 - .../walkers/diffengine/VCFDiffableReader.java | 5 +- .../fasta/FastaAlternateReferenceWalker.java | 2 +- .../walkers/fasta/FastaReferenceWalker.java | 5 +- .../gatk/walkers/filters/ClusteredSnps.java | 2 +- .../walkers/filters/FiltrationContext.java | 2 +- .../filters/FiltrationContextWindow.java | 4 +- .../filters/VariantFiltrationWalker.java | 13 +++--- .../AlleleFrequencyCalculationModel.java | 7 +-- .../genotyper/DiploidIndelGenotypePriors.java | 2 - .../DiploidSNPGenotypeLikelihoods.java | 11 +++-- .../genotyper/ExactAFCalculationModel.java | 15 ++++-- .../GenotypeLikelihoodsCalculationModel.java | 2 +- .../genotyper/GridSearchAFEstimation.java | 10 ++-- ...elGenotypeLikelihoodsCalculationModel.java | 11 ++--- .../MultiallelicGenotypeLikelihoods.java | 2 +- ...NPGenotypeLikelihoodsCalculationModel.java | 18 ++++---- .../walkers/genotyper/UGCalcLikelihoods.java | 8 ++-- .../walkers/genotyper/UGCallVariants.java | 8 ++-- .../genotyper/UnifiedArgumentCollection.java | 1 - .../walkers/genotyper/UnifiedGenotyper.java | 19 ++++---- .../genotyper/UnifiedGenotyperEngine.java | 16 ++++--- .../indels/ConstrainedMateFixingManager.java | 6 ++- .../indels/HaplotypeIndelErrorModel.java | 7 +-- .../gatk/walkers/indels/IndelRealigner.java | 38 +++++++-------- .../gatk/walkers/indels/LeftAlignIndels.java | 6 ++- .../indels/PairHMMIndelErrorModel.java | 27 +++++------ .../walkers/indels/RealignedReadCounter.java | 24 ++++++---- .../indels/RealignerTargetCreator.java | 12 ++--- ...CoordinateComparatorWithUnmappedReads.java | 3 +- .../indels/SomaticIndelDetectorWalker.java | 46 +++++++++++-------- .../gatk/walkers/phasing/AllelePair.java | 2 +- .../walkers/phasing/AnnotateMNPsWalker.java | 9 ++-- .../gatk/walkers/phasing/MergeMNPsWalker.java | 8 ++-- ...eSegregatingAlternateAllelesVCFWriter.java | 15 +++--- ...ergeSegregatingAlternateAllelesWalker.java | 10 ++-- .../phasing/ReadBackedPhasingWalker.java | 21 +++++---- .../gatk/walkers/phasing/SNPallelePair.java | 4 +- .../sting/gatk/walkers/phasing/WriteVCF.java | 2 +- .../sting/gatk/walkers/qc/CountIntervals.java | 4 +- .../gatk/walkers/qc/CountLociWalker.java | 1 - .../gatk/walkers/qc/CountPairsWalker.java | 6 +-- .../gatk/walkers/qc/CountReadsWalker.java | 4 +- .../gatk/walkers/qc/CountRodByRefWalker.java | 2 +- .../sting/gatk/walkers/qc/CountRodWalker.java | 11 +++-- .../gatk/walkers/qc/CycleQualityWalker.java | 24 +++++----- .../walkers/qc/PrintLocusContextWalker.java | 12 ++--- .../walkers/qc/ReadClippingStatsWalker.java | 27 ++++++----- .../gatk/walkers/qc/ReadValidationWalker.java | 8 ++-- .../walkers/qc/RodSystemValidationWalker.java | 6 ++- .../walkers/qc/ValidatingPileupWalker.java | 8 ++-- .../CountCovariatesGatherer.java | 1 - .../recalibration/CountCovariatesWalker.java | 13 +++--- .../walkers/recalibration/CycleCovariate.java | 1 - .../walkers/recalibration/DinucCovariate.java | 5 +- .../recalibration/RecalDataManager.java | 18 ++++---- .../recalibration/RecalDatumOptimized.java | 2 +- .../TableRecalibrationWalker.java | 30 ++++++------ .../walkers/sequenom/CreateSequenomMask.java | 4 +- .../walkers/sequenom/PickSequenomProbes.java | 18 ++++---- .../varianteval/VariantEvalWalker.java | 17 +++---- .../evaluators/CompEvalGenotypes.java | 2 +- .../varianteval/evaluators/CompOverlap.java | 6 +-- .../varianteval/evaluators/CountVariants.java | 8 ++-- .../evaluators/GenotypeConcordance.java | 12 ++--- .../evaluators/GenotypePhasingEvaluator.java | 7 +-- .../evaluators/IndelLengthHistogram.java | 8 ++-- .../evaluators/IndelMetricsByAC.java | 6 +-- .../evaluators/IndelStatistics.java | 8 ++-- .../MendelianViolationEvaluator.java | 8 ++-- .../evaluators/PrintMissingComp.java | 6 +-- .../evaluators/SamplePreviousGenotypes.java | 2 +- .../evaluators/SimpleMetricsByAC.java | 7 +-- .../evaluators/ThetaVariantEvaluator.java | 6 +-- .../evaluators/TiTvVariantEvaluator.java | 8 ++-- .../evaluators/ValidationReport.java | 12 ++--- .../evaluators/VariantEvaluator.java | 2 +- .../evaluators/VariantQualityScore.java | 10 ++-- .../stratifications/AlleleCount.java | 5 +- .../stratifications/AlleleFrequency.java | 2 +- .../varianteval/stratifications/CompRod.java | 2 +- .../varianteval/stratifications/Contig.java | 2 +- .../varianteval/stratifications/CpG.java | 2 +- .../stratifications/Degeneracy.java | 4 +- .../varianteval/stratifications/EvalRod.java | 2 +- .../varianteval/stratifications/Filter.java | 2 +- .../stratifications/FunctionalClass.java | 2 +- .../stratifications/JexlExpression.java | 4 +- .../varianteval/stratifications/Novelty.java | 2 +- .../varianteval/stratifications/Sample.java | 2 +- .../stratifications/VariantStratifier.java | 3 +- .../util/NewEvaluationContext.java | 2 +- .../util/SortableJexlVCMatchExp.java | 2 +- .../varianteval/util/VariantEvalUtils.java | 4 +- .../ApplyRecalibration.java | 12 ++--- .../walkers/variantrecalibration/Tranche.java | 7 ++- .../VQSRCalibrationCurve.java | 2 +- .../VariantDataManager.java | 6 ++- .../VariantRecalibrator.java | 4 +- .../walkers/variantutils/CombineVariants.java | 13 +++--- .../variantutils/FilterLiftedVariants.java | 19 ++++---- .../variantutils/LeftAlignVariants.java | 12 ++--- .../variantutils/LiftoverVariants.java | 32 ++++++------- .../variantutils/RandomlySplitVariants.java | 13 +++--- .../walkers/variantutils/SelectVariants.java | 19 ++++---- .../variantutils/ValidateVariants.java | 21 +++++---- .../VariantValidationAssessor.java | 13 +++--- .../walkers/variantutils/VariantsToTable.java | 5 +- .../walkers/variantutils/VariantsToVCF.java | 24 +++++----- .../sting/jna/clibrary/LibC.java | 5 +- .../sting/jna/lsf/v7_0_6/LibLsf.java | 2 +- .../gatk/ArgumentDefinitionField.java | 7 ++- .../queue/extensions/gatk/ArgumentField.java | 5 +- .../gatk/GATKExtensionsGenerator.java | 7 ++- .../sting/utils/DisjointSet.java | 4 +- .../broadinstitute/sting/utils/GenomeLoc.java | 1 - .../sting/utils/GenomeLocParser.java | 6 ++- .../sting/utils/IndelUtils.java | 2 +- .../broadinstitute/sting/utils/MathUtils.java | 9 ++-- .../sting/utils/MendelianViolation.java | 7 +-- .../broadinstitute/sting/utils/PathUtils.java | 4 +- .../sting/utils/ReservoirDownsampler.java | 4 +- .../sting/utils/SWPairwiseAlignment.java | 7 ++- .../sting/utils/SampleUtils.java | 6 +-- .../sting/utils/SimpleTimer.java | 5 +- .../org/broadinstitute/sting/utils/Utils.java | 5 +- .../broadinstitute/sting/utils/baq/BAQ.java | 6 +-- .../sting/utils/baq/BAQSamIterator.java | 5 +- .../sting/utils/bed/BedParser.java | 5 +- .../sting/utils/classloader/JVMUtils.java | 2 +- .../sting/utils/clipreads/ClippingOp.java | 3 -- .../sting/utils/clipreads/ReadClipper.java | 1 - .../codecs/completegenomics/CGVarCodec.java | 1 - .../utils/codecs/soapsnp/SoapSNPCodec.java | 6 +-- .../utils/codecs/vcf/StandardVCFWriter.java | 4 +- .../sting/utils/codecs/vcf/VCFParser.java | 4 +- .../sting/utils/codecs/vcf/VCFUtils.java | 4 +- .../utils/collections/NestedHashMap.java | 3 +- .../utils/collections/RODMergingIterator.java | 7 ++- .../sting/utils/duplicates/DupUtils.java | 9 ++-- .../sting/utils/exceptions/UserException.java | 3 +- .../CachingIndexedFastaSequenceFile.java | 7 +-- .../sting/utils/genotype/DiploidGenotype.java | 1 - .../sting/utils/genotype/Haplotype.java | 8 ++-- .../sting/utils/help/ApplicationDetails.java | 8 ++-- .../sting/utils/help/DescriptionTaglet.java | 1 - .../sting/utils/help/DisplayNameTaglet.java | 1 - .../sting/utils/help/HelpFormatter.java | 12 ++--- .../sting/utils/help/HelpTaglet.java | 4 +- .../help/ResourceBundleExtractorDoclet.java | 14 +++--- .../sting/utils/help/SummaryTaglet.java | 1 - .../sting/utils/instrumentation/Sizeof.java | 2 +- .../interval/IntervalFileMergingIterator.java | 6 +-- .../sting/utils/interval/IntervalUtils.java | 4 +- .../interval/NwayIntervalMergingIterator.java | 3 +- .../interval/OverlappingIntervalIterator.java | 3 +- .../pileup/AbstractReadBackedPileup.java | 11 ++--- .../pileup/ExtendedEventPileupElement.java | 3 -- .../sting/utils/pileup/FragmentPileup.java | 5 +- .../pileup/MergingPileupElementIterator.java | 2 +- .../sting/utils/pileup/PileupElement.java | 5 +- .../pileup/ReadBackedExtendedEventPileup.java | 6 +-- .../ReadBackedExtendedEventPileupImpl.java | 5 +- .../sting/utils/pileup/ReadBackedPileup.java | 5 +- .../utils/pileup/ReadBackedPileupImpl.java | 2 +- .../sting/utils/sam/AlignmentUtils.java | 9 ++-- .../utils/sam/ArtificialReadsTraversal.java | 16 +++---- .../utils/sam/ArtificialSAMFileReader.java | 16 ++++--- .../utils/sam/ArtificialSAMIterator.java | 5 +- .../utils/sam/ArtificialSAMQueryIterator.java | 5 +- .../sting/utils/sam/ComparableSAMRecord.java | 2 - .../utils/sam/GATKSAMReadGroupRecord.java | 2 +- .../sting/utils/sam/GATKSAMRecord.java | 8 ++-- .../sting/utils/sam/ReadUtils.java | 5 +- .../sting/utils/sam/SAMFileReaderBuilder.java | 3 +- .../utils/sam/SimplifyingSAMFileWriter.java | 7 --- .../sting/utils/text/ListFileUtils.java | 1 - .../sting/utils/text/TextFormattingUtils.java | 8 ++-- .../sting/utils/text/XReadLines.java | 6 +-- .../FileBackedGenomeLocProcessingTracker.java | 4 -- .../NoOpGenomeLocProcessingTracker.java | 4 -- .../sting/utils/threading/SharedFileLock.java | 3 -- .../threading/SharedFileThreadSafeLock.java | 5 -- .../sting/utils/variantcontext/Allele.java | 4 +- .../variantcontext/GenotypeLikelihoods.java | 2 +- .../variantcontext/MutableVariantContext.java | 5 +- .../utils/variantcontext/VariantContext.java | 2 +- .../variantcontext/VariantContextUtils.java | 19 +++++--- .../variantcontext/VariantJEXLContext.java | 5 +- .../sting/utils/wiggle/WiggleWriter.java | 2 +- 400 files changed, 1480 insertions(+), 1602 deletions(-) diff --git a/public/java/src/org/broadinstitute/sting/analyzecovariates/AnalyzeCovariates.java b/public/java/src/org/broadinstitute/sting/analyzecovariates/AnalyzeCovariates.java index f8e298d88..b9e380295 100755 --- a/public/java/src/org/broadinstitute/sting/analyzecovariates/AnalyzeCovariates.java +++ b/public/java/src/org/broadinstitute/sting/analyzecovariates/AnalyzeCovariates.java @@ -25,20 +25,21 @@ package org.broadinstitute.sting.analyzecovariates; +import org.broadinstitute.sting.commandline.Argument; +import org.broadinstitute.sting.commandline.CommandLineProgram; import org.broadinstitute.sting.commandline.Input; -import org.broadinstitute.sting.gatk.walkers.recalibration.*; +import org.broadinstitute.sting.gatk.walkers.recalibration.Covariate; +import org.broadinstitute.sting.gatk.walkers.recalibration.RecalDatum; +import org.broadinstitute.sting.gatk.walkers.recalibration.RecalibrationArgumentCollection; import org.broadinstitute.sting.utils.classloader.PluginManager; import org.broadinstitute.sting.utils.exceptions.DynamicClassResolutionException; import org.broadinstitute.sting.utils.text.XReadLines; -import org.broadinstitute.sting.commandline.CommandLineProgram; -import org.broadinstitute.sting.commandline.Argument; +import java.io.*; import java.util.ArrayList; import java.util.Collection; -import java.util.List; import java.util.Map; import java.util.regex.Pattern; -import java.io.*; /** * Created by IntelliJ IDEA. diff --git a/public/java/src/org/broadinstitute/sting/commandline/Argument.java b/public/java/src/org/broadinstitute/sting/commandline/Argument.java index b2ee9d1fc..33592287d 100755 --- a/public/java/src/org/broadinstitute/sting/commandline/Argument.java +++ b/public/java/src/org/broadinstitute/sting/commandline/Argument.java @@ -25,12 +25,7 @@ package org.broadinstitute.sting.commandline; -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Inherited; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; +import java.lang.annotation.*; /** * Created by IntelliJ IDEA. diff --git a/public/java/src/org/broadinstitute/sting/commandline/ArgumentDefinitionGroup.java b/public/java/src/org/broadinstitute/sting/commandline/ArgumentDefinitionGroup.java index c36a8e04f..b47677b08 100644 --- a/public/java/src/org/broadinstitute/sting/commandline/ArgumentDefinitionGroup.java +++ b/public/java/src/org/broadinstitute/sting/commandline/ArgumentDefinitionGroup.java @@ -27,10 +27,10 @@ package org.broadinstitute.sting.commandline; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import java.util.List; -import java.util.Collections; import java.util.ArrayList; +import java.util.Collections; import java.util.Iterator; +import java.util.List; /** * A group of argument definitions. diff --git a/public/java/src/org/broadinstitute/sting/commandline/ArgumentDefinitions.java b/public/java/src/org/broadinstitute/sting/commandline/ArgumentDefinitions.java index 39e698ca3..9f92df6e0 100755 --- a/public/java/src/org/broadinstitute/sting/commandline/ArgumentDefinitions.java +++ b/public/java/src/org/broadinstitute/sting/commandline/ArgumentDefinitions.java @@ -27,10 +27,10 @@ package org.broadinstitute.sting.commandline; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import java.util.Set; -import java.util.HashSet; import java.util.Collection; +import java.util.HashSet; import java.util.Iterator; +import java.util.Set; /** * A collection of argument definitions. diff --git a/public/java/src/org/broadinstitute/sting/commandline/ArgumentTypeDescriptor.java b/public/java/src/org/broadinstitute/sting/commandline/ArgumentTypeDescriptor.java index 6c50e1784..9c33e084d 100644 --- a/public/java/src/org/broadinstitute/sting/commandline/ArgumentTypeDescriptor.java +++ b/public/java/src/org/broadinstitute/sting/commandline/ArgumentTypeDescriptor.java @@ -25,12 +25,12 @@ package org.broadinstitute.sting.commandline; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import org.broadinstitute.sting.utils.classloader.JVMUtils; +import org.apache.log4j.Logger; import org.broadinstitute.sting.gatk.walkers.Multiplex; import org.broadinstitute.sting.gatk.walkers.Multiplexer; -import org.apache.log4j.Logger; +import org.broadinstitute.sting.utils.classloader.JVMUtils; import org.broadinstitute.sting.utils.exceptions.DynamicClassResolutionException; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.UserException; import java.lang.annotation.Annotation; diff --git a/public/java/src/org/broadinstitute/sting/commandline/CommandLineProgram.java b/public/java/src/org/broadinstitute/sting/commandline/CommandLineProgram.java index d404a2b6e..aba4fc109 100644 --- a/public/java/src/org/broadinstitute/sting/commandline/CommandLineProgram.java +++ b/public/java/src/org/broadinstitute/sting/commandline/CommandLineProgram.java @@ -25,14 +25,20 @@ package org.broadinstitute.sting.commandline; -import org.apache.log4j.*; +import org.apache.log4j.FileAppender; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.PatternLayout; import org.broadinstitute.sting.gatk.CommandLineGATK; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.help.ApplicationDetails; import org.broadinstitute.sting.utils.help.HelpFormatter; import java.io.IOException; -import java.util.*; +import java.util.Collection; +import java.util.Collections; +import java.util.EnumSet; +import java.util.Locale; public abstract class CommandLineProgram { diff --git a/public/java/src/org/broadinstitute/sting/commandline/CommandLineUtils.java b/public/java/src/org/broadinstitute/sting/commandline/CommandLineUtils.java index 99608f167..bd2006388 100644 --- a/public/java/src/org/broadinstitute/sting/commandline/CommandLineUtils.java +++ b/public/java/src/org/broadinstitute/sting/commandline/CommandLineUtils.java @@ -25,11 +25,17 @@ package org.broadinstitute.sting.commandline; -import org.apache.log4j.*; +import org.apache.log4j.Appender; +import org.apache.log4j.ConsoleAppender; +import org.apache.log4j.Logger; +import org.apache.log4j.PatternLayout; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import java.util.*; import java.lang.annotation.Annotation; +import java.util.Collections; +import java.util.Enumeration; +import java.util.LinkedHashMap; +import java.util.Map; /** * Static utility methods for working with command-line arguments. diff --git a/public/java/src/org/broadinstitute/sting/commandline/MissingArgumentValueException.java b/public/java/src/org/broadinstitute/sting/commandline/MissingArgumentValueException.java index 8029db7b3..4e6c3a16f 100644 --- a/public/java/src/org/broadinstitute/sting/commandline/MissingArgumentValueException.java +++ b/public/java/src/org/broadinstitute/sting/commandline/MissingArgumentValueException.java @@ -26,8 +26,6 @@ package org.broadinstitute.sting.commandline; import org.broadinstitute.sting.utils.Utils; -import java.util.Collection; - /** * Specifies that a value was missing when attempting to populate an argument. */ diff --git a/public/java/src/org/broadinstitute/sting/commandline/ParsingEngine.java b/public/java/src/org/broadinstitute/sting/commandline/ParsingEngine.java index 717c5c522..8423bb2f2 100755 --- a/public/java/src/org/broadinstitute/sting/commandline/ParsingEngine.java +++ b/public/java/src/org/broadinstitute/sting/commandline/ParsingEngine.java @@ -25,16 +25,16 @@ package org.broadinstitute.sting.commandline; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import org.broadinstitute.sting.utils.collections.Pair; -import org.broadinstitute.sting.utils.classloader.JVMUtils; +import org.apache.log4j.Logger; import org.broadinstitute.sting.utils.Utils; +import org.broadinstitute.sting.utils.classloader.JVMUtils; +import org.broadinstitute.sting.utils.collections.Pair; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.UserException; import org.broadinstitute.sting.utils.help.ApplicationDetails; import org.broadinstitute.sting.utils.help.HelpFormatter; -import org.apache.log4j.Logger; -import java.lang.reflect.*; +import java.lang.reflect.Field; import java.util.*; /** diff --git a/public/java/src/org/broadinstitute/sting/commandline/ParsingMethod.java b/public/java/src/org/broadinstitute/sting/commandline/ParsingMethod.java index d1cda3ed9..a070cb5a1 100755 --- a/public/java/src/org/broadinstitute/sting/commandline/ParsingMethod.java +++ b/public/java/src/org/broadinstitute/sting/commandline/ParsingMethod.java @@ -27,10 +27,8 @@ package org.broadinstitute.sting.commandline; import org.broadinstitute.sting.utils.Utils; -import java.util.regex.Pattern; import java.util.regex.Matcher; -import java.util.List; -import java.util.ArrayList; +import java.util.regex.Pattern; /** * Holds a pattern, along with how to get to the argument definitions that could match that pattern. diff --git a/public/java/src/org/broadinstitute/sting/gatk/CommandLineExecutable.java b/public/java/src/org/broadinstitute/sting/gatk/CommandLineExecutable.java index fd7e749c3..a080ab439 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/CommandLineExecutable.java +++ b/public/java/src/org/broadinstitute/sting/gatk/CommandLineExecutable.java @@ -25,30 +25,21 @@ package org.broadinstitute.sting.gatk; -import org.broadinstitute.sting.commandline.Tags; -import org.broadinstitute.sting.gatk.arguments.GATKArgumentCollection; -import org.broadinstitute.sting.commandline.CommandLineProgram; import org.broadinstitute.sting.commandline.ArgumentTypeDescriptor; -import org.broadinstitute.sting.gatk.datasources.reads.SAMReaderID; +import org.broadinstitute.sting.commandline.CommandLineProgram; +import org.broadinstitute.sting.gatk.arguments.GATKArgumentCollection; import org.broadinstitute.sting.gatk.filters.ReadFilter; import org.broadinstitute.sting.gatk.io.stubs.OutputStreamArgumentTypeDescriptor; import org.broadinstitute.sting.gatk.io.stubs.SAMFileReaderArgumentTypeDescriptor; import org.broadinstitute.sting.gatk.io.stubs.SAMFileWriterArgumentTypeDescriptor; import org.broadinstitute.sting.gatk.io.stubs.VCFWriterArgumentTypeDescriptor; import org.broadinstitute.sting.gatk.phonehome.GATKRunReport; -import org.broadinstitute.sting.gatk.refdata.utils.RMDTriplet; -import org.broadinstitute.sting.gatk.refdata.utils.RMDTriplet.RMDStorageType; -import org.broadinstitute.sting.gatk.refdata.utils.helpers.DbSNPHelper; import org.broadinstitute.sting.gatk.walkers.Walker; - -import java.io.File; -import java.io.FileNotFoundException; -import java.util.*; - -import net.sf.picard.filter.SamRecordFilter; -import org.broadinstitute.sting.utils.exceptions.UserException; import org.broadinstitute.sting.utils.text.ListFileUtils; -import org.broadinstitute.sting.utils.text.XReadLines; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; /** * @author aaron diff --git a/public/java/src/org/broadinstitute/sting/gatk/CommandLineGATK.java b/public/java/src/org/broadinstitute/sting/gatk/CommandLineGATK.java index 7982f61e2..da2be74bf 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/CommandLineGATK.java +++ b/public/java/src/org/broadinstitute/sting/gatk/CommandLineGATK.java @@ -26,13 +26,15 @@ package org.broadinstitute.sting.gatk; import org.broad.tribble.TribbleException; +import org.broadinstitute.sting.commandline.Argument; +import org.broadinstitute.sting.commandline.ArgumentCollection; +import org.broadinstitute.sting.commandline.CommandLineProgram; import org.broadinstitute.sting.gatk.arguments.GATKArgumentCollection; import org.broadinstitute.sting.gatk.walkers.Attribution; -import org.broadinstitute.sting.utils.exceptions.UserException; -import org.broadinstitute.sting.utils.text.TextFormattingUtils; -import org.broadinstitute.sting.utils.help.ApplicationDetails; -import org.broadinstitute.sting.commandline.*; import org.broadinstitute.sting.gatk.walkers.Walker; +import org.broadinstitute.sting.utils.exceptions.UserException; +import org.broadinstitute.sting.utils.help.ApplicationDetails; +import org.broadinstitute.sting.utils.text.TextFormattingUtils; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/gatk/GenomeAnalysisEngine.java b/public/java/src/org/broadinstitute/sting/gatk/GenomeAnalysisEngine.java index f8527c33b..918bc1251 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/GenomeAnalysisEngine.java +++ b/public/java/src/org/broadinstitute/sting/gatk/GenomeAnalysisEngine.java @@ -28,24 +28,14 @@ import net.sf.picard.reference.IndexedFastaSequenceFile; import net.sf.picard.reference.ReferenceSequenceFile; import net.sf.samtools.*; import org.apache.log4j.Logger; -import org.broadinstitute.sting.commandline.ArgumentException; -import org.broadinstitute.sting.commandline.ArgumentSource; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.commandline.CommandLineUtils; -import org.broadinstitute.sting.commandline.ParsingEngine; -import org.broadinstitute.sting.commandline.Tags; +import org.broadinstitute.sting.commandline.*; import org.broadinstitute.sting.gatk.arguments.GATKArgumentCollection; import org.broadinstitute.sting.gatk.arguments.ValidationExclusion; -import org.broadinstitute.sting.gatk.datasources.reads.SAMReaderID; -import org.broadinstitute.sting.gatk.datasources.reads.Shard; +import org.broadinstitute.sting.gatk.datasources.reads.*; import org.broadinstitute.sting.gatk.datasources.reference.ReferenceDataSource; import org.broadinstitute.sting.gatk.datasources.rmd.ReferenceOrderedDataSource; import org.broadinstitute.sting.gatk.datasources.sample.Sample; import org.broadinstitute.sting.gatk.datasources.sample.SampleDataSource; -import org.broadinstitute.sting.gatk.datasources.reads.MonolithicShardStrategy; -import org.broadinstitute.sting.gatk.datasources.reads.ShardStrategy; -import org.broadinstitute.sting.gatk.datasources.reads.ShardStrategyFactory; -import org.broadinstitute.sting.gatk.datasources.reads.SAMDataSource; import org.broadinstitute.sting.gatk.executive.MicroScheduler; import org.broadinstitute.sting.gatk.filters.FilterManager; import org.broadinstitute.sting.gatk.filters.ReadFilter; @@ -65,6 +55,7 @@ import org.broadinstitute.sting.utils.baq.BAQ; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.UserException; import org.broadinstitute.sting.utils.interval.IntervalUtils; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.io.File; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/gatk/ReadMetrics.java b/public/java/src/org/broadinstitute/sting/gatk/ReadMetrics.java index 27a86ab3f..7cb615f7f 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/ReadMetrics.java +++ b/public/java/src/org/broadinstitute/sting/gatk/ReadMetrics.java @@ -25,13 +25,12 @@ package org.broadinstitute.sting.gatk; import net.sf.picard.filter.SamRecordFilter; - -import java.util.Map; -import java.util.HashMap; -import java.util.Collections; - import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; + /** * Holds a bunch of basic information about the traversal. */ diff --git a/public/java/src/org/broadinstitute/sting/gatk/ReadProperties.java b/public/java/src/org/broadinstitute/sting/gatk/ReadProperties.java index 1a361029a..93fa2d146 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/ReadProperties.java +++ b/public/java/src/org/broadinstitute/sting/gatk/ReadProperties.java @@ -1,6 +1,5 @@ package org.broadinstitute.sting.gatk; -import net.sf.picard.filter.SamRecordFilter; import net.sf.picard.reference.IndexedFastaSequenceFile; import net.sf.samtools.SAMFileHeader; import net.sf.samtools.SAMFileReader; diff --git a/public/java/src/org/broadinstitute/sting/gatk/WalkerManager.java b/public/java/src/org/broadinstitute/sting/gatk/WalkerManager.java index 9553f651e..cf190835e 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/WalkerManager.java +++ b/public/java/src/org/broadinstitute/sting/gatk/WalkerManager.java @@ -25,19 +25,18 @@ package org.broadinstitute.sting.gatk; -import net.sf.picard.filter.SamRecordFilter; import org.broadinstitute.sting.commandline.Hidden; import org.broadinstitute.sting.gatk.datasources.rmd.ReferenceOrderedDataSource; import org.broadinstitute.sting.gatk.filters.FilterManager; import org.broadinstitute.sting.gatk.filters.ReadFilter; import org.broadinstitute.sting.gatk.walkers.*; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; +import org.broadinstitute.sting.utils.baq.BAQ; import org.broadinstitute.sting.utils.classloader.PluginManager; -import org.broadinstitute.sting.utils.text.TextFormattingUtils; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.help.DescriptionTaglet; import org.broadinstitute.sting.utils.help.DisplayNameTaglet; import org.broadinstitute.sting.utils.help.SummaryTaglet; -import org.broadinstitute.sting.utils.baq.BAQ; +import org.broadinstitute.sting.utils.text.TextFormattingUtils; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/gatk/arguments/GATKArgumentCollection.java b/public/java/src/org/broadinstitute/sting/gatk/arguments/GATKArgumentCollection.java index 93638f21d..ee2e85025 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/arguments/GATKArgumentCollection.java +++ b/public/java/src/org/broadinstitute/sting/gatk/arguments/GATKArgumentCollection.java @@ -26,17 +26,16 @@ package org.broadinstitute.sting.gatk.arguments; import net.sf.samtools.SAMFileReader; -import org.broadinstitute.sting.commandline.Hidden; -import org.broadinstitute.sting.gatk.phonehome.GATKRunReport; -import org.broadinstitute.sting.gatk.refdata.utils.RMDTriplet; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import org.broadinstitute.sting.utils.interval.IntervalMergingRule; import org.broadinstitute.sting.commandline.Argument; +import org.broadinstitute.sting.commandline.Hidden; import org.broadinstitute.sting.commandline.Input; import org.broadinstitute.sting.gatk.DownsampleType; import org.broadinstitute.sting.gatk.DownsamplingMethod; -import org.broadinstitute.sting.utils.interval.IntervalSetRule; +import org.broadinstitute.sting.gatk.phonehome.GATKRunReport; import org.broadinstitute.sting.utils.baq.BAQ; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; +import org.broadinstitute.sting.utils.interval.IntervalMergingRule; +import org.broadinstitute.sting.utils.interval.IntervalSetRule; import org.simpleframework.xml.*; import org.simpleframework.xml.core.Persister; import org.simpleframework.xml.stream.Format; diff --git a/public/java/src/org/broadinstitute/sting/gatk/contexts/AlignmentContext.java b/public/java/src/org/broadinstitute/sting/gatk/contexts/AlignmentContext.java index 337c2664c..17e4a0743 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/contexts/AlignmentContext.java +++ b/public/java/src/org/broadinstitute/sting/gatk/contexts/AlignmentContext.java @@ -26,13 +26,13 @@ package org.broadinstitute.sting.gatk.contexts; import net.sf.samtools.SAMRecord; +import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.HasGenomeLocation; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import org.broadinstitute.sting.utils.GenomeLoc; -import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; import org.broadinstitute.sting.utils.pileup.ReadBackedExtendedEventPileup; +import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; -import java.util.*; +import java.util.List; /** * Useful class for forwarding on locusContext data from this iterator diff --git a/public/java/src/org/broadinstitute/sting/gatk/contexts/AlignmentContextUtils.java b/public/java/src/org/broadinstitute/sting/gatk/contexts/AlignmentContextUtils.java index 6a0d30837..1f9a7d705 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/contexts/AlignmentContextUtils.java +++ b/public/java/src/org/broadinstitute/sting/gatk/contexts/AlignmentContextUtils.java @@ -27,8 +27,8 @@ package org.broadinstitute.sting.gatk.contexts; import net.sf.samtools.SAMReadGroupRecord; import org.broadinstitute.sting.gatk.datasources.sample.Sample; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.GenomeLoc; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.UserException; import org.broadinstitute.sting.utils.pileup.*; diff --git a/public/java/src/org/broadinstitute/sting/gatk/contexts/ReferenceContext.java b/public/java/src/org/broadinstitute/sting/gatk/contexts/ReferenceContext.java index 760b3a7bc..376064cdb 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/contexts/ReferenceContext.java +++ b/public/java/src/org/broadinstitute/sting/gatk/contexts/ReferenceContext.java @@ -25,11 +25,12 @@ package org.broadinstitute.sting.gatk.contexts; -import org.broadinstitute.sting.utils.GenomeLocParser; -import org.broadinstitute.sting.utils.GenomeLoc; -import org.broadinstitute.sting.utils.BaseUtils; +import com.google.java.contract.Ensures; +import com.google.java.contract.Requires; import net.sf.samtools.util.StringUtil; -import com.google.java.contract.*; +import org.broadinstitute.sting.utils.BaseUtils; +import org.broadinstitute.sting.utils.GenomeLoc; +import org.broadinstitute.sting.utils.GenomeLocParser; /** * The section of the reference that overlaps with the given diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/AllLocusView.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/AllLocusView.java index b36c59a2c..e92599494 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/AllLocusView.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/AllLocusView.java @@ -1,16 +1,14 @@ package org.broadinstitute.sting.gatk.datasources.providers; +import net.sf.samtools.SAMRecord; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.iterators.GenomeLocusIterator; +import org.broadinstitute.sting.utils.GenomeLoc; +import org.broadinstitute.sting.utils.pileup.ReadBackedPileupImpl; + +import java.util.Collections; import java.util.List; import java.util.NoSuchElementException; -import java.util.ArrayList; -import java.util.Collections; - -import org.broadinstitute.sting.gatk.iterators.GenomeLocusIterator; -import org.broadinstitute.sting.gatk.contexts.AlignmentContext; -import org.broadinstitute.sting.utils.GenomeLoc; -import net.sf.samtools.SAMRecord; -import org.broadinstitute.sting.utils.GenomeLocParser; -import org.broadinstitute.sting.utils.pileup.ReadBackedPileupImpl; /** * User: hanna * Date: May 13, 2009 diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/LocusReferenceView.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/LocusReferenceView.java index 330a9e4f7..ff312bcac 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/LocusReferenceView.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/LocusReferenceView.java @@ -1,13 +1,12 @@ package org.broadinstitute.sting.gatk.datasources.providers; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import org.broadinstitute.sting.utils.GenomeLoc; -import org.broadinstitute.sting.utils.GenomeLocParser; +import net.sf.picard.reference.ReferenceSequence; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.gatk.walkers.Reference; import org.broadinstitute.sting.gatk.walkers.Walker; import org.broadinstitute.sting.gatk.walkers.Window; -import org.broadinstitute.sting.gatk.walkers.Reference; -import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import net.sf.picard.reference.ReferenceSequence; +import org.broadinstitute.sting.utils.GenomeLoc; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; /* * Copyright (c) 2009 The Broad Institute * diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/LocusShardDataProvider.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/LocusShardDataProvider.java index 72b962522..55304da34 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/LocusShardDataProvider.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/LocusShardDataProvider.java @@ -1,16 +1,15 @@ package org.broadinstitute.sting.gatk.datasources.providers; +import net.sf.picard.reference.IndexedFastaSequenceFile; +import org.broadinstitute.sting.gatk.ReadProperties; import org.broadinstitute.sting.gatk.datasources.reads.Shard; -import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.gatk.datasources.rmd.ReferenceOrderedDataSource; import org.broadinstitute.sting.gatk.iterators.LocusIterator; -import org.broadinstitute.sting.gatk.ReadProperties; +import org.broadinstitute.sting.utils.GenomeLoc; +import org.broadinstitute.sting.utils.GenomeLocParser; import java.util.Collection; -import net.sf.picard.reference.IndexedFastaSequenceFile; -import org.broadinstitute.sting.utils.GenomeLocParser; - /** * Presents data sharded by locus to the traversal engine. * diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/LocusView.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/LocusView.java index b467a2ab5..f9ed0cb74 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/LocusView.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/LocusView.java @@ -1,7 +1,7 @@ package org.broadinstitute.sting.gatk.datasources.providers; -import org.broadinstitute.sting.gatk.ReadProperties; import org.broadinstitute.sting.gatk.DownsampleType; +import org.broadinstitute.sting.gatk.ReadProperties; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.iterators.LocusIterator; import org.broadinstitute.sting.utils.GenomeLoc; diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/ManagingReferenceOrderedView.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/ManagingReferenceOrderedView.java index a91e169c1..223659a46 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/ManagingReferenceOrderedView.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/ManagingReferenceOrderedView.java @@ -5,10 +5,10 @@ import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.utils.LocationAwareSeekableRODIterator; import org.broadinstitute.sting.utils.GenomeLoc; -import java.util.List; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; +import java.util.List; /** * User: hanna * Date: May 21, 2009 diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/ReadReferenceView.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/ReadReferenceView.java index d2c097f5d..3d62faf49 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/ReadReferenceView.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/ReadReferenceView.java @@ -1,9 +1,8 @@ package org.broadinstitute.sting.gatk.datasources.providers; import net.sf.samtools.SAMRecord; -import org.broadinstitute.sting.utils.GenomeLoc; -import org.broadinstitute.sting.utils.GenomeLocParser; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.utils.GenomeLoc; /* * Copyright (c) 2009 The Broad Institute * diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/ReadShardDataProvider.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/ReadShardDataProvider.java index 5a672b09f..7843e7518 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/ReadShardDataProvider.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/ReadShardDataProvider.java @@ -1,14 +1,13 @@ package org.broadinstitute.sting.gatk.datasources.providers; +import net.sf.picard.reference.IndexedFastaSequenceFile; import org.broadinstitute.sting.gatk.datasources.reads.Shard; -import org.broadinstitute.sting.gatk.iterators.StingSAMIterator; import org.broadinstitute.sting.gatk.datasources.rmd.ReferenceOrderedDataSource; +import org.broadinstitute.sting.gatk.iterators.StingSAMIterator; +import org.broadinstitute.sting.utils.GenomeLocParser; import java.util.Collection; -import net.sf.picard.reference.IndexedFastaSequenceFile; -import org.broadinstitute.sting.utils.GenomeLocParser; - /** * Present data sharded by read to a traversal engine. * diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/ReadView.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/ReadView.java index 0c4b78a7c..e809092d4 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/ReadView.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/ReadView.java @@ -1,11 +1,10 @@ package org.broadinstitute.sting.gatk.datasources.providers; +import net.sf.samtools.SAMRecord; import org.broadinstitute.sting.gatk.iterators.StingSAMIterator; -import java.util.Collection; import java.util.Arrays; - -import net.sf.samtools.SAMRecord; +import java.util.Collection; /** * User: hanna * Date: May 22, 2009 diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/ReferenceView.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/ReferenceView.java index d6c938f36..efb92235f 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/ReferenceView.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/ReferenceView.java @@ -1,16 +1,16 @@ package org.broadinstitute.sting.gatk.datasources.providers; -import org.broadinstitute.sting.utils.*; - -import java.util.Collections; -import java.util.Collection; -import java.util.Arrays; - -import net.sf.samtools.SAMSequenceRecord; -import net.sf.samtools.SAMRecord; -import net.sf.picard.reference.ReferenceSequence; import net.sf.picard.reference.IndexedFastaSequenceFile; +import net.sf.picard.reference.ReferenceSequence; +import net.sf.samtools.SAMRecord; +import net.sf.samtools.SAMSequenceRecord; +import org.broadinstitute.sting.utils.GenomeLoc; +import org.broadinstitute.sting.utils.GenomeLocParser; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; + +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; /** * User: hanna * Date: May 22, 2009 diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/RodLocusView.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/RodLocusView.java index feed2ab85..39c632539 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/RodLocusView.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/RodLocusView.java @@ -25,9 +25,9 @@ package org.broadinstitute.sting.gatk.datasources.providers; -import org.broadinstitute.sting.gatk.refdata.*; -import org.broadinstitute.sting.gatk.datasources.rmd.ReferenceOrderedDataSource; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.datasources.rmd.ReferenceOrderedDataSource; +import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.utils.LocationAwareSeekableRODIterator; import org.broadinstitute.sting.gatk.refdata.utils.RODRecordList; import org.broadinstitute.sting.utils.GenomeLoc; diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/ShardDataProvider.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/ShardDataProvider.java index a0ea32f9b..803bd885b 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/ShardDataProvider.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/providers/ShardDataProvider.java @@ -1,15 +1,14 @@ package org.broadinstitute.sting.gatk.datasources.providers; +import net.sf.picard.reference.IndexedFastaSequenceFile; import org.broadinstitute.sting.gatk.datasources.reads.Shard; import org.broadinstitute.sting.gatk.datasources.rmd.ReferenceOrderedDataSource; import org.broadinstitute.sting.utils.GenomeLocParser; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import java.util.ArrayList; -import java.util.List; import java.util.Collection; - -import net.sf.picard.reference.IndexedFastaSequenceFile; +import java.util.List; /** * User: hanna * Date: May 8, 2009 diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/BAMBlockStartIterator.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/BAMBlockStartIterator.java index a9e04e357..de938e845 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/BAMBlockStartIterator.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/BAMBlockStartIterator.java @@ -24,9 +24,6 @@ package org.broadinstitute.sting.gatk.datasources.reads; -import net.sf.samtools.SAMFileReader; -import net.sf.samtools.SAMRecord; -import org.apache.commons.lang.ArrayUtils; import org.broadinstitute.sting.utils.exceptions.StingException; import java.io.File; @@ -35,9 +32,7 @@ import java.io.IOException; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.channels.FileChannel; -import java.util.ArrayList; import java.util.Iterator; -import java.util.List; /** * Created by IntelliJ IDEA. diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/BAMSchedule.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/BAMSchedule.java index 34693d501..521bcd5a3 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/BAMSchedule.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/BAMSchedule.java @@ -39,12 +39,7 @@ import java.io.RandomAccessFile; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.channels.FileChannel; -import java.util.ArrayList; -import java.util.BitSet; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; +import java.util.*; /** * Writes schedules for a single BAM file to a target output file. diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/BAMScheduler.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/BAMScheduler.java index 266232c0f..467aebac5 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/BAMScheduler.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/BAMScheduler.java @@ -26,20 +26,10 @@ package org.broadinstitute.sting.gatk.datasources.reads; import net.sf.picard.util.PeekableIterator; import net.sf.samtools.GATKBAMFileSpan; -import org.apache.log4j.Logger; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.GenomeLocSortedSet; -import java.io.File; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.NoSuchElementException; +import java.util.*; /** * Assign intervals to the most appropriate blocks, keeping as little as possible in memory at once. diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/FilePointer.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/FilePointer.java index c014c1995..e4141f61c 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/FilePointer.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/FilePointer.java @@ -29,19 +29,11 @@ import net.sf.samtools.GATKBAMFileSpan; import net.sf.samtools.SAMFileSpan; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.GenomeLocParser; -import org.broadinstitute.sting.utils.GenomeLocSortedSet; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.interval.IntervalMergingRule; import org.broadinstitute.sting.utils.interval.IntervalUtils; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.SortedMap; -import java.util.TreeMap; +import java.util.*; /** * Represents a small section of a BAM file, and every associated interval. diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/GATKBAMIndex.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/GATKBAMIndex.java index 8ebb8b1a8..5d0c38b78 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/GATKBAMIndex.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/GATKBAMIndex.java @@ -23,24 +23,18 @@ */ package org.broadinstitute.sting.gatk.datasources.reads; -import net.sf.samtools.Bin; - -import net.sf.samtools.GATKBAMFileSpan; -import net.sf.samtools.GATKBin; -import net.sf.samtools.GATKChunk; -import net.sf.samtools.LinearIndex; -import net.sf.samtools.SAMException; -import net.sf.samtools.util.RuntimeIOException; +import net.sf.samtools.*; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import java.io.File; import java.io.FileInputStream; import java.io.IOException; -import java.lang.ref.SoftReference; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.channels.FileChannel; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; /** * A basic interface for querying BAM indices. diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/GATKBAMIndexData.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/GATKBAMIndexData.java index f9b998a60..daf1b77e3 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/GATKBAMIndexData.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/GATKBAMIndexData.java @@ -24,11 +24,7 @@ package org.broadinstitute.sting.gatk.datasources.reads; -import net.sf.samtools.Bin; -import net.sf.samtools.GATKBAMFileSpan; -import net.sf.samtools.GATKBin; -import net.sf.samtools.GATKChunk; -import net.sf.samtools.LinearIndex; +import net.sf.samtools.*; import java.util.ArrayList; import java.util.Collections; diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/IntervalSharder.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/IntervalSharder.java index fc3f76ab7..4ddf28dce 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/IntervalSharder.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/IntervalSharder.java @@ -35,16 +35,7 @@ import org.broadinstitute.sting.utils.GenomeLocSortedSet; import org.broadinstitute.sting.utils.collections.Pair; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.NoSuchElementException; -import java.util.PriorityQueue; -import java.util.Queue; +import java.util.*; /** * Shard intervals based on position within the BAM file. diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/LocusShard.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/LocusShard.java index 26af890b4..19d33aa6b 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/LocusShard.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/LocusShard.java @@ -1,5 +1,6 @@ package org.broadinstitute.sting.gatk.datasources.reads; +import net.sf.samtools.SAMFileSpan; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.GenomeLocParser; import org.broadinstitute.sting.utils.Utils; @@ -7,8 +8,6 @@ import org.broadinstitute.sting.utils.Utils; import java.util.List; import java.util.Map; -import net.sf.samtools.SAMFileSpan; - /** * Handles locus shards of BAM information. * @author aaron diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/LocusShardStrategy.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/LocusShardStrategy.java index 950d67428..a5ca07853 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/LocusShardStrategy.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/LocusShardStrategy.java @@ -24,17 +24,18 @@ package org.broadinstitute.sting.gatk.datasources.reads; -import net.sf.samtools.GATKBAMFileSpan; -import org.broadinstitute.sting.utils.GenomeLocSortedSet; +import net.sf.picard.reference.IndexedFastaSequenceFile; +import net.sf.samtools.SAMFileHeader; +import net.sf.samtools.SAMFileSpan; +import net.sf.samtools.SAMSequenceRecord; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.GenomeLocParser; +import org.broadinstitute.sting.utils.GenomeLocSortedSet; -import java.util.*; - -import net.sf.samtools.SAMFileHeader; -import net.sf.samtools.SAMSequenceRecord; -import net.sf.samtools.SAMFileSpan; -import net.sf.picard.reference.IndexedFastaSequenceFile; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Map; /** * A sharding strategy for loci based on reading of the index. diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/MonolithicShard.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/MonolithicShard.java index 7579c22f6..278eeb898 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/MonolithicShard.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/MonolithicShard.java @@ -1,8 +1,8 @@ package org.broadinstitute.sting.gatk.datasources.reads; +import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.GenomeLocParser; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import org.broadinstitute.sting.utils.GenomeLoc; import java.util.List; diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/MonolithicShardStrategy.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/MonolithicShardStrategy.java index 10228ecd7..28b737f28 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/MonolithicShardStrategy.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/MonolithicShardStrategy.java @@ -4,8 +4,8 @@ import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.GenomeLocParser; import java.util.Iterator; -import java.util.NoSuchElementException; import java.util.List; +import java.util.NoSuchElementException; /** * Create a giant shard representing all the data in the input BAM(s). diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/ReadShard.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/ReadShard.java index 9aecd7779..4d9c9092d 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/ReadShard.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/ReadShard.java @@ -1,15 +1,17 @@ package org.broadinstitute.sting.gatk.datasources.reads; -import org.broadinstitute.sting.utils.GenomeLoc; -import org.broadinstitute.sting.gatk.iterators.StingSAMIterator; -import org.broadinstitute.sting.gatk.iterators.StingSAMIteratorAdapter; - -import java.util.*; - import net.sf.samtools.SAMFileSpan; import net.sf.samtools.SAMRecord; +import org.broadinstitute.sting.gatk.iterators.StingSAMIterator; +import org.broadinstitute.sting.gatk.iterators.StingSAMIteratorAdapter; +import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.GenomeLocParser; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; + /** * * User: aaron diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/ReadShardStrategy.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/ReadShardStrategy.java index da70a615b..c2235ec73 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/ReadShardStrategy.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/ReadShardStrategy.java @@ -25,12 +25,11 @@ package org.broadinstitute.sting.gatk.datasources.reads; import net.sf.samtools.SAMFileSpan; - -import java.util.*; - import org.broadinstitute.sting.utils.GenomeLocParser; import org.broadinstitute.sting.utils.GenomeLocSortedSet; +import java.util.*; + /** * The sharding strategy for reads using a simple counting mechanism. Each read shard * has a specific number of reads (default to 10K) which is configured in the constructor. diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/SAMDataSource.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/SAMDataSource.java index c2aa5f18e..6064806f3 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/SAMDataSource.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/SAMDataSource.java @@ -24,21 +24,19 @@ package org.broadinstitute.sting.gatk.datasources.reads; +import net.sf.picard.reference.IndexedFastaSequenceFile; +import net.sf.picard.sam.MergingSamRecordIterator; +import net.sf.picard.sam.SamFileHeaderMerger; import net.sf.samtools.*; import net.sf.samtools.util.CloseableIterator; -import net.sf.picard.filter.SamRecordFilter; -import net.sf.picard.sam.SamFileHeaderMerger; -import net.sf.picard.sam.MergingSamRecordIterator; -import net.sf.picard.reference.IndexedFastaSequenceFile; - import org.apache.log4j.Logger; import org.broadinstitute.sting.gatk.DownsamplingMethod; -import org.broadinstitute.sting.gatk.filters.ReadFilter; -import org.broadinstitute.sting.gatk.iterators.*; -import org.broadinstitute.sting.gatk.ReadProperties; import org.broadinstitute.sting.gatk.ReadMetrics; +import org.broadinstitute.sting.gatk.ReadProperties; import org.broadinstitute.sting.gatk.arguments.ValidationExclusion; import org.broadinstitute.sting.gatk.filters.CountingFilteringIterator; +import org.broadinstitute.sting.gatk.filters.ReadFilter; +import org.broadinstitute.sting.gatk.iterators.*; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.GenomeLocParser; import org.broadinstitute.sting.utils.baq.BAQ; diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/Shard.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/Shard.java index 418f5d3ee..f8d941784 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/Shard.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/Shard.java @@ -2,17 +2,13 @@ package org.broadinstitute.sting.gatk.datasources.reads; import net.sf.samtools.SAMFileSpan; import net.sf.samtools.SAMRecord; -import org.broadinstitute.sting.gatk.datasources.reads.SAMDataSource; -import org.broadinstitute.sting.gatk.datasources.reads.SAMReaderID; -import org.broadinstitute.sting.gatk.iterators.StingSAMIterator; -import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.gatk.ReadMetrics; import org.broadinstitute.sting.gatk.ReadProperties; +import org.broadinstitute.sting.gatk.iterators.StingSAMIterator; +import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.GenomeLocParser; import org.broadinstitute.sting.utils.HasGenomeLocation; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import java.io.Serializable; import java.util.Collections; import java.util.List; import java.util.Map; diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/ShardStrategyFactory.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/ShardStrategyFactory.java index fa733ce12..780b41ef7 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/ShardStrategyFactory.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/ShardStrategyFactory.java @@ -1,10 +1,10 @@ package org.broadinstitute.sting.gatk.datasources.reads; -import net.sf.samtools.SAMSequenceDictionary; import net.sf.picard.reference.IndexedFastaSequenceFile; +import net.sf.samtools.SAMSequenceDictionary; import org.broadinstitute.sting.utils.GenomeLocParser; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.GenomeLocSortedSet; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; /** * diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/utilities/BAMFileStat.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/utilities/BAMFileStat.java index ae0f1cf43..07c13a76e 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/utilities/BAMFileStat.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/utilities/BAMFileStat.java @@ -25,17 +25,17 @@ package org.broadinstitute.sting.gatk.datasources.reads.utilities; -import org.broadinstitute.sting.commandline.CommandLineProgram; +import net.sf.samtools.BAMIndex; +import net.sf.samtools.SAMFileReader; import org.broadinstitute.sting.commandline.Argument; +import org.broadinstitute.sting.commandline.CommandLineProgram; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.instrumentation.Sizeof; import java.io.File; import java.lang.reflect.Field; -import java.util.Map; import java.util.List; - -import net.sf.samtools.*; +import java.util.Map; /** * diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/utilities/BAMTagRenamer.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/utilities/BAMTagRenamer.java index f03e2a44f..54de04379 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/utilities/BAMTagRenamer.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/utilities/BAMTagRenamer.java @@ -24,12 +24,12 @@ package org.broadinstitute.sting.gatk.datasources.reads.utilities; -import org.broadinstitute.sting.commandline.CommandLineProgram; -import org.broadinstitute.sting.commandline.Argument; -import net.sf.samtools.SAMFileWriter; import net.sf.samtools.SAMFileReader; -import net.sf.samtools.SAMRecord; +import net.sf.samtools.SAMFileWriter; import net.sf.samtools.SAMFileWriterFactory; +import net.sf.samtools.SAMRecord; +import org.broadinstitute.sting.commandline.Argument; +import org.broadinstitute.sting.commandline.CommandLineProgram; import java.io.File; diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/utilities/PrintBGZFBounds.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/utilities/PrintBGZFBounds.java index df7dccaa9..773541d11 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/utilities/PrintBGZFBounds.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/reads/utilities/PrintBGZFBounds.java @@ -24,7 +24,6 @@ package org.broadinstitute.sting.gatk.datasources.reads.utilities; -import net.sf.samtools.SAMFileReader; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.CommandLineProgram; diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/reference/ReferenceDataSource.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/reference/ReferenceDataSource.java index c2d64ddd8..ef69a8e5f 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/reference/ReferenceDataSource.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/reference/ReferenceDataSource.java @@ -25,16 +25,15 @@ package org.broadinstitute.sting.gatk.datasources.reference; -import net.sf.picard.reference.ReferenceSequenceFileFactory; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import net.sf.picard.reference.FastaSequenceIndexBuilder; -import net.sf.picard.sam.CreateSequenceDictionary; -import net.sf.picard.reference.IndexedFastaSequenceFile; import net.sf.picard.reference.FastaSequenceIndex; +import net.sf.picard.reference.FastaSequenceIndexBuilder; +import net.sf.picard.reference.IndexedFastaSequenceFile; +import net.sf.picard.sam.CreateSequenceDictionary; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.UserException; +import org.broadinstitute.sting.utils.fasta.CachingIndexedFastaSequenceFile; import org.broadinstitute.sting.utils.file.FSLockWithShared; import org.broadinstitute.sting.utils.file.FileSystemInabilityToLockException; -import org.broadinstitute.sting.utils.fasta.CachingIndexedFastaSequenceFile; import java.io.File; diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/rmd/ResourcePool.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/rmd/ResourcePool.java index 934f4f997..21f58d480 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/rmd/ResourcePool.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/rmd/ResourcePool.java @@ -28,11 +28,7 @@ import net.sf.samtools.SAMSequenceDictionary; import org.broadinstitute.sting.utils.GenomeLocParser; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; +import java.util.*; /** * A pool of open resources, all of which can create a closeable iterator. diff --git a/public/java/src/org/broadinstitute/sting/gatk/datasources/sample/SampleDataSource.java b/public/java/src/org/broadinstitute/sting/gatk/datasources/sample/SampleDataSource.java index 0a5981a1b..067bf3f72 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/datasources/sample/SampleDataSource.java +++ b/public/java/src/org/broadinstitute/sting/gatk/datasources/sample/SampleDataSource.java @@ -3,11 +3,10 @@ package org.broadinstitute.sting.gatk.datasources.sample; import net.sf.samtools.SAMFileHeader; import net.sf.samtools.SAMReadGroupRecord; import net.sf.samtools.SAMRecord; -import org.broadinstitute.sting.utils.variantcontext.Genotype; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; import org.broadinstitute.sting.utils.SampleUtils; import org.broadinstitute.sting.utils.exceptions.StingException; +import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.yaml.snakeyaml.TypeDescription; import org.yaml.snakeyaml.Yaml; import org.yaml.snakeyaml.constructor.Constructor; diff --git a/public/java/src/org/broadinstitute/sting/gatk/examples/CoverageBySample.java b/public/java/src/org/broadinstitute/sting/gatk/examples/CoverageBySample.java index a1419ba70..5dbd90405 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/examples/CoverageBySample.java +++ b/public/java/src/org/broadinstitute/sting/gatk/examples/CoverageBySample.java @@ -1,15 +1,20 @@ package org.broadinstitute.sting.gatk.examples; -import net.sf.samtools.*; -import org.broadinstitute.sting.gatk.refdata.*; -import org.broadinstitute.sting.gatk.walkers.LocusWalker; -import org.broadinstitute.sting.gatk.contexts.*; -import org.broadinstitute.sting.utils.pileup.*; +import net.sf.samtools.SAMReadGroupRecord; import org.broadinstitute.sting.commandline.Output; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; +import org.broadinstitute.sting.gatk.walkers.LocusWalker; +import org.broadinstitute.sting.utils.pileup.PileupElement; +import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; -import java.util.*; import java.io.PrintStream; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; /** * Computes the coverage per sample. diff --git a/public/java/src/org/broadinstitute/sting/gatk/examples/GATKPaperGenotyper.java b/public/java/src/org/broadinstitute/sting/gatk/examples/GATKPaperGenotyper.java index b96d0ffbf..26205a203 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/examples/GATKPaperGenotyper.java +++ b/public/java/src/org/broadinstitute/sting/gatk/examples/GATKPaperGenotyper.java @@ -25,6 +25,8 @@ package org.broadinstitute.sting.gatk.examples; +import org.broadinstitute.sting.commandline.Argument; +import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; @@ -32,8 +34,6 @@ import org.broadinstitute.sting.gatk.walkers.LocusWalker; import org.broadinstitute.sting.gatk.walkers.TreeReducible; import org.broadinstitute.sting.gatk.walkers.genotyper.DiploidSNPGenotypePriors; import org.broadinstitute.sting.utils.MathUtils; -import org.broadinstitute.sting.commandline.Argument; -import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; import java.io.PrintStream; diff --git a/public/java/src/org/broadinstitute/sting/gatk/executive/Accumulator.java b/public/java/src/org/broadinstitute/sting/gatk/executive/Accumulator.java index 3e335733d..b23782563 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/executive/Accumulator.java +++ b/public/java/src/org/broadinstitute/sting/gatk/executive/Accumulator.java @@ -25,18 +25,18 @@ package org.broadinstitute.sting.gatk.executive; -import org.broadinstitute.sting.gatk.walkers.Walker; -import org.broadinstitute.sting.gatk.datasources.providers.ShardDataProvider; -import org.broadinstitute.sting.gatk.datasources.providers.LocusShardDataProvider; import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; +import org.broadinstitute.sting.gatk.datasources.providers.LocusShardDataProvider; +import org.broadinstitute.sting.gatk.datasources.providers.ShardDataProvider; +import org.broadinstitute.sting.gatk.walkers.Walker; import org.broadinstitute.sting.utils.GenomeLoc; -import org.broadinstitute.sting.utils.collections.Pair; import org.broadinstitute.sting.utils.GenomeLocSortedSet; +import org.broadinstitute.sting.utils.collections.Pair; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import java.util.ArrayList; -import java.util.List; import java.util.Iterator; +import java.util.List; /** * Manages the */ diff --git a/public/java/src/org/broadinstitute/sting/gatk/executive/HierarchicalMicroScheduler.java b/public/java/src/org/broadinstitute/sting/gatk/executive/HierarchicalMicroScheduler.java index 8a27e008c..59fb4aa9e 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/executive/HierarchicalMicroScheduler.java +++ b/public/java/src/org/broadinstitute/sting/gatk/executive/HierarchicalMicroScheduler.java @@ -1,27 +1,27 @@ package org.broadinstitute.sting.gatk.executive; +import net.sf.picard.reference.IndexedFastaSequenceFile; +import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; import org.broadinstitute.sting.gatk.datasources.reads.SAMDataSource; import org.broadinstitute.sting.gatk.datasources.reads.Shard; -import org.broadinstitute.sting.gatk.walkers.Walker; -import org.broadinstitute.sting.gatk.walkers.TreeReducible; import org.broadinstitute.sting.gatk.datasources.reads.ShardStrategy; import org.broadinstitute.sting.gatk.datasources.rmd.ReferenceOrderedDataSource; -import org.broadinstitute.sting.gatk.io.*; -import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; +import org.broadinstitute.sting.gatk.io.OutputTracker; +import org.broadinstitute.sting.gatk.io.ThreadLocalOutputTracker; +import org.broadinstitute.sting.gatk.walkers.TreeReducible; +import org.broadinstitute.sting.gatk.walkers.Walker; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.UserException; import org.broadinstitute.sting.utils.threading.ThreadPoolMonitor; -import java.util.Queue; -import java.util.LinkedList; import java.util.Collection; -import java.util.concurrent.Executors; +import java.util.LinkedList; +import java.util.Queue; import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; import java.util.concurrent.Future; import java.util.concurrent.FutureTask; -import net.sf.picard.reference.IndexedFastaSequenceFile; - /** * A microscheduler that schedules shards according to a tree-like structure. * Requires a special walker tagged with a 'TreeReducible' interface. diff --git a/public/java/src/org/broadinstitute/sting/gatk/executive/LinearMicroScheduler.java b/public/java/src/org/broadinstitute/sting/gatk/executive/LinearMicroScheduler.java index 4cb571c45..9466fdf75 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/executive/LinearMicroScheduler.java +++ b/public/java/src/org/broadinstitute/sting/gatk/executive/LinearMicroScheduler.java @@ -1,22 +1,21 @@ package org.broadinstitute.sting.gatk.executive; -import org.broadinstitute.sting.gatk.datasources.providers.ShardDataProvider; +import net.sf.picard.reference.IndexedFastaSequenceFile; +import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; import org.broadinstitute.sting.gatk.datasources.providers.LocusShardDataProvider; import org.broadinstitute.sting.gatk.datasources.providers.ReadShardDataProvider; +import org.broadinstitute.sting.gatk.datasources.providers.ShardDataProvider; import org.broadinstitute.sting.gatk.datasources.reads.SAMDataSource; import org.broadinstitute.sting.gatk.datasources.reads.Shard; import org.broadinstitute.sting.gatk.datasources.reads.ShardStrategy; import org.broadinstitute.sting.gatk.datasources.rmd.ReferenceOrderedDataSource; -import org.broadinstitute.sting.gatk.walkers.Walker; -import org.broadinstitute.sting.gatk.walkers.LocusWalker; import org.broadinstitute.sting.gatk.io.DirectOutputTracker; import org.broadinstitute.sting.gatk.io.OutputTracker; -import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; +import org.broadinstitute.sting.gatk.walkers.LocusWalker; +import org.broadinstitute.sting.gatk.walkers.Walker; import java.util.Collection; -import net.sf.picard.reference.IndexedFastaSequenceFile; - /** A micro-scheduling manager for single-threaded execution of a traversal. */ public class LinearMicroScheduler extends MicroScheduler { diff --git a/public/java/src/org/broadinstitute/sting/gatk/executive/MicroScheduler.java b/public/java/src/org/broadinstitute/sting/gatk/executive/MicroScheduler.java index cfe0f8187..23e5769f1 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/executive/MicroScheduler.java +++ b/public/java/src/org/broadinstitute/sting/gatk/executive/MicroScheduler.java @@ -25,26 +25,18 @@ package org.broadinstitute.sting.gatk.executive; +import net.sf.picard.reference.IndexedFastaSequenceFile; import org.apache.log4j.Logger; +import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; import org.broadinstitute.sting.gatk.datasources.reads.SAMDataSource; -import org.broadinstitute.sting.gatk.datasources.rmd.ReferenceOrderedDataSource; import org.broadinstitute.sting.gatk.datasources.reads.Shard; import org.broadinstitute.sting.gatk.datasources.reads.ShardStrategy; +import org.broadinstitute.sting.gatk.datasources.rmd.ReferenceOrderedDataSource; +import org.broadinstitute.sting.gatk.io.OutputTracker; +import org.broadinstitute.sting.gatk.iterators.NullSAMIterator; +import org.broadinstitute.sting.gatk.iterators.StingSAMIterator; import org.broadinstitute.sting.gatk.traversals.*; import org.broadinstitute.sting.gatk.walkers.*; -import org.broadinstitute.sting.gatk.io.OutputTracker; -import org.broadinstitute.sting.gatk.iterators.StingSAMIterator; -import org.broadinstitute.sting.gatk.iterators.NullSAMIterator; -import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; -import org.broadinstitute.sting.gatk.ReadMetrics; - -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.PrintStream; -import java.lang.management.ManagementFactory; -import java.util.*; - -import net.sf.picard.reference.IndexedFastaSequenceFile; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.UserException; import org.broadinstitute.sting.utils.threading.*; @@ -52,6 +44,11 @@ import org.broadinstitute.sting.utils.threading.*; import javax.management.JMException; import javax.management.MBeanServer; import javax.management.ObjectName; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.PrintStream; +import java.lang.management.ManagementFactory; +import java.util.Collection; /** diff --git a/public/java/src/org/broadinstitute/sting/gatk/executive/OutputMergeTask.java b/public/java/src/org/broadinstitute/sting/gatk/executive/OutputMergeTask.java index 76e0c1c8a..7be37a616 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/executive/OutputMergeTask.java +++ b/public/java/src/org/broadinstitute/sting/gatk/executive/OutputMergeTask.java @@ -1,10 +1,9 @@ package org.broadinstitute.sting.gatk.executive; import org.broadinstitute.sting.gatk.io.storage.Storage; -import org.broadinstitute.sting.gatk.io.OutputTracker; -import java.util.Collection; import java.util.ArrayList; +import java.util.Collection; /** * User: hanna diff --git a/public/java/src/org/broadinstitute/sting/gatk/executive/ReduceTree.java b/public/java/src/org/broadinstitute/sting/gatk/executive/ReduceTree.java index 151a1ba26..7aac70b47 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/executive/ReduceTree.java +++ b/public/java/src/org/broadinstitute/sting/gatk/executive/ReduceTree.java @@ -1,9 +1,9 @@ package org.broadinstitute.sting.gatk.executive; -import java.util.Queue; -import java.util.List; import java.util.ArrayList; import java.util.LinkedList; +import java.util.List; +import java.util.Queue; import java.util.concurrent.Future; /** * User: hanna diff --git a/public/java/src/org/broadinstitute/sting/gatk/executive/ShardTraverser.java b/public/java/src/org/broadinstitute/sting/gatk/executive/ShardTraverser.java index b78a4edc9..6136bd68d 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/executive/ShardTraverser.java +++ b/public/java/src/org/broadinstitute/sting/gatk/executive/ShardTraverser.java @@ -1,13 +1,13 @@ package org.broadinstitute.sting.gatk.executive; import org.apache.log4j.Logger; -import org.broadinstitute.sting.gatk.datasources.providers.ShardDataProvider; import org.broadinstitute.sting.gatk.datasources.providers.LocusShardDataProvider; +import org.broadinstitute.sting.gatk.datasources.providers.ShardDataProvider; import org.broadinstitute.sting.gatk.datasources.reads.Shard; -import org.broadinstitute.sting.gatk.traversals.TraversalEngine; import org.broadinstitute.sting.gatk.io.ThreadLocalOutputTracker; -import org.broadinstitute.sting.gatk.walkers.Walker; +import org.broadinstitute.sting.gatk.traversals.TraversalEngine; import org.broadinstitute.sting.gatk.walkers.LocusWalker; +import org.broadinstitute.sting.gatk.walkers.Walker; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import java.util.concurrent.Callable; diff --git a/public/java/src/org/broadinstitute/sting/gatk/executive/TreeReducer.java b/public/java/src/org/broadinstitute/sting/gatk/executive/TreeReducer.java index 8fb4adb5d..d36a3b576 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/executive/TreeReducer.java +++ b/public/java/src/org/broadinstitute/sting/gatk/executive/TreeReducer.java @@ -4,8 +4,8 @@ import org.broadinstitute.sting.gatk.walkers.TreeReducible; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import java.util.concurrent.Callable; -import java.util.concurrent.Future; import java.util.concurrent.ExecutionException; +import java.util.concurrent.Future; /** * User: hanna * Date: Apr 29, 2009 diff --git a/public/java/src/org/broadinstitute/sting/gatk/executive/WindowMaker.java b/public/java/src/org/broadinstitute/sting/gatk/executive/WindowMaker.java index 5c341bb02..cfbce58ee 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/executive/WindowMaker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/executive/WindowMaker.java @@ -1,17 +1,20 @@ package org.broadinstitute.sting.gatk.executive; -import org.broadinstitute.sting.gatk.datasources.reads.Shard; -import org.broadinstitute.sting.gatk.datasources.sample.SampleDataSource; -import org.broadinstitute.sting.utils.GenomeLoc; -import org.broadinstitute.sting.gatk.iterators.*; +import net.sf.picard.util.PeekableIterator; import org.broadinstitute.sting.gatk.ReadProperties; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; - -import java.util.*; - -import net.sf.picard.util.PeekableIterator; +import org.broadinstitute.sting.gatk.datasources.reads.Shard; +import org.broadinstitute.sting.gatk.datasources.sample.SampleDataSource; +import org.broadinstitute.sting.gatk.iterators.LocusIterator; +import org.broadinstitute.sting.gatk.iterators.LocusIteratorByState; +import org.broadinstitute.sting.gatk.iterators.StingSAMIterator; +import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.GenomeLocParser; +import java.util.Iterator; +import java.util.List; +import java.util.NoSuchElementException; + /** * Buffer shards of data which may or may not contain multiple loci into * iterators of all data which cover an interval. Its existence is an homage diff --git a/public/java/src/org/broadinstitute/sting/gatk/filters/BadCigarFilter.java b/public/java/src/org/broadinstitute/sting/gatk/filters/BadCigarFilter.java index b8a3ee977..0987c5d74 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/filters/BadCigarFilter.java +++ b/public/java/src/org/broadinstitute/sting/gatk/filters/BadCigarFilter.java @@ -24,8 +24,10 @@ package org.broadinstitute.sting.gatk.filters; -import net.sf.picard.filter.SamRecordFilter; -import net.sf.samtools.*; +import net.sf.samtools.Cigar; +import net.sf.samtools.CigarElement; +import net.sf.samtools.CigarOperator; +import net.sf.samtools.SAMRecord; /** * Filter out reads with wonky cigar strings. diff --git a/public/java/src/org/broadinstitute/sting/gatk/filters/BadMateFilter.java b/public/java/src/org/broadinstitute/sting/gatk/filters/BadMateFilter.java index 3b988c8fb..8596e18eb 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/filters/BadMateFilter.java +++ b/public/java/src/org/broadinstitute/sting/gatk/filters/BadMateFilter.java @@ -24,7 +24,6 @@ package org.broadinstitute.sting.gatk.filters; -import net.sf.picard.filter.SamRecordFilter; import net.sf.samtools.SAMRecord; /** diff --git a/public/java/src/org/broadinstitute/sting/gatk/filters/CountingFilteringIterator.java b/public/java/src/org/broadinstitute/sting/gatk/filters/CountingFilteringIterator.java index 84390c173..03fc2063b 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/filters/CountingFilteringIterator.java +++ b/public/java/src/org/broadinstitute/sting/gatk/filters/CountingFilteringIterator.java @@ -23,17 +23,16 @@ */ package org.broadinstitute.sting.gatk.filters; -import net.sf.samtools.util.CloserUtil; - -import java.util.Iterator; -import java.util.NoSuchElementException; -import java.util.Collection; - +import net.sf.picard.filter.SamRecordFilter; import net.sf.samtools.SAMRecord; import net.sf.samtools.util.CloseableIterator; -import net.sf.picard.filter.SamRecordFilter; +import net.sf.samtools.util.CloserUtil; import org.broadinstitute.sting.gatk.ReadMetrics; +import java.util.Collection; +import java.util.Iterator; +import java.util.NoSuchElementException; + /** * Filtering Iterator which takes a filter and an iterator and iterates * through only those records which are not rejected by the filter. diff --git a/public/java/src/org/broadinstitute/sting/gatk/filters/DuplicateReadFilter.java b/public/java/src/org/broadinstitute/sting/gatk/filters/DuplicateReadFilter.java index fb3c38582..589910fc7 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/filters/DuplicateReadFilter.java +++ b/public/java/src/org/broadinstitute/sting/gatk/filters/DuplicateReadFilter.java @@ -1,6 +1,5 @@ package org.broadinstitute.sting.gatk.filters; -import net.sf.picard.filter.SamRecordFilter; import net.sf.samtools.SAMRecord; /* diff --git a/public/java/src/org/broadinstitute/sting/gatk/filters/FailsVendorQualityCheckReadFilter.java b/public/java/src/org/broadinstitute/sting/gatk/filters/FailsVendorQualityCheckReadFilter.java index b7806524a..cd77a9e7e 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/filters/FailsVendorQualityCheckReadFilter.java +++ b/public/java/src/org/broadinstitute/sting/gatk/filters/FailsVendorQualityCheckReadFilter.java @@ -24,7 +24,6 @@ package org.broadinstitute.sting.gatk.filters; -import net.sf.picard.filter.SamRecordFilter; import net.sf.samtools.SAMRecord; /** diff --git a/public/java/src/org/broadinstitute/sting/gatk/filters/FilterManager.java b/public/java/src/org/broadinstitute/sting/gatk/filters/FilterManager.java index cda08fb66..67f82235d 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/filters/FilterManager.java +++ b/public/java/src/org/broadinstitute/sting/gatk/filters/FilterManager.java @@ -25,11 +25,8 @@ package org.broadinstitute.sting.gatk.filters; -import org.apache.log4j.Logger; import org.broadinstitute.sting.utils.classloader.PluginManager; -import net.sf.picard.filter.SamRecordFilter; - import java.util.Collection; /** diff --git a/public/java/src/org/broadinstitute/sting/gatk/filters/MalformedReadFilter.java b/public/java/src/org/broadinstitute/sting/gatk/filters/MalformedReadFilter.java index 4deeb09ee..74deace9a 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/filters/MalformedReadFilter.java +++ b/public/java/src/org/broadinstitute/sting/gatk/filters/MalformedReadFilter.java @@ -24,8 +24,8 @@ package org.broadinstitute.sting.gatk.filters; -import net.sf.samtools.SAMRecord; import net.sf.samtools.SAMFileHeader; +import net.sf.samtools.SAMRecord; import net.sf.samtools.SAMSequenceRecord; import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; diff --git a/public/java/src/org/broadinstitute/sting/gatk/filters/MappingQualityReadFilter.java b/public/java/src/org/broadinstitute/sting/gatk/filters/MappingQualityReadFilter.java index bcd473b15..75369b306 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/filters/MappingQualityReadFilter.java +++ b/public/java/src/org/broadinstitute/sting/gatk/filters/MappingQualityReadFilter.java @@ -25,7 +25,6 @@ package org.broadinstitute.sting.gatk.filters; -import net.sf.picard.filter.SamRecordFilter; import net.sf.samtools.SAMRecord; import org.broadinstitute.sting.commandline.Argument; diff --git a/public/java/src/org/broadinstitute/sting/gatk/filters/MappingQualityUnavailableReadFilter.java b/public/java/src/org/broadinstitute/sting/gatk/filters/MappingQualityUnavailableReadFilter.java index cecbedda8..1afec36d1 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/filters/MappingQualityUnavailableReadFilter.java +++ b/public/java/src/org/broadinstitute/sting/gatk/filters/MappingQualityUnavailableReadFilter.java @@ -24,7 +24,6 @@ package org.broadinstitute.sting.gatk.filters; -import net.sf.picard.util.QualityUtil; import net.sf.samtools.SAMRecord; import org.broadinstitute.sting.utils.QualityUtils; diff --git a/public/java/src/org/broadinstitute/sting/gatk/filters/MaxInsertSizeFilter.java b/public/java/src/org/broadinstitute/sting/gatk/filters/MaxInsertSizeFilter.java index 584783d34..7bcee033f 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/filters/MaxInsertSizeFilter.java +++ b/public/java/src/org/broadinstitute/sting/gatk/filters/MaxInsertSizeFilter.java @@ -1,6 +1,5 @@ package org.broadinstitute.sting.gatk.filters; -import net.sf.picard.filter.SamRecordFilter; import net.sf.samtools.SAMRecord; import org.broadinstitute.sting.commandline.Argument; diff --git a/public/java/src/org/broadinstitute/sting/gatk/filters/MaxReadLengthFilter.java b/public/java/src/org/broadinstitute/sting/gatk/filters/MaxReadLengthFilter.java index 8a2fd5af3..cd31da61a 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/filters/MaxReadLengthFilter.java +++ b/public/java/src/org/broadinstitute/sting/gatk/filters/MaxReadLengthFilter.java @@ -25,7 +25,6 @@ package org.broadinstitute.sting.gatk.filters; -import net.sf.picard.filter.SamRecordFilter; import net.sf.samtools.SAMRecord; import org.broadinstitute.sting.commandline.Argument; diff --git a/public/java/src/org/broadinstitute/sting/gatk/filters/MissingReadGroupFilter.java b/public/java/src/org/broadinstitute/sting/gatk/filters/MissingReadGroupFilter.java index d5d40ec38..490a55040 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/filters/MissingReadGroupFilter.java +++ b/public/java/src/org/broadinstitute/sting/gatk/filters/MissingReadGroupFilter.java @@ -24,7 +24,6 @@ package org.broadinstitute.sting.gatk.filters; -import net.sf.picard.filter.SamRecordFilter; import net.sf.samtools.SAMRecord; /** diff --git a/public/java/src/org/broadinstitute/sting/gatk/filters/NoOriginalQualityScoresFilter.java b/public/java/src/org/broadinstitute/sting/gatk/filters/NoOriginalQualityScoresFilter.java index fc21538e8..29738e499 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/filters/NoOriginalQualityScoresFilter.java +++ b/public/java/src/org/broadinstitute/sting/gatk/filters/NoOriginalQualityScoresFilter.java @@ -1,6 +1,5 @@ package org.broadinstitute.sting.gatk.filters; -import net.sf.picard.filter.SamRecordFilter; import net.sf.samtools.SAMRecord; /* diff --git a/public/java/src/org/broadinstitute/sting/gatk/filters/NotPrimaryAlignmentReadFilter.java b/public/java/src/org/broadinstitute/sting/gatk/filters/NotPrimaryAlignmentReadFilter.java index cfbba0383..31c2144ce 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/filters/NotPrimaryAlignmentReadFilter.java +++ b/public/java/src/org/broadinstitute/sting/gatk/filters/NotPrimaryAlignmentReadFilter.java @@ -24,7 +24,6 @@ package org.broadinstitute.sting.gatk.filters; -import net.sf.picard.filter.SamRecordFilter; import net.sf.samtools.SAMRecord; /** diff --git a/public/java/src/org/broadinstitute/sting/gatk/filters/Platform454Filter.java b/public/java/src/org/broadinstitute/sting/gatk/filters/Platform454Filter.java index dcddebd55..8ad91ac1c 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/filters/Platform454Filter.java +++ b/public/java/src/org/broadinstitute/sting/gatk/filters/Platform454Filter.java @@ -25,9 +25,7 @@ package org.broadinstitute.sting.gatk.filters; -import net.sf.picard.filter.SamRecordFilter; import net.sf.samtools.SAMRecord; - import org.broadinstitute.sting.utils.sam.ReadUtils; /** diff --git a/public/java/src/org/broadinstitute/sting/gatk/filters/PlatformFilter.java b/public/java/src/org/broadinstitute/sting/gatk/filters/PlatformFilter.java index 691fd95f0..30b2f828d 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/filters/PlatformFilter.java +++ b/public/java/src/org/broadinstitute/sting/gatk/filters/PlatformFilter.java @@ -25,11 +25,9 @@ package org.broadinstitute.sting.gatk.filters; -import net.sf.picard.filter.SamRecordFilter; import net.sf.samtools.SAMRecord; - -import org.broadinstitute.sting.utils.sam.ReadUtils; import org.broadinstitute.sting.commandline.Argument; +import org.broadinstitute.sting.utils.sam.ReadUtils; /** * Filter out PL matching reads. diff --git a/public/java/src/org/broadinstitute/sting/gatk/filters/PlatformUnitFilter.java b/public/java/src/org/broadinstitute/sting/gatk/filters/PlatformUnitFilter.java index 4ef88402d..81044b888 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/filters/PlatformUnitFilter.java +++ b/public/java/src/org/broadinstitute/sting/gatk/filters/PlatformUnitFilter.java @@ -1,14 +1,12 @@ package org.broadinstitute.sting.gatk.filters; -import net.sf.picard.filter.SamRecordFilter; -import net.sf.samtools.SAMRecord; import net.sf.samtools.SAMReadGroupRecord; - -import java.util.Set; -import java.util.HashSet; - +import net.sf.samtools.SAMRecord; import org.broadinstitute.sting.utils.exceptions.UserException; +import java.util.HashSet; +import java.util.Set; + /** * Created by IntelliJ IDEA. * User: asivache diff --git a/public/java/src/org/broadinstitute/sting/gatk/filters/ReadFilter.java b/public/java/src/org/broadinstitute/sting/gatk/filters/ReadFilter.java index 1d74ee20e..227637761 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/filters/ReadFilter.java +++ b/public/java/src/org/broadinstitute/sting/gatk/filters/ReadFilter.java @@ -1,7 +1,6 @@ package org.broadinstitute.sting.gatk.filters; import net.sf.picard.filter.SamRecordFilter; -import net.sf.samtools.SAMFileHeader; import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; /** diff --git a/public/java/src/org/broadinstitute/sting/gatk/filters/ReadGroupBlackListFilter.java b/public/java/src/org/broadinstitute/sting/gatk/filters/ReadGroupBlackListFilter.java index 69ebc8b04..0e5e8800c 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/filters/ReadGroupBlackListFilter.java +++ b/public/java/src/org/broadinstitute/sting/gatk/filters/ReadGroupBlackListFilter.java @@ -25,17 +25,16 @@ package org.broadinstitute.sting.gatk.filters; -import java.util.*; -import java.util.Map.Entry; -import java.io.File; -import java.io.FileNotFoundException; - -import net.sf.picard.filter.SamRecordFilter; -import net.sf.samtools.SAMRecord; import net.sf.samtools.SAMReadGroupRecord; +import net.sf.samtools.SAMRecord; import org.broadinstitute.sting.utils.exceptions.UserException; import org.broadinstitute.sting.utils.text.XReadLines; +import java.io.File; +import java.io.FileNotFoundException; +import java.util.*; +import java.util.Map.Entry; + /** * Removes records matching the read group tag and exact match string. * For example, this filter value: diff --git a/public/java/src/org/broadinstitute/sting/gatk/filters/ReadStrandFilter.java b/public/java/src/org/broadinstitute/sting/gatk/filters/ReadStrandFilter.java index 1b2a77f45..16eeed3cc 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/filters/ReadStrandFilter.java +++ b/public/java/src/org/broadinstitute/sting/gatk/filters/ReadStrandFilter.java @@ -25,7 +25,6 @@ package org.broadinstitute.sting.gatk.filters; -import net.sf.picard.filter.SamRecordFilter; import net.sf.samtools.SAMRecord; import org.broadinstitute.sting.commandline.Argument; diff --git a/public/java/src/org/broadinstitute/sting/gatk/filters/SampleFilter.java b/public/java/src/org/broadinstitute/sting/gatk/filters/SampleFilter.java index 682b22b1f..99d6bc154 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/filters/SampleFilter.java +++ b/public/java/src/org/broadinstitute/sting/gatk/filters/SampleFilter.java @@ -25,9 +25,8 @@ package org.broadinstitute.sting.gatk.filters; -import net.sf.picard.filter.SamRecordFilter; -import net.sf.samtools.SAMRecord; import net.sf.samtools.SAMReadGroupRecord; +import net.sf.samtools.SAMRecord; import org.broadinstitute.sting.commandline.Argument; import java.util.Set; diff --git a/public/java/src/org/broadinstitute/sting/gatk/filters/SingleReadGroupFilter.java b/public/java/src/org/broadinstitute/sting/gatk/filters/SingleReadGroupFilter.java index 05b472036..2f93cbcae 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/filters/SingleReadGroupFilter.java +++ b/public/java/src/org/broadinstitute/sting/gatk/filters/SingleReadGroupFilter.java @@ -25,9 +25,8 @@ package org.broadinstitute.sting.gatk.filters; -import net.sf.samtools.SAMRecord; import net.sf.samtools.SAMReadGroupRecord; -import net.sf.picard.filter.SamRecordFilter; +import net.sf.samtools.SAMRecord; import org.broadinstitute.sting.commandline.Argument; /** diff --git a/public/java/src/org/broadinstitute/sting/gatk/filters/UnmappedReadFilter.java b/public/java/src/org/broadinstitute/sting/gatk/filters/UnmappedReadFilter.java index ac4f4853a..e7ee345d2 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/filters/UnmappedReadFilter.java +++ b/public/java/src/org/broadinstitute/sting/gatk/filters/UnmappedReadFilter.java @@ -24,7 +24,6 @@ package org.broadinstitute.sting.gatk.filters; -import net.sf.picard.filter.SamRecordFilter; import net.sf.samtools.SAMRecord; /** diff --git a/public/java/src/org/broadinstitute/sting/gatk/io/DirectOutputTracker.java b/public/java/src/org/broadinstitute/sting/gatk/io/DirectOutputTracker.java index 865528688..658a28fbd 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/io/DirectOutputTracker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/io/DirectOutputTracker.java @@ -25,9 +25,9 @@ package org.broadinstitute.sting.gatk.io; -import org.broadinstitute.sting.gatk.io.stubs.Stub; -import org.broadinstitute.sting.gatk.io.storage.StorageFactory; import org.broadinstitute.sting.gatk.io.storage.Storage; +import org.broadinstitute.sting.gatk.io.storage.StorageFactory; +import org.broadinstitute.sting.gatk.io.stubs.Stub; /** * Maps creation of storage directly to output streams in parent. diff --git a/public/java/src/org/broadinstitute/sting/gatk/io/OutputTracker.java b/public/java/src/org/broadinstitute/sting/gatk/io/OutputTracker.java index b68013aa4..f39ba2d8d 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/io/OutputTracker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/io/OutputTracker.java @@ -26,20 +26,20 @@ package org.broadinstitute.sting.gatk.io; import net.sf.samtools.SAMFileReader; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import org.broadinstitute.sting.utils.classloader.JVMUtils; import org.broadinstitute.sting.commandline.ArgumentSource; -import org.broadinstitute.sting.utils.sam.SAMFileReaderBuilder; -import org.broadinstitute.sting.gatk.walkers.Walker; +import org.broadinstitute.sting.gatk.io.storage.Storage; +import org.broadinstitute.sting.gatk.io.storage.StorageFactory; import org.broadinstitute.sting.gatk.io.stubs.OutputStreamStub; import org.broadinstitute.sting.gatk.io.stubs.Stub; -import org.broadinstitute.sting.gatk.io.storage.StorageFactory; -import org.broadinstitute.sting.gatk.io.storage.Storage; +import org.broadinstitute.sting.gatk.walkers.Walker; +import org.broadinstitute.sting.utils.classloader.JVMUtils; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; +import org.broadinstitute.sting.utils.sam.SAMFileReaderBuilder; -import java.io.*; +import java.io.OutputStream; import java.lang.reflect.Field; -import java.util.Map; import java.util.HashMap; +import java.util.Map; /** * Manages the output and err streams that are created specifically for walker diff --git a/public/java/src/org/broadinstitute/sting/gatk/io/StingSAMFileWriter.java b/public/java/src/org/broadinstitute/sting/gatk/io/StingSAMFileWriter.java index 8701ecf3c..a9a74925d 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/io/StingSAMFileWriter.java +++ b/public/java/src/org/broadinstitute/sting/gatk/io/StingSAMFileWriter.java @@ -1,7 +1,7 @@ package org.broadinstitute.sting.gatk.io; -import net.sf.samtools.SAMFileWriter; import net.sf.samtools.SAMFileHeader; +import net.sf.samtools.SAMFileWriter; /** * A writer that will allow unsorted BAM files to be written diff --git a/public/java/src/org/broadinstitute/sting/gatk/io/ThreadLocalOutputTracker.java b/public/java/src/org/broadinstitute/sting/gatk/io/ThreadLocalOutputTracker.java index 36960246a..999deddd1 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/io/ThreadLocalOutputTracker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/io/ThreadLocalOutputTracker.java @@ -25,15 +25,16 @@ package org.broadinstitute.sting.gatk.io; -import org.broadinstitute.sting.gatk.io.stubs.Stub; -import org.broadinstitute.sting.gatk.io.storage.StorageFactory; -import org.broadinstitute.sting.gatk.io.storage.Storage; import org.broadinstitute.sting.gatk.executive.OutputMergeTask; +import org.broadinstitute.sting.gatk.io.storage.Storage; +import org.broadinstitute.sting.gatk.io.storage.StorageFactory; +import org.broadinstitute.sting.gatk.io.stubs.Stub; import org.broadinstitute.sting.utils.exceptions.UserException; -import java.util.*; import java.io.File; import java.io.IOException; +import java.util.HashMap; +import java.util.Map; /** * An output tracker that can either track its output per-thread or directly, diff --git a/public/java/src/org/broadinstitute/sting/gatk/io/storage/OutputStreamStorage.java b/public/java/src/org/broadinstitute/sting/gatk/io/storage/OutputStreamStorage.java index 4dc976289..56c9c0465 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/io/storage/OutputStreamStorage.java +++ b/public/java/src/org/broadinstitute/sting/gatk/io/storage/OutputStreamStorage.java @@ -25,14 +25,14 @@ package org.broadinstitute.sting.gatk.io.storage; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.gatk.io.stubs.OutputStreamStub; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.UserException; import java.io.*; +import java.nio.channels.Channels; import java.nio.channels.FileChannel; import java.nio.channels.WritableByteChannel; -import java.nio.channels.Channels; public class OutputStreamStorage extends OutputStream implements Storage { /** diff --git a/public/java/src/org/broadinstitute/sting/gatk/io/storage/SAMFileWriterStorage.java b/public/java/src/org/broadinstitute/sting/gatk/io/storage/SAMFileWriterStorage.java index 610db1d76..cb8786be1 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/io/storage/SAMFileWriterStorage.java +++ b/public/java/src/org/broadinstitute/sting/gatk/io/storage/SAMFileWriterStorage.java @@ -27,17 +27,16 @@ package org.broadinstitute.sting.gatk.io.storage; import net.sf.samtools.*; import net.sf.samtools.util.CloseableIterator; - -import java.io.*; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; - import net.sf.samtools.util.RuntimeIOException; import org.apache.log4j.Logger; import org.broadinstitute.sting.gatk.io.stubs.SAMFileWriterStub; import org.broadinstitute.sting.utils.exceptions.UserException; import org.broadinstitute.sting.utils.sam.SimplifyingSAMFileWriter; +import java.io.File; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + /** * Provides temporary storage for SAMFileWriters. * diff --git a/public/java/src/org/broadinstitute/sting/gatk/io/storage/StorageFactory.java b/public/java/src/org/broadinstitute/sting/gatk/io/storage/StorageFactory.java index ee5c56524..66907dd6b 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/io/storage/StorageFactory.java +++ b/public/java/src/org/broadinstitute/sting/gatk/io/storage/StorageFactory.java @@ -25,9 +25,9 @@ package org.broadinstitute.sting.gatk.io.storage; -import org.broadinstitute.sting.gatk.io.stubs.Stub; import org.broadinstitute.sting.gatk.io.stubs.OutputStreamStub; import org.broadinstitute.sting.gatk.io.stubs.SAMFileWriterStub; +import org.broadinstitute.sting.gatk.io.stubs.Stub; import org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; diff --git a/public/java/src/org/broadinstitute/sting/gatk/io/storage/VCFWriterStorage.java b/public/java/src/org/broadinstitute/sting/gatk/io/storage/VCFWriterStorage.java index 74176ec35..1da03e9c2 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/io/storage/VCFWriterStorage.java +++ b/public/java/src/org/broadinstitute/sting/gatk/io/storage/VCFWriterStorage.java @@ -1,16 +1,21 @@ package org.broadinstitute.sting.gatk.io.storage; +import net.sf.samtools.util.BlockCompressedOutputStream; import org.apache.log4j.Logger; import org.broad.tribble.source.BasicFeatureSource; -import org.broadinstitute.sting.utils.codecs.vcf.*; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub; - -import java.io.*; - -import net.sf.samtools.util.BlockCompressedOutputStream; +import org.broadinstitute.sting.utils.codecs.vcf.StandardVCFWriter; +import org.broadinstitute.sting.utils.codecs.vcf.VCFCodec; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeader; +import org.broadinstitute.sting.utils.codecs.vcf.VCFWriter; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.UserException; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; + +import java.io.File; +import java.io.IOException; +import java.io.OutputStream; +import java.io.PrintStream; /** * Provides temporary and permanent storage for genotypes in VCF format. diff --git a/public/java/src/org/broadinstitute/sting/gatk/io/stubs/OutputStreamArgumentTypeDescriptor.java b/public/java/src/org/broadinstitute/sting/gatk/io/stubs/OutputStreamArgumentTypeDescriptor.java index 00e78f391..8bc97c886 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/io/stubs/OutputStreamArgumentTypeDescriptor.java +++ b/public/java/src/org/broadinstitute/sting/gatk/io/stubs/OutputStreamArgumentTypeDescriptor.java @@ -30,8 +30,8 @@ import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; import org.broadinstitute.sting.utils.exceptions.DynamicClassResolutionException; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import java.io.OutputStream; import java.io.File; +import java.io.OutputStream; import java.lang.reflect.Constructor; /** diff --git a/public/java/src/org/broadinstitute/sting/gatk/io/stubs/OutputStreamStub.java b/public/java/src/org/broadinstitute/sting/gatk/io/stubs/OutputStreamStub.java index 5cf84c5a2..27bcb8a1c 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/io/stubs/OutputStreamStub.java +++ b/public/java/src/org/broadinstitute/sting/gatk/io/stubs/OutputStreamStub.java @@ -27,9 +27,9 @@ package org.broadinstitute.sting.gatk.io.stubs; import org.broadinstitute.sting.gatk.io.OutputTracker; -import java.io.OutputStream; -import java.io.IOException; import java.io.File; +import java.io.IOException; +import java.io.OutputStream; /** * A stub for routing and management of anything backed by an OutputStream. diff --git a/public/java/src/org/broadinstitute/sting/gatk/io/stubs/SAMFileReaderArgumentTypeDescriptor.java b/public/java/src/org/broadinstitute/sting/gatk/io/stubs/SAMFileReaderArgumentTypeDescriptor.java index d847015ed..f124c2302 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/io/stubs/SAMFileReaderArgumentTypeDescriptor.java +++ b/public/java/src/org/broadinstitute/sting/gatk/io/stubs/SAMFileReaderArgumentTypeDescriptor.java @@ -24,14 +24,14 @@ package org.broadinstitute.sting.gatk.io.stubs; -import org.broadinstitute.sting.commandline.ArgumentTypeDescriptor; -import org.broadinstitute.sting.commandline.ArgumentSource; +import net.sf.samtools.SAMFileReader; import org.broadinstitute.sting.commandline.ArgumentMatches; +import org.broadinstitute.sting.commandline.ArgumentSource; +import org.broadinstitute.sting.commandline.ArgumentTypeDescriptor; import org.broadinstitute.sting.commandline.ParsingEngine; +import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; import org.broadinstitute.sting.utils.exceptions.UserException; import org.broadinstitute.sting.utils.sam.SAMFileReaderBuilder; -import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; -import net.sf.samtools.SAMFileReader; import java.io.File; diff --git a/public/java/src/org/broadinstitute/sting/gatk/io/stubs/SAMFileWriterArgumentTypeDescriptor.java b/public/java/src/org/broadinstitute/sting/gatk/io/stubs/SAMFileWriterArgumentTypeDescriptor.java index a9a272220..38640eda0 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/io/stubs/SAMFileWriterArgumentTypeDescriptor.java +++ b/public/java/src/org/broadinstitute/sting/gatk/io/stubs/SAMFileWriterArgumentTypeDescriptor.java @@ -25,18 +25,17 @@ package org.broadinstitute.sting.gatk.io.stubs; +import net.sf.samtools.SAMFileWriter; import org.broadinstitute.sting.commandline.*; import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; import org.broadinstitute.sting.gatk.io.StingSAMFileWriter; -import net.sf.samtools.SAMFileWriter; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import org.broadinstitute.sting.utils.exceptions.UserException; -import java.lang.annotation.Annotation; -import java.util.List; -import java.util.Arrays; import java.io.File; import java.io.OutputStream; +import java.lang.annotation.Annotation; +import java.util.Arrays; +import java.util.List; /** * Insert a SAMFileWriterStub instead of a full-fledged concrete OutputStream implementations. diff --git a/public/java/src/org/broadinstitute/sting/gatk/io/stubs/SAMFileWriterStub.java b/public/java/src/org/broadinstitute/sting/gatk/io/stubs/SAMFileWriterStub.java index f5c1e0efc..d8e59a3dd 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/io/stubs/SAMFileWriterStub.java +++ b/public/java/src/org/broadinstitute/sting/gatk/io/stubs/SAMFileWriterStub.java @@ -25,20 +25,19 @@ package org.broadinstitute.sting.gatk.io.stubs; +import net.sf.samtools.SAMFileHeader; import net.sf.samtools.SAMFileWriter; import net.sf.samtools.SAMRecord; -import net.sf.samtools.SAMFileHeader; +import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; +import org.broadinstitute.sting.gatk.io.OutputTracker; +import org.broadinstitute.sting.gatk.io.StingSAMFileWriter; +import org.broadinstitute.sting.utils.baq.BAQ; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; +import org.broadinstitute.sting.utils.exceptions.UserException; import java.io.File; import java.io.OutputStream; -import org.broadinstitute.sting.gatk.io.OutputTracker; -import org.broadinstitute.sting.gatk.io.StingSAMFileWriter; -import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import org.broadinstitute.sting.utils.exceptions.UserException; -import org.broadinstitute.sting.utils.baq.BAQ; - /** * A stub for routing and management of SAM file reading and writing. * diff --git a/public/java/src/org/broadinstitute/sting/gatk/io/stubs/VCFWriterArgumentTypeDescriptor.java b/public/java/src/org/broadinstitute/sting/gatk/io/stubs/VCFWriterArgumentTypeDescriptor.java index 7521e754d..615841f02 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/io/stubs/VCFWriterArgumentTypeDescriptor.java +++ b/public/java/src/org/broadinstitute/sting/gatk/io/stubs/VCFWriterArgumentTypeDescriptor.java @@ -25,14 +25,17 @@ package org.broadinstitute.sting.gatk.io.stubs; -import org.broadinstitute.sting.utils.codecs.vcf.VCFWriter; import org.broadinstitute.sting.commandline.*; import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; +import org.broadinstitute.sting.utils.codecs.vcf.VCFWriter; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import java.io.File; import java.io.OutputStream; -import java.util.*; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashSet; +import java.util.List; /** * Injects new command-line arguments into the system providing support for the genotype writer. diff --git a/public/java/src/org/broadinstitute/sting/gatk/io/stubs/VCFWriterStub.java b/public/java/src/org/broadinstitute/sting/gatk/io/stubs/VCFWriterStub.java index 1a79d2785..bb84f9457 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/io/stubs/VCFWriterStub.java +++ b/public/java/src/org/broadinstitute/sting/gatk/io/stubs/VCFWriterStub.java @@ -25,19 +25,19 @@ package org.broadinstitute.sting.gatk.io.stubs; -import java.io.File; -import java.io.PrintStream; -import java.io.OutputStream; -import java.util.Collection; - -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeader; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLine; -import org.broadinstitute.sting.utils.codecs.vcf.VCFWriter; import org.broadinstitute.sting.gatk.CommandLineExecutable; import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; import org.broadinstitute.sting.gatk.io.OutputTracker; import org.broadinstitute.sting.utils.classloader.JVMUtils; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeader; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLine; +import org.broadinstitute.sting.utils.codecs.vcf.VCFWriter; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; + +import java.io.File; +import java.io.OutputStream; +import java.io.PrintStream; +import java.util.Collection; /** * A stub for routing and management of genotype reading and writing. diff --git a/public/java/src/org/broadinstitute/sting/gatk/iterators/BoundedReadIterator.java b/public/java/src/org/broadinstitute/sting/gatk/iterators/BoundedReadIterator.java index b5643f834..478675f9d 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/iterators/BoundedReadIterator.java +++ b/public/java/src/org/broadinstitute/sting/gatk/iterators/BoundedReadIterator.java @@ -1,13 +1,11 @@ package org.broadinstitute.sting.gatk.iterators; +import net.sf.picard.sam.MergingSamRecordIterator; import net.sf.samtools.SAMFileHeader; import net.sf.samtools.SAMRecord; -import net.sf.picard.sam.MergingSamRecordIterator; import java.util.Iterator; -import org.broadinstitute.sting.gatk.ReadProperties; - /* * Copyright (c) 2009 The Broad Institute * diff --git a/public/java/src/org/broadinstitute/sting/gatk/iterators/BufferingReadIterator.java b/public/java/src/org/broadinstitute/sting/gatk/iterators/BufferingReadIterator.java index f3a060be1..7eaf4be41 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/iterators/BufferingReadIterator.java +++ b/public/java/src/org/broadinstitute/sting/gatk/iterators/BufferingReadIterator.java @@ -26,12 +26,11 @@ package org.broadinstitute.sting.gatk.iterators; import net.sf.samtools.SAMRecord; import net.sf.samtools.util.CloseableIterator; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import java.util.Queue; import java.util.LinkedList; import java.util.NoSuchElementException; - -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; +import java.util.Queue; /** * Buffers access to a large stream of reads, replenishing the buffer only when the reads diff --git a/public/java/src/org/broadinstitute/sting/gatk/iterators/DownsampleIterator.java b/public/java/src/org/broadinstitute/sting/gatk/iterators/DownsampleIterator.java index 1342f11fd..835748ff0 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/iterators/DownsampleIterator.java +++ b/public/java/src/org/broadinstitute/sting/gatk/iterators/DownsampleIterator.java @@ -1,11 +1,10 @@ package org.broadinstitute.sting.gatk.iterators; import net.sf.samtools.SAMRecord; +import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; import java.util.Iterator; -import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; - public class DownsampleIterator implements StingSAMIterator { diff --git a/public/java/src/org/broadinstitute/sting/gatk/iterators/GenomeLocusIterator.java b/public/java/src/org/broadinstitute/sting/gatk/iterators/GenomeLocusIterator.java index aa376a12a..240564d34 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/iterators/GenomeLocusIterator.java +++ b/public/java/src/org/broadinstitute/sting/gatk/iterators/GenomeLocusIterator.java @@ -3,8 +3,8 @@ package org.broadinstitute.sting.gatk.iterators; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.GenomeLocParser; -import java.util.NoSuchElementException; import java.util.Iterator; +import java.util.NoSuchElementException; /** * User: hanna * Date: May 12, 2009 diff --git a/public/java/src/org/broadinstitute/sting/gatk/iterators/LocusIterator.java b/public/java/src/org/broadinstitute/sting/gatk/iterators/LocusIterator.java index 30c1cf512..e177984ca 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/iterators/LocusIterator.java +++ b/public/java/src/org/broadinstitute/sting/gatk/iterators/LocusIterator.java @@ -1,11 +1,10 @@ package org.broadinstitute.sting.gatk.iterators; import net.sf.samtools.util.CloseableIterator; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import java.util.Iterator; -import org.broadinstitute.sting.gatk.contexts.AlignmentContext; - /** * Iterator that traverses a SAM File, accumulating information on a per-locus basis */ diff --git a/public/java/src/org/broadinstitute/sting/gatk/iterators/LocusIteratorByState.java b/public/java/src/org/broadinstitute/sting/gatk/iterators/LocusIteratorByState.java index 4e58813f5..e13c5a764 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/iterators/LocusIteratorByState.java +++ b/public/java/src/org/broadinstitute/sting/gatk/iterators/LocusIteratorByState.java @@ -25,19 +25,27 @@ package org.broadinstitute.sting.gatk.iterators; -import net.sf.samtools.*; import net.sf.picard.util.PeekableIterator; +import net.sf.samtools.Cigar; +import net.sf.samtools.CigarElement; +import net.sf.samtools.CigarOperator; +import net.sf.samtools.SAMRecord; import org.apache.log4j.Logger; -import org.broadinstitute.sting.gatk.ReadProperties; -import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; -import org.broadinstitute.sting.gatk.DownsamplingMethod; import org.broadinstitute.sting.gatk.DownsampleType; +import org.broadinstitute.sting.gatk.DownsamplingMethod; +import org.broadinstitute.sting.gatk.ReadProperties; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.datasources.sample.Sample; import org.broadinstitute.sting.gatk.datasources.sample.SampleDataSource; -import org.broadinstitute.sting.utils.*; +import org.broadinstitute.sting.utils.GenomeLoc; +import org.broadinstitute.sting.utils.GenomeLocParser; +import org.broadinstitute.sting.utils.MathUtils; +import org.broadinstitute.sting.utils.ReservoirDownsampler; import org.broadinstitute.sting.utils.exceptions.UserException; -import org.broadinstitute.sting.utils.pileup.*; +import org.broadinstitute.sting.utils.pileup.ExtendedEventPileupElement; +import org.broadinstitute.sting.utils.pileup.PileupElement; +import org.broadinstitute.sting.utils.pileup.ReadBackedExtendedEventPileupImpl; +import org.broadinstitute.sting.utils.pileup.ReadBackedPileupImpl; import org.broadinstitute.sting.utils.sam.ReadUtils; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/gatk/iterators/NullSAMIterator.java b/public/java/src/org/broadinstitute/sting/gatk/iterators/NullSAMIterator.java index ff458467f..21b71c9e6 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/iterators/NullSAMIterator.java +++ b/public/java/src/org/broadinstitute/sting/gatk/iterators/NullSAMIterator.java @@ -1,6 +1,5 @@ package org.broadinstitute.sting.gatk.iterators; -import org.broadinstitute.sting.gatk.ReadProperties; import net.sf.samtools.SAMRecord; import java.util.Iterator; diff --git a/public/java/src/org/broadinstitute/sting/gatk/iterators/PositionTrackingIterator.java b/public/java/src/org/broadinstitute/sting/gatk/iterators/PositionTrackingIterator.java index c2d3976ea..cc499b247 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/iterators/PositionTrackingIterator.java +++ b/public/java/src/org/broadinstitute/sting/gatk/iterators/PositionTrackingIterator.java @@ -25,7 +25,6 @@ package org.broadinstitute.sting.gatk.iterators; -import org.broadinstitute.sting.gatk.ReadProperties; import net.sf.samtools.SAMRecord; import net.sf.samtools.util.CloseableIterator; diff --git a/public/java/src/org/broadinstitute/sting/gatk/iterators/ReadFormattingIterator.java b/public/java/src/org/broadinstitute/sting/gatk/iterators/ReadFormattingIterator.java index 239392eec..2f30d12a8 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/iterators/ReadFormattingIterator.java +++ b/public/java/src/org/broadinstitute/sting/gatk/iterators/ReadFormattingIterator.java @@ -1,13 +1,8 @@ package org.broadinstitute.sting.gatk.iterators; import net.sf.samtools.SAMRecord; -import net.sf.samtools.SAMTag; -import net.sf.samtools.SAMReadGroupRecord; -import org.broadinstitute.sting.gatk.ReadProperties; -import org.broadinstitute.sting.utils.sam.GATKSAMRecord; import org.apache.log4j.Logger; - -import java.util.List; +import org.broadinstitute.sting.utils.sam.GATKSAMRecord; /** * An iterator which does post-processing of a read, including potentially wrapping diff --git a/public/java/src/org/broadinstitute/sting/gatk/iterators/StingSAMIterator.java b/public/java/src/org/broadinstitute/sting/gatk/iterators/StingSAMIterator.java index d294993d4..1b248d097 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/iterators/StingSAMIterator.java +++ b/public/java/src/org/broadinstitute/sting/gatk/iterators/StingSAMIterator.java @@ -2,7 +2,6 @@ package org.broadinstitute.sting.gatk.iterators; import net.sf.samtools.SAMRecord; import net.sf.samtools.util.CloseableIterator; -import org.broadinstitute.sting.gatk.ReadProperties; /** * * User: aaron diff --git a/public/java/src/org/broadinstitute/sting/gatk/phonehome/GATKRunReport.java b/public/java/src/org/broadinstitute/sting/gatk/phonehome/GATKRunReport.java index a51ca9292..69c0b3e0a 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/phonehome/GATKRunReport.java +++ b/public/java/src/org/broadinstitute/sting/gatk/phonehome/GATKRunReport.java @@ -26,19 +26,16 @@ package org.broadinstitute.sting.gatk.phonehome; import org.apache.log4j.Level; import org.apache.log4j.Logger; -import org.broadinstitute.sting.commandline.CommandLineUtils; import org.broadinstitute.sting.gatk.CommandLineGATK; import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; import org.broadinstitute.sting.gatk.arguments.GATKArgumentCollection; import org.broadinstitute.sting.gatk.walkers.Walker; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.Utils; -import org.broadinstitute.sting.utils.exceptions.StingException; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.UserException; import org.jets3t.service.S3Service; import org.jets3t.service.S3ServiceException; import org.jets3t.service.impl.rest.httpclient.RestS3Service; -import org.jets3t.service.model.S3Bucket; import org.jets3t.service.model.S3Object; import org.jets3t.service.security.AWSCredentials; import org.simpleframework.xml.Element; diff --git a/public/java/src/org/broadinstitute/sting/gatk/refdata/RODRecordIterator.java b/public/java/src/org/broadinstitute/sting/gatk/refdata/RODRecordIterator.java index fa0c323b5..ce924fd87 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/refdata/RODRecordIterator.java +++ b/public/java/src/org/broadinstitute/sting/gatk/refdata/RODRecordIterator.java @@ -25,17 +25,17 @@ package org.broadinstitute.sting.gatk.refdata; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; +import org.broadinstitute.sting.gatk.iterators.PushbackIterator; import org.broadinstitute.sting.utils.exceptions.DynamicClassResolutionException; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.UserException; import org.broadinstitute.sting.utils.text.XReadLines; -import org.broadinstitute.sting.gatk.iterators.PushbackIterator; +import java.io.File; +import java.io.FileNotFoundException; +import java.lang.reflect.Constructor; import java.util.Iterator; import java.util.regex.Pattern; -import java.io.FileNotFoundException; -import java.io.File; -import java.lang.reflect.Constructor; /** * This is a low-level iterator designed to provide system-wide generic support for reading record-oriented data diff --git a/public/java/src/org/broadinstitute/sting/gatk/refdata/RODRecordListImpl.java b/public/java/src/org/broadinstitute/sting/gatk/refdata/RODRecordListImpl.java index cff97e4ee..59b273d38 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/refdata/RODRecordListImpl.java +++ b/public/java/src/org/broadinstitute/sting/gatk/refdata/RODRecordListImpl.java @@ -2,9 +2,9 @@ package org.broadinstitute.sting.gatk.refdata; import org.broadinstitute.sting.gatk.refdata.utils.GATKFeature; import org.broadinstitute.sting.gatk.refdata.utils.RODRecordList; +import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.HasGenomeLocation; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import org.broadinstitute.sting.utils.GenomeLoc; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/gatk/refdata/RefMetaDataTracker.java b/public/java/src/org/broadinstitute/sting/gatk/refdata/RefMetaDataTracker.java index 43bf6f8e0..d03b122e2 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/refdata/RefMetaDataTracker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/refdata/RefMetaDataTracker.java @@ -1,13 +1,13 @@ package org.broadinstitute.sting.gatk.refdata; import org.apache.log4j.Logger; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.utils.GATKFeature; import org.broadinstitute.sting.gatk.refdata.utils.RODRecordList; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.GenomeLoc; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.UserException; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/gatk/refdata/SeekableRODIterator.java b/public/java/src/org/broadinstitute/sting/gatk/refdata/SeekableRODIterator.java index b3cb22a03..b7437e6e8 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/refdata/SeekableRODIterator.java +++ b/public/java/src/org/broadinstitute/sting/gatk/refdata/SeekableRODIterator.java @@ -6,9 +6,9 @@ import org.broadinstitute.sting.gatk.iterators.PushbackIterator; import org.broadinstitute.sting.gatk.refdata.utils.GATKFeature; import org.broadinstitute.sting.gatk.refdata.utils.LocationAwareSeekableRODIterator; import org.broadinstitute.sting.gatk.refdata.utils.RODRecordList; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.GenomeLocParser; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.UserException; import java.util.Iterator; diff --git a/public/java/src/org/broadinstitute/sting/gatk/refdata/VariantContextAdaptors.java b/public/java/src/org/broadinstitute/sting/gatk/refdata/VariantContextAdaptors.java index c7c0468e7..1d622e2c7 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/refdata/VariantContextAdaptors.java +++ b/public/java/src/org/broadinstitute/sting/gatk/refdata/VariantContextAdaptors.java @@ -3,17 +3,13 @@ package org.broadinstitute.sting.gatk.refdata; import org.broad.tribble.Feature; import org.broad.tribble.dbsnp.DbSNPFeature; import org.broad.tribble.gelitext.GeliTextFeature; -import org.broadinstitute.sting.utils.codecs.hapmap.HapMapFeature; -import org.broadinstitute.sting.utils.variantcontext.Allele; -import org.broadinstitute.sting.utils.variantcontext.Genotype; -import org.broadinstitute.sting.utils.variantcontext.MutableGenotype; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.*; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import org.broadinstitute.sting.gatk.refdata.utils.helpers.DbSNPHelper; import org.broadinstitute.sting.utils.classloader.PluginManager; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; +import org.broadinstitute.sting.utils.codecs.hapmap.HapMapFeature; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeader; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLine; +import org.broadinstitute.sting.utils.variantcontext.*; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/gatk/refdata/features/annotator/AnnotatorInputTableCodec.java b/public/java/src/org/broadinstitute/sting/gatk/refdata/features/annotator/AnnotatorInputTableCodec.java index 59cd14a22..6bba754be 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/refdata/features/annotator/AnnotatorInputTableCodec.java +++ b/public/java/src/org/broadinstitute/sting/gatk/refdata/features/annotator/AnnotatorInputTableCodec.java @@ -25,12 +25,6 @@ package org.broadinstitute.sting.gatk.refdata.features.annotator; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.util.ArrayList; -import java.util.StringTokenizer; - import org.apache.log4j.Logger; import org.broad.tribble.Feature; import org.broad.tribble.exception.CodecLineParsingException; @@ -41,6 +35,12 @@ import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.GenomeLocParser; import org.broadinstitute.sting.utils.Utils; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.util.ArrayList; +import java.util.StringTokenizer; + public class AnnotatorInputTableCodec implements ReferenceDependentFeatureCodec { private static Logger logger = Logger.getLogger(AnnotatorInputTableCodec.class); diff --git a/public/java/src/org/broadinstitute/sting/gatk/refdata/features/annotator/AnnotatorInputTableFeature.java b/public/java/src/org/broadinstitute/sting/gatk/refdata/features/annotator/AnnotatorInputTableFeature.java index d97e378fb..d12badd28 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/refdata/features/annotator/AnnotatorInputTableFeature.java +++ b/public/java/src/org/broadinstitute/sting/gatk/refdata/features/annotator/AnnotatorInputTableFeature.java @@ -25,13 +25,13 @@ package org.broadinstitute.sting.gatk.refdata.features.annotator; +import org.broad.tribble.Feature; + import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.Map; -import org.broad.tribble.Feature; - /** * This class represents a single record in an AnnotatorInputTable. */ diff --git a/public/java/src/org/broadinstitute/sting/gatk/refdata/features/beagle/BeagleCodec.java b/public/java/src/org/broadinstitute/sting/gatk/refdata/features/beagle/BeagleCodec.java index 7f97451cf..5e536d4c1 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/refdata/features/beagle/BeagleCodec.java +++ b/public/java/src/org/broadinstitute/sting/gatk/refdata/features/beagle/BeagleCodec.java @@ -26,19 +26,19 @@ package org.broadinstitute.sting.gatk.refdata.features.beagle; import org.broad.tribble.Feature; +import org.broad.tribble.exception.CodecLineParsingException; import org.broad.tribble.readers.AsciiLineReader; import org.broad.tribble.readers.LineReader; +import org.broadinstitute.sting.gatk.refdata.ReferenceDependentFeatureCodec; +import org.broadinstitute.sting.utils.GenomeLoc; +import org.broadinstitute.sting.utils.GenomeLocParser; + import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; -import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.broad.tribble.exception.CodecLineParsingException; -import org.broadinstitute.sting.gatk.refdata.ReferenceDependentFeatureCodec; -import org.broadinstitute.sting.utils.GenomeLoc; -import org.broadinstitute.sting.utils.GenomeLocParser; public class BeagleCodec implements ReferenceDependentFeatureCodec { private String[] header; diff --git a/public/java/src/org/broadinstitute/sting/gatk/refdata/features/beagle/BeagleFeature.java b/public/java/src/org/broadinstitute/sting/gatk/refdata/features/beagle/BeagleFeature.java index c7bf86569..e6832754d 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/refdata/features/beagle/BeagleFeature.java +++ b/public/java/src/org/broadinstitute/sting/gatk/refdata/features/beagle/BeagleFeature.java @@ -25,14 +25,11 @@ package org.broadinstitute.sting.gatk.refdata.features.beagle; import org.broad.tribble.Feature; - +import org.broadinstitute.sting.utils.variantcontext.Allele; import java.util.ArrayList; import java.util.Map; -import net.sf.samtools.util.StringUtil; -import org.broadinstitute.sting.utils.variantcontext.Allele; - public class BeagleFeature implements Feature { private String chr; diff --git a/public/java/src/org/broadinstitute/sting/gatk/refdata/features/refseq/RefSeqFeature.java b/public/java/src/org/broadinstitute/sting/gatk/refdata/features/refseq/RefSeqFeature.java index 4648efd1e..d12114f9a 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/refdata/features/refseq/RefSeqFeature.java +++ b/public/java/src/org/broadinstitute/sting/gatk/refdata/features/refseq/RefSeqFeature.java @@ -4,9 +4,8 @@ import org.broad.tribble.Feature; import org.broadinstitute.sting.gatk.refdata.Transcript; import org.broadinstitute.sting.gatk.refdata.utils.GATKFeature; import org.broadinstitute.sting.gatk.refdata.utils.RODRecordList; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.GenomeLoc; -import org.broadinstitute.sting.utils.GenomeLocParser; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import java.util.ArrayList; import java.util.List; diff --git a/public/java/src/org/broadinstitute/sting/gatk/refdata/features/sampileup/SAMPileupCodec.java b/public/java/src/org/broadinstitute/sting/gatk/refdata/features/sampileup/SAMPileupCodec.java index 00b7c45d9..43e2c3ff5 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/refdata/features/sampileup/SAMPileupCodec.java +++ b/public/java/src/org/broadinstitute/sting/gatk/refdata/features/sampileup/SAMPileupCodec.java @@ -25,15 +25,15 @@ package org.broadinstitute.sting.gatk.refdata.features.sampileup; -import org.broad.tribble.FeatureCodec; import org.broad.tribble.Feature; +import org.broad.tribble.FeatureCodec; import org.broad.tribble.exception.CodecLineParsingException; import org.broad.tribble.readers.LineReader; import org.broad.tribble.util.ParsingUtils; import java.util.ArrayList; -import java.util.regex.Pattern; import java.util.regex.Matcher; +import java.util.regex.Pattern; import static org.broadinstitute.sting.gatk.refdata.features.sampileup.SAMPileupFeature.VariantType; diff --git a/public/java/src/org/broadinstitute/sting/gatk/refdata/features/sampileup/SAMPileupFeature.java b/public/java/src/org/broadinstitute/sting/gatk/refdata/features/sampileup/SAMPileupFeature.java index a794c2704..378f26934 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/refdata/features/sampileup/SAMPileupFeature.java +++ b/public/java/src/org/broadinstitute/sting/gatk/refdata/features/sampileup/SAMPileupFeature.java @@ -25,12 +25,11 @@ package org.broadinstitute.sting.gatk.refdata.features.sampileup; +import net.sf.samtools.util.StringUtil; import org.broad.tribble.Feature; import java.util.List; -import net.sf.samtools.util.StringUtil; - /** * A tribble feature representing a SAM pileup. * diff --git a/public/java/src/org/broadinstitute/sting/gatk/refdata/features/samread/SAMReadCodec.java b/public/java/src/org/broadinstitute/sting/gatk/refdata/features/samread/SAMReadCodec.java index 15f559d46..039b8adde 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/refdata/features/samread/SAMReadCodec.java +++ b/public/java/src/org/broadinstitute/sting/gatk/refdata/features/samread/SAMReadCodec.java @@ -24,14 +24,14 @@ package org.broadinstitute.sting.gatk.refdata.features.samread; +import net.sf.samtools.Cigar; +import net.sf.samtools.TextCigarCodec; +import net.sf.samtools.util.StringUtil; import org.broad.tribble.Feature; import org.broad.tribble.FeatureCodec; import org.broad.tribble.exception.CodecLineParsingException; import org.broad.tribble.readers.LineReader; import org.broad.tribble.util.ParsingUtils; -import net.sf.samtools.util.StringUtil; -import net.sf.samtools.TextCigarCodec; -import net.sf.samtools.Cigar; /** * Decodes a simple SAM text string. diff --git a/public/java/src/org/broadinstitute/sting/gatk/refdata/features/table/BedTableCodec.java b/public/java/src/org/broadinstitute/sting/gatk/refdata/features/table/BedTableCodec.java index b831606a3..745ccdd9f 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/refdata/features/table/BedTableCodec.java +++ b/public/java/src/org/broadinstitute/sting/gatk/refdata/features/table/BedTableCodec.java @@ -1,13 +1,8 @@ package org.broadinstitute.sting.gatk.refdata.features.table; import org.broad.tribble.Feature; -import org.broad.tribble.readers.LineReader; import org.broadinstitute.sting.gatk.refdata.ReferenceDependentFeatureCodec; -import org.broadinstitute.sting.utils.GenomeLocParser; -import org.broadinstitute.sting.utils.exceptions.UserException; -import java.io.IOException; -import java.util.ArrayList; import java.util.Arrays; /** diff --git a/public/java/src/org/broadinstitute/sting/gatk/refdata/features/table/TableCodec.java b/public/java/src/org/broadinstitute/sting/gatk/refdata/features/table/TableCodec.java index 6f0a712bf..ab1ac59d8 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/refdata/features/table/TableCodec.java +++ b/public/java/src/org/broadinstitute/sting/gatk/refdata/features/table/TableCodec.java @@ -1,16 +1,14 @@ package org.broadinstitute.sting.gatk.refdata.features.table; import org.broad.tribble.Feature; -import org.broad.tribble.FeatureCodec; import org.broad.tribble.readers.LineReader; import org.broadinstitute.sting.gatk.refdata.ReferenceDependentFeatureCodec; -import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.GenomeLocParser; import org.broadinstitute.sting.utils.exceptions.UserException; -import org.broadinstitute.sting.utils.interval.IntervalUtils; import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; /** * implementation of a simple table (tab or comma delimited format) input files diff --git a/public/java/src/org/broadinstitute/sting/gatk/refdata/features/table/TableFeature.java b/public/java/src/org/broadinstitute/sting/gatk/refdata/features/table/TableFeature.java index 4b4ebe450..ca73ee960 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/refdata/features/table/TableFeature.java +++ b/public/java/src/org/broadinstitute/sting/gatk/refdata/features/table/TableFeature.java @@ -3,7 +3,7 @@ package org.broadinstitute.sting.gatk.refdata.features.table; import org.broad.tribble.Feature; import org.broadinstitute.sting.utils.GenomeLoc; -import java.util.*; +import java.util.List; /** * A feature representing a single row out of a text table diff --git a/public/java/src/org/broadinstitute/sting/gatk/refdata/indexer/RMDIndexer.java b/public/java/src/org/broadinstitute/sting/gatk/refdata/indexer/RMDIndexer.java index 5bb65f9a2..085d6b5b3 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/refdata/indexer/RMDIndexer.java +++ b/public/java/src/org/broadinstitute/sting/gatk/refdata/indexer/RMDIndexer.java @@ -10,7 +10,6 @@ import org.broad.tribble.util.LittleEndianOutputStream; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.CommandLineProgram; import org.broadinstitute.sting.commandline.Input; -import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; import org.broadinstitute.sting.gatk.arguments.ValidationExclusion; import org.broadinstitute.sting.gatk.refdata.ReferenceDependentFeatureCodec; import org.broadinstitute.sting.gatk.refdata.tracks.builders.RMDTrackBuilder; diff --git a/public/java/src/org/broadinstitute/sting/gatk/refdata/tracks/QueryableTrack.java b/public/java/src/org/broadinstitute/sting/gatk/refdata/tracks/QueryableTrack.java index 19050ae11..731df997d 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/refdata/tracks/QueryableTrack.java +++ b/public/java/src/org/broadinstitute/sting/gatk/refdata/tracks/QueryableTrack.java @@ -28,7 +28,6 @@ import org.broadinstitute.sting.gatk.refdata.utils.GATKFeature; import org.broadinstitute.sting.utils.GenomeLoc; import java.io.IOException; -import java.util.Iterator; /** * @author aaron diff --git a/public/java/src/org/broadinstitute/sting/gatk/refdata/tracks/RMDTrack.java b/public/java/src/org/broadinstitute/sting/gatk/refdata/tracks/RMDTrack.java index 3b9f8243f..ba1ca674e 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/refdata/tracks/RMDTrack.java +++ b/public/java/src/org/broadinstitute/sting/gatk/refdata/tracks/RMDTrack.java @@ -35,8 +35,6 @@ import org.broadinstitute.sting.utils.exceptions.UserException; import java.io.File; import java.io.IOException; -import java.lang.reflect.Type; -import java.util.Iterator; /** diff --git a/public/java/src/org/broadinstitute/sting/gatk/refdata/tracks/builders/RMDTrackBuilder.java b/public/java/src/org/broadinstitute/sting/gatk/refdata/tracks/builders/RMDTrackBuilder.java index c2057ad5e..19c91be1b 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/refdata/tracks/builders/RMDTrackBuilder.java +++ b/public/java/src/org/broadinstitute/sting/gatk/refdata/tracks/builders/RMDTrackBuilder.java @@ -42,15 +42,17 @@ import org.broadinstitute.sting.gatk.refdata.utils.RMDTriplet; import org.broadinstitute.sting.gatk.refdata.utils.RMDTriplet.RMDStorageType; import org.broadinstitute.sting.utils.GenomeLocParser; import org.broadinstitute.sting.utils.SequenceDictionaryUtils; -import org.broadinstitute.sting.utils.collections.Pair; import org.broadinstitute.sting.utils.classloader.PluginManager; -import org.broadinstitute.sting.utils.exceptions.UserException; +import org.broadinstitute.sting.utils.collections.Pair; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; +import org.broadinstitute.sting.utils.exceptions.UserException; import org.broadinstitute.sting.utils.file.FSLockWithShared; import org.broadinstitute.sting.utils.file.FileSystemInabilityToLockException; import org.broadinstitute.sting.utils.instrumentation.Sizeof; -import java.io.*; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/gatk/refdata/utils/FeatureToGATKFeatureIterator.java b/public/java/src/org/broadinstitute/sting/gatk/refdata/utils/FeatureToGATKFeatureIterator.java index 462bf98df..104ba87b5 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/refdata/utils/FeatureToGATKFeatureIterator.java +++ b/public/java/src/org/broadinstitute/sting/gatk/refdata/utils/FeatureToGATKFeatureIterator.java @@ -28,8 +28,6 @@ import org.broad.tribble.Feature; import org.broad.tribble.iterators.CloseableTribbleIterator; import org.broadinstitute.sting.utils.GenomeLocParser; -import java.util.Iterator; - /** * diff --git a/public/java/src/org/broadinstitute/sting/gatk/refdata/utils/GATKFeature.java b/public/java/src/org/broadinstitute/sting/gatk/refdata/utils/GATKFeature.java index 1553402a5..59e8471a3 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/refdata/utils/GATKFeature.java +++ b/public/java/src/org/broadinstitute/sting/gatk/refdata/utils/GATKFeature.java @@ -28,8 +28,6 @@ import org.broadinstitute.sting.gatk.refdata.ReferenceOrderedDatum; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.GenomeLocParser; import org.broadinstitute.sting.utils.HasGenomeLocation; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import org.broadinstitute.sting.utils.exceptions.UserException; /** diff --git a/public/java/src/org/broadinstitute/sting/gatk/refdata/utils/LocationAwareSeekableRODIterator.java b/public/java/src/org/broadinstitute/sting/gatk/refdata/utils/LocationAwareSeekableRODIterator.java index 83aa5f056..96086598a 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/refdata/utils/LocationAwareSeekableRODIterator.java +++ b/public/java/src/org/broadinstitute/sting/gatk/refdata/utils/LocationAwareSeekableRODIterator.java @@ -2,12 +2,8 @@ package org.broadinstitute.sting.gatk.refdata.utils; import net.sf.samtools.SAMSequenceDictionary; import net.sf.samtools.util.CloseableIterator; -import org.broadinstitute.sting.gatk.refdata.ReferenceOrderedDatum; import org.broadinstitute.sting.utils.GenomeLoc; -import java.util.Iterator; -import java.util.List; - /** * @author aaron *

diff --git a/public/java/src/org/broadinstitute/sting/gatk/refdata/utils/StringToGenomeLocIteratorAdapter.java b/public/java/src/org/broadinstitute/sting/gatk/refdata/utils/StringToGenomeLocIteratorAdapter.java index 101784d97..fc7f7c58f 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/refdata/utils/StringToGenomeLocIteratorAdapter.java +++ b/public/java/src/org/broadinstitute/sting/gatk/refdata/utils/StringToGenomeLocIteratorAdapter.java @@ -25,10 +25,10 @@ package org.broadinstitute.sting.gatk.refdata.utils; +import org.broadinstitute.sting.gatk.iterators.PushbackIterator; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.GenomeLocParser; import org.broadinstitute.sting.utils.bed.BedParser; -import org.broadinstitute.sting.gatk.iterators.PushbackIterator; import java.util.Iterator; diff --git a/public/java/src/org/broadinstitute/sting/gatk/refdata/utils/helpers/DbSNPHelper.java b/public/java/src/org/broadinstitute/sting/gatk/refdata/utils/helpers/DbSNPHelper.java index 75e7c1a32..3201769e0 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/refdata/utils/helpers/DbSNPHelper.java +++ b/public/java/src/org/broadinstitute/sting/gatk/refdata/utils/helpers/DbSNPHelper.java @@ -3,8 +3,8 @@ package org.broadinstitute.sting.gatk.refdata.utils.helpers; import net.sf.samtools.util.SequenceUtil; import org.broad.tribble.annotation.Strand; import org.broad.tribble.dbsnp.DbSNPFeature; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.utils.Utils; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.ArrayList; import java.util.Arrays; diff --git a/public/java/src/org/broadinstitute/sting/gatk/traversals/TraversalEngine.java b/public/java/src/org/broadinstitute/sting/gatk/traversals/TraversalEngine.java index e1085c6b2..89a179d0e 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/traversals/TraversalEngine.java +++ b/public/java/src/org/broadinstitute/sting/gatk/traversals/TraversalEngine.java @@ -25,11 +25,11 @@ package org.broadinstitute.sting.gatk.traversals; import org.apache.log4j.Logger; +import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; +import org.broadinstitute.sting.gatk.ReadMetrics; import org.broadinstitute.sting.gatk.datasources.providers.ShardDataProvider; import org.broadinstitute.sting.gatk.datasources.reads.Shard; import org.broadinstitute.sting.gatk.walkers.Walker; -import org.broadinstitute.sting.gatk.ReadMetrics; -import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; import org.broadinstitute.sting.utils.*; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.UserException; @@ -38,7 +38,10 @@ import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.PrintStream; -import java.util.*; +import java.util.Arrays; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; public abstract class TraversalEngine,ProviderType extends ShardDataProvider> { // Time in milliseconds since we initialized this engine diff --git a/public/java/src/org/broadinstitute/sting/gatk/traversals/TraverseDuplicates.java b/public/java/src/org/broadinstitute/sting/gatk/traversals/TraverseDuplicates.java index 89ff688a7..1ba48ca5f 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/traversals/TraverseDuplicates.java +++ b/public/java/src/org/broadinstitute/sting/gatk/traversals/TraverseDuplicates.java @@ -28,12 +28,11 @@ package org.broadinstitute.sting.gatk.traversals; import net.sf.samtools.SAMRecord; import org.apache.log4j.Logger; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; -import org.broadinstitute.sting.gatk.datasources.providers.ReadView; import org.broadinstitute.sting.gatk.datasources.providers.ReadShardDataProvider; +import org.broadinstitute.sting.gatk.datasources.providers.ReadView; import org.broadinstitute.sting.gatk.iterators.PushbackIterator; import org.broadinstitute.sting.gatk.walkers.DuplicateWalker; import org.broadinstitute.sting.utils.GenomeLoc; -import org.broadinstitute.sting.utils.GenomeLocParser; import org.broadinstitute.sting.utils.pileup.ReadBackedPileupImpl; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/gatk/traversals/TraverseLoci.java b/public/java/src/org/broadinstitute/sting/gatk/traversals/TraverseLoci.java index 240176f2f..232989fb0 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/traversals/TraverseLoci.java +++ b/public/java/src/org/broadinstitute/sting/gatk/traversals/TraverseLoci.java @@ -10,7 +10,6 @@ import org.broadinstitute.sting.gatk.walkers.DataSource; import org.broadinstitute.sting.gatk.walkers.LocusWalker; import org.broadinstitute.sting.gatk.walkers.Walker; import org.broadinstitute.sting.utils.GenomeLoc; -import org.broadinstitute.sting.utils.GenomeLocParser; import org.broadinstitute.sting.utils.pileup.ReadBackedPileupImpl; /** diff --git a/public/java/src/org/broadinstitute/sting/gatk/traversals/TraverseReadPairs.java b/public/java/src/org/broadinstitute/sting/gatk/traversals/TraverseReadPairs.java index f15a20cd3..196d54036 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/traversals/TraverseReadPairs.java +++ b/public/java/src/org/broadinstitute/sting/gatk/traversals/TraverseReadPairs.java @@ -1,16 +1,18 @@ package org.broadinstitute.sting.gatk.traversals; -import org.broadinstitute.sting.gatk.walkers.Requires; -import org.broadinstitute.sting.gatk.walkers.DataSource; -import org.broadinstitute.sting.gatk.walkers.ReadPairWalker; +import net.sf.samtools.SAMRecord; +import net.sf.samtools.SAMRecordCoordinateComparator; +import org.apache.log4j.Logger; import org.broadinstitute.sting.gatk.datasources.providers.ReadShardDataProvider; import org.broadinstitute.sting.gatk.datasources.providers.ReadView; import org.broadinstitute.sting.gatk.datasources.reads.Shard; -import org.apache.log4j.Logger; -import net.sf.samtools.SAMRecord; -import net.sf.samtools.SAMRecordCoordinateComparator; +import org.broadinstitute.sting.gatk.walkers.DataSource; +import org.broadinstitute.sting.gatk.walkers.ReadPairWalker; +import org.broadinstitute.sting.gatk.walkers.Requires; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; /** * Traverse over a collection of read pairs, assuming that a given shard will contain all pairs. diff --git a/public/java/src/org/broadinstitute/sting/gatk/traversals/TraverseReads.java b/public/java/src/org/broadinstitute/sting/gatk/traversals/TraverseReads.java index 670676b48..06e4539c4 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/traversals/TraverseReads.java +++ b/public/java/src/org/broadinstitute/sting/gatk/traversals/TraverseReads.java @@ -2,14 +2,16 @@ package org.broadinstitute.sting.gatk.traversals; import net.sf.samtools.SAMRecord; import org.apache.log4j.Logger; -import org.broadinstitute.sting.gatk.WalkerManager; import org.broadinstitute.sting.gatk.ReadMetrics; +import org.broadinstitute.sting.gatk.WalkerManager; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.gatk.datasources.providers.*; +import org.broadinstitute.sting.gatk.datasources.providers.ReadBasedReferenceOrderedView; +import org.broadinstitute.sting.gatk.datasources.providers.ReadReferenceView; +import org.broadinstitute.sting.gatk.datasources.providers.ReadShardDataProvider; +import org.broadinstitute.sting.gatk.datasources.providers.ReadView; import org.broadinstitute.sting.gatk.refdata.ReadMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.DataSource; import org.broadinstitute.sting.gatk.walkers.ReadWalker; -import org.broadinstitute.sting.utils.GenomeLocParser; import org.broadinstitute.sting.utils.GenomeLoc; /* diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/Allows.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/Allows.java index a29e51189..2541921e9 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/Allows.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/Allows.java @@ -1,11 +1,6 @@ package org.broadinstitute.sting.gatk.walkers; -import java.lang.annotation.Documented; -import java.lang.annotation.Inherited; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; -import java.lang.annotation.ElementType; +import java.lang.annotation.*; /** * User: hanna * Date: May 19, 2009 diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/BAQMode.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/BAQMode.java index 99dd46cbe..03097887d 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/BAQMode.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/BAQMode.java @@ -1,11 +1,6 @@ package org.broadinstitute.sting.gatk.walkers; -import java.lang.annotation.Documented; -import java.lang.annotation.Inherited; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; -import java.lang.annotation.ElementType; +import java.lang.annotation.*; /** * User: hanna diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/By.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/By.java index 25455b587..8fa6a4c1b 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/By.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/By.java @@ -1,11 +1,6 @@ package org.broadinstitute.sting.gatk.walkers; -import java.lang.annotation.Documented; -import java.lang.annotation.Inherited; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; -import java.lang.annotation.ElementType; +import java.lang.annotation.*; /** * User: hanna * Date: May 14, 2009 diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/ClipReadsWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/ClipReadsWalker.java index 1a3f87a7a..ca4e3f5e3 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/ClipReadsWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/ClipReadsWalker.java @@ -25,29 +25,29 @@ package org.broadinstitute.sting.gatk.walkers; -import net.sf.samtools.*; -import net.sf.picard.reference.ReferenceSequenceFileFactory; -import net.sf.picard.reference.ReferenceSequenceFile; import net.sf.picard.reference.ReferenceSequence; -import org.broadinstitute.sting.gatk.refdata.ReadMetaDataTracker; +import net.sf.picard.reference.ReferenceSequenceFile; +import net.sf.picard.reference.ReferenceSequenceFileFactory; +import net.sf.samtools.SAMRecord; +import net.sf.samtools.util.StringUtil; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Output; -import org.broadinstitute.sting.utils.*; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.gatk.io.StingSAMFileWriter; +import org.broadinstitute.sting.gatk.refdata.ReadMetaDataTracker; +import org.broadinstitute.sting.utils.BaseUtils; +import org.broadinstitute.sting.utils.Utils; import org.broadinstitute.sting.utils.clipreads.ClippingOp; import org.broadinstitute.sting.utils.clipreads.ClippingRepresentation; import org.broadinstitute.sting.utils.clipreads.ReadClipper; import org.broadinstitute.sting.utils.collections.Pair; -import org.broadinstitute.sting.gatk.io.StingSAMFileWriter; -import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.utils.sam.ReadUtils; -import java.util.*; -import java.util.regex.Pattern; -import java.util.regex.Matcher; import java.io.File; import java.io.PrintStream; - -import net.sf.samtools.util.StringUtil; -import org.broadinstitute.sting.utils.sam.ReadUtils; +import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; /** * This ReadWalker provides simple, yet powerful read clipping capabilities. It allows the user to clip bases in reads diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/DuplicateWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/DuplicateWalker.java index 1fc606f07..4bfedb672 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/DuplicateWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/DuplicateWalker.java @@ -1,16 +1,13 @@ package org.broadinstitute.sting.gatk.walkers; +import net.sf.samtools.SAMRecord; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; -import org.broadinstitute.sting.gatk.filters.UnmappedReadFilter; import org.broadinstitute.sting.gatk.filters.NotPrimaryAlignmentReadFilter; +import org.broadinstitute.sting.gatk.filters.UnmappedReadFilter; import org.broadinstitute.sting.utils.GenomeLoc; import java.util.List; import java.util.Set; -import java.util.Arrays; - -import net.sf.samtools.SAMRecord; -import net.sf.picard.filter.SamRecordFilter; /** * Created by IntelliJ IDEA. diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/FindReadsWithNamesWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/FindReadsWithNamesWalker.java index a272150c7..56287df31 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/FindReadsWithNamesWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/FindReadsWithNamesWalker.java @@ -26,7 +26,6 @@ package org.broadinstitute.sting.gatk.walkers; import net.sf.samtools.SAMFileWriter; -import net.sf.samtools.SAMReadGroupRecord; import net.sf.samtools.SAMRecord; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Output; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/FlagStatWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/FlagStatWalker.java index 13a55eaac..fcfcb81b5 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/FlagStatWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/FlagStatWalker.java @@ -1,13 +1,13 @@ package org.broadinstitute.sting.gatk.walkers; import net.sf.samtools.SAMRecord; -import org.broadinstitute.sting.gatk.refdata.ReadMetaDataTracker; -import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.commandline.Output; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.gatk.refdata.ReadMetaDataTracker; +import java.io.PrintStream; import java.text.DecimalFormat; import java.text.NumberFormat; -import java.io.PrintStream; /* diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/GCContentByIntervalWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/GCContentByIntervalWalker.java index c0f469973..68bea4dba 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/GCContentByIntervalWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/GCContentByIntervalWalker.java @@ -28,13 +28,12 @@ import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.walkers.*; import org.broadinstitute.sting.utils.BaseUtils; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.collections.Pair; import java.io.PrintStream; -import java.util.*; +import java.util.List; /** * Walks along reference and calculates the GC content for each interval. diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/LocusWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/LocusWalker.java index fc4b403c5..b0b2687f4 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/LocusWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/LocusWalker.java @@ -1,9 +1,12 @@ package org.broadinstitute.sting.gatk.walkers; -import org.broadinstitute.sting.gatk.filters.*; -import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.gatk.filters.DuplicateReadFilter; +import org.broadinstitute.sting.gatk.filters.FailsVendorQualityCheckReadFilter; +import org.broadinstitute.sting.gatk.filters.NotPrimaryAlignmentReadFilter; +import org.broadinstitute.sting.gatk.filters.UnmappedReadFilter; +import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; /** * Created by IntelliJ IDEA. diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/PileupWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/PileupWalker.java index 84d868c1a..508d1f6ee 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/PileupWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/PileupWalker.java @@ -26,22 +26,22 @@ package org.broadinstitute.sting.gatk.walkers; import org.broad.tribble.dbsnp.DbSNPFeature; +import org.broadinstitute.sting.commandline.Argument; +import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.ReferenceOrderedDatum; import org.broadinstitute.sting.gatk.refdata.utils.GATKFeature; import org.broadinstitute.sting.gatk.refdata.utils.helpers.DbSNPHelper; -import org.broadinstitute.sting.utils.collections.Pair; import org.broadinstitute.sting.utils.Utils; -import org.broadinstitute.sting.commandline.Argument; -import org.broadinstitute.sting.commandline.Output; +import org.broadinstitute.sting.utils.collections.Pair; import org.broadinstitute.sting.utils.pileup.ReadBackedExtendedEventPileup; import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; +import java.io.PrintStream; import java.util.ArrayList; import java.util.List; -import java.io.PrintStream; /** * Prints the alignment in the pileup format. In the pileup format, each line represents a genomic position, diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/PrintRODsWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/PrintRODsWalker.java index 9ac3fc0e6..158992a22 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/PrintRODsWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/PrintRODsWalker.java @@ -25,15 +25,15 @@ package org.broadinstitute.sting.gatk.walkers; +import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.VariantContextAdaptors; import org.broadinstitute.sting.gatk.refdata.utils.GATKFeature; -import org.broadinstitute.sting.commandline.Output; -import java.util.Iterator; import java.io.PrintStream; +import java.util.Iterator; /** * Prints out all of the RODs in the input data set. Data is rendered using the toString() method diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/PrintReadsWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/PrintReadsWalker.java index 07938d322..a189c00b5 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/PrintReadsWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/PrintReadsWalker.java @@ -28,14 +28,12 @@ package org.broadinstitute.sting.gatk.walkers; import net.sf.samtools.SAMFileWriter; import net.sf.samtools.SAMReadGroupRecord; import net.sf.samtools.SAMRecord; -import org.broadinstitute.sting.gatk.refdata.ReadMetaDataTracker; -import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Output; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.gatk.refdata.ReadMetaDataTracker; import org.broadinstitute.sting.utils.baq.BAQ; -import java.io.PrintStream; - /** * Renders, in SAM/BAM format, all reads from the input data set in the order in which they appear * in the input file. It can dynamically merge the contents of multiple input BAM files, resulting diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/ReadWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/ReadWalker.java index a5486fd9a..db2038aa3 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/ReadWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/ReadWalker.java @@ -1,8 +1,8 @@ package org.broadinstitute.sting.gatk.walkers; import net.sf.samtools.SAMRecord; -import org.broadinstitute.sting.gatk.refdata.ReadMetaDataTracker; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.gatk.refdata.ReadMetaDataTracker; /** * Created by IntelliJ IDEA. diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/Requires.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/Requires.java index 6c1e64c4e..e9a381a85 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/Requires.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/Requires.java @@ -1,11 +1,6 @@ package org.broadinstitute.sting.gatk.walkers; -import java.lang.annotation.Documented; -import java.lang.annotation.Inherited; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; -import java.lang.annotation.ElementType; +import java.lang.annotation.*; /** * User: hanna * Date: May 19, 2009 diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/SplitSamFileWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/SplitSamFileWalker.java index 014acff9c..486d233b7 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/SplitSamFileWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/SplitSamFileWalker.java @@ -25,14 +25,20 @@ package org.broadinstitute.sting.gatk.walkers; -import net.sf.samtools.*; -import org.broadinstitute.sting.gatk.refdata.ReadMetaDataTracker; -import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.commandline.Argument; -import org.broadinstitute.sting.utils.sam.ReadUtils; +import net.sf.samtools.SAMFileHeader; +import net.sf.samtools.SAMFileWriter; +import net.sf.samtools.SAMReadGroupRecord; +import net.sf.samtools.SAMRecord; import org.apache.log4j.Logger; +import org.broadinstitute.sting.commandline.Argument; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.gatk.refdata.ReadMetaDataTracker; +import org.broadinstitute.sting.utils.sam.ReadUtils; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * Divides the input data set into separate BAM files, one for each sample in the input data set. The split diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/Walker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/Walker.java index f0ba8bb46..384742302 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/Walker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/Walker.java @@ -25,14 +25,14 @@ package org.broadinstitute.sting.gatk.walkers; -import java.util.List; - +import org.apache.log4j.Logger; import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; import org.broadinstitute.sting.gatk.filters.MalformedReadFilter; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.baq.BAQ; import org.broadinstitute.sting.utils.collections.Pair; -import org.apache.log4j.Logger; + +import java.util.List; /** * Created by IntelliJ IDEA. diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/WalkerName.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/WalkerName.java index 0e4d40675..4d46607e5 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/WalkerName.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/WalkerName.java @@ -1,10 +1,6 @@ package org.broadinstitute.sting.gatk.walkers; -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; +import java.lang.annotation.*; /** * Created by IntelliJ IDEA. diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/Window.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/Window.java index 0b718071d..9827fdf09 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/Window.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/Window.java @@ -25,7 +25,10 @@ package org.broadinstitute.sting.gatk.walkers; -import java.lang.annotation.*; +import java.lang.annotation.Documented; +import java.lang.annotation.Inherited; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; /** * Describes the size of the window into the genome. Has differing semantics based on diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/AlleleBalance.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/AlleleBalance.java index b02dcd8e2..3144098a8 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/AlleleBalance.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/AlleleBalance.java @@ -25,21 +25,21 @@ package org.broadinstitute.sting.gatk.walkers.annotator; -import org.broadinstitute.sting.utils.variantcontext.Genotype; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; -import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.*; -import org.broadinstitute.sting.utils.*; +import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.InfoFieldAnnotation; +import org.broadinstitute.sting.utils.MathUtils; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; +import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; import org.broadinstitute.sting.utils.pileup.ReadBackedExtendedEventPileup; +import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import java.util.Map; +import java.util.Arrays; import java.util.HashMap; import java.util.List; -import java.util.Arrays; +import java.util.Map; public class AlleleBalance implements InfoFieldAnnotation { diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/AlleleBalanceBySample.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/AlleleBalanceBySample.java index 51d290763..a99f87a70 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/AlleleBalanceBySample.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/AlleleBalanceBySample.java @@ -1,12 +1,16 @@ package org.broadinstitute.sting.gatk.walkers.annotator; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; +import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.ExperimentalAnnotation; +import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.GenotypeAnnotation; +import org.broadinstitute.sting.utils.MathUtils; import org.broadinstitute.sting.utils.codecs.vcf.VCFFormatHeaderLine; import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; -import org.broadinstitute.sting.gatk.contexts.*; -import org.broadinstitute.sting.utils.variantcontext.*; -import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.*; -import org.broadinstitute.sting.utils.*; +import org.broadinstitute.sting.utils.variantcontext.Allele; +import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/AnnotationByDepth.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/AnnotationByDepth.java index 51b5381dc..6c14e7445 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/AnnotationByDepth.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/AnnotationByDepth.java @@ -1,8 +1,9 @@ package org.broadinstitute.sting.gatk.walkers.annotator; -import org.broadinstitute.sting.utils.variantcontext.Genotype; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.InfoFieldAnnotation; +import org.broadinstitute.sting.utils.variantcontext.Genotype; + import java.util.Map; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/BaseCounts.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/BaseCounts.java index 244627154..66416ce11 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/BaseCounts.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/BaseCounts.java @@ -31,19 +31,19 @@ package org.broadinstitute.sting.gatk.walkers.annotator; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; -import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.*; +import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.InfoFieldAnnotation; import org.broadinstitute.sting.utils.BaseUtils; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; +import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import java.util.Map; +import java.util.Arrays; import java.util.HashMap; import java.util.List; -import java.util.Arrays; +import java.util.Map; public class BaseCounts implements InfoFieldAnnotation { diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/BaseQualityRankSumTest.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/BaseQualityRankSumTest.java index ff916bedd..2a5c996f7 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/BaseQualityRankSumTest.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/BaseQualityRankSumTest.java @@ -1,16 +1,16 @@ package org.broadinstitute.sting.gatk.walkers.annotator; -import org.broadinstitute.sting.utils.variantcontext.Allele; +import org.broadinstitute.sting.gatk.walkers.genotyper.IndelGenotypeLikelihoodsCalculationModel; import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; -import org.broadinstitute.sting.gatk.walkers.genotyper.IndelGenotypeLikelihoodsCalculationModel; -import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; import org.broadinstitute.sting.utils.pileup.PileupElement; +import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; +import org.broadinstitute.sting.utils.variantcontext.Allele; +import java.util.Arrays; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; -import java.util.Arrays; public class BaseQualityRankSumTest extends RankSumTest { diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/ChromosomeCounts.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/ChromosomeCounts.java index f3ec2b1df..74f7f9d80 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/ChromosomeCounts.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/ChromosomeCounts.java @@ -25,18 +25,22 @@ package org.broadinstitute.sting.gatk.walkers.annotator; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineCount; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; -import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; -import org.broadinstitute.sting.utils.codecs.vcf.VCFConstants; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.*; +import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.InfoFieldAnnotation; +import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.StandardAnnotation; +import org.broadinstitute.sting.utils.codecs.vcf.VCFConstants; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineCount; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; +import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; +import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; -import java.util.*; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; public class ChromosomeCounts implements InfoFieldAnnotation, StandardAnnotation { diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/DepthOfCoverage.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/DepthOfCoverage.java index e56825dbe..c384e0d09 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/DepthOfCoverage.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/DepthOfCoverage.java @@ -1,18 +1,19 @@ package org.broadinstitute.sting.gatk.walkers.annotator; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; -import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; -import org.broadinstitute.sting.utils.codecs.vcf.VCFConstants; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.*; +import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.InfoFieldAnnotation; +import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.StandardAnnotation; +import org.broadinstitute.sting.utils.codecs.vcf.VCFConstants; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; +import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import java.util.Map; +import java.util.Arrays; import java.util.HashMap; import java.util.List; -import java.util.Arrays; +import java.util.Map; public class DepthOfCoverage implements InfoFieldAnnotation, StandardAnnotation { diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/DepthPerAlleleBySample.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/DepthPerAlleleBySample.java index ee66b50ee..e3e8bc258 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/DepthPerAlleleBySample.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/DepthPerAlleleBySample.java @@ -1,21 +1,20 @@ package org.broadinstitute.sting.gatk.walkers.annotator; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineCount; -import org.broadinstitute.sting.utils.variantcontext.Allele; -import org.broadinstitute.sting.utils.variantcontext.Genotype; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFCompoundHeaderLine; -import org.broadinstitute.sting.utils.codecs.vcf.VCFFormatHeaderLine; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.GenotypeAnnotation; import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.StandardAnnotation; -import org.broadinstitute.sting.utils.pileup.PileupElement; -import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; -import org.broadinstitute.sting.utils.pileup.ReadBackedExtendedEventPileup; +import org.broadinstitute.sting.utils.codecs.vcf.VCFFormatHeaderLine; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineCount; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; import org.broadinstitute.sting.utils.pileup.ExtendedEventPileupElement; +import org.broadinstitute.sting.utils.pileup.PileupElement; +import org.broadinstitute.sting.utils.pileup.ReadBackedExtendedEventPileup; +import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; +import org.broadinstitute.sting.utils.variantcontext.Allele; +import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.Arrays; import java.util.HashMap; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/FisherStrand.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/FisherStrand.java index 2115526a6..97ed221e7 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/FisherStrand.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/FisherStrand.java @@ -24,20 +24,20 @@ package org.broadinstitute.sting.gatk.walkers.annotator; +import cern.jet.math.Arithmetic; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.InfoFieldAnnotation; import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.StandardAnnotation; -import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.genotyper.IndelGenotypeLikelihoodsCalculationModel; -import org.broadinstitute.sting.utils.*; -import org.broadinstitute.sting.utils.pileup.PileupElement; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.variantcontext.Allele; -import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; +import org.broadinstitute.sting.utils.QualityUtils; import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; -import cern.jet.math.Arithmetic; +import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; +import org.broadinstitute.sting.utils.pileup.PileupElement; import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; +import org.broadinstitute.sting.utils.variantcontext.Allele; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/GCContent.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/GCContent.java index 5eaa30bf3..48677bbe5 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/GCContent.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/GCContent.java @@ -1,18 +1,19 @@ package org.broadinstitute.sting.gatk.walkers.annotator; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; -import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.*; +import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.ExperimentalAnnotation; +import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.InfoFieldAnnotation; import org.broadinstitute.sting.utils.BaseUtils; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; +import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import java.util.Map; +import java.util.Arrays; import java.util.HashMap; import java.util.List; -import java.util.Arrays; +import java.util.Map; public class GCContent implements InfoFieldAnnotation, ExperimentalAnnotation { diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/GLstats.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/GLstats.java index 3a5db2884..cca0ad4bc 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/GLstats.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/GLstats.java @@ -1,19 +1,20 @@ package org.broadinstitute.sting.gatk.walkers.annotator; -import org.broadinstitute.sting.utils.variantcontext.Genotype; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; -import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.*; +import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.InfoFieldAnnotation; +import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.StandardAnnotation; import org.broadinstitute.sting.utils.MathUtils; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; +import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; +import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import java.util.Map; +import java.util.Arrays; import java.util.HashMap; import java.util.List; -import java.util.Arrays; +import java.util.Map; /** * Created by IntelliJ IDEA. diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/HaplotypeScore.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/HaplotypeScore.java index bd8c51a41..b175579f1 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/HaplotypeScore.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/HaplotypeScore.java @@ -24,25 +24,29 @@ package org.broadinstitute.sting.gatk.walkers.annotator; +import net.sf.samtools.SAMRecord; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContextUtils; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; +import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.InfoFieldAnnotation; +import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.StandardAnnotation; +import org.broadinstitute.sting.gatk.walkers.genotyper.IndelGenotypeLikelihoodsCalculationModel; +import org.broadinstitute.sting.utils.BaseUtils; +import org.broadinstitute.sting.utils.MathUtils; +import org.broadinstitute.sting.utils.QualityUtils; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; +import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; +import org.broadinstitute.sting.utils.genotype.Haplotype; +import org.broadinstitute.sting.utils.pileup.PileupElement; +import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; +import org.broadinstitute.sting.utils.sam.AlignmentUtils; import org.broadinstitute.sting.utils.variantcontext.Allele; import org.broadinstitute.sting.utils.variantcontext.Genotype; import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; -import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; -import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.gatk.contexts.AlignmentContextUtils; -import org.broadinstitute.sting.gatk.contexts.AlignmentContext; -import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.*; -import org.broadinstitute.sting.gatk.walkers.genotyper.IndelGenotypeLikelihoodsCalculationModel; -import org.broadinstitute.sting.utils.*; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import org.broadinstitute.sting.utils.genotype.Haplotype; -import org.broadinstitute.sting.utils.pileup.*; import java.util.*; -import net.sf.samtools.SAMRecord; -import org.broadinstitute.sting.utils.sam.AlignmentUtils; public class HaplotypeScore implements InfoFieldAnnotation, StandardAnnotation { private final static boolean DEBUG = false; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/HardyWeinberg.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/HardyWeinberg.java index ecebfbbd2..d86728d5e 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/HardyWeinberg.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/HardyWeinberg.java @@ -1,20 +1,21 @@ package org.broadinstitute.sting.gatk.walkers.annotator; import org.broad.tribble.util.popgen.HardyWeinbergCalculation; -import org.broadinstitute.sting.utils.variantcontext.Genotype; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; -import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.*; +import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.InfoFieldAnnotation; +import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.WorkInProgressAnnotation; import org.broadinstitute.sting.utils.QualityUtils; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; +import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; +import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import java.util.Map; +import java.util.Arrays; import java.util.HashMap; import java.util.List; -import java.util.Arrays; +import java.util.Map; public class HardyWeinberg implements InfoFieldAnnotation, WorkInProgressAnnotation { diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/HomopolymerRun.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/HomopolymerRun.java index 099780fa7..02efd854c 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/HomopolymerRun.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/HomopolymerRun.java @@ -1,19 +1,19 @@ package org.broadinstitute.sting.gatk.walkers.annotator; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; -import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.InfoFieldAnnotation; import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.StandardAnnotation; import org.broadinstitute.sting.utils.GenomeLoc; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; +import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import java.util.Map; +import java.util.Arrays; import java.util.HashMap; import java.util.List; -import java.util.Arrays; +import java.util.Map; public class HomopolymerRun implements InfoFieldAnnotation, StandardAnnotation { diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/IndelType.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/IndelType.java index ee8b01d7d..12b48473d 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/IndelType.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/IndelType.java @@ -1,14 +1,14 @@ package org.broadinstitute.sting.gatk.walkers.annotator; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; -import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.ExperimentalAnnotation; import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.InfoFieldAnnotation; import org.broadinstitute.sting.utils.IndelUtils; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; +import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/LowMQ.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/LowMQ.java index f23433bb5..1d999c531 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/LowMQ.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/LowMQ.java @@ -1,19 +1,19 @@ package org.broadinstitute.sting.gatk.walkers.annotator; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; -import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.InfoFieldAnnotation; -import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; +import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; import org.broadinstitute.sting.utils.pileup.PileupElement; +import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import java.util.Map; +import java.util.Arrays; import java.util.HashMap; import java.util.List; -import java.util.Arrays; +import java.util.Map; public class LowMQ implements InfoFieldAnnotation { diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/MappingQualityRankSumTest.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/MappingQualityRankSumTest.java index 8260a5a81..cc62580a9 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/MappingQualityRankSumTest.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/MappingQualityRankSumTest.java @@ -1,17 +1,17 @@ package org.broadinstitute.sting.gatk.walkers.annotator; +import org.broadinstitute.sting.gatk.walkers.genotyper.IndelGenotypeLikelihoodsCalculationModel; import org.broadinstitute.sting.utils.QualityUtils; -import org.broadinstitute.sting.utils.variantcontext.Allele; import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; -import org.broadinstitute.sting.gatk.walkers.genotyper.IndelGenotypeLikelihoodsCalculationModel; -import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; import org.broadinstitute.sting.utils.pileup.PileupElement; +import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; +import org.broadinstitute.sting.utils.variantcontext.Allele; +import java.util.Arrays; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; -import java.util.Arrays; public class MappingQualityRankSumTest extends RankSumTest { diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/MappingQualityZero.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/MappingQualityZero.java index 25a7b286d..f240d02bc 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/MappingQualityZero.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/MappingQualityZero.java @@ -1,16 +1,16 @@ package org.broadinstitute.sting.gatk.walkers.annotator; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFConstants; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; -import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.InfoFieldAnnotation; import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.StandardAnnotation; +import org.broadinstitute.sting.utils.codecs.vcf.VCFConstants; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; +import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; import org.broadinstitute.sting.utils.pileup.PileupElement; import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.Arrays; import java.util.HashMap; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/MappingQualityZeroBySample.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/MappingQualityZeroBySample.java index 00cc30309..0ca53adf2 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/MappingQualityZeroBySample.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/MappingQualityZeroBySample.java @@ -25,22 +25,22 @@ package org.broadinstitute.sting.gatk.walkers.annotator; -import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.GenotypeAnnotation; -import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; -import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; -import org.broadinstitute.sting.utils.pileup.PileupElement; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; +import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.GenotypeAnnotation; import org.broadinstitute.sting.utils.codecs.vcf.VCFConstants; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; import org.broadinstitute.sting.utils.codecs.vcf.VCFFormatHeaderLine; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; +import org.broadinstitute.sting.utils.pileup.PileupElement; +import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; +import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import java.util.Map; +import java.util.Arrays; import java.util.HashMap; import java.util.List; -import java.util.Arrays; +import java.util.Map; /** * Created by IntelliJ IDEA. diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/MappingQualityZeroFraction.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/MappingQualityZeroFraction.java index dc4934ade..08a25a7e3 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/MappingQualityZeroFraction.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/MappingQualityZeroFraction.java @@ -1,15 +1,15 @@ package org.broadinstitute.sting.gatk.walkers.annotator; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; -import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.ExperimentalAnnotation; import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.InfoFieldAnnotation; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; +import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; import org.broadinstitute.sting.utils.pileup.PileupElement; import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.Arrays; import java.util.HashMap; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/NBaseCount.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/NBaseCount.java index 3b64abfff..1c70a1b33 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/NBaseCount.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/NBaseCount.java @@ -1,14 +1,14 @@ package org.broadinstitute.sting.gatk.walkers.annotator; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; -import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.InfoFieldAnnotation; import org.broadinstitute.sting.utils.BaseUtils; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; +import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; import org.broadinstitute.sting.utils.pileup.PileupElement; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.Arrays; import java.util.HashMap; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/QualByDepth.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/QualByDepth.java index 720984835..2175d39e6 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/QualByDepth.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/QualByDepth.java @@ -1,19 +1,19 @@ package org.broadinstitute.sting.gatk.walkers.annotator; -import org.broadinstitute.sting.utils.variantcontext.Genotype; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; -import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.InfoFieldAnnotation; import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.StandardAnnotation; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; +import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; +import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import java.util.Map; +import java.util.Arrays; import java.util.HashMap; import java.util.List; -import java.util.Arrays; +import java.util.Map; public class QualByDepth extends AnnotationByDepth implements InfoFieldAnnotation, StandardAnnotation { diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/RMSMappingQuality.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/RMSMappingQuality.java index 1ef7ccd0b..d52f07b58 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/RMSMappingQuality.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/RMSMappingQuality.java @@ -1,20 +1,23 @@ package org.broadinstitute.sting.gatk.walkers.annotator; -import org.broadinstitute.sting.utils.QualityUtils; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFConstants; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; -import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.InfoFieldAnnotation; import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.StandardAnnotation; import org.broadinstitute.sting.utils.MathUtils; +import org.broadinstitute.sting.utils.QualityUtils; +import org.broadinstitute.sting.utils.codecs.vcf.VCFConstants; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; +import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; import org.broadinstitute.sting.utils.pileup.PileupElement; import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import java.util.*; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; public class RMSMappingQuality implements InfoFieldAnnotation, StandardAnnotation { diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/RankSumTest.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/RankSumTest.java index f00abd6a1..5466828f6 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/RankSumTest.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/RankSumTest.java @@ -1,22 +1,23 @@ package org.broadinstitute.sting.gatk.walkers.annotator; -import org.broadinstitute.sting.utils.variantcontext.Allele; -import org.broadinstitute.sting.utils.variantcontext.Genotype; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.*; +import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.InfoFieldAnnotation; +import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.StandardAnnotation; import org.broadinstitute.sting.gatk.walkers.genotyper.IndelGenotypeLikelihoodsCalculationModel; -import org.broadinstitute.sting.utils.*; +import org.broadinstitute.sting.utils.MannWhitneyU; +import org.broadinstitute.sting.utils.QualityUtils; import org.broadinstitute.sting.utils.collections.Pair; import org.broadinstitute.sting.utils.pileup.PileupElement; import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; +import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import java.util.List; import java.util.ArrayList; -import java.util.Map; import java.util.HashMap; +import java.util.List; +import java.util.Map; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/ReadDepthAndAllelicFractionBySample.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/ReadDepthAndAllelicFractionBySample.java index a670532af..c56e2622d 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/ReadDepthAndAllelicFractionBySample.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/ReadDepthAndAllelicFractionBySample.java @@ -26,25 +26,24 @@ package org.broadinstitute.sting.gatk.walkers.annotator; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; -import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.GenotypeAnnotation; -import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; +import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.GenotypeAnnotation; +import org.broadinstitute.sting.utils.codecs.vcf.VCFFormatHeaderLine; import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineCount; -import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; +import org.broadinstitute.sting.utils.pileup.ExtendedEventPileupElement; import org.broadinstitute.sting.utils.pileup.PileupElement; import org.broadinstitute.sting.utils.pileup.ReadBackedExtendedEventPileup; -import org.broadinstitute.sting.utils.pileup.ExtendedEventPileupElement; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; import org.broadinstitute.sting.utils.variantcontext.Allele; -import org.broadinstitute.sting.utils.codecs.vcf.VCFFormatHeaderLine; -import org.broadinstitute.sting.utils.codecs.vcf.VCFCompoundHeaderLine; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; +import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import java.util.Map; +import java.util.Arrays; import java.util.HashMap; import java.util.List; -import java.util.Arrays; +import java.util.Map; /** * Created by IntelliJ IDEA. diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/ReadPosRankSumTest.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/ReadPosRankSumTest.java index 727904a3b..aabfb2970 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/ReadPosRankSumTest.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/ReadPosRankSumTest.java @@ -1,14 +1,17 @@ package org.broadinstitute.sting.gatk.walkers.annotator; -import org.broadinstitute.sting.utils.variantcontext.Allele; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; -import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; +import net.sf.samtools.Cigar; +import net.sf.samtools.CigarElement; +import net.sf.samtools.CigarOperator; +import net.sf.samtools.SAMRecord; import org.broadinstitute.sting.gatk.walkers.genotyper.IndelGenotypeLikelihoodsCalculationModel; import org.broadinstitute.sting.gatk.walkers.indels.PairHMMIndelErrorModel; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; +import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; import org.broadinstitute.sting.utils.pileup.PileupElement; import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; import org.broadinstitute.sting.utils.sam.AlignmentUtils; -import net.sf.samtools.*; +import org.broadinstitute.sting.utils.variantcontext.Allele; import java.util.Arrays; import java.util.HashMap; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/SBByDepth.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/SBByDepth.java index fc769ac54..a5ebd8db2 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/SBByDepth.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/SBByDepth.java @@ -1,13 +1,13 @@ package org.broadinstitute.sting.gatk.walkers.annotator; -import org.broadinstitute.sting.utils.variantcontext.Genotype; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFConstants; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; -import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; +import org.broadinstitute.sting.utils.codecs.vcf.VCFConstants; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; +import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; +import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.Arrays; import java.util.HashMap; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/SampleList.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/SampleList.java index e2fd2a3d4..ff9092a71 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/SampleList.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/SampleList.java @@ -25,15 +25,15 @@ package org.broadinstitute.sting.gatk.walkers.annotator; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineCount; -import org.broadinstitute.sting.utils.variantcontext.Genotype; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; -import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.InfoFieldAnnotation; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineCount; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; +import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; +import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.Arrays; import java.util.HashMap; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/SpanningDeletions.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/SpanningDeletions.java index 0b6cbcc2e..a4668eeb6 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/SpanningDeletions.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/SpanningDeletions.java @@ -1,14 +1,14 @@ package org.broadinstitute.sting.gatk.walkers.annotator; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; -import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.InfoFieldAnnotation; import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.StandardAnnotation; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; +import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.Arrays; import java.util.HashMap; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/TechnologyComposition.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/TechnologyComposition.java index 351117809..b46d82d8b 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/TechnologyComposition.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/TechnologyComposition.java @@ -5,7 +5,6 @@ import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.ExperimentalAnnotation; import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.InfoFieldAnnotation; -import org.broadinstitute.sting.utils.IndelUtils; import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; import org.broadinstitute.sting.utils.pileup.PileupElement; @@ -13,7 +12,10 @@ import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; import org.broadinstitute.sting.utils.sam.ReadUtils; import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import java.util.*; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * Created by IntelliJ IDEA. diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/VariantAnnotator.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/VariantAnnotator.java index cd5b6694b..acbeee3b2 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/VariantAnnotator.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/VariantAnnotator.java @@ -25,24 +25,23 @@ package org.broadinstitute.sting.gatk.walkers.annotator; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.*; +import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Hidden; +import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.AlignmentContextUtils; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.*; import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.AnnotationType; import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.GenotypeAnnotation; import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.InfoFieldAnnotation; import org.broadinstitute.sting.utils.BaseUtils; -import org.broadinstitute.sting.utils.classloader.PluginManager; import org.broadinstitute.sting.utils.SampleUtils; -import org.broadinstitute.sting.commandline.Argument; -import org.broadinstitute.sting.commandline.Output; -import org.broadinstitute.sting.utils.codecs.vcf.VCFUtils; +import org.broadinstitute.sting.utils.classloader.PluginManager; +import org.broadinstitute.sting.utils.codecs.vcf.*; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; +import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/VariantAnnotatorEngine.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/VariantAnnotatorEngine.java index 54c8be73a..fdf498a3d 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/VariantAnnotatorEngine.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/VariantAnnotatorEngine.java @@ -25,30 +25,27 @@ package org.broadinstitute.sting.gatk.walkers.annotator; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedHashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.Map.Entry; - -import org.broadinstitute.sting.utils.variantcontext.Genotype; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.*; import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.datasources.rmd.ReferenceOrderedDataSource; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.utils.helpers.DbSNPHelper; -import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.*; -import org.broadinstitute.sting.gatk.walkers.annotator.genomicannotator.*; +import org.broadinstitute.sting.gatk.walkers.annotator.genomicannotator.GenomicAnnotation; +import org.broadinstitute.sting.gatk.walkers.annotator.genomicannotator.JoinTable; +import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.AnnotationInterfaceManager; +import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.GenotypeAnnotation; +import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.InfoFieldAnnotation; +import org.broadinstitute.sting.utils.codecs.vcf.VCFConstants; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLine; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; +import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; import org.broadinstitute.sting.utils.exceptions.UserException; +import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; + +import java.util.*; +import java.util.Map.Entry; public class VariantAnnotatorEngine { diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/genomicannotator/GenomicAnnotation.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/genomicannotator/GenomicAnnotation.java index e02c62baf..05c1b3c52 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/genomicannotator/GenomicAnnotation.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/genomicannotator/GenomicAnnotation.java @@ -25,13 +25,6 @@ package org.broadinstitute.sting.gatk.walkers.annotator.genomicannotator; -import java.util.*; -import java.util.Map.Entry; - -import org.broadinstitute.sting.utils.variantcontext.Allele; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; -import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; @@ -39,7 +32,14 @@ import org.broadinstitute.sting.gatk.refdata.features.annotator.AnnotatorInputTa import org.broadinstitute.sting.gatk.refdata.utils.GATKFeature; import org.broadinstitute.sting.gatk.walkers.annotator.VariantAnnotatorEngine; import org.broadinstitute.sting.gatk.walkers.annotator.interfaces.InfoFieldAnnotation; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLineType; +import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; import org.broadinstitute.sting.utils.exceptions.UserException; +import org.broadinstitute.sting.utils.variantcontext.Allele; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; + +import java.util.*; +import java.util.Map.Entry; /** * This plugin for {@link VariantAnnotatorEngine} serves as the core diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/genomicannotator/GenomicAnnotator.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/genomicannotator/GenomicAnnotator.java index 69a35a584..b42310780 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/genomicannotator/GenomicAnnotator.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/genomicannotator/GenomicAnnotator.java @@ -26,28 +26,28 @@ package org.broadinstitute.sting.gatk.walkers.annotator.genomicannotator; -import java.io.File; -import java.io.IOException; -import java.util.*; -import java.util.Map.Entry; - -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeader; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLine; -import org.broadinstitute.sting.utils.codecs.vcf.VCFWriter; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; -import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.contexts.AlignmentContextUtils; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.datasources.rmd.ReferenceOrderedDataSource; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.features.annotator.AnnotatorInputTableCodec; import org.broadinstitute.sting.gatk.walkers.*; import org.broadinstitute.sting.gatk.walkers.annotator.VariantAnnotatorEngine; import org.broadinstitute.sting.utils.SampleUtils; -import org.broadinstitute.sting.utils.exceptions.UserException; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeader; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLine; import org.broadinstitute.sting.utils.codecs.vcf.VCFUtils; +import org.broadinstitute.sting.utils.codecs.vcf.VCFWriter; +import org.broadinstitute.sting.utils.exceptions.UserException; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; + +import java.io.File; +import java.io.IOException; +import java.util.*; +import java.util.Map.Entry; /** * Annotates variant calls with information from user-specified tabular files. diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/genomicannotator/JoinTable.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/genomicannotator/JoinTable.java index c57aacb5b..714f374cf 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/genomicannotator/JoinTable.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/genomicannotator/JoinTable.java @@ -25,6 +25,9 @@ package org.broadinstitute.sting.gatk.walkers.annotator.genomicannotator; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; +import org.broadinstitute.sting.utils.exceptions.UserException; + import java.io.BufferedReader; import java.io.File; import java.io.FileReader; @@ -33,9 +36,6 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import org.broadinstitute.sting.utils.exceptions.UserException; - /** * This is a container that holds all data corresponding to a single join table as specified by one -J arg (ex: -J bindingName1,/path/to/file,bindingName1.columnName=bindingName2.columnName2). * Some terminology: diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/genomicannotator/JoinTableParser.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/genomicannotator/JoinTableParser.java index d3fcfd42a..3b6c87f90 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/genomicannotator/JoinTableParser.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/genomicannotator/JoinTableParser.java @@ -25,16 +25,16 @@ package org.broadinstitute.sting.gatk.walkers.annotator.genomicannotator; +import org.broadinstitute.sting.utils.Utils; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; +import org.broadinstitute.sting.utils.exceptions.UserException; + import java.io.BufferedReader; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.List; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import org.broadinstitute.sting.utils.Utils; -import org.broadinstitute.sting.utils.exceptions.UserException; - /** * Used to parse files passed to the GenomicAnnotator via the -J arg. * The files must be tab-delimited, and the first non-empty/non-commented line diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/genomicannotator/TranscriptToGenomicInfo.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/genomicannotator/TranscriptToGenomicInfo.java index 0ed61fc48..0bbfa51b4 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/genomicannotator/TranscriptToGenomicInfo.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/genomicannotator/TranscriptToGenomicInfo.java @@ -24,9 +24,6 @@ package org.broadinstitute.sting.gatk.walkers.annotator.genomicannotator; -import java.io.*; -import java.util.*; - import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; @@ -36,17 +33,15 @@ import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.features.annotator.AnnotatorInputTableCodec; import org.broadinstitute.sting.gatk.refdata.features.annotator.AnnotatorInputTableFeature; import org.broadinstitute.sting.gatk.refdata.utils.RODRecordList; -import org.broadinstitute.sting.gatk.walkers.By; -import org.broadinstitute.sting.gatk.walkers.DataSource; -import org.broadinstitute.sting.gatk.walkers.RMD; -import org.broadinstitute.sting.gatk.walkers.Reference; -import org.broadinstitute.sting.gatk.walkers.Requires; -import org.broadinstitute.sting.gatk.walkers.RodWalker; -import org.broadinstitute.sting.gatk.walkers.Window; +import org.broadinstitute.sting.gatk.walkers.*; import org.broadinstitute.sting.utils.BaseUtils; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.UserException; +import java.io.IOException; +import java.io.PrintStream; +import java.util.*; + /** * Takes a table of transcripts (eg. UCSC refGene, knownGene, and CCDS tables) and generates the big table which contains * annotations for each possible variant at each transcript position (eg. 4 variants at each genomic position). diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/interfaces/GenotypeAnnotation.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/interfaces/GenotypeAnnotation.java index 29b256479..57bc44ab8 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/interfaces/GenotypeAnnotation.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/interfaces/GenotypeAnnotation.java @@ -1,14 +1,14 @@ package org.broadinstitute.sting.gatk.walkers.annotator.interfaces; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; +import org.broadinstitute.sting.utils.codecs.vcf.VCFFormatHeaderLine; import org.broadinstitute.sting.utils.variantcontext.Genotype; import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFFormatHeaderLine; -import org.broadinstitute.sting.gatk.contexts.AlignmentContext; -import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import java.util.Map; import java.util.List; +import java.util.Map; public interface GenotypeAnnotation { diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/interfaces/InfoFieldAnnotation.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/interfaces/InfoFieldAnnotation.java index 5b33395b5..4e850d01b 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/interfaces/InfoFieldAnnotation.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/annotator/interfaces/InfoFieldAnnotation.java @@ -1,13 +1,13 @@ package org.broadinstitute.sting.gatk.walkers.annotator.interfaces; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; -import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; +import org.broadinstitute.sting.utils.codecs.vcf.VCFInfoHeaderLine; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import java.util.Map; import java.util.List; +import java.util.Map; public interface InfoFieldAnnotation { diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/beagle/BeagleOutputToVCFWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/beagle/BeagleOutputToVCFWalker.java index aa23abc67..21c8ec430 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/beagle/BeagleOutputToVCFWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/beagle/BeagleOutputToVCFWalker.java @@ -25,26 +25,26 @@ package org.broadinstitute.sting.gatk.walkers.beagle; -import org.broadinstitute.sting.utils.variantcontext.Allele; -import org.broadinstitute.sting.utils.variantcontext.Genotype; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import org.broadinstitute.sting.gatk.datasources.rmd.ReferenceOrderedDataSource; -import org.broadinstitute.sting.gatk.refdata.features.beagle.BeagleFeature; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.walkers.RodWalker; +import org.broadinstitute.sting.gatk.refdata.features.beagle.BeagleFeature; import org.broadinstitute.sting.gatk.walkers.RMD; import org.broadinstitute.sting.gatk.walkers.Requires; +import org.broadinstitute.sting.gatk.walkers.RodWalker; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.SampleUtils; -import org.broadinstitute.sting.utils.codecs.vcf.VCFUtils; import org.broadinstitute.sting.utils.codecs.vcf.*; +import org.broadinstitute.sting.utils.variantcontext.Allele; +import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; +import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import java.util.*; + import static java.lang.Math.log10; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/beagle/ProduceBeagleInputWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/beagle/ProduceBeagleInputWalker.java index 93ee0b085..3eed12992 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/beagle/ProduceBeagleInputWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/beagle/ProduceBeagleInputWalker.java @@ -25,10 +25,6 @@ package org.broadinstitute.sting.gatk.walkers.beagle; -import org.broadinstitute.sting.utils.variantcontext.Allele; -import org.broadinstitute.sting.utils.variantcontext.Genotype; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.*; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Hidden; import org.broadinstitute.sting.commandline.Input; @@ -36,17 +32,20 @@ import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.walkers.RodWalker; import org.broadinstitute.sting.gatk.walkers.RMD; import org.broadinstitute.sting.gatk.walkers.Requires; +import org.broadinstitute.sting.gatk.walkers.RodWalker; import org.broadinstitute.sting.gatk.walkers.variantrecalibration.VQSRCalibrationCurve; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.MathUtils; import org.broadinstitute.sting.utils.SampleUtils; +import org.broadinstitute.sting.utils.codecs.vcf.*; import org.broadinstitute.sting.utils.exceptions.StingException; -import org.broadinstitute.sting.utils.codecs.vcf.VCFUtils; +import org.broadinstitute.sting.utils.variantcontext.Allele; +import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; +import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import java.io.File; import java.io.PrintStream; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/beagle/VariantsToBeagleUnphasedWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/beagle/VariantsToBeagleUnphasedWalker.java index 18aa3e257..f6cd1d636 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/beagle/VariantsToBeagleUnphasedWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/beagle/VariantsToBeagleUnphasedWalker.java @@ -25,28 +25,29 @@ package org.broadinstitute.sting.gatk.walkers.beagle; -import org.broadinstitute.sting.utils.variantcontext.Allele; -import org.broadinstitute.sting.utils.variantcontext.Genotype; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeader; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLine; -import org.broadinstitute.sting.utils.codecs.vcf.VCFWriter; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.RMD; import org.broadinstitute.sting.gatk.walkers.Requires; import org.broadinstitute.sting.gatk.walkers.RodWalker; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.SampleUtils; -import org.broadinstitute.sting.utils.exceptions.UserException; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeader; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLine; import org.broadinstitute.sting.utils.codecs.vcf.VCFUtils; +import org.broadinstitute.sting.utils.codecs.vcf.VCFWriter; +import org.broadinstitute.sting.utils.exceptions.UserException; +import org.broadinstitute.sting.utils.variantcontext.Allele; +import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; +import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import java.io.PrintStream; -import java.util.*; +import java.util.Arrays; +import java.util.Set; /** * Produces an input file to Beagle imputation engine, listing unphased, hard-called genotypes for a single sample diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/coverage/CallableLociWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/coverage/CallableLociWalker.java index 2c67265d6..90e6fcd77 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/coverage/CallableLociWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/coverage/CallableLociWalker.java @@ -22,6 +22,8 @@ package org.broadinstitute.sting.gatk.walkers.coverage; +import org.broadinstitute.sting.commandline.Argument; +import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; @@ -31,12 +33,10 @@ import org.broadinstitute.sting.gatk.walkers.LocusWalker; import org.broadinstitute.sting.utils.*; import org.broadinstitute.sting.utils.exceptions.UserException; import org.broadinstitute.sting.utils.pileup.PileupElement; -import org.broadinstitute.sting.commandline.Argument; -import org.broadinstitute.sting.commandline.Output; import java.io.File; -import java.io.PrintStream; import java.io.FileNotFoundException; +import java.io.PrintStream; /** diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/coverage/CoarseCoverageWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/coverage/CoarseCoverageWalker.java index ae947eac1..405a44c29 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/coverage/CoarseCoverageWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/coverage/CoarseCoverageWalker.java @@ -26,12 +26,11 @@ package org.broadinstitute.sting.gatk.walkers.coverage; import net.sf.samtools.SAMRecord; - -import org.broadinstitute.sting.gatk.refdata.ReadMetaDataTracker; -import org.broadinstitute.sting.gatk.walkers.ReadWalker; -import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Output; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.gatk.refdata.ReadMetaDataTracker; +import org.broadinstitute.sting.gatk.walkers.ReadWalker; import java.io.PrintStream; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/coverage/CompareCallableLociWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/coverage/CompareCallableLociWalker.java index 5a9c62b7f..6b91b0198 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/coverage/CompareCallableLociWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/coverage/CompareCallableLociWalker.java @@ -22,19 +22,19 @@ package org.broadinstitute.sting.gatk.walkers.coverage; +import org.broad.tribble.bed.FullBEDFeature; +import org.broadinstitute.sting.commandline.Argument; +import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.RodWalker; -import org.broadinstitute.sting.utils.GenomeLocParser; import org.broadinstitute.sting.utils.GenomeLoc; -import org.broadinstitute.sting.commandline.Argument; -import org.broadinstitute.sting.commandline.Output; -import org.broad.tribble.bed.FullBEDFeature; import org.broadinstitute.sting.utils.exceptions.UserException; -import java.util.*; import java.io.PrintStream; +import java.util.Arrays; +import java.util.List; /** * Test routine for new VariantContext object diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/coverage/CoverageUtils.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/coverage/CoverageUtils.java index 298aa90b9..a41e55166 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/coverage/CoverageUtils.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/coverage/CoverageUtils.java @@ -8,7 +8,9 @@ import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.UserException; import org.broadinstitute.sting.utils.pileup.PileupElement; -import java.util.*; +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; /** * IF THERE IS NO JAVADOC RIGHT HERE, YELL AT chartl diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/coverage/DepthOfCoverageWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/coverage/DepthOfCoverageWalker.java index 91ae81cd5..c1956f1d7 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/coverage/DepthOfCoverageWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/coverage/DepthOfCoverageWalker.java @@ -26,6 +26,8 @@ package org.broadinstitute.sting.gatk.walkers.coverage; import net.sf.samtools.SAMReadGroupRecord; +import org.broadinstitute.sting.commandline.Argument; +import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; @@ -34,12 +36,13 @@ import org.broadinstitute.sting.gatk.refdata.features.refseq.RefSeqCodec; import org.broadinstitute.sting.gatk.refdata.features.refseq.RefSeqFeature; import org.broadinstitute.sting.gatk.refdata.tracks.RMDTrack; import org.broadinstitute.sting.gatk.refdata.tracks.builders.RMDTrackBuilder; -import org.broadinstitute.sting.gatk.refdata.utils.*; +import org.broadinstitute.sting.gatk.refdata.utils.GATKFeature; +import org.broadinstitute.sting.gatk.refdata.utils.LocationAwareSeekableRODIterator; +import org.broadinstitute.sting.gatk.refdata.utils.RODRecordList; import org.broadinstitute.sting.gatk.walkers.*; -import org.broadinstitute.sting.utils.*; +import org.broadinstitute.sting.utils.BaseUtils; +import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.collections.Pair; -import org.broadinstitute.sting.commandline.Argument; -import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.UserException; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/BAMDiffableReader.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/BAMDiffableReader.java index a5ebf27bb..15b16ca6b 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/BAMDiffableReader.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/BAMDiffableReader.java @@ -24,22 +24,15 @@ package org.broadinstitute.sting.gatk.walkers.diffengine; -import net.sf.samtools.*; +import net.sf.samtools.SAMFileReader; +import net.sf.samtools.SAMRecord; +import net.sf.samtools.SAMRecordIterator; import net.sf.samtools.util.BlockCompressedInputStream; -import org.broad.tribble.readers.AsciiLineReader; -import org.broad.tribble.readers.LineReader; -import org.broadinstitute.sting.utils.codecs.vcf.VCFCodec; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeader; -import org.broadinstitute.sting.utils.variantcontext.Genotype; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import java.io.DataInputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.Arrays; -import java.util.Map; -import java.util.zip.GZIPInputStream; /** diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/DiffElement.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/DiffElement.java index 4c3f7bd95..eb8a71c2c 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/DiffElement.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/DiffElement.java @@ -24,7 +24,9 @@ package org.broadinstitute.sting.gatk.walkers.diffengine; -import com.google.java.contract.*; +import com.google.java.contract.Ensures; +import com.google.java.contract.Invariant; +import com.google.java.contract.Requires; import org.broadinstitute.sting.utils.Utils; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/DiffValue.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/DiffValue.java index 3750496a1..963191446 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/DiffValue.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/DiffValue.java @@ -24,8 +24,6 @@ package org.broadinstitute.sting.gatk.walkers.diffengine; -import org.broadinstitute.sting.utils.Utils; - /** * Created by IntelliJ IDEA. * User: depristo diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/VCFDiffableReader.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/VCFDiffableReader.java index a812babaf..4e44578c7 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/VCFDiffableReader.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/VCFDiffableReader.java @@ -30,7 +30,10 @@ import org.broadinstitute.sting.utils.codecs.vcf.*; import org.broadinstitute.sting.utils.variantcontext.Genotype; import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import java.io.*; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileReader; +import java.io.IOException; import java.util.Map; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/fasta/FastaAlternateReferenceWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/fasta/FastaAlternateReferenceWalker.java index 828d39717..efc101618 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/fasta/FastaAlternateReferenceWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/fasta/FastaAlternateReferenceWalker.java @@ -25,13 +25,13 @@ package org.broadinstitute.sting.gatk.walkers.fasta; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.*; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.collections.Pair; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.Collection; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/fasta/FastaReferenceWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/fasta/FastaReferenceWalker.java index 6be2336c0..2dbfc76ff 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/fasta/FastaReferenceWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/fasta/FastaReferenceWalker.java @@ -25,16 +25,15 @@ package org.broadinstitute.sting.gatk.walkers.fasta; +import org.broadinstitute.sting.commandline.Argument; +import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.RefWalker; import org.broadinstitute.sting.gatk.walkers.WalkerName; import org.broadinstitute.sting.utils.GenomeLoc; -import org.broadinstitute.sting.utils.GenomeLocParser; import org.broadinstitute.sting.utils.collections.Pair; -import org.broadinstitute.sting.commandline.Argument; -import org.broadinstitute.sting.commandline.Output; import java.io.PrintStream; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/filters/ClusteredSnps.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/filters/ClusteredSnps.java index b31526987..2c009f7f2 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/filters/ClusteredSnps.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/filters/ClusteredSnps.java @@ -1,9 +1,9 @@ package org.broadinstitute.sting.gatk.walkers.filters; -import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.GenomeLocParser; import org.broadinstitute.sting.utils.exceptions.UserException; +import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; public class ClusteredSnps { private GenomeLocParser genomeLocParser; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/filters/FiltrationContext.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/filters/FiltrationContext.java index c3849e240..ede19746a 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/filters/FiltrationContext.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/filters/FiltrationContext.java @@ -25,8 +25,8 @@ package org.broadinstitute.sting.gatk.walkers.filters; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; public class FiltrationContext { diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/filters/FiltrationContextWindow.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/filters/FiltrationContextWindow.java index 225cdecc3..d7c0dd4d5 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/filters/FiltrationContextWindow.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/filters/FiltrationContextWindow.java @@ -27,7 +27,9 @@ package org.broadinstitute.sting.gatk.walkers.filters; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import java.util.*; +import java.util.LinkedList; +import java.util.List; +import java.util.ListIterator; /** * A window of variants surrounding the current variant being investigated diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/filters/VariantFiltrationWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/filters/VariantFiltrationWalker.java index 884d0ac24..6c023573a 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/filters/VariantFiltrationWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/filters/VariantFiltrationWalker.java @@ -25,21 +25,20 @@ package org.broadinstitute.sting.gatk.walkers.filters; -import org.broadinstitute.sting.utils.variantcontext.Genotype; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.*; +import org.broadinstitute.sting.commandline.Argument; +import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import org.broadinstitute.sting.gatk.datasources.rmd.ReferenceOrderedDataSource; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.*; -import org.broadinstitute.sting.commandline.Argument; -import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.SampleUtils; +import org.broadinstitute.sting.utils.codecs.vcf.*; import org.broadinstitute.sting.utils.exceptions.UserException; -import org.broadinstitute.sting.utils.codecs.vcf.VCFUtils; +import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; +import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/AlleleFrequencyCalculationModel.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/AlleleFrequencyCalculationModel.java index 47be7e6fe..83a8ce7d7 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/AlleleFrequencyCalculationModel.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/AlleleFrequencyCalculationModel.java @@ -26,14 +26,15 @@ package org.broadinstitute.sting.gatk.walkers.genotyper; import org.apache.log4j.Logger; -import org.broadinstitute.sting.utils.variantcontext.Allele; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; +import org.broadinstitute.sting.utils.variantcontext.Allele; import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.io.PrintStream; -import java.util.*; +import java.util.Map; +import java.util.Set; /** diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/DiploidIndelGenotypePriors.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/DiploidIndelGenotypePriors.java index 22c9dcf91..696a74de8 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/DiploidIndelGenotypePriors.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/DiploidIndelGenotypePriors.java @@ -4,8 +4,6 @@ import org.broadinstitute.sting.gatk.walkers.indels.HaplotypeIndelErrorModel; import org.broadinstitute.sting.utils.MathUtils; import org.broadinstitute.sting.utils.genotype.DiploidGenotype; -import java.util.Arrays; - /** * Created by IntelliJ IDEA. * User: delangel diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/DiploidSNPGenotypeLikelihoods.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/DiploidSNPGenotypeLikelihoods.java index ab075eaf2..2014801e4 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/DiploidSNPGenotypeLikelihoods.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/DiploidSNPGenotypeLikelihoods.java @@ -26,13 +26,14 @@ package org.broadinstitute.sting.gatk.walkers.genotyper; import net.sf.samtools.SAMUtils; -import org.broadinstitute.sting.utils.*; +import org.broadinstitute.sting.utils.BaseUtils; +import org.broadinstitute.sting.utils.MathUtils; +import org.broadinstitute.sting.utils.QualityUtils; import org.broadinstitute.sting.utils.exceptions.UserException; -import org.broadinstitute.sting.utils.pileup.FragmentPileup; -import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; -import org.broadinstitute.sting.utils.pileup.PileupElement; import org.broadinstitute.sting.utils.genotype.DiploidGenotype; -import org.broadinstitute.sting.utils.sam.ReadUtils; +import org.broadinstitute.sting.utils.pileup.FragmentPileup; +import org.broadinstitute.sting.utils.pileup.PileupElement; +import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; import static java.lang.Math.log10; import static java.lang.Math.pow; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/ExactAFCalculationModel.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/ExactAFCalculationModel.java index 89504b371..5c27bc943 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/ExactAFCalculationModel.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/ExactAFCalculationModel.java @@ -26,17 +26,22 @@ package org.broadinstitute.sting.gatk.walkers.genotyper; import org.apache.log4j.Logger; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; +import org.broadinstitute.sting.utils.MathUtils; +import org.broadinstitute.sting.utils.SimpleTimer; +import org.broadinstitute.sting.utils.Utils; +import org.broadinstitute.sting.utils.exceptions.UserException; import org.broadinstitute.sting.utils.variantcontext.Allele; import org.broadinstitute.sting.utils.variantcontext.Genotype; import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.*; -import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.utils.exceptions.UserException; import sun.reflect.generics.reflectiveObjects.NotImplementedException; -import java.util.*; import java.io.PrintStream; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; public class ExactAFCalculationModel extends AlleleFrequencyCalculationModel { // diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/GenotypeLikelihoodsCalculationModel.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/GenotypeLikelihoodsCalculationModel.java index 3902a0b7f..8261cd588 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/GenotypeLikelihoodsCalculationModel.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/GenotypeLikelihoodsCalculationModel.java @@ -30,11 +30,11 @@ import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.AlignmentContextUtils; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.utils.variantcontext.Allele; import org.broadinstitute.sting.utils.BaseUtils; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.pileup.PileupElement; import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; +import org.broadinstitute.sting.utils.variantcontext.Allele; import java.util.Map; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/GridSearchAFEstimation.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/GridSearchAFEstimation.java index c4e315f68..10b646d63 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/GridSearchAFEstimation.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/GridSearchAFEstimation.java @@ -26,18 +26,18 @@ package org.broadinstitute.sting.gatk.walkers.genotyper; import org.apache.log4j.Logger; -import org.broadinstitute.sting.utils.variantcontext.Genotype; -import org.broadinstitute.sting.utils.variantcontext.Allele; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; +import org.broadinstitute.sting.utils.MathUtils; import org.broadinstitute.sting.utils.collections.Pair; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import org.broadinstitute.sting.utils.MathUtils; import org.broadinstitute.sting.utils.exceptions.UserException; +import org.broadinstitute.sting.utils.variantcontext.Allele; +import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import java.util.*; import java.io.PrintStream; +import java.util.*; public class GridSearchAFEstimation extends AlleleFrequencyCalculationModel { diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/IndelGenotypeLikelihoodsCalculationModel.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/IndelGenotypeLikelihoodsCalculationModel.java index 1f430548b..be2039780 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/IndelGenotypeLikelihoodsCalculationModel.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/IndelGenotypeLikelihoodsCalculationModel.java @@ -25,16 +25,14 @@ package org.broadinstitute.sting.gatk.walkers.genotyper; -import net.sf.samtools.SAMRecord; import org.apache.log4j.Logger; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.AlignmentContextUtils; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.indels.HaplotypeIndelErrorModel; import org.broadinstitute.sting.gatk.walkers.indels.PairHMMIndelErrorModel; -import org.broadinstitute.sting.utils.BaseUtils; import org.broadinstitute.sting.utils.GenomeLoc; -import org.broadinstitute.sting.utils.MathUtils; import org.broadinstitute.sting.utils.collections.Pair; import org.broadinstitute.sting.utils.exceptions.StingException; import org.broadinstitute.sting.utils.genotype.Haplotype; @@ -42,11 +40,10 @@ import org.broadinstitute.sting.utils.pileup.ExtendedEventPileupElement; import org.broadinstitute.sting.utils.pileup.PileupElement; import org.broadinstitute.sting.utils.pileup.ReadBackedExtendedEventPileup; import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; -import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.utils.variantcontext.Allele; import org.broadinstitute.sting.utils.sam.GATKSAMRecord; import org.broadinstitute.sting.utils.sam.ReadUtils; +import org.broadinstitute.sting.utils.variantcontext.Allele; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/MultiallelicGenotypeLikelihoods.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/MultiallelicGenotypeLikelihoods.java index 2cf149fd0..3652763de 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/MultiallelicGenotypeLikelihoods.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/MultiallelicGenotypeLikelihoods.java @@ -1,7 +1,7 @@ package org.broadinstitute.sting.gatk.walkers.genotyper; -import org.broadinstitute.sting.utils.variantcontext.Allele; import org.broadinstitute.sting.utils.exceptions.StingException; +import org.broadinstitute.sting.utils.variantcontext.Allele; import java.util.ArrayList; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/SNPGenotypeLikelihoodsCalculationModel.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/SNPGenotypeLikelihoodsCalculationModel.java index 9f4d4182f..3e3cd128b 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/SNPGenotypeLikelihoodsCalculationModel.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/SNPGenotypeLikelihoodsCalculationModel.java @@ -25,23 +25,25 @@ package org.broadinstitute.sting.gatk.walkers.genotyper; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; +import org.apache.log4j.Logger; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.AlignmentContextUtils; -import org.broadinstitute.sting.utils.*; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; +import org.broadinstitute.sting.utils.BaseUtils; import org.broadinstitute.sting.utils.baq.BAQ; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.StingException; import org.broadinstitute.sting.utils.genotype.DiploidGenotype; -import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; import org.broadinstitute.sting.utils.pileup.PileupElement; -import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.utils.variantcontext.Allele; -import org.apache.log4j.Logger; +import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; import org.broadinstitute.sting.utils.pileup.ReadBackedPileupImpl; +import org.broadinstitute.sting.utils.variantcontext.Allele; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; public class SNPGenotypeLikelihoodsCalculationModel extends GenotypeLikelihoodsCalculationModel { diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UGCalcLikelihoods.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UGCalcLikelihoods.java index cf1c57a05..22c3081a3 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UGCalcLikelihoods.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UGCalcLikelihoods.java @@ -25,8 +25,6 @@ package org.broadinstitute.sting.gatk.walkers.genotyper; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.*; import org.broadinstitute.sting.commandline.ArgumentCollection; import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.DownsampleType; @@ -36,8 +34,12 @@ import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.*; import org.broadinstitute.sting.utils.SampleUtils; import org.broadinstitute.sting.utils.baq.BAQ; +import org.broadinstitute.sting.utils.codecs.vcf.*; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import java.util.*; +import java.util.HashSet; +import java.util.Set; +import java.util.TreeSet; /** diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UGCallVariants.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UGCallVariants.java index 1533e8777..68d8f9b54 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UGCallVariants.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UGCallVariants.java @@ -24,19 +24,19 @@ package org.broadinstitute.sting.gatk.walkers.genotyper; -import org.broadinstitute.sting.utils.variantcontext.Genotype; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.*; import org.broadinstitute.sting.commandline.ArgumentCollection; import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import org.broadinstitute.sting.gatk.datasources.rmd.ReferenceOrderedDataSource; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.RodWalker; import org.broadinstitute.sting.utils.SampleUtils; +import org.broadinstitute.sting.utils.codecs.vcf.*; import org.broadinstitute.sting.utils.exceptions.UserException; +import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; +import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UnifiedArgumentCollection.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UnifiedArgumentCollection.java index 055eb0b97..2b25df4aa 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UnifiedArgumentCollection.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UnifiedArgumentCollection.java @@ -27,7 +27,6 @@ package org.broadinstitute.sting.gatk.walkers.genotyper; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Hidden; -import org.broadinstitute.sting.commandline.Input; import java.io.File; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UnifiedGenotyper.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UnifiedGenotyper.java index fc8a5819a..2a0338bca 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UnifiedGenotyper.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UnifiedGenotyper.java @@ -25,22 +25,25 @@ package org.broadinstitute.sting.gatk.walkers.genotyper; -import org.broadinstitute.sting.gatk.filters.MappingQualityUnavailableReadFilter; -import org.broadinstitute.sting.utils.codecs.vcf.*; -import org.broadinstitute.sting.gatk.contexts.*; +import org.broadinstitute.sting.commandline.Argument; +import org.broadinstitute.sting.commandline.ArgumentCollection; +import org.broadinstitute.sting.commandline.Output; +import org.broadinstitute.sting.gatk.DownsampleType; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.gatk.datasources.rmd.ReferenceOrderedDataSource; import org.broadinstitute.sting.gatk.filters.BadMateFilter; +import org.broadinstitute.sting.gatk.filters.MappingQualityUnavailableReadFilter; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.utils.helpers.DbSNPHelper; import org.broadinstitute.sting.gatk.walkers.*; import org.broadinstitute.sting.gatk.walkers.annotator.VariantAnnotatorEngine; -import org.broadinstitute.sting.gatk.DownsampleType; -import org.broadinstitute.sting.gatk.datasources.rmd.ReferenceOrderedDataSource; -import org.broadinstitute.sting.utils.*; +import org.broadinstitute.sting.utils.SampleUtils; import org.broadinstitute.sting.utils.baq.BAQ; -import org.broadinstitute.sting.commandline.*; +import org.broadinstitute.sting.utils.codecs.vcf.*; -import java.util.*; import java.io.PrintStream; +import java.util.*; /** diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UnifiedGenotyperEngine.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UnifiedGenotyperEngine.java index 6fc972b5d..a10897172 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UnifiedGenotyperEngine.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UnifiedGenotyperEngine.java @@ -25,22 +25,24 @@ package org.broadinstitute.sting.gatk.walkers.genotyper; +import com.google.java.contract.Requires; import org.apache.log4j.Logger; -import org.broadinstitute.sting.utils.variantcontext.GenotypeLikelihoods; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.variantcontext.Genotype; -import org.broadinstitute.sting.utils.variantcontext.Allele; import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; -import org.broadinstitute.sting.gatk.contexts.AlignmentContextUtils; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.AlignmentContextUtils; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.annotator.VariantAnnotatorEngine; import org.broadinstitute.sting.utils.*; import org.broadinstitute.sting.utils.baq.BAQ; -import org.broadinstitute.sting.utils.pileup.*; import org.broadinstitute.sting.utils.codecs.vcf.VCFConstants; -import com.google.java.contract.*; +import org.broadinstitute.sting.utils.pileup.PileupElement; +import org.broadinstitute.sting.utils.pileup.ReadBackedExtendedEventPileup; +import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; +import org.broadinstitute.sting.utils.variantcontext.Allele; +import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.GenotypeLikelihoods; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.io.PrintStream; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/ConstrainedMateFixingManager.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/ConstrainedMateFixingManager.java index df1f4f908..adb7c4c38 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/ConstrainedMateFixingManager.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/ConstrainedMateFixingManager.java @@ -1,11 +1,13 @@ package org.broadinstitute.sting.gatk.walkers.indels; import net.sf.picard.sam.SamPairUtil; -import net.sf.samtools.*; +import net.sf.samtools.SAMFileWriter; +import net.sf.samtools.SAMRecord; +import net.sf.samtools.SAMRecordComparator; +import net.sf.samtools.SAMRecordCoordinateComparator; import org.apache.log4j.Logger; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.GenomeLocParser; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.UserException; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/HaplotypeIndelErrorModel.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/HaplotypeIndelErrorModel.java index 7617aa9de..e68aa31e0 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/HaplotypeIndelErrorModel.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/HaplotypeIndelErrorModel.java @@ -25,21 +25,16 @@ package org.broadinstitute.sting.gatk.walkers.indels; -import net.sf.samtools.AlignmentBlock; import net.sf.samtools.SAMRecord; -import org.broadinstitute.sting.utils.variantcontext.Allele; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.gatk.walkers.genotyper.ExactAFCalculationModel; import org.broadinstitute.sting.utils.MathUtils; import org.broadinstitute.sting.utils.QualityUtils; -import org.broadinstitute.sting.utils.Utils; import org.broadinstitute.sting.utils.genotype.Haplotype; import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; import org.broadinstitute.sting.utils.sam.ReadUtils; +import org.broadinstitute.sting.utils.variantcontext.Allele; import java.util.Arrays; import java.util.HashMap; -import java.util.List; public class HaplotypeIndelErrorModel { diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/IndelRealigner.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/IndelRealigner.java index a53665d64..61f21c488 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/IndelRealigner.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/IndelRealigner.java @@ -25,39 +25,41 @@ package org.broadinstitute.sting.gatk.walkers.indels; +import net.sf.picard.reference.IndexedFastaSequenceFile; import net.sf.samtools.*; import net.sf.samtools.util.RuntimeIOException; -import net.sf.samtools.util.StringUtil; import net.sf.samtools.util.SequenceUtil; -import net.sf.picard.reference.IndexedFastaSequenceFile; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.commandline.*; +import net.sf.samtools.util.StringUtil; +import org.broadinstitute.sting.commandline.Argument; +import org.broadinstitute.sting.commandline.Hidden; +import org.broadinstitute.sting.commandline.Input; +import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; import org.broadinstitute.sting.gatk.arguments.ValidationExclusion; -import org.broadinstitute.sting.gatk.datasources.reads.SAMReaderID; -import org.broadinstitute.sting.gatk.io.stubs.SAMFileWriterStub; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import org.broadinstitute.sting.utils.exceptions.UserException; -import org.broadinstitute.sting.utils.exceptions.StingException; -import org.broadinstitute.sting.utils.interval.IntervalMergingRule; -import org.broadinstitute.sting.utils.interval.IntervalUtils; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.gatk.refdata.*; -import org.broadinstitute.sting.gatk.refdata.utils.GATKFeature; -import org.broadinstitute.sting.gatk.walkers.ReadWalker; -import org.broadinstitute.sting.gatk.walkers.BAQMode; import org.broadinstitute.sting.gatk.io.StingSAMFileWriter; +import org.broadinstitute.sting.gatk.refdata.ReadMetaDataTracker; +import org.broadinstitute.sting.gatk.refdata.VariantContextAdaptors; +import org.broadinstitute.sting.gatk.refdata.utils.GATKFeature; +import org.broadinstitute.sting.gatk.walkers.BAQMode; +import org.broadinstitute.sting.gatk.walkers.ReadWalker; import org.broadinstitute.sting.utils.*; import org.broadinstitute.sting.utils.baq.BAQ; +import org.broadinstitute.sting.utils.collections.Pair; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; +import org.broadinstitute.sting.utils.exceptions.StingException; +import org.broadinstitute.sting.utils.exceptions.UserException; import org.broadinstitute.sting.utils.fasta.CachingIndexedFastaSequenceFile; import org.broadinstitute.sting.utils.interval.IntervalFileMergingIterator; +import org.broadinstitute.sting.utils.interval.IntervalMergingRule; +import org.broadinstitute.sting.utils.interval.IntervalUtils; import org.broadinstitute.sting.utils.interval.NwayIntervalMergingIterator; +import org.broadinstitute.sting.utils.sam.AlignmentUtils; import org.broadinstitute.sting.utils.sam.NWaySAMFileWriter; +import org.broadinstitute.sting.utils.sam.ReadUtils; import org.broadinstitute.sting.utils.text.TextFormattingUtils; import org.broadinstitute.sting.utils.text.XReadLines; -import org.broadinstitute.sting.utils.sam.AlignmentUtils; -import org.broadinstitute.sting.utils.sam.ReadUtils; -import org.broadinstitute.sting.utils.collections.Pair; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.io.File; import java.io.FileNotFoundException; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/LeftAlignIndels.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/LeftAlignIndels.java index 010e0cf6f..af8051334 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/LeftAlignIndels.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/LeftAlignIndels.java @@ -25,8 +25,10 @@ package org.broadinstitute.sting.gatk.walkers.indels; -import net.sf.samtools.*; -import org.broadinstitute.sting.commandline.*; +import net.sf.samtools.Cigar; +import net.sf.samtools.SAMRecord; +import org.broadinstitute.sting.commandline.Argument; +import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.io.StingSAMFileWriter; import org.broadinstitute.sting.gatk.refdata.ReadMetaDataTracker; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/PairHMMIndelErrorModel.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/PairHMMIndelErrorModel.java index ab7ae4184..60262d6f4 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/PairHMMIndelErrorModel.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/PairHMMIndelErrorModel.java @@ -28,30 +28,25 @@ package org.broadinstitute.sting.gatk.walkers.indels; import net.sf.samtools.Cigar; import net.sf.samtools.CigarElement; import net.sf.samtools.CigarOperator; -import net.sf.samtools.SAMRecord; -import org.broadinstitute.sting.utils.variantcontext.Allele; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -/*import org.broadinstitute.sting.oneoffprojects.walkers.IndelCountCovariates.Covariate; -import org.broadinstitute.sting.oneoffprojects.walkers.IndelCountCovariates.RecalDataManager; -import org.broadinstitute.sting.oneoffprojects.walkers.IndelCountCovariates.RecalDatum; -import org.broadinstitute.sting.oneoffprojects.walkers.IndelCountCovariates.RecalibrationArgumentCollection; -*/import org.broadinstitute.sting.utils.MathUtils; -import org.broadinstitute.sting.utils.QualityUtils; -import org.broadinstitute.sting.utils.classloader.PluginManager; -import org.broadinstitute.sting.utils.collections.NestedHashMap; -import org.broadinstitute.sting.utils.exceptions.DynamicClassResolutionException; -import org.broadinstitute.sting.utils.exceptions.UserException; +import org.broadinstitute.sting.utils.MathUtils; import org.broadinstitute.sting.utils.genotype.Haplotype; import org.broadinstitute.sting.utils.pileup.PileupElement; import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; import org.broadinstitute.sting.utils.sam.GATKSAMRecord; import org.broadinstitute.sting.utils.sam.ReadUtils; -import org.broadinstitute.sting.utils.text.XReadLines; +import org.broadinstitute.sting.utils.variantcontext.Allele; import java.io.File; -import java.io.FileNotFoundException; -import java.util.*; -import java.util.regex.Pattern; +import java.util.Arrays; +import java.util.HashMap; +import java.util.LinkedHashMap; + +/*import org.broadinstitute.sting.oneoffprojects.walkers.IndelCountCovariates.Covariate; +import org.broadinstitute.sting.oneoffprojects.walkers.IndelCountCovariates.RecalDataManager; +import org.broadinstitute.sting.oneoffprojects.walkers.IndelCountCovariates.RecalDatum; +import org.broadinstitute.sting.oneoffprojects.walkers.IndelCountCovariates.RecalibrationArgumentCollection; +*/ public class PairHMMIndelErrorModel { diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/RealignedReadCounter.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/RealignedReadCounter.java index fc196e712..2c89b907b 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/RealignedReadCounter.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/RealignedReadCounter.java @@ -25,19 +25,23 @@ package org.broadinstitute.sting.gatk.walkers.indels; -import net.sf.samtools.*; -import org.broadinstitute.sting.utils.interval.IntervalMergingRule; -import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.gatk.refdata.*; -import org.broadinstitute.sting.gatk.walkers.*; -import org.broadinstitute.sting.gatk.filters.BadMateFilter; -import org.broadinstitute.sting.utils.*; -import org.broadinstitute.sting.utils.interval.IntervalFileMergingIterator; -import org.broadinstitute.sting.utils.sam.ReadUtils; +import net.sf.samtools.CigarElement; +import net.sf.samtools.CigarOperator; +import net.sf.samtools.SAMRecord; import org.broadinstitute.sting.commandline.Argument; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.gatk.filters.BadMateFilter; +import org.broadinstitute.sting.gatk.refdata.ReadMetaDataTracker; +import org.broadinstitute.sting.gatk.walkers.By; +import org.broadinstitute.sting.gatk.walkers.DataSource; +import org.broadinstitute.sting.gatk.walkers.ReadWalker; +import org.broadinstitute.sting.utils.GenomeLoc; +import org.broadinstitute.sting.utils.interval.IntervalFileMergingIterator; +import org.broadinstitute.sting.utils.interval.IntervalMergingRule; +import org.broadinstitute.sting.utils.sam.ReadUtils; import java.io.File; -import java.util.*; +import java.util.Iterator; @By(DataSource.READS) // walker to count realigned reads diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/RealignerTargetCreator.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/RealignerTargetCreator.java index 3b94989aa..488e37f26 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/RealignerTargetCreator.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/RealignerTargetCreator.java @@ -25,27 +25,27 @@ package org.broadinstitute.sting.gatk.walkers.indels; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; +import org.broadinstitute.sting.commandline.Argument; +import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.filters.BadCigarFilter; -import org.broadinstitute.sting.gatk.filters.Platform454Filter; -import org.broadinstitute.sting.gatk.filters.MappingQualityZeroReadFilter; import org.broadinstitute.sting.gatk.filters.BadMateFilter; +import org.broadinstitute.sting.gatk.filters.MappingQualityZeroReadFilter; +import org.broadinstitute.sting.gatk.filters.Platform454Filter; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.*; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.baq.BAQ; -import org.broadinstitute.sting.commandline.Argument; -import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.utils.exceptions.UserException; import org.broadinstitute.sting.utils.pileup.ExtendedEventPileupElement; import org.broadinstitute.sting.utils.pileup.PileupElement; import org.broadinstitute.sting.utils.pileup.ReadBackedExtendedEventPileup; import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import java.util.ArrayList; import java.io.PrintStream; +import java.util.ArrayList; /** * Emits intervals for the Local Indel Realigner to target for cleaning. Ignores 454 reads, MQ0 reads, and reads with consecutive indel operators in the CIGAR string. diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/SAMRecordCoordinateComparatorWithUnmappedReads.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/SAMRecordCoordinateComparatorWithUnmappedReads.java index 1fe3fdd04..3854a4a8c 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/SAMRecordCoordinateComparatorWithUnmappedReads.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/SAMRecordCoordinateComparatorWithUnmappedReads.java @@ -23,7 +23,8 @@ */ package org.broadinstitute.sting.gatk.walkers.indels; -import net.sf.samtools.*; +import net.sf.samtools.SAMRecord; +import net.sf.samtools.SAMRecordCoordinateComparator; /** * Extends Picard's Comparator for sorting SAMRecords by coordinate. This one actually deals with unmapped reads diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/SomaticIndelDetectorWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/SomaticIndelDetectorWalker.java index 1f05ddaf0..443e6e9f2 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/SomaticIndelDetectorWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/indels/SomaticIndelDetectorWalker.java @@ -25,15 +25,21 @@ package org.broadinstitute.sting.gatk.walkers.indels; -import org.broadinstitute.sting.utils.variantcontext.Allele; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.variantcontext.Genotype; -import org.broadinstitute.sting.utils.codecs.vcf.*; +import net.sf.samtools.*; +import org.broadinstitute.sting.commandline.Argument; +import org.broadinstitute.sting.commandline.Hidden; +import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.commandline.Tags; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.datasources.reads.SAMReaderID; import org.broadinstitute.sting.gatk.datasources.reference.ReferenceDataSource; -import org.broadinstitute.sting.gatk.filters.*; -import org.broadinstitute.sting.gatk.refdata.*; +import org.broadinstitute.sting.gatk.filters.MappingQualityZeroReadFilter; +import org.broadinstitute.sting.gatk.filters.Platform454Filter; +import org.broadinstitute.sting.gatk.filters.PlatformUnitFilter; +import org.broadinstitute.sting.gatk.filters.PlatformUnitFilterHelper; +import org.broadinstitute.sting.gatk.refdata.ReadMetaDataTracker; +import org.broadinstitute.sting.gatk.refdata.SeekableRODIterator; +import org.broadinstitute.sting.gatk.refdata.Transcript; import org.broadinstitute.sting.gatk.refdata.features.refseq.RefSeqCodec; import org.broadinstitute.sting.gatk.refdata.features.refseq.RefSeqFeature; import org.broadinstitute.sting.gatk.refdata.tracks.RMDTrack; @@ -42,22 +48,22 @@ import org.broadinstitute.sting.gatk.refdata.utils.LocationAwareSeekableRODItera import org.broadinstitute.sting.gatk.refdata.utils.RODRecordList; import org.broadinstitute.sting.gatk.walkers.ReadFilters; import org.broadinstitute.sting.gatk.walkers.ReadWalker; -import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.utils.*; -import org.broadinstitute.sting.utils.interval.IntervalUtils; -import org.broadinstitute.sting.utils.interval.IntervalFileMergingIterator; -import org.broadinstitute.sting.utils.interval.IntervalMergingRule; -import org.broadinstitute.sting.utils.interval.OverlappingIntervalIterator; -import org.broadinstitute.sting.utils.exceptions.UserException; -import org.broadinstitute.sting.utils.exceptions.StingException; -import org.broadinstitute.sting.utils.sam.AlignmentUtils; +import org.broadinstitute.sting.utils.GenomeLoc; +import org.broadinstitute.sting.utils.GenomeLocSortedSet; +import org.broadinstitute.sting.utils.SampleUtils; +import org.broadinstitute.sting.utils.codecs.vcf.*; import org.broadinstitute.sting.utils.collections.CircularArray; import org.broadinstitute.sting.utils.collections.PrimitivePair; -import org.broadinstitute.sting.commandline.Argument; -import org.broadinstitute.sting.commandline.Output; -import org.broadinstitute.sting.commandline.Hidden; - -import net.sf.samtools.*; +import org.broadinstitute.sting.utils.exceptions.StingException; +import org.broadinstitute.sting.utils.exceptions.UserException; +import org.broadinstitute.sting.utils.interval.IntervalFileMergingIterator; +import org.broadinstitute.sting.utils.interval.IntervalMergingRule; +import org.broadinstitute.sting.utils.interval.IntervalUtils; +import org.broadinstitute.sting.utils.interval.OverlappingIntervalIterator; +import org.broadinstitute.sting.utils.sam.AlignmentUtils; +import org.broadinstitute.sting.utils.variantcontext.Allele; +import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.io.*; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/phasing/AllelePair.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/phasing/AllelePair.java index 869edf784..cb123c868 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/phasing/AllelePair.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/phasing/AllelePair.java @@ -23,9 +23,9 @@ */ package org.broadinstitute.sting.gatk.walkers.phasing; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.variantcontext.Allele; import org.broadinstitute.sting.utils.variantcontext.Genotype; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import java.util.ArrayList; import java.util.List; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/phasing/AnnotateMNPsWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/phasing/AnnotateMNPsWalker.java index 81d9b4ddb..9aa370d3f 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/phasing/AnnotateMNPsWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/phasing/AnnotateMNPsWalker.java @@ -24,14 +24,10 @@ package org.broadinstitute.sting.gatk.walkers.phasing; -import org.broadinstitute.sting.utils.variantcontext.Allele; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.*; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.ReferenceOrderedDatum; import org.broadinstitute.sting.gatk.refdata.features.annotator.AnnotatorInputTableFeature; @@ -41,9 +37,12 @@ import org.broadinstitute.sting.gatk.walkers.annotator.genomicannotator.AminoAci import org.broadinstitute.sting.utils.BaseUtils; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.GenomeLocParser; +import org.broadinstitute.sting.utils.codecs.vcf.*; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.UserException; -import org.broadinstitute.sting.utils.codecs.vcf.VCFUtils; +import org.broadinstitute.sting.utils.variantcontext.Allele; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; +import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/phasing/MergeMNPsWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/phasing/MergeMNPsWalker.java index 709bc44ce..5bd438605 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/phasing/MergeMNPsWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/phasing/MergeMNPsWalker.java @@ -24,10 +24,6 @@ package org.broadinstitute.sting.gatk.walkers.phasing; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeader; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLine; -import org.broadinstitute.sting.utils.codecs.vcf.VCFWriter; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; @@ -35,7 +31,11 @@ import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.ReferenceOrderedDatum; import org.broadinstitute.sting.gatk.walkers.*; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeader; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLine; import org.broadinstitute.sting.utils.codecs.vcf.VCFUtils; +import org.broadinstitute.sting.utils.codecs.vcf.VCFWriter; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/phasing/MergeSegregatingAlternateAllelesVCFWriter.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/phasing/MergeSegregatingAlternateAllelesVCFWriter.java index abced442e..b0491a281 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/phasing/MergeSegregatingAlternateAllelesVCFWriter.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/phasing/MergeSegregatingAlternateAllelesVCFWriter.java @@ -24,20 +24,19 @@ package org.broadinstitute.sting.gatk.walkers.phasing; -import net.sf.picard.reference.IndexedFastaSequenceFile; import net.sf.picard.reference.ReferenceSequenceFile; import org.apache.log4j.Logger; +import org.broadinstitute.sting.utils.GenomeLocParser; +import org.broadinstitute.sting.utils.MathUtils; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeader; +import org.broadinstitute.sting.utils.codecs.vcf.VCFWriter; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; +import org.broadinstitute.sting.utils.exceptions.UserException; +import org.broadinstitute.sting.utils.fasta.CachingIndexedFastaSequenceFile; import org.broadinstitute.sting.utils.variantcontext.Allele; import org.broadinstitute.sting.utils.variantcontext.Genotype; import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeader; -import org.broadinstitute.sting.utils.codecs.vcf.VCFWriter; import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; -import org.broadinstitute.sting.utils.GenomeLocParser; -import org.broadinstitute.sting.utils.MathUtils; -import org.broadinstitute.sting.utils.exceptions.UserException; -import org.broadinstitute.sting.utils.fasta.CachingIndexedFastaSequenceFile; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import java.io.File; import java.io.FileNotFoundException; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/phasing/MergeSegregatingAlternateAllelesWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/phasing/MergeSegregatingAlternateAllelesWalker.java index ec6f5c648..be15d4541 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/phasing/MergeSegregatingAlternateAllelesWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/phasing/MergeSegregatingAlternateAllelesWalker.java @@ -24,20 +24,22 @@ package org.broadinstitute.sting.gatk.walkers.phasing; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.*; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Hidden; import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.ReferenceOrderedDatum; import org.broadinstitute.sting.gatk.walkers.*; import org.broadinstitute.sting.utils.GenomeLocParser; -import org.broadinstitute.sting.utils.exceptions.UserException; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeader; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLine; import org.broadinstitute.sting.utils.codecs.vcf.VCFUtils; +import org.broadinstitute.sting.utils.codecs.vcf.VCFWriter; +import org.broadinstitute.sting.utils.exceptions.UserException; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; +import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/phasing/ReadBackedPhasingWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/phasing/ReadBackedPhasingWalker.java index fbe6e5b5a..9702fd18c 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/phasing/ReadBackedPhasingWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/phasing/ReadBackedPhasingWalker.java @@ -23,27 +23,28 @@ */ package org.broadinstitute.sting.gatk.walkers.phasing; -import org.broadinstitute.sting.utils.variantcontext.Allele; -import org.broadinstitute.sting.utils.variantcontext.Genotype; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.*; +import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Hidden; +import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import org.broadinstitute.sting.gatk.datasources.sample.Sample; import org.broadinstitute.sting.gatk.filters.MappingQualityZeroReadFilter; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.ReferenceOrderedDatum; import org.broadinstitute.sting.gatk.walkers.*; -import org.broadinstitute.sting.commandline.Argument; -import org.broadinstitute.sting.commandline.Output; -import org.broadinstitute.sting.utils.*; +import org.broadinstitute.sting.utils.BaseUtils; +import org.broadinstitute.sting.utils.DisjointSet; +import org.broadinstitute.sting.utils.GenomeLoc; +import org.broadinstitute.sting.utils.HasGenomeLocation; +import org.broadinstitute.sting.utils.codecs.vcf.*; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import org.broadinstitute.sting.utils.codecs.vcf.SortingVCFWriter; -import org.broadinstitute.sting.utils.codecs.vcf.VCFUtils; import org.broadinstitute.sting.utils.pileup.PileupElement; import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; +import org.broadinstitute.sting.utils.variantcontext.Allele; +import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; +import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import java.io.*; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/phasing/SNPallelePair.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/phasing/SNPallelePair.java index db1f888a1..153c4a23f 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/phasing/SNPallelePair.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/phasing/SNPallelePair.java @@ -23,10 +23,10 @@ */ package org.broadinstitute.sting.gatk.walkers.phasing; -import org.broadinstitute.sting.utils.variantcontext.Allele; -import org.broadinstitute.sting.utils.variantcontext.Genotype; import org.broadinstitute.sting.utils.BaseUtils; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; +import org.broadinstitute.sting.utils.variantcontext.Allele; +import org.broadinstitute.sting.utils.variantcontext.Genotype; public class SNPallelePair extends AllelePair { diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/phasing/WriteVCF.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/phasing/WriteVCF.java index f82e48abd..2851ace0d 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/phasing/WriteVCF.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/phasing/WriteVCF.java @@ -24,9 +24,9 @@ package org.broadinstitute.sting.gatk.walkers.phasing; import org.apache.log4j.Logger; +import org.broadinstitute.sting.utils.codecs.vcf.VCFWriter; import org.broadinstitute.sting.utils.variantcontext.Allele; import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFWriter; public class WriteVCF { public static void writeVCF(VariantContext vc, VCFWriter writer, Logger logger) { diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/CountIntervals.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/CountIntervals.java index feb5f62af..2bdd4558f 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/CountIntervals.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/CountIntervals.java @@ -6,14 +6,12 @@ import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.utils.GATKFeature; -import org.broadinstitute.sting.gatk.walkers.LocusWalker; import org.broadinstitute.sting.gatk.walkers.RefWalker; -import org.broadinstitute.sting.gatk.walkers.RodWalker; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.collections.Pair; -import java.util.List; import java.io.PrintStream; +import java.util.List; /** * Counts the number of contiguous regions the walker traverses over. Slower than it needs to be, but diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/CountLociWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/CountLociWalker.java index ef6ff04f2..0d68c8493 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/CountLociWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/CountLociWalker.java @@ -1,6 +1,5 @@ package org.broadinstitute.sting.gatk.walkers.qc; -import net.sf.samtools.SAMFileWriter; import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/CountPairsWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/CountPairsWalker.java index cece04fcf..df89efe6d 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/CountPairsWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/CountPairsWalker.java @@ -25,14 +25,14 @@ package org.broadinstitute.sting.gatk.walkers.qc; +import net.sf.samtools.SAMRecord; +import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.walkers.ReadPairWalker; import org.broadinstitute.sting.utils.collections.ExpandingArrayList; -import org.broadinstitute.sting.commandline.Output; -import net.sf.samtools.SAMRecord; +import java.io.PrintStream; import java.util.Collection; import java.util.List; -import java.io.PrintStream; /** * Counts the number of read pairs encountered in a file sorted in diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/CountReadsWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/CountReadsWalker.java index 74f63aa2f..87c0409b9 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/CountReadsWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/CountReadsWalker.java @@ -1,11 +1,11 @@ package org.broadinstitute.sting.gatk.walkers.qc; import net.sf.samtools.SAMRecord; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.ReadMetaDataTracker; -import org.broadinstitute.sting.gatk.walkers.Requires; import org.broadinstitute.sting.gatk.walkers.DataSource; import org.broadinstitute.sting.gatk.walkers.ReadWalker; -import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.gatk.walkers.Requires; /** * Walks over the input data set, calculating the number of reads seen for diagnostic purposes. diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/CountRodByRefWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/CountRodByRefWalker.java index a4e80138f..d1545f159 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/CountRodByRefWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/CountRodByRefWalker.java @@ -25,13 +25,13 @@ package org.broadinstitute.sting.gatk.walkers.qc; +import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.RefWalker; import org.broadinstitute.sting.utils.collections.ExpandingArrayList; import org.broadinstitute.sting.utils.collections.Pair; -import org.broadinstitute.sting.commandline.Argument; /** * Prints out counts of the number of reference ordered data objects are diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/CountRodWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/CountRodWalker.java index 92867e1a9..8a03dea44 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/CountRodWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/CountRodWalker.java @@ -27,23 +27,24 @@ package org.broadinstitute.sting.gatk.walkers.qc; import net.sf.samtools.SAMSequenceDictionary; import net.sf.samtools.SAMSequenceRecord; +import org.broadinstitute.sting.commandline.Argument; +import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.utils.RODRecordList; import org.broadinstitute.sting.gatk.walkers.RodWalker; import org.broadinstitute.sting.gatk.walkers.TreeReducible; -import org.broadinstitute.sting.utils.*; +import org.broadinstitute.sting.utils.GenomeLoc; +import org.broadinstitute.sting.utils.Utils; import org.broadinstitute.sting.utils.collections.ExpandingArrayList; import org.broadinstitute.sting.utils.collections.Pair; -import org.broadinstitute.sting.commandline.Argument; -import org.broadinstitute.sting.commandline.Output; +import java.io.PrintStream; import java.util.ArrayList; -import java.util.List; import java.util.Collection; import java.util.LinkedList; -import java.io.PrintStream; +import java.util.List; /** * Prints out counts of the number of reference ordered data objects are diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/CycleQualityWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/CycleQualityWalker.java index 5ae35416a..b5f5442cd 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/CycleQualityWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/CycleQualityWalker.java @@ -25,22 +25,22 @@ package org.broadinstitute.sting.gatk.walkers.qc; -import org.broadinstitute.sting.gatk.walkers.Requires; -import org.broadinstitute.sting.gatk.walkers.DataSource; -import org.broadinstitute.sting.gatk.walkers.ReadWalker; -import org.broadinstitute.sting.gatk.refdata.ReadMetaDataTracker; -import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import org.broadinstitute.sting.utils.collections.PrimitivePair; -import org.broadinstitute.sting.utils.exceptions.UserException; -import org.broadinstitute.sting.utils.sam.AlignmentUtils; +import net.sf.samtools.SAMReadGroupRecord; +import net.sf.samtools.SAMRecord; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Output; -import net.sf.samtools.SAMRecord; -import net.sf.samtools.SAMReadGroupRecord; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.gatk.refdata.ReadMetaDataTracker; +import org.broadinstitute.sting.gatk.walkers.DataSource; +import org.broadinstitute.sting.gatk.walkers.ReadWalker; +import org.broadinstitute.sting.gatk.walkers.Requires; +import org.broadinstitute.sting.utils.collections.PrimitivePair; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; +import org.broadinstitute.sting.utils.exceptions.UserException; +import org.broadinstitute.sting.utils.sam.AlignmentUtils; -import java.util.*; import java.io.*; +import java.util.*; /** * Created by IntelliJ IDEA. diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/PrintLocusContextWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/PrintLocusContextWalker.java index 39b69ba29..d3b992cb5 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/PrintLocusContextWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/PrintLocusContextWalker.java @@ -1,16 +1,16 @@ package org.broadinstitute.sting.gatk.walkers.qc; +import net.sf.samtools.SAMRecord; +import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.walkers.*; -import org.broadinstitute.sting.commandline.Output; +import org.broadinstitute.sting.gatk.walkers.LocusWalker; +import org.broadinstitute.sting.gatk.walkers.TreeReducible; -import java.util.List; -import java.util.Arrays; import java.io.PrintStream; - -import net.sf.samtools.SAMRecord; +import java.util.Arrays; +import java.util.List; /** * At each locus in the input data set, prints the reference base, genomic location, and diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/ReadClippingStatsWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/ReadClippingStatsWalker.java index 2f1773d01..908e389a8 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/ReadClippingStatsWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/ReadClippingStatsWalker.java @@ -22,21 +22,24 @@ package org.broadinstitute.sting.gatk.walkers.qc; -import org.broadinstitute.sting.gatk.walkers.Requires; -import org.broadinstitute.sting.gatk.walkers.DataSource; -import org.broadinstitute.sting.gatk.walkers.ReadWalker; -import org.broadinstitute.sting.gatk.refdata.ReadMetaDataTracker; -import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.utils.Utils; -import org.broadinstitute.sting.utils.MathUtils; -import org.broadinstitute.sting.utils.exceptions.UserException; -import org.broadinstitute.sting.utils.sam.AlignmentUtils; +import net.sf.samtools.CigarElement; +import net.sf.samtools.CigarOperator; +import net.sf.samtools.SAMReadGroupRecord; +import net.sf.samtools.SAMRecord; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Output; -import net.sf.samtools.*; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.gatk.refdata.ReadMetaDataTracker; +import org.broadinstitute.sting.gatk.walkers.DataSource; +import org.broadinstitute.sting.gatk.walkers.ReadWalker; +import org.broadinstitute.sting.gatk.walkers.Requires; +import org.broadinstitute.sting.utils.MathUtils; +import org.broadinstitute.sting.utils.Utils; +import org.broadinstitute.sting.utils.exceptions.UserException; +import org.broadinstitute.sting.utils.sam.AlignmentUtils; -import java.util.*; -import java.io.*; +import java.io.PrintStream; +import java.util.Arrays; /** * User: depristo diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/ReadValidationWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/ReadValidationWalker.java index 6ad0340a4..fa1bb4d55 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/ReadValidationWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/ReadValidationWalker.java @@ -1,16 +1,16 @@ package org.broadinstitute.sting.gatk.walkers.qc; +import net.sf.samtools.SAMFileWriter; +import net.sf.samtools.SAMRecord; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.ReadMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.ReadWalker; -import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import net.sf.samtools.SAMRecord; -import net.sf.samtools.SAMFileWriter; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; -import java.util.List; import java.util.ArrayList; +import java.util.List; /* diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/RodSystemValidationWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/RodSystemValidationWalker.java index 9cb715507..170630b77 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/RodSystemValidationWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/RodSystemValidationWalker.java @@ -1,6 +1,5 @@ package org.broadinstitute.sting.gatk.walkers.qc; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; @@ -8,8 +7,11 @@ import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.datasources.rmd.ReferenceOrderedDataSource; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.utils.GATKFeature; -import org.broadinstitute.sting.gatk.walkers.*; +import org.broadinstitute.sting.gatk.walkers.Reference; +import org.broadinstitute.sting.gatk.walkers.RodWalker; +import org.broadinstitute.sting.gatk.walkers.Window; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.io.*; import java.math.BigInteger; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/ValidatingPileupWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/ValidatingPileupWalker.java index bc68be592..e1e6c4b69 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/ValidatingPileupWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/qc/ValidatingPileupWalker.java @@ -25,20 +25,20 @@ package org.broadinstitute.sting.gatk.walkers.qc; +import org.broadinstitute.sting.commandline.Argument; +import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.features.sampileup.SAMPileupFeature; import org.broadinstitute.sting.gatk.walkers.*; -import org.broadinstitute.sting.utils.*; -import org.broadinstitute.sting.commandline.Argument; -import org.broadinstitute.sting.commandline.Output; +import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.UserException; import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; -import java.util.Arrays; import java.io.PrintStream; +import java.util.Arrays; /** * At every locus in the input set, compares the pileup data (reference base, aligned base from diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/CountCovariatesGatherer.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/CountCovariatesGatherer.java index 568e1b638..fc6b3daee 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/CountCovariatesGatherer.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/CountCovariatesGatherer.java @@ -7,7 +7,6 @@ import org.broadinstitute.sting.utils.text.XReadLines; import java.io.File; import java.io.FileNotFoundException; import java.io.PrintStream; -import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.regex.Pattern; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/CountCovariatesWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/CountCovariatesWalker.java index c21f548b3..8c6539f8d 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/CountCovariatesWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/CountCovariatesWalker.java @@ -27,24 +27,25 @@ package org.broadinstitute.sting.gatk.walkers.recalibration; import org.broad.tribble.bed.BEDCodec; import org.broad.tribble.dbsnp.DbSNPCodec; -import org.broadinstitute.sting.gatk.filters.MappingQualityUnavailableReadFilter; -import org.broadinstitute.sting.utils.codecs.vcf.VCF3Codec; -import org.broadinstitute.sting.utils.codecs.vcf.VCFCodec; +import org.broadinstitute.sting.commandline.Argument; +import org.broadinstitute.sting.commandline.ArgumentCollection; import org.broadinstitute.sting.commandline.Gather; import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.datasources.rmd.ReferenceOrderedDataSource; +import org.broadinstitute.sting.gatk.filters.MappingQualityUnavailableReadFilter; import org.broadinstitute.sting.gatk.filters.MappingQualityZeroReadFilter; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.utils.GATKFeature; import org.broadinstitute.sting.gatk.walkers.*; -import org.broadinstitute.sting.utils.*; +import org.broadinstitute.sting.utils.BaseUtils; +import org.broadinstitute.sting.utils.Utils; import org.broadinstitute.sting.utils.baq.BAQ; import org.broadinstitute.sting.utils.classloader.PluginManager; +import org.broadinstitute.sting.utils.codecs.vcf.VCF3Codec; +import org.broadinstitute.sting.utils.codecs.vcf.VCFCodec; import org.broadinstitute.sting.utils.collections.NestedHashMap; -import org.broadinstitute.sting.commandline.Argument; -import org.broadinstitute.sting.commandline.ArgumentCollection; import org.broadinstitute.sting.utils.exceptions.DynamicClassResolutionException; import org.broadinstitute.sting.utils.exceptions.UserException; import org.broadinstitute.sting.utils.pileup.PileupElement; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/CycleCovariate.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/CycleCovariate.java index 64e0864c0..945d02837 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/CycleCovariate.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/CycleCovariate.java @@ -1,7 +1,6 @@ package org.broadinstitute.sting.gatk.walkers.recalibration; import net.sf.samtools.SAMRecord; - import org.broadinstitute.sting.utils.BaseUtils; import org.broadinstitute.sting.utils.exceptions.UserException; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/DinucCovariate.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/DinucCovariate.java index 0de6897d0..a7717161a 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/DinucCovariate.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/DinucCovariate.java @@ -1,11 +1,10 @@ package org.broadinstitute.sting.gatk.walkers.recalibration; -import java.util.HashMap; - import net.sf.samtools.SAMRecord; - import org.broadinstitute.sting.utils.BaseUtils; +import java.util.HashMap; + /* * Copyright (c) 2009 The Broad Institute * diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/RecalDataManager.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/RecalDataManager.java index fdbeb6a31..e6d0b306c 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/RecalDataManager.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/RecalDataManager.java @@ -25,19 +25,21 @@ package org.broadinstitute.sting.gatk.walkers.recalibration; +import net.sf.samtools.SAMReadGroupRecord; +import net.sf.samtools.SAMRecord; +import net.sf.samtools.SAMUtils; import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; +import org.broadinstitute.sting.utils.BaseUtils; +import org.broadinstitute.sting.utils.Utils; +import org.broadinstitute.sting.utils.collections.NestedHashMap; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.UserException; -import org.broadinstitute.sting.utils.sam.GATKSAMRecord; import org.broadinstitute.sting.utils.sam.AlignmentUtils; -import org.broadinstitute.sting.utils.*; -import org.broadinstitute.sting.utils.collections.NestedHashMap; +import org.broadinstitute.sting.utils.sam.GATKSAMRecord; -import java.util.*; - -import net.sf.samtools.SAMRecord; -import net.sf.samtools.SAMReadGroupRecord; -import net.sf.samtools.SAMUtils; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; /** * Created by IntelliJ IDEA. diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/RecalDatumOptimized.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/RecalDatumOptimized.java index 7ba441ccc..f04989fa5 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/RecalDatumOptimized.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/RecalDatumOptimized.java @@ -3,7 +3,7 @@ package org.broadinstitute.sting.gatk.walkers.recalibration; import org.broadinstitute.sting.utils.BaseUtils; import org.broadinstitute.sting.utils.QualityUtils; -import java.util.*; +import java.util.List; /* * Copyright (c) 2010 The Broad Institute diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/TableRecalibrationWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/TableRecalibrationWalker.java index 0eaa1245e..0277fda0d 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/TableRecalibrationWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/recalibration/TableRecalibrationWalker.java @@ -25,31 +25,33 @@ package org.broadinstitute.sting.gatk.walkers.recalibration; -import java.io.File; -import java.io.FileNotFoundException; -import java.util.*; -import java.util.regex.Pattern; - import net.sf.samtools.*; import net.sf.samtools.util.SequenceUtil; - +import org.broadinstitute.sting.commandline.*; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.datasources.rmd.ReferenceOrderedDataSource; import org.broadinstitute.sting.gatk.io.StingSAMFileWriter; import org.broadinstitute.sting.gatk.refdata.ReadMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.utils.helpers.DbSNPHelper; import org.broadinstitute.sting.gatk.walkers.*; -import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.utils.classloader.PluginManager; -import org.broadinstitute.sting.utils.collections.NestedHashMap; import org.broadinstitute.sting.utils.QualityUtils; -import org.broadinstitute.sting.utils.exceptions.DynamicClassResolutionException; -import org.broadinstitute.sting.utils.exceptions.UserException; -import org.broadinstitute.sting.utils.text.TextFormattingUtils; import org.broadinstitute.sting.utils.Utils; import org.broadinstitute.sting.utils.baq.BAQ; -import org.broadinstitute.sting.utils.text.XReadLines; -import org.broadinstitute.sting.commandline.*; +import org.broadinstitute.sting.utils.classloader.PluginManager; +import org.broadinstitute.sting.utils.collections.NestedHashMap; +import org.broadinstitute.sting.utils.exceptions.DynamicClassResolutionException; +import org.broadinstitute.sting.utils.exceptions.UserException; import org.broadinstitute.sting.utils.sam.GATKSAMRecord; +import org.broadinstitute.sting.utils.text.TextFormattingUtils; +import org.broadinstitute.sting.utils.text.XReadLines; + +import java.io.File; +import java.io.FileNotFoundException; +import java.util.ArrayList; +import java.util.List; +import java.util.MissingResourceException; +import java.util.ResourceBundle; +import java.util.regex.Pattern; /** * This walker is designed to work as the second pass in a two-pass processing step, doing a by-read traversal. diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/sequenom/CreateSequenomMask.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/sequenom/CreateSequenomMask.java index c1c17bda5..b3b63bb96 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/sequenom/CreateSequenomMask.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/sequenom/CreateSequenomMask.java @@ -1,12 +1,12 @@ package org.broadinstitute.sting.gatk.walkers.sequenom; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; +import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.RodWalker; -import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.utils.GenomeLoc; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.io.PrintStream; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/sequenom/PickSequenomProbes.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/sequenom/PickSequenomProbes.java index fde233b5d..b877ff70b 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/sequenom/PickSequenomProbes.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/sequenom/PickSequenomProbes.java @@ -25,29 +25,27 @@ package org.broadinstitute.sting.gatk.walkers.sequenom; -import net.sf.samtools.util.CloseableIterator; import org.broad.tribble.bed.BEDCodec; -import org.broad.tribble.dbsnp.DbSNPCodec; -import org.broadinstitute.sting.utils.variantcontext.Allele; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; +import org.broadinstitute.sting.commandline.Argument; +import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.gatk.refdata.*; +import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; +import org.broadinstitute.sting.gatk.refdata.ReferenceOrderedData; +import org.broadinstitute.sting.gatk.refdata.SeekableRODIterator; import org.broadinstitute.sting.gatk.refdata.tracks.RMDTrack; import org.broadinstitute.sting.gatk.refdata.tracks.builders.RMDTrackBuilder; import org.broadinstitute.sting.gatk.refdata.utils.GATKFeature; import org.broadinstitute.sting.gatk.refdata.utils.LocationAwareSeekableRODIterator; import org.broadinstitute.sting.gatk.refdata.utils.RODRecordList; -import org.broadinstitute.sting.gatk.refdata.utils.helpers.DbSNPHelper; import org.broadinstitute.sting.gatk.walkers.*; import org.broadinstitute.sting.utils.GenomeLoc; -import org.broadinstitute.sting.utils.GenomeLocParser; -import org.broadinstitute.sting.commandline.Argument; -import org.broadinstitute.sting.commandline.Output; +import org.broadinstitute.sting.utils.variantcontext.Allele; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.io.File; -import java.util.*; import java.io.PrintStream; +import java.util.*; /** diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/VariantEvalWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/VariantEvalWalker.java index c9c5e09a8..fe3173506 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/VariantEvalWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/VariantEvalWalker.java @@ -1,14 +1,12 @@ package org.broadinstitute.sting.gatk.walkers.varianteval; +import net.sf.picard.reference.IndexedFastaSequenceFile; import net.sf.samtools.SAMSequenceRecord; import org.apache.log4j.Logger; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeader; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import org.broadinstitute.sting.gatk.datasources.rmd.ReferenceOrderedDataSource; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.utils.helpers.DbSNPHelper; @@ -20,22 +18,21 @@ import org.broadinstitute.sting.gatk.walkers.TreeReducible; import org.broadinstitute.sting.gatk.walkers.Window; import org.broadinstitute.sting.gatk.walkers.varianteval.evaluators.VariantEvaluator; import org.broadinstitute.sting.gatk.walkers.varianteval.stratifications.VariantStratifier; -import org.broadinstitute.sting.gatk.walkers.varianteval.util.DataPoint; import org.broadinstitute.sting.gatk.walkers.varianteval.util.*; import org.broadinstitute.sting.gatk.walkers.variantrecalibration.Tranche; import org.broadinstitute.sting.gatk.walkers.variantrecalibration.VariantRecalibrator; import org.broadinstitute.sting.utils.SampleUtils; import org.broadinstitute.sting.utils.Utils; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeader; +import org.broadinstitute.sting.utils.codecs.vcf.VCFUtils; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.StingException; import org.broadinstitute.sting.utils.exceptions.UserException; -import org.broadinstitute.sting.gatk.walkers.varianteval.util.TableType; -import org.broadinstitute.sting.utils.codecs.vcf.VCFUtils; -import net.sf.picard.reference.IndexedFastaSequenceFile; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; - -import java.io.FileNotFoundException; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; +import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import java.io.File; +import java.io.FileNotFoundException; import java.io.PrintStream; import java.lang.reflect.Field; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/CompEvalGenotypes.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/CompEvalGenotypes.java index 787dbe9af..925bff9c0 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/CompEvalGenotypes.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/CompEvalGenotypes.java @@ -1,7 +1,7 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.evaluators; -import org.broadinstitute.sting.utils.variantcontext.Genotype; import org.broadinstitute.sting.utils.GenomeLoc; +import org.broadinstitute.sting.utils.variantcontext.Genotype; class NewCompEvalGenotypes { private GenomeLoc loc; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/CompOverlap.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/CompOverlap.java index 85373baa8..255a54737 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/CompOverlap.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/CompOverlap.java @@ -1,12 +1,12 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.evaluators; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.varianteval.util.Analysis; import org.broadinstitute.sting.gatk.walkers.varianteval.util.DataPoint; import org.broadinstitute.sting.utils.variantcontext.Allele; import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.gatk.contexts.AlignmentContext; -import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; /** * The Broad Institute diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/CountVariants.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/CountVariants.java index befb2ff13..8c281b2f8 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/CountVariants.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/CountVariants.java @@ -1,13 +1,13 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.evaluators; -import org.broadinstitute.sting.gatk.walkers.varianteval.util.Analysis; -import org.broadinstitute.sting.gatk.walkers.varianteval.util.DataPoint; -import org.broadinstitute.sting.utils.variantcontext.Genotype; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; +import org.broadinstitute.sting.gatk.walkers.varianteval.util.Analysis; +import org.broadinstitute.sting.gatk.walkers.varianteval.util.DataPoint; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; +import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; @Analysis(description = "Counts different classes of variants in the sample") public class CountVariants extends VariantEvaluator implements StandardEval { diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/GenotypeConcordance.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/GenotypeConcordance.java index 58803c9d0..bbd3f5f54 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/GenotypeConcordance.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/GenotypeConcordance.java @@ -1,18 +1,18 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.evaluators; import org.apache.log4j.Logger; -import org.broadinstitute.sting.gatk.walkers.varianteval.util.Analysis; -import org.broadinstitute.sting.gatk.walkers.varianteval.util.DataPoint; -import org.broadinstitute.sting.utils.variantcontext.Genotype; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFConstants; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; +import org.broadinstitute.sting.gatk.walkers.varianteval.util.Analysis; +import org.broadinstitute.sting.gatk.walkers.varianteval.util.DataPoint; +import org.broadinstitute.sting.gatk.walkers.varianteval.util.TableType; +import org.broadinstitute.sting.utils.codecs.vcf.VCFConstants; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.StingException; import org.broadinstitute.sting.utils.exceptions.UserException; -import org.broadinstitute.sting.gatk.walkers.varianteval.util.TableType; +import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/GenotypePhasingEvaluator.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/GenotypePhasingEvaluator.java index 407b71893..a476a2680 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/GenotypePhasingEvaluator.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/GenotypePhasingEvaluator.java @@ -1,9 +1,6 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.evaluators; import org.apache.log4j.Logger; -import org.broadinstitute.sting.gatk.walkers.varianteval.util.*; -import org.broadinstitute.sting.utils.variantcontext.Genotype; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; @@ -12,8 +9,12 @@ import org.broadinstitute.sting.gatk.walkers.phasing.ReadBackedPhasingWalker; import org.broadinstitute.sting.gatk.walkers.varianteval.VariantEvalWalker; import org.broadinstitute.sting.gatk.walkers.varianteval.util.Analysis; import org.broadinstitute.sting.gatk.walkers.varianteval.util.DataPoint; +import org.broadinstitute.sting.gatk.walkers.varianteval.util.NewEvaluationContext; +import org.broadinstitute.sting.gatk.walkers.varianteval.util.TableType; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.MathUtils; +import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.HashMap; import java.util.HashSet; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/IndelLengthHistogram.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/IndelLengthHistogram.java index f7f9fce0c..77def0f30 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/IndelLengthHistogram.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/IndelLengthHistogram.java @@ -1,13 +1,13 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.evaluators; -import org.broadinstitute.sting.gatk.walkers.varianteval.util.Analysis; -import org.broadinstitute.sting.gatk.walkers.varianteval.util.DataPoint; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; +import org.broadinstitute.sting.gatk.walkers.varianteval.util.Analysis; +import org.broadinstitute.sting.gatk.walkers.varianteval.util.DataPoint; import org.broadinstitute.sting.gatk.walkers.varianteval.util.TableType; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; /** * IF THERE IS NO JAVADOC RIGHT HERE, YELL AT chartl diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/IndelMetricsByAC.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/IndelMetricsByAC.java index dd4bb492e..6e1b76acd 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/IndelMetricsByAC.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/IndelMetricsByAC.java @@ -1,14 +1,14 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.evaluators; -import org.broadinstitute.sting.gatk.walkers.varianteval.util.Analysis; -import org.broadinstitute.sting.gatk.walkers.varianteval.util.DataPoint; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.varianteval.VariantEvalWalker; +import org.broadinstitute.sting.gatk.walkers.varianteval.util.Analysis; +import org.broadinstitute.sting.gatk.walkers.varianteval.util.DataPoint; import org.broadinstitute.sting.gatk.walkers.varianteval.util.TableType; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.ArrayList; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/IndelStatistics.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/IndelStatistics.java index 1bd420e0a..d99196ecf 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/IndelStatistics.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/IndelStatistics.java @@ -1,15 +1,15 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.evaluators; -import org.broadinstitute.sting.gatk.walkers.varianteval.util.Analysis; -import org.broadinstitute.sting.gatk.walkers.varianteval.util.DataPoint; -import org.broadinstitute.sting.utils.variantcontext.Genotype; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.varianteval.VariantEvalWalker; +import org.broadinstitute.sting.gatk.walkers.varianteval.util.Analysis; +import org.broadinstitute.sting.gatk.walkers.varianteval.util.DataPoint; import org.broadinstitute.sting.gatk.walkers.varianteval.util.TableType; import org.broadinstitute.sting.utils.IndelUtils; +import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.ArrayList; import java.util.HashMap; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/MendelianViolationEvaluator.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/MendelianViolationEvaluator.java index 16ec74433..a0cc393d9 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/MendelianViolationEvaluator.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/MendelianViolationEvaluator.java @@ -1,15 +1,15 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.evaluators; -import org.broadinstitute.sting.gatk.walkers.varianteval.util.Analysis; -import org.broadinstitute.sting.gatk.walkers.varianteval.util.DataPoint; -import org.broadinstitute.sting.utils.variantcontext.Genotype; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.varianteval.VariantEvalWalker; +import org.broadinstitute.sting.gatk.walkers.varianteval.util.Analysis; +import org.broadinstitute.sting.gatk.walkers.varianteval.util.DataPoint; import org.broadinstitute.sting.utils.MendelianViolation; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; +import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; /** * Mendelian violation detection and counting diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/PrintMissingComp.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/PrintMissingComp.java index e83914ef8..b209ee13d 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/PrintMissingComp.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/PrintMissingComp.java @@ -24,12 +24,12 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.evaluators; -import org.broadinstitute.sting.gatk.walkers.varianteval.util.Analysis; -import org.broadinstitute.sting.gatk.walkers.varianteval.util.DataPoint; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; +import org.broadinstitute.sting.gatk.walkers.varianteval.util.Analysis; +import org.broadinstitute.sting.gatk.walkers.varianteval.util.DataPoint; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; @Analysis(name = "PrintMissingComp", description = "the overlap between eval and comp sites") public class PrintMissingComp extends VariantEvaluator { diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/SamplePreviousGenotypes.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/SamplePreviousGenotypes.java index 5f3e6b0fa..751f61a97 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/SamplePreviousGenotypes.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/SamplePreviousGenotypes.java @@ -1,7 +1,7 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.evaluators; -import org.broadinstitute.sting.utils.variantcontext.Genotype; import org.broadinstitute.sting.utils.GenomeLoc; +import org.broadinstitute.sting.utils.variantcontext.Genotype; import java.util.HashMap; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/SimpleMetricsByAC.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/SimpleMetricsByAC.java index 395309975..d466645ea 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/SimpleMetricsByAC.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/SimpleMetricsByAC.java @@ -1,17 +1,18 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.evaluators; -import org.broadinstitute.sting.gatk.walkers.varianteval.util.*; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.varianteval.VariantEvalWalker; import org.broadinstitute.sting.gatk.walkers.varianteval.stratifications.Degeneracy; import org.broadinstitute.sting.gatk.walkers.varianteval.stratifications.Sample; import org.broadinstitute.sting.gatk.walkers.varianteval.util.Analysis; import org.broadinstitute.sting.gatk.walkers.varianteval.util.DataPoint; +import org.broadinstitute.sting.gatk.walkers.varianteval.util.StateKey; +import org.broadinstitute.sting.gatk.walkers.varianteval.util.TableType; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; +import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import java.util.ArrayList; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/ThetaVariantEvaluator.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/ThetaVariantEvaluator.java index f9cda5e0b..ec43cbd55 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/ThetaVariantEvaluator.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/ThetaVariantEvaluator.java @@ -1,13 +1,13 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.evaluators; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.varianteval.util.Analysis; import org.broadinstitute.sting.gatk.walkers.varianteval.util.DataPoint; import org.broadinstitute.sting.utils.variantcontext.Allele; import org.broadinstitute.sting.utils.variantcontext.Genotype; import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.gatk.contexts.AlignmentContext; -import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/TiTvVariantEvaluator.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/TiTvVariantEvaluator.java index deeafd851..be957abd7 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/TiTvVariantEvaluator.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/TiTvVariantEvaluator.java @@ -1,13 +1,13 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.evaluators; -import org.broadinstitute.sting.gatk.walkers.varianteval.util.Analysis; -import org.broadinstitute.sting.gatk.walkers.varianteval.util.DataPoint; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; +import org.broadinstitute.sting.gatk.walkers.varianteval.util.Analysis; +import org.broadinstitute.sting.gatk.walkers.varianteval.util.DataPoint; import org.broadinstitute.sting.utils.BaseUtils; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; +import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; @Analysis(description = "Ti/Tv Variant Evaluator") public class TiTvVariantEvaluator extends VariantEvaluator implements StandardEval { diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/ValidationReport.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/ValidationReport.java index 756427581..9c331b577 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/ValidationReport.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/ValidationReport.java @@ -1,16 +1,16 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.evaluators; -import org.broadinstitute.sting.gatk.walkers.varianteval.util.Analysis; -import org.broadinstitute.sting.gatk.walkers.varianteval.util.DataPoint; -import org.broadinstitute.sting.utils.variantcontext.Allele; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFConstants; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; +import org.broadinstitute.sting.gatk.walkers.varianteval.util.Analysis; +import org.broadinstitute.sting.gatk.walkers.varianteval.util.DataPoint; +import org.broadinstitute.sting.utils.codecs.vcf.VCFConstants; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; +import org.broadinstitute.sting.utils.variantcontext.Allele; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import java.util.*; +import java.util.Set; /** * The Broad Institute diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/VariantEvaluator.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/VariantEvaluator.java index 6017ecca3..e29e7ed50 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/VariantEvaluator.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/VariantEvaluator.java @@ -1,12 +1,12 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.evaluators; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.varianteval.VariantEvalWalker; import org.broadinstitute.sting.gatk.walkers.varianteval.util.NewEvaluationContext; import org.broadinstitute.sting.gatk.walkers.varianteval.util.StateKey; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; public abstract class VariantEvaluator { public void initialize(VariantEvalWalker walker) {} diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/VariantQualityScore.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/VariantQualityScore.java index 29a61e27a..b6ad55b18 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/VariantQualityScore.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/evaluators/VariantQualityScore.java @@ -25,16 +25,16 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.evaluators; -import org.broadinstitute.sting.gatk.walkers.varianteval.util.Analysis; -import org.broadinstitute.sting.gatk.walkers.varianteval.util.DataPoint; -import org.broadinstitute.sting.utils.variantcontext.Allele; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; +import org.broadinstitute.sting.gatk.walkers.varianteval.util.Analysis; +import org.broadinstitute.sting.gatk.walkers.varianteval.util.DataPoint; import org.broadinstitute.sting.gatk.walkers.varianteval.util.TableType; import org.broadinstitute.sting.utils.collections.Pair; +import org.broadinstitute.sting.utils.variantcontext.Allele; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; +import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import java.util.ArrayList; import java.util.HashMap; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/AlleleCount.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/AlleleCount.java index 2cbc66e31..411493d4f 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/AlleleCount.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/AlleleCount.java @@ -1,12 +1,11 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.stratifications; -import org.broadinstitute.sting.utils.variantcontext.Allele; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.varianteval.util.SortableJexlVCMatchExp; -import org.broadinstitute.sting.utils.MathUtils; import org.broadinstitute.sting.utils.exceptions.UserException; +import org.broadinstitute.sting.utils.variantcontext.Allele; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.ArrayList; import java.util.Set; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/AlleleFrequency.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/AlleleFrequency.java index 48b4ffa91..2ffc7716c 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/AlleleFrequency.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/AlleleFrequency.java @@ -1,10 +1,10 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.stratifications; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.varianteval.util.SortableJexlVCMatchExp; import org.broadinstitute.sting.utils.MathUtils; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.ArrayList; import java.util.Set; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/CompRod.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/CompRod.java index 9942ba8d6..c6975808f 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/CompRod.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/CompRod.java @@ -1,9 +1,9 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.stratifications; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.varianteval.util.SortableJexlVCMatchExp; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.ArrayList; import java.util.Set; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/Contig.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/Contig.java index 1a9d31085..c14355035 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/Contig.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/Contig.java @@ -1,9 +1,9 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.stratifications; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.varianteval.util.SortableJexlVCMatchExp; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.ArrayList; import java.util.Set; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/CpG.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/CpG.java index 15b1d41c1..3e8a6ed17 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/CpG.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/CpG.java @@ -1,9 +1,9 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.stratifications; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.varianteval.util.SortableJexlVCMatchExp; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.ArrayList; import java.util.Set; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/Degeneracy.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/Degeneracy.java index 65af6090c..155a66186 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/Degeneracy.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/Degeneracy.java @@ -1,14 +1,14 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.stratifications; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.varianteval.util.SortableJexlVCMatchExp; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.ArrayList; import java.util.HashMap; -import java.util.Set; import java.util.HashSet; +import java.util.Set; public class Degeneracy extends VariantStratifier { private ArrayList states; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/EvalRod.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/EvalRod.java index 7bd15a974..40f952fd2 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/EvalRod.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/EvalRod.java @@ -1,9 +1,9 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.stratifications; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.varianteval.util.SortableJexlVCMatchExp; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.ArrayList; import java.util.Set; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/Filter.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/Filter.java index 8d8782ab7..3b7a419f2 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/Filter.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/Filter.java @@ -1,9 +1,9 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.stratifications; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.varianteval.util.SortableJexlVCMatchExp; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.ArrayList; import java.util.Set; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/FunctionalClass.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/FunctionalClass.java index fd724d6d1..c6c094f8e 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/FunctionalClass.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/FunctionalClass.java @@ -1,9 +1,9 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.stratifications; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.varianteval.util.SortableJexlVCMatchExp; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.ArrayList; import java.util.Set; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/JexlExpression.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/JexlExpression.java index a7ccd3182..76efedbf4 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/JexlExpression.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/JexlExpression.java @@ -1,10 +1,10 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.stratifications; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.varianteval.util.SortableJexlVCMatchExp; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; +import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import java.util.ArrayList; import java.util.Set; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/Novelty.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/Novelty.java index 39d2e6b4d..a0973a088 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/Novelty.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/Novelty.java @@ -1,9 +1,9 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.stratifications; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.varianteval.util.SortableJexlVCMatchExp; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.ArrayList; import java.util.Collection; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/Sample.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/Sample.java index f909de4f3..a2a3eb3fb 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/Sample.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/Sample.java @@ -1,9 +1,9 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.stratifications; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.varianteval.util.SortableJexlVCMatchExp; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.ArrayList; import java.util.Set; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/VariantStratifier.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/VariantStratifier.java index 218cb23ca..2c4b8bc46 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/VariantStratifier.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/stratifications/VariantStratifier.java @@ -1,11 +1,10 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.stratifications; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.varianteval.VariantEvalWalker; import org.broadinstitute.sting.gatk.walkers.varianteval.util.SortableJexlVCMatchExp; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.ArrayList; import java.util.Set; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/util/NewEvaluationContext.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/util/NewEvaluationContext.java index 3208c26bb..8112ae97f 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/util/NewEvaluationContext.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/util/NewEvaluationContext.java @@ -1,6 +1,5 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.util; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; @@ -9,6 +8,7 @@ import org.broadinstitute.sting.gatk.walkers.varianteval.evaluators.VariantEvalu import org.broadinstitute.sting.gatk.walkers.varianteval.stratifications.VariantStratifier; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.StingException; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.HashMap; import java.util.Set; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/util/SortableJexlVCMatchExp.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/util/SortableJexlVCMatchExp.java index 0281653af..38f7a7f40 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/util/SortableJexlVCMatchExp.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/util/SortableJexlVCMatchExp.java @@ -1,6 +1,6 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.util; -import org.apache.commons.jexl2.*; +import org.apache.commons.jexl2.Expression; import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; public class SortableJexlVCMatchExp extends VariantContextUtils.JexlVCMatchExp implements Comparable { diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/util/VariantEvalUtils.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/util/VariantEvalUtils.java index eabd2e588..0a915db37 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/util/VariantEvalUtils.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/util/VariantEvalUtils.java @@ -1,9 +1,7 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.util; import org.apache.log4j.Logger; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.report.GATKReport; import org.broadinstitute.sting.gatk.report.GATKReportTable; @@ -16,6 +14,8 @@ import org.broadinstitute.sting.gatk.walkers.varianteval.stratifications.Variant import org.broadinstitute.sting.utils.classloader.PluginManager; import org.broadinstitute.sting.utils.exceptions.StingException; import org.broadinstitute.sting.utils.exceptions.UserException; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; +import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import java.lang.reflect.Field; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/ApplyRecalibration.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/ApplyRecalibration.java index d4e07dccf..403c67d3e 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/ApplyRecalibration.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/ApplyRecalibration.java @@ -25,23 +25,23 @@ package org.broadinstitute.sting.gatk.walkers.variantrecalibration; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.*; -import org.broadinstitute.sting.commandline.*; +import org.broadinstitute.sting.commandline.Argument; +import org.broadinstitute.sting.commandline.Input; +import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.datasources.rmd.ReferenceOrderedDataSource; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.RodWalker; -import org.broadinstitute.sting.utils.*; +import org.broadinstitute.sting.utils.SampleUtils; +import org.broadinstitute.sting.utils.codecs.vcf.*; import org.broadinstitute.sting.utils.collections.NestedHashMap; import org.broadinstitute.sting.utils.exceptions.UserException; import org.broadinstitute.sting.utils.text.XReadLines; -import org.broadinstitute.sting.utils.codecs.vcf.VCFUtils; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.io.File; import java.io.FileNotFoundException; -import java.lang.Double; import java.util.*; /** diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/Tranche.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/Tranche.java index 64fe36637..15424f0f7 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/Tranche.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/Tranche.java @@ -25,11 +25,14 @@ package org.broadinstitute.sting.gatk.walkers.variantrecalibration; -import org.broadinstitute.sting.utils.exceptions.UserException; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; +import org.broadinstitute.sting.utils.exceptions.UserException; import org.broadinstitute.sting.utils.text.XReadLines; -import java.io.*; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.PrintStream; import java.util.*; /** diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/VQSRCalibrationCurve.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/VQSRCalibrationCurve.java index 5deb5d8c2..bc7252ec2 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/VQSRCalibrationCurve.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/VQSRCalibrationCurve.java @@ -26,10 +26,10 @@ package org.broadinstitute.sting.gatk.walkers.variantrecalibration; import org.apache.log4j.Logger; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.UserException; import org.broadinstitute.sting.utils.text.XReadLines; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.io.File; import java.io.FileNotFoundException; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/VariantDataManager.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/VariantDataManager.java index ddeda1699..67d54a408 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/VariantDataManager.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/VariantDataManager.java @@ -26,7 +26,6 @@ package org.broadinstitute.sting.gatk.walkers.variantrecalibration; import org.apache.log4j.Logger; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; @@ -34,9 +33,12 @@ import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.utils.MathUtils; import org.broadinstitute.sting.utils.collections.ExpandingArrayList; import org.broadinstitute.sting.utils.exceptions.UserException; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.io.PrintStream; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; /** * Created by IntelliJ IDEA. diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/VariantRecalibrator.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/VariantRecalibrator.java index 2d0355d7d..8179463eb 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/VariantRecalibrator.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/VariantRecalibrator.java @@ -25,14 +25,12 @@ package org.broadinstitute.sting.gatk.walkers.variantrecalibration; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.ArgumentCollection; import org.broadinstitute.sting.commandline.Hidden; import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import org.broadinstitute.sting.gatk.datasources.rmd.ReferenceOrderedDataSource; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.RodWalker; @@ -42,6 +40,8 @@ import org.broadinstitute.sting.utils.QualityUtils; import org.broadinstitute.sting.utils.Utils; import org.broadinstitute.sting.utils.collections.ExpandingArrayList; import org.broadinstitute.sting.utils.exceptions.UserException; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; +import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import java.io.File; import java.io.FileNotFoundException; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariants.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariants.java index 597a54dc1..837f352f8 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariants.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariants.java @@ -25,12 +25,12 @@ package org.broadinstitute.sting.gatk.walkers.variantutils; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.*; +import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Hidden; +import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; +import org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.Reference; import org.broadinstitute.sting.gatk.walkers.Requires; @@ -38,11 +38,10 @@ import org.broadinstitute.sting.gatk.walkers.RodWalker; import org.broadinstitute.sting.gatk.walkers.Window; import org.broadinstitute.sting.utils.SampleUtils; import org.broadinstitute.sting.utils.Utils; -import org.broadinstitute.sting.commandline.Argument; -import org.broadinstitute.sting.commandline.Output; +import org.broadinstitute.sting.utils.codecs.vcf.*; import org.broadinstitute.sting.utils.exceptions.UserException; -import org.broadinstitute.sting.utils.codecs.vcf.VCFUtils; -import org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; +import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/FilterLiftedVariants.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/FilterLiftedVariants.java index ba6f5e513..b45ee1b67 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/FilterLiftedVariants.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/FilterLiftedVariants.java @@ -24,18 +24,21 @@ package org.broadinstitute.sting.gatk.walkers.variantutils; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFWriter; -import org.broadinstitute.sting.utils.codecs.vcf.VCFUtils; -import org.broadinstitute.sting.utils.SampleUtils; +import org.broadinstitute.sting.commandline.Output; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.*; -import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.gatk.contexts.AlignmentContext; -import org.broadinstitute.sting.commandline.Output; +import org.broadinstitute.sting.utils.SampleUtils; import org.broadinstitute.sting.utils.codecs.vcf.VCFHeader; +import org.broadinstitute.sting.utils.codecs.vcf.VCFUtils; +import org.broadinstitute.sting.utils.codecs.vcf.VCFWriter; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import java.util.*; +import java.util.Arrays; +import java.util.Collection; +import java.util.Map; +import java.util.Set; /** * Filters a lifted-over VCF file for ref bases that have been changed. diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/LeftAlignVariants.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/LeftAlignVariants.java index d9dd85f0c..2ebd183f4 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/LeftAlignVariants.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/LeftAlignVariants.java @@ -28,21 +28,17 @@ package org.broadinstitute.sting.gatk.walkers.variantutils; import net.sf.samtools.Cigar; import net.sf.samtools.CigarElement; import net.sf.samtools.CigarOperator; -import org.broadinstitute.sting.utils.variantcontext.Allele; -import org.broadinstitute.sting.utils.variantcontext.Genotype; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.SortingVCFWriter; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeader; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLine; -import org.broadinstitute.sting.utils.codecs.vcf.VCFWriter; import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.*; import org.broadinstitute.sting.utils.SampleUtils; +import org.broadinstitute.sting.utils.codecs.vcf.*; import org.broadinstitute.sting.utils.sam.AlignmentUtils; -import org.broadinstitute.sting.utils.codecs.vcf.VCFUtils; +import org.broadinstitute.sting.utils.variantcontext.Allele; +import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/LiftoverVariants.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/LiftoverVariants.java index 7eda54387..4f05c8aac 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/LiftoverVariants.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/LiftoverVariants.java @@ -24,27 +24,27 @@ package org.broadinstitute.sting.gatk.walkers.variantutils; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.*; -import org.broadinstitute.sting.commandline.Argument; -import org.broadinstitute.sting.commandline.Output; -import org.broadinstitute.sting.utils.exceptions.UserException; -import org.broadinstitute.sting.utils.codecs.vcf.VCFUtils; -import org.broadinstitute.sting.utils.SampleUtils; -import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.walkers.*; -import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.gatk.contexts.AlignmentContext; -import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; - -import java.io.File; -import java.util.*; - import net.sf.picard.PicardException; import net.sf.picard.liftover.LiftOver; import net.sf.picard.util.Interval; import net.sf.samtools.SAMFileHeader; import net.sf.samtools.SAMFileReader; +import org.broadinstitute.sting.commandline.Argument; +import org.broadinstitute.sting.commandline.Output; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; +import org.broadinstitute.sting.gatk.walkers.RMD; +import org.broadinstitute.sting.gatk.walkers.Requires; +import org.broadinstitute.sting.gatk.walkers.RodWalker; +import org.broadinstitute.sting.utils.SampleUtils; +import org.broadinstitute.sting.utils.codecs.vcf.*; +import org.broadinstitute.sting.utils.exceptions.UserException; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; +import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; + +import java.io.File; +import java.util.*; /** * Lifts a VCF file over from one build to another. Note that the resulting VCF could be mis-sorted. diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/RandomlySplitVariants.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/RandomlySplitVariants.java index 0c41a9728..f0756d884 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/RandomlySplitVariants.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/RandomlySplitVariants.java @@ -24,11 +24,6 @@ package org.broadinstitute.sting.gatk.walkers.variantutils; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.StandardVCFWriter; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeader; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeaderLine; -import org.broadinstitute.sting.utils.codecs.vcf.VCFWriter; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; @@ -39,11 +34,15 @@ import org.broadinstitute.sting.gatk.walkers.RMD; import org.broadinstitute.sting.gatk.walkers.Requires; import org.broadinstitute.sting.gatk.walkers.RodWalker; import org.broadinstitute.sting.utils.SampleUtils; +import org.broadinstitute.sting.utils.codecs.vcf.*; import org.broadinstitute.sting.utils.exceptions.UserException; -import org.broadinstitute.sting.utils.codecs.vcf.VCFUtils; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.io.File; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashSet; +import java.util.Set; /** * Takes a VCF file, randomly splits variants into two different sets, and outputs 2 new VCFs with the results. diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/SelectVariants.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/SelectVariants.java index cbac54326..1db692e9f 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/SelectVariants.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/SelectVariants.java @@ -24,27 +24,26 @@ package org.broadinstitute.sting.gatk.walkers.variantutils; -import org.broadinstitute.sting.commandline.Hidden; -import org.broadinstitute.sting.utils.MathUtils; -import org.broadinstitute.sting.utils.codecs.vcf.*; -import org.broadinstitute.sting.utils.variantcontext.*; -import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; -import org.broadinstitute.sting.utils.MendelianViolation; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.commandline.Argument; +import org.broadinstitute.sting.commandline.Hidden; import org.broadinstitute.sting.commandline.Output; +import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.RMD; import org.broadinstitute.sting.gatk.walkers.Requires; import org.broadinstitute.sting.gatk.walkers.RodWalker; +import org.broadinstitute.sting.utils.MathUtils; +import org.broadinstitute.sting.utils.MendelianViolation; import org.broadinstitute.sting.utils.SampleUtils; -import org.apache.log4j.Logger; +import org.broadinstitute.sting.utils.codecs.vcf.*; +import org.broadinstitute.sting.utils.variantcontext.Allele; +import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; +import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import java.io.File; -import java.lang.annotation.AnnotationFormatError; import java.util.*; /** diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/ValidateVariants.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/ValidateVariants.java index 1bd73414c..0644c669b 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/ValidateVariants.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/ValidateVariants.java @@ -25,22 +25,25 @@ package org.broadinstitute.sting.gatk.walkers.variantutils; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.variantcontext.Allele; -import org.broad.tribble.dbsnp.DbSNPFeature; import org.broad.tribble.TribbleException; +import org.broad.tribble.dbsnp.DbSNPFeature; +import org.broadinstitute.sting.commandline.Argument; +import org.broadinstitute.sting.commandline.Hidden; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.gatk.datasources.rmd.ReferenceOrderedDataSource; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.utils.helpers.DbSNPHelper; import org.broadinstitute.sting.gatk.walkers.*; -import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.gatk.contexts.AlignmentContext; -import org.broadinstitute.sting.gatk.datasources.rmd.ReferenceOrderedDataSource; import org.broadinstitute.sting.utils.exceptions.UserException; -import org.broadinstitute.sting.commandline.Argument; -import org.broadinstitute.sting.commandline.Hidden; +import org.broadinstitute.sting.utils.variantcontext.Allele; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import java.util.*; import java.io.File; +import java.util.Collection; +import java.util.HashSet; +import java.util.List; +import java.util.Set; /** diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/VariantValidationAssessor.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/VariantValidationAssessor.java index 482679593..86bb3b0e8 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/VariantValidationAssessor.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/VariantValidationAssessor.java @@ -25,20 +25,19 @@ package org.broadinstitute.sting.gatk.walkers.variantutils; -import org.broadinstitute.sting.utils.variantcontext.Allele; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.*; +import org.broadinstitute.sting.commandline.Argument; +import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.*; import org.broadinstitute.sting.utils.QualityUtils; import org.broadinstitute.sting.utils.SampleUtils; -import org.broadinstitute.sting.utils.codecs.vcf.VCFUtils; +import org.broadinstitute.sting.utils.codecs.vcf.*; import org.broadinstitute.sting.utils.collections.Pair; -import org.broadinstitute.sting.commandline.Argument; -import org.broadinstitute.sting.commandline.Output; +import org.broadinstitute.sting.utils.variantcontext.Allele; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; +import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/VariantsToTable.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/VariantsToTable.java index 71dd5df3f..8d90af65a 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/VariantsToTable.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/VariantsToTable.java @@ -24,18 +24,17 @@ package org.broadinstitute.sting.gatk.walkers.variantutils; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.walkers.Requires; import org.broadinstitute.sting.gatk.walkers.RodWalker; -import org.broadinstitute.sting.utils.QualityUtils; import org.broadinstitute.sting.utils.Utils; import org.broadinstitute.sting.utils.exceptions.UserException; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; +import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import java.io.PrintStream; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/VariantsToVCF.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/VariantsToVCF.java index 79134b553..aa0e5987f 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/VariantsToVCF.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/VariantsToVCF.java @@ -28,26 +28,26 @@ package org.broadinstitute.sting.gatk.walkers.variantutils; import net.sf.samtools.util.CloseableIterator; import org.broad.tribble.dbsnp.DbSNPCodec; import org.broad.tribble.dbsnp.DbSNPFeature; -import org.broadinstitute.sting.utils.codecs.hapmap.HapMapFeature; -import org.broadinstitute.sting.utils.variantcontext.Allele; -import org.broadinstitute.sting.utils.variantcontext.Genotype; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.codecs.vcf.*; -import org.broadinstitute.sting.gatk.contexts.AlignmentContext; -import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; -import org.broadinstitute.sting.gatk.datasources.rmd.ReferenceOrderedDataSource; -import org.broadinstitute.sting.gatk.refdata.*; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Output; +import org.broadinstitute.sting.gatk.contexts.AlignmentContext; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.gatk.datasources.rmd.ReferenceOrderedDataSource; +import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; +import org.broadinstitute.sting.gatk.refdata.VariantContextAdaptors; import org.broadinstitute.sting.gatk.refdata.tracks.builders.RMDTrackBuilder; import org.broadinstitute.sting.gatk.refdata.utils.GATKFeature; import org.broadinstitute.sting.gatk.refdata.utils.helpers.DbSNPHelper; import org.broadinstitute.sting.gatk.walkers.*; -import org.broadinstitute.sting.utils.exceptions.UserException; -import org.broadinstitute.sting.utils.codecs.vcf.VCFUtils; import org.broadinstitute.sting.utils.BaseUtils; import org.broadinstitute.sting.utils.SampleUtils; +import org.broadinstitute.sting.utils.codecs.hapmap.HapMapFeature; +import org.broadinstitute.sting.utils.codecs.vcf.*; +import org.broadinstitute.sting.utils.exceptions.UserException; +import org.broadinstitute.sting.utils.variantcontext.Allele; +import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; +import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/jna/clibrary/LibC.java b/public/java/src/org/broadinstitute/sting/jna/clibrary/LibC.java index b01533ee6..b5efcc153 100644 --- a/public/java/src/org/broadinstitute/sting/jna/clibrary/LibC.java +++ b/public/java/src/org/broadinstitute/sting/jna/clibrary/LibC.java @@ -24,7 +24,10 @@ package org.broadinstitute.sting.jna.clibrary; -import com.sun.jna.*; +import com.sun.jna.LastErrorException; +import com.sun.jna.Native; +import com.sun.jna.NativeLong; +import com.sun.jna.Structure; import com.sun.jna.ptr.NativeLongByReference; /** diff --git a/public/java/src/org/broadinstitute/sting/jna/lsf/v7_0_6/LibLsf.java b/public/java/src/org/broadinstitute/sting/jna/lsf/v7_0_6/LibLsf.java index 0c0579d6f..c7b3de6cf 100644 --- a/public/java/src/org/broadinstitute/sting/jna/lsf/v7_0_6/LibLsf.java +++ b/public/java/src/org/broadinstitute/sting/jna/lsf/v7_0_6/LibLsf.java @@ -29,7 +29,7 @@ import com.sun.jna.ptr.FloatByReference; import com.sun.jna.ptr.IntByReference; import com.sun.jna.ptr.PointerByReference; import org.broadinstitute.sting.jna.clibrary.JNAUtils; -import org.broadinstitute.sting.jna.clibrary.LibC.*; +import org.broadinstitute.sting.jna.clibrary.LibC.timeval; /* NOTE: This library uses Pointer for some Struct.ByReference members going diff --git a/public/java/src/org/broadinstitute/sting/queue/extensions/gatk/ArgumentDefinitionField.java b/public/java/src/org/broadinstitute/sting/queue/extensions/gatk/ArgumentDefinitionField.java index fe6758e76..c09c4037e 100644 --- a/public/java/src/org/broadinstitute/sting/queue/extensions/gatk/ArgumentDefinitionField.java +++ b/public/java/src/org/broadinstitute/sting/queue/extensions/gatk/ArgumentDefinitionField.java @@ -27,13 +27,16 @@ package org.broadinstitute.sting.queue.extensions.gatk; import net.sf.samtools.BAMIndex; import net.sf.samtools.SAMFileWriter; import org.broad.tribble.Tribble; -import org.broadinstitute.sting.utils.codecs.vcf.VCFWriter; import org.broadinstitute.sting.commandline.*; import org.broadinstitute.sting.gatk.io.stubs.SAMFileWriterArgumentTypeDescriptor; +import org.broadinstitute.sting.utils.codecs.vcf.VCFWriter; import java.io.File; import java.lang.annotation.Annotation; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; public abstract class ArgumentDefinitionField extends ArgumentField { diff --git a/public/java/src/org/broadinstitute/sting/queue/extensions/gatk/ArgumentField.java b/public/java/src/org/broadinstitute/sting/queue/extensions/gatk/ArgumentField.java index 2da427d44..e90933504 100644 --- a/public/java/src/org/broadinstitute/sting/queue/extensions/gatk/ArgumentField.java +++ b/public/java/src/org/broadinstitute/sting/queue/extensions/gatk/ArgumentField.java @@ -35,7 +35,10 @@ import java.io.File; import java.io.InputStream; import java.io.OutputStream; import java.lang.annotation.Annotation; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.List; public abstract class ArgumentField { diff --git a/public/java/src/org/broadinstitute/sting/queue/extensions/gatk/GATKExtensionsGenerator.java b/public/java/src/org/broadinstitute/sting/queue/extensions/gatk/GATKExtensionsGenerator.java index 21fb44733..5095bd6e5 100644 --- a/public/java/src/org/broadinstitute/sting/queue/extensions/gatk/GATKExtensionsGenerator.java +++ b/public/java/src/org/broadinstitute/sting/queue/extensions/gatk/GATKExtensionsGenerator.java @@ -27,17 +27,20 @@ package org.broadinstitute.sting.queue.extensions.gatk; import org.apache.commons.io.FileUtils; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; -import org.broadinstitute.sting.commandline.*; +import org.broadinstitute.sting.commandline.ArgumentTypeDescriptor; +import org.broadinstitute.sting.commandline.CommandLineProgram; +import org.broadinstitute.sting.commandline.Output; +import org.broadinstitute.sting.commandline.ParsingEngine; import org.broadinstitute.sting.gatk.CommandLineGATK; import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; import org.broadinstitute.sting.gatk.WalkerManager; import org.broadinstitute.sting.gatk.arguments.ValidationExclusion; import org.broadinstitute.sting.gatk.filters.FilterManager; import org.broadinstitute.sting.gatk.filters.ReadFilter; -import org.broadinstitute.sting.gatk.io.stubs.VCFWriterArgumentTypeDescriptor; import org.broadinstitute.sting.gatk.io.stubs.OutputStreamArgumentTypeDescriptor; import org.broadinstitute.sting.gatk.io.stubs.SAMFileReaderArgumentTypeDescriptor; import org.broadinstitute.sting.gatk.io.stubs.SAMFileWriterArgumentTypeDescriptor; +import org.broadinstitute.sting.gatk.io.stubs.VCFWriterArgumentTypeDescriptor; import org.broadinstitute.sting.gatk.refdata.tracks.builders.RMDTrackBuilder; import org.broadinstitute.sting.gatk.walkers.PartitionBy; import org.broadinstitute.sting.gatk.walkers.PartitionType; diff --git a/public/java/src/org/broadinstitute/sting/utils/DisjointSet.java b/public/java/src/org/broadinstitute/sting/utils/DisjointSet.java index 5f68d3414..52c18e6d6 100644 --- a/public/java/src/org/broadinstitute/sting/utils/DisjointSet.java +++ b/public/java/src/org/broadinstitute/sting/utils/DisjointSet.java @@ -23,7 +23,9 @@ */ package org.broadinstitute.sting.utils; -import java.util.*; +import java.util.Collection; +import java.util.Set; +import java.util.TreeSet; public class DisjointSet { private ItemNode[] nodes; diff --git a/public/java/src/org/broadinstitute/sting/utils/GenomeLoc.java b/public/java/src/org/broadinstitute/sting/utils/GenomeLoc.java index 1f8800542..b96923589 100644 --- a/public/java/src/org/broadinstitute/sting/utils/GenomeLoc.java +++ b/public/java/src/org/broadinstitute/sting/utils/GenomeLoc.java @@ -2,7 +2,6 @@ package org.broadinstitute.sting.utils; import com.google.java.contract.Ensures; import com.google.java.contract.Requires; -import net.sf.samtools.SAMRecord; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import java.io.Serializable; diff --git a/public/java/src/org/broadinstitute/sting/utils/GenomeLocParser.java b/public/java/src/org/broadinstitute/sting/utils/GenomeLocParser.java index 18a1e7ffd..a5c6e0537 100644 --- a/public/java/src/org/broadinstitute/sting/utils/GenomeLocParser.java +++ b/public/java/src/org/broadinstitute/sting/utils/GenomeLocParser.java @@ -25,12 +25,14 @@ package org.broadinstitute.sting.utils; -import com.google.java.contract.*; +import com.google.java.contract.Ensures; +import com.google.java.contract.Invariant; +import com.google.java.contract.Requires; +import com.google.java.contract.ThrowEnsures; import net.sf.picard.reference.ReferenceSequenceFile; import net.sf.samtools.SAMRecord; import net.sf.samtools.SAMSequenceDictionary; import net.sf.samtools.SAMSequenceRecord; - import org.apache.log4j.Logger; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.UserException; diff --git a/public/java/src/org/broadinstitute/sting/utils/IndelUtils.java b/public/java/src/org/broadinstitute/sting/utils/IndelUtils.java index 30e1a3f5b..af69ebca6 100755 --- a/public/java/src/org/broadinstitute/sting/utils/IndelUtils.java +++ b/public/java/src/org/broadinstitute/sting/utils/IndelUtils.java @@ -1,8 +1,8 @@ package org.broadinstitute.sting.utils; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.ArrayList; import java.util.Arrays; diff --git a/public/java/src/org/broadinstitute/sting/utils/MathUtils.java b/public/java/src/org/broadinstitute/sting/utils/MathUtils.java index 50aa0f707..36ed506aa 100755 --- a/public/java/src/org/broadinstitute/sting/utils/MathUtils.java +++ b/public/java/src/org/broadinstitute/sting/utils/MathUtils.java @@ -25,17 +25,14 @@ package org.broadinstitute.sting.utils; -import cern.jet.math.Arithmetic; - -import java.math.BigDecimal; -import java.util.*; - import com.google.java.contract.Requires; import net.sf.samtools.SAMRecord; import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; -import org.broadinstitute.sting.utils.collections.PrimitivePair; import org.broadinstitute.sting.utils.exceptions.UserException; +import java.math.BigDecimal; +import java.util.*; + /** * MathUtils is a static class (no instantiation allowed!) with some useful math methods. * diff --git a/public/java/src/org/broadinstitute/sting/utils/MendelianViolation.java b/public/java/src/org/broadinstitute/sting/utils/MendelianViolation.java index a8089ffe8..c6a07b5ce 100755 --- a/public/java/src/org/broadinstitute/sting/utils/MendelianViolation.java +++ b/public/java/src/org/broadinstitute/sting/utils/MendelianViolation.java @@ -1,12 +1,13 @@ package org.broadinstitute.sting.utils; -import org.broadinstitute.sting.utils.variantcontext.Genotype; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; import org.broadinstitute.sting.gatk.datasources.sample.Sample; import org.broadinstitute.sting.utils.exceptions.UserException; +import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import java.util.*; +import java.util.Collection; +import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; diff --git a/public/java/src/org/broadinstitute/sting/utils/PathUtils.java b/public/java/src/org/broadinstitute/sting/utils/PathUtils.java index 47466be20..822d04dfd 100755 --- a/public/java/src/org/broadinstitute/sting/utils/PathUtils.java +++ b/public/java/src/org/broadinstitute/sting/utils/PathUtils.java @@ -2,10 +2,10 @@ package org.broadinstitute.sting.utils; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import java.util.List; -import java.util.ArrayList; import java.io.File; import java.io.FilenameFilter; +import java.util.ArrayList; +import java.util.List; /** * Created by IntelliJ IDEA. diff --git a/public/java/src/org/broadinstitute/sting/utils/ReservoirDownsampler.java b/public/java/src/org/broadinstitute/sting/utils/ReservoirDownsampler.java index 30257d967..a758df431 100644 --- a/public/java/src/org/broadinstitute/sting/utils/ReservoirDownsampler.java +++ b/public/java/src/org/broadinstitute/sting/utils/ReservoirDownsampler.java @@ -3,7 +3,9 @@ package org.broadinstitute.sting.utils; import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; /** * Randomly downsample from a stream of elements. This algorithm is a direct, diff --git a/public/java/src/org/broadinstitute/sting/utils/SWPairwiseAlignment.java b/public/java/src/org/broadinstitute/sting/utils/SWPairwiseAlignment.java index 4b7fa3e41..92d73a5ce 100755 --- a/public/java/src/org/broadinstitute/sting/utils/SWPairwiseAlignment.java +++ b/public/java/src/org/broadinstitute/sting/utils/SWPairwiseAlignment.java @@ -24,15 +24,14 @@ package org.broadinstitute.sting.utils; +import net.sf.samtools.Cigar; import net.sf.samtools.CigarElement; import net.sf.samtools.CigarOperator; -import net.sf.samtools.Cigar; - -import java.util.*; - import org.broadinstitute.sting.utils.collections.Pair; import org.broadinstitute.sting.utils.exceptions.StingException; +import java.util.*; + /** * Created by IntelliJ IDEA. * User: asivache diff --git a/public/java/src/org/broadinstitute/sting/utils/SampleUtils.java b/public/java/src/org/broadinstitute/sting/utils/SampleUtils.java index c0370064d..f9997bfd8 100755 --- a/public/java/src/org/broadinstitute/sting/utils/SampleUtils.java +++ b/public/java/src/org/broadinstitute/sting/utils/SampleUtils.java @@ -27,12 +27,12 @@ package org.broadinstitute.sting.utils; import net.sf.samtools.SAMFileHeader; import net.sf.samtools.SAMReadGroupRecord; -import org.broadinstitute.sting.utils.codecs.vcf.VCFHeader; import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; -import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; +import org.broadinstitute.sting.utils.codecs.vcf.VCFHeader; +import org.broadinstitute.sting.utils.codecs.vcf.VCFUtils; import org.broadinstitute.sting.utils.collections.Pair; import org.broadinstitute.sting.utils.text.XReadLines; -import org.broadinstitute.sting.utils.codecs.vcf.VCFUtils; +import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import java.io.File; import java.io.FileNotFoundException; diff --git a/public/java/src/org/broadinstitute/sting/utils/SimpleTimer.java b/public/java/src/org/broadinstitute/sting/utils/SimpleTimer.java index a59c5134a..342087b41 100644 --- a/public/java/src/org/broadinstitute/sting/utils/SimpleTimer.java +++ b/public/java/src/org/broadinstitute/sting/utils/SimpleTimer.java @@ -1,7 +1,10 @@ package org.broadinstitute.sting.utils; +import com.google.java.contract.Ensures; +import com.google.java.contract.Invariant; +import com.google.java.contract.Requires; + import java.io.PrintStream; -import com.google.java.contract.*; /** * A useful simple system for timing code. This code is not thread safe! diff --git a/public/java/src/org/broadinstitute/sting/utils/Utils.java b/public/java/src/org/broadinstitute/sting/utils/Utils.java index 4c13d8b18..6a50badce 100755 --- a/public/java/src/org/broadinstitute/sting/utils/Utils.java +++ b/public/java/src/org/broadinstitute/sting/utils/Utils.java @@ -25,13 +25,12 @@ package org.broadinstitute.sting.utils; -import java.util.*; - import net.sf.samtools.util.StringUtil; - import org.apache.log4j.Logger; import org.broadinstitute.sting.utils.collections.Pair; +import java.util.*; + /** * Created by IntelliJ IDEA. * User: depristo diff --git a/public/java/src/org/broadinstitute/sting/utils/baq/BAQ.java b/public/java/src/org/broadinstitute/sting/utils/baq/BAQ.java index 456f0fa0f..ef7cf751e 100644 --- a/public/java/src/org/broadinstitute/sting/utils/baq/BAQ.java +++ b/public/java/src/org/broadinstitute/sting/utils/baq/BAQ.java @@ -1,10 +1,10 @@ package org.broadinstitute.sting.utils.baq; -import net.sf.samtools.SAMRecord; -import net.sf.samtools.CigarElement; -import net.sf.samtools.CigarOperator; import net.sf.picard.reference.IndexedFastaSequenceFile; import net.sf.picard.reference.ReferenceSequence; +import net.sf.samtools.CigarElement; +import net.sf.samtools.CigarOperator; +import net.sf.samtools.SAMRecord; import org.broadinstitute.sting.utils.collections.Pair; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.UserException; diff --git a/public/java/src/org/broadinstitute/sting/utils/baq/BAQSamIterator.java b/public/java/src/org/broadinstitute/sting/utils/baq/BAQSamIterator.java index 24d4152a5..26356a4a4 100644 --- a/public/java/src/org/broadinstitute/sting/utils/baq/BAQSamIterator.java +++ b/public/java/src/org/broadinstitute/sting/utils/baq/BAQSamIterator.java @@ -2,11 +2,10 @@ package org.broadinstitute.sting.utils.baq; import com.google.java.contract.Ensures; import com.google.java.contract.Requires; -import net.sf.samtools.SAMRecord; import net.sf.picard.reference.IndexedFastaSequenceFile; -import org.broadinstitute.sting.utils.baq.BAQ; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; +import net.sf.samtools.SAMRecord; import org.broadinstitute.sting.gatk.iterators.StingSAMIterator; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import java.util.Iterator; diff --git a/public/java/src/org/broadinstitute/sting/utils/bed/BedParser.java b/public/java/src/org/broadinstitute/sting/utils/bed/BedParser.java index abcae066f..b95165841 100644 --- a/public/java/src/org/broadinstitute/sting/utils/bed/BedParser.java +++ b/public/java/src/org/broadinstitute/sting/utils/bed/BedParser.java @@ -1,11 +1,12 @@ package org.broadinstitute.sting.utils.bed; -import org.broadinstitute.sting.utils.exceptions.UserException; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.GenomeLocParser; +import org.broadinstitute.sting.utils.exceptions.UserException; import java.io.*; -import java.util.*; +import java.util.ArrayList; +import java.util.List; /** * Created by IntelliJ IDEA. diff --git a/public/java/src/org/broadinstitute/sting/utils/classloader/JVMUtils.java b/public/java/src/org/broadinstitute/sting/utils/classloader/JVMUtils.java index 404bd80b6..e65b8f921 100755 --- a/public/java/src/org/broadinstitute/sting/utils/classloader/JVMUtils.java +++ b/public/java/src/org/broadinstitute/sting/utils/classloader/JVMUtils.java @@ -29,9 +29,9 @@ import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.StingException; import org.reflections.util.ClasspathHelper; -import java.lang.reflect.*; import java.io.File; import java.io.IOException; +import java.lang.reflect.*; import java.net.URL; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/utils/clipreads/ClippingOp.java b/public/java/src/org/broadinstitute/sting/utils/clipreads/ClippingOp.java index 95f3e160c..5449906b2 100644 --- a/public/java/src/org/broadinstitute/sting/utils/clipreads/ClippingOp.java +++ b/public/java/src/org/broadinstitute/sting/utils/clipreads/ClippingOp.java @@ -4,9 +4,6 @@ import net.sf.samtools.Cigar; import net.sf.samtools.CigarElement; import net.sf.samtools.CigarOperator; import net.sf.samtools.SAMRecord; -import org.broadinstitute.sting.gatk.walkers.ClipReadsWalker; -import org.broadinstitute.sting.gatk.walkers.Walker; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.sam.ReadUtils; import java.util.Vector; diff --git a/public/java/src/org/broadinstitute/sting/utils/clipreads/ReadClipper.java b/public/java/src/org/broadinstitute/sting/utils/clipreads/ReadClipper.java index 031467ed9..988d297f6 100644 --- a/public/java/src/org/broadinstitute/sting/utils/clipreads/ReadClipper.java +++ b/public/java/src/org/broadinstitute/sting/utils/clipreads/ReadClipper.java @@ -1,7 +1,6 @@ package org.broadinstitute.sting.utils.clipreads; import net.sf.samtools.SAMRecord; -import org.broadinstitute.sting.gatk.walkers.ClipReadsWalker; import java.util.ArrayList; import java.util.List; diff --git a/public/java/src/org/broadinstitute/sting/utils/codecs/completegenomics/CGVarCodec.java b/public/java/src/org/broadinstitute/sting/utils/codecs/completegenomics/CGVarCodec.java index a286ce789..fef6c4ea0 100755 --- a/public/java/src/org/broadinstitute/sting/utils/codecs/completegenomics/CGVarCodec.java +++ b/public/java/src/org/broadinstitute/sting/utils/codecs/completegenomics/CGVarCodec.java @@ -30,7 +30,6 @@ import org.broad.tribble.readers.LineReader; import org.broadinstitute.sting.utils.variantcontext.Allele; import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import java.io.IOException; import java.util.HashMap; import java.util.HashSet; import java.util.regex.Matcher; diff --git a/public/java/src/org/broadinstitute/sting/utils/codecs/soapsnp/SoapSNPCodec.java b/public/java/src/org/broadinstitute/sting/utils/codecs/soapsnp/SoapSNPCodec.java index 618d9ce79..e169dbdfc 100755 --- a/public/java/src/org/broadinstitute/sting/utils/codecs/soapsnp/SoapSNPCodec.java +++ b/public/java/src/org/broadinstitute/sting/utils/codecs/soapsnp/SoapSNPCodec.java @@ -4,11 +4,11 @@ import org.broad.tribble.Feature; import org.broad.tribble.FeatureCodec; import org.broad.tribble.NameAwareCodec; import org.broad.tribble.TribbleException; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.variantcontext.Allele; -import org.broadinstitute.sting.utils.variantcontext.Genotype; import org.broad.tribble.exception.CodecLineParsingException; import org.broad.tribble.readers.LineReader; +import org.broadinstitute.sting.utils.variantcontext.Allele; +import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/utils/codecs/vcf/StandardVCFWriter.java b/public/java/src/org/broadinstitute/sting/utils/codecs/vcf/StandardVCFWriter.java index e7ddac185..b7f4be39a 100755 --- a/public/java/src/org/broadinstitute/sting/utils/codecs/vcf/StandardVCFWriter.java +++ b/public/java/src/org/broadinstitute/sting/utils/codecs/vcf/StandardVCFWriter.java @@ -33,13 +33,13 @@ import org.broad.tribble.util.LittleEndianOutputStream; import org.broad.tribble.util.ParsingUtils; import org.broad.tribble.util.PositionalStream; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.utils.variantcontext.Allele; import org.broadinstitute.sting.utils.variantcontext.Genotype; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.io.*; -import java.util.*; import java.lang.reflect.Array; +import java.util.*; /** * this class writes VCF files diff --git a/public/java/src/org/broadinstitute/sting/utils/codecs/vcf/VCFParser.java b/public/java/src/org/broadinstitute/sting/utils/codecs/vcf/VCFParser.java index dac996494..1dba351e2 100755 --- a/public/java/src/org/broadinstitute/sting/utils/codecs/vcf/VCFParser.java +++ b/public/java/src/org/broadinstitute/sting/utils/codecs/vcf/VCFParser.java @@ -2,7 +2,9 @@ package org.broadinstitute.sting.utils.codecs.vcf; import org.broadinstitute.sting.utils.variantcontext.Allele; import org.broadinstitute.sting.utils.variantcontext.Genotype; -import java.util.*; + +import java.util.List; +import java.util.Map; /** diff --git a/public/java/src/org/broadinstitute/sting/utils/codecs/vcf/VCFUtils.java b/public/java/src/org/broadinstitute/sting/utils/codecs/vcf/VCFUtils.java index 4037f75b9..f43891e77 100755 --- a/public/java/src/org/broadinstitute/sting/utils/codecs/vcf/VCFUtils.java +++ b/public/java/src/org/broadinstitute/sting/utils/codecs/vcf/VCFUtils.java @@ -25,10 +25,10 @@ package org.broadinstitute.sting.utils.codecs.vcf; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; +import org.apache.log4j.Logger; import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; import org.broadinstitute.sting.gatk.datasources.rmd.ReferenceOrderedDataSource; -import org.apache.log4j.Logger; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/utils/collections/NestedHashMap.java b/public/java/src/org/broadinstitute/sting/utils/collections/NestedHashMap.java index a36ed9ac6..d280ac804 100755 --- a/public/java/src/org/broadinstitute/sting/utils/collections/NestedHashMap.java +++ b/public/java/src/org/broadinstitute/sting/utils/collections/NestedHashMap.java @@ -25,7 +25,8 @@ package org.broadinstitute.sting.utils.collections; -import java.util.*; +import java.util.HashMap; +import java.util.Map; /** * Created by IntelliJ IDEA. diff --git a/public/java/src/org/broadinstitute/sting/utils/collections/RODMergingIterator.java b/public/java/src/org/broadinstitute/sting/utils/collections/RODMergingIterator.java index 3a731c2fd..6d6cb8272 100644 --- a/public/java/src/org/broadinstitute/sting/utils/collections/RODMergingIterator.java +++ b/public/java/src/org/broadinstitute/sting/utils/collections/RODMergingIterator.java @@ -27,10 +27,13 @@ package org.broadinstitute.sting.utils.collections; import org.broadinstitute.sting.gatk.refdata.utils.LocationAwareSeekableRODIterator; import org.broadinstitute.sting.gatk.refdata.utils.RODRecordList; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.GenomeLoc; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import java.util.*; +import java.util.Collection; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.PriorityQueue; public class RODMergingIterator implements Iterator, Iterable { PriorityQueue queue = new PriorityQueue(); diff --git a/public/java/src/org/broadinstitute/sting/utils/duplicates/DupUtils.java b/public/java/src/org/broadinstitute/sting/utils/duplicates/DupUtils.java index 41de5ef96..bba47c76c 100644 --- a/public/java/src/org/broadinstitute/sting/utils/duplicates/DupUtils.java +++ b/public/java/src/org/broadinstitute/sting/utils/duplicates/DupUtils.java @@ -26,15 +26,18 @@ package org.broadinstitute.sting.utils.duplicates; import net.sf.samtools.SAMRecord; -import org.broadinstitute.sting.utils.*; +import org.broadinstitute.sting.utils.BaseUtils; +import org.broadinstitute.sting.utils.GenomeLoc; +import org.broadinstitute.sting.utils.GenomeLocParser; +import org.broadinstitute.sting.utils.QualityUtils; import org.broadinstitute.sting.utils.collections.Pair; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; import org.broadinstitute.sting.utils.pileup.PileupElement; +import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; import org.broadinstitute.sting.utils.pileup.ReadBackedPileupImpl; -import java.util.List; import java.util.Arrays; +import java.util.List; public class DupUtils { private static SAMRecord tmpCopyRead(SAMRecord read) { diff --git a/public/java/src/org/broadinstitute/sting/utils/exceptions/UserException.java b/public/java/src/org/broadinstitute/sting/utils/exceptions/UserException.java index 17c4a7df4..7eab6f6c9 100755 --- a/public/java/src/org/broadinstitute/sting/utils/exceptions/UserException.java +++ b/public/java/src/org/broadinstitute/sting/utils/exceptions/UserException.java @@ -28,9 +28,8 @@ import net.sf.samtools.SAMFileHeader; import net.sf.samtools.SAMRecord; import net.sf.samtools.SAMSequenceDictionary; import net.sf.samtools.SAMSequenceRecord; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.variantcontext.VariantContextUtils; import org.broadinstitute.sting.utils.GenomeLoc; +import org.broadinstitute.sting.utils.variantcontext.VariantContext; import java.io.File; import java.util.Arrays; diff --git a/public/java/src/org/broadinstitute/sting/utils/fasta/CachingIndexedFastaSequenceFile.java b/public/java/src/org/broadinstitute/sting/utils/fasta/CachingIndexedFastaSequenceFile.java index 0c5085cc7..43ef4aa74 100644 --- a/public/java/src/org/broadinstitute/sting/utils/fasta/CachingIndexedFastaSequenceFile.java +++ b/public/java/src/org/broadinstitute/sting/utils/fasta/CachingIndexedFastaSequenceFile.java @@ -25,15 +25,16 @@ package org.broadinstitute.sting.utils.fasta; import net.sf.picard.PicardException; -import net.sf.picard.reference.*; +import net.sf.picard.reference.FastaSequenceIndex; +import net.sf.picard.reference.IndexedFastaSequenceFile; +import net.sf.picard.reference.ReferenceSequence; import net.sf.samtools.SAMSequenceRecord; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import java.io.File; import java.io.FileNotFoundException; import java.util.Arrays; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; - /** * A caching version of the IndexedFastaSequenceFile that avoids going to disk as often as the raw indexer. * diff --git a/public/java/src/org/broadinstitute/sting/utils/genotype/DiploidGenotype.java b/public/java/src/org/broadinstitute/sting/utils/genotype/DiploidGenotype.java index cbfba848c..1c2cfe2e1 100755 --- a/public/java/src/org/broadinstitute/sting/utils/genotype/DiploidGenotype.java +++ b/public/java/src/org/broadinstitute/sting/utils/genotype/DiploidGenotype.java @@ -26,7 +26,6 @@ package org.broadinstitute.sting.utils.genotype; import org.broadinstitute.sting.utils.BaseUtils; -import org.broadinstitute.sting.utils.MathUtils; /** * Created by IntelliJ IDEA. diff --git a/public/java/src/org/broadinstitute/sting/utils/genotype/Haplotype.java b/public/java/src/org/broadinstitute/sting/utils/genotype/Haplotype.java index 31791e805..a17e81461 100755 --- a/public/java/src/org/broadinstitute/sting/utils/genotype/Haplotype.java +++ b/public/java/src/org/broadinstitute/sting/utils/genotype/Haplotype.java @@ -24,14 +24,14 @@ package org.broadinstitute.sting.utils.genotype; -import org.broadinstitute.sting.utils.variantcontext.Allele; -import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.utils.GenomeLoc; -import org.broadinstitute.sting.utils.GenomeLocParser; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; +import org.broadinstitute.sting.utils.variantcontext.Allele; -import java.util.*; +import java.util.Arrays; +import java.util.LinkedHashMap; +import java.util.List; public class Haplotype { protected byte[] bases = null; diff --git a/public/java/src/org/broadinstitute/sting/utils/help/ApplicationDetails.java b/public/java/src/org/broadinstitute/sting/utils/help/ApplicationDetails.java index d9e74640f..483c874dc 100644 --- a/public/java/src/org/broadinstitute/sting/utils/help/ApplicationDetails.java +++ b/public/java/src/org/broadinstitute/sting/utils/help/ApplicationDetails.java @@ -25,13 +25,13 @@ package org.broadinstitute.sting.utils.help; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import org.broadinstitute.sting.utils.classloader.JVMUtils; import org.broadinstitute.sting.commandline.CommandLineProgram; +import org.broadinstitute.sting.utils.classloader.JVMUtils; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import java.util.List; -import java.util.Collections; import java.io.IOException; +import java.util.Collections; +import java.util.List; /** * Contains details additional details that the program can diff --git a/public/java/src/org/broadinstitute/sting/utils/help/DescriptionTaglet.java b/public/java/src/org/broadinstitute/sting/utils/help/DescriptionTaglet.java index 68633a2b3..65c332048 100644 --- a/public/java/src/org/broadinstitute/sting/utils/help/DescriptionTaglet.java +++ b/public/java/src/org/broadinstitute/sting/utils/help/DescriptionTaglet.java @@ -1,7 +1,6 @@ package org.broadinstitute.sting.utils.help; import com.sun.tools.doclets.Taglet; -import com.sun.javadoc.Tag; import java.util.Map; diff --git a/public/java/src/org/broadinstitute/sting/utils/help/DisplayNameTaglet.java b/public/java/src/org/broadinstitute/sting/utils/help/DisplayNameTaglet.java index be6f7f3eb..6c6dad736 100644 --- a/public/java/src/org/broadinstitute/sting/utils/help/DisplayNameTaglet.java +++ b/public/java/src/org/broadinstitute/sting/utils/help/DisplayNameTaglet.java @@ -1,7 +1,6 @@ package org.broadinstitute.sting.utils.help; import com.sun.tools.doclets.Taglet; -import com.sun.javadoc.Tag; import java.util.Map; diff --git a/public/java/src/org/broadinstitute/sting/utils/help/HelpFormatter.java b/public/java/src/org/broadinstitute/sting/utils/help/HelpFormatter.java index 493f26e76..a9d71ef98 100755 --- a/public/java/src/org/broadinstitute/sting/utils/help/HelpFormatter.java +++ b/public/java/src/org/broadinstitute/sting/utils/help/HelpFormatter.java @@ -25,22 +25,16 @@ package org.broadinstitute.sting.utils.help; +import org.apache.log4j.Logger; import org.broadinstitute.sting.commandline.ArgumentDefinition; import org.broadinstitute.sting.commandline.ArgumentDefinitionGroup; import org.broadinstitute.sting.commandline.ArgumentDefinitions; -import org.broadinstitute.sting.utils.text.TextFormattingUtils; import org.broadinstitute.sting.utils.Utils; -import org.apache.log4j.Logger; +import org.broadinstitute.sting.utils.text.TextFormattingUtils; -import java.util.Formatter; -import java.util.List; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.Comparator; -import java.util.Collection; -import java.util.Collections; import java.text.DateFormat; import java.text.SimpleDateFormat; +import java.util.*; /** * Print out help for Sting command-line applications. */ diff --git a/public/java/src/org/broadinstitute/sting/utils/help/HelpTaglet.java b/public/java/src/org/broadinstitute/sting/utils/help/HelpTaglet.java index b962664eb..b350b1a29 100644 --- a/public/java/src/org/broadinstitute/sting/utils/help/HelpTaglet.java +++ b/public/java/src/org/broadinstitute/sting/utils/help/HelpTaglet.java @@ -1,9 +1,7 @@ package org.broadinstitute.sting.utils.help; -import com.sun.tools.doclets.Taglet; import com.sun.javadoc.Tag; - -import java.util.Map; +import com.sun.tools.doclets.Taglet; /** * Basic functionality for the help taglet. diff --git a/public/java/src/org/broadinstitute/sting/utils/help/ResourceBundleExtractorDoclet.java b/public/java/src/org/broadinstitute/sting/utils/help/ResourceBundleExtractorDoclet.java index 4afac69c3..6ee12d42e 100644 --- a/public/java/src/org/broadinstitute/sting/utils/help/ResourceBundleExtractorDoclet.java +++ b/public/java/src/org/broadinstitute/sting/utils/help/ResourceBundleExtractorDoclet.java @@ -26,14 +26,16 @@ package org.broadinstitute.sting.utils.help; import com.sun.javadoc.*; +import org.broadinstitute.sting.gatk.walkers.Walker; +import org.broadinstitute.sting.utils.Utils; +import org.broadinstitute.sting.utils.classloader.JVMUtils; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import java.io.*; -import java.util.*; - -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import org.broadinstitute.sting.utils.classloader.JVMUtils; -import org.broadinstitute.sting.utils.Utils; -import org.broadinstitute.sting.gatk.walkers.Walker; +import java.util.HashSet; +import java.util.Properties; +import java.util.Scanner; +import java.util.Set; /** * Extracts certain types of javadoc (specifically package and class descriptions) and makes them available diff --git a/public/java/src/org/broadinstitute/sting/utils/help/SummaryTaglet.java b/public/java/src/org/broadinstitute/sting/utils/help/SummaryTaglet.java index 036bbec4f..db8b55940 100644 --- a/public/java/src/org/broadinstitute/sting/utils/help/SummaryTaglet.java +++ b/public/java/src/org/broadinstitute/sting/utils/help/SummaryTaglet.java @@ -1,7 +1,6 @@ package org.broadinstitute.sting.utils.help; import com.sun.tools.doclets.Taglet; -import com.sun.javadoc.Tag; import java.util.Map; diff --git a/public/java/src/org/broadinstitute/sting/utils/instrumentation/Sizeof.java b/public/java/src/org/broadinstitute/sting/utils/instrumentation/Sizeof.java index 3420c9876..73a29ba4f 100644 --- a/public/java/src/org/broadinstitute/sting/utils/instrumentation/Sizeof.java +++ b/public/java/src/org/broadinstitute/sting/utils/instrumentation/Sizeof.java @@ -27,9 +27,9 @@ package org.broadinstitute.sting.utils.instrumentation; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import java.lang.instrument.Instrumentation; +import java.lang.reflect.Array; import java.lang.reflect.Field; import java.lang.reflect.Modifier; -import java.lang.reflect.Array; import java.util.IdentityHashMap; /** diff --git a/public/java/src/org/broadinstitute/sting/utils/interval/IntervalFileMergingIterator.java b/public/java/src/org/broadinstitute/sting/utils/interval/IntervalFileMergingIterator.java index e722ac196..988240ef9 100644 --- a/public/java/src/org/broadinstitute/sting/utils/interval/IntervalFileMergingIterator.java +++ b/public/java/src/org/broadinstitute/sting/utils/interval/IntervalFileMergingIterator.java @@ -25,16 +25,16 @@ package org.broadinstitute.sting.utils.interval; +import org.broadinstitute.sting.gatk.iterators.PushbackIterator; +import org.broadinstitute.sting.gatk.refdata.utils.StringToGenomeLocIteratorAdapter; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.GenomeLocParser; import org.broadinstitute.sting.utils.exceptions.UserException; import org.broadinstitute.sting.utils.text.XReadLines; -import org.broadinstitute.sting.gatk.iterators.PushbackIterator; -import org.broadinstitute.sting.gatk.refdata.utils.StringToGenomeLocIteratorAdapter; -import java.util.Iterator; import java.io.File; import java.io.FileNotFoundException; +import java.util.Iterator; /** * Created by IntelliJ IDEA. diff --git a/public/java/src/org/broadinstitute/sting/utils/interval/IntervalUtils.java b/public/java/src/org/broadinstitute/sting/utils/interval/IntervalUtils.java index 80dc35455..f551e1368 100644 --- a/public/java/src/org/broadinstitute/sting/utils/interval/IntervalUtils.java +++ b/public/java/src/org/broadinstitute/sting/utils/interval/IntervalUtils.java @@ -5,17 +5,17 @@ import net.sf.picard.util.IntervalList; import net.sf.samtools.SAMFileHeader; import org.apache.log4j.Logger; import org.broadinstitute.sting.gatk.datasources.reference.ReferenceDataSource; -import org.broadinstitute.sting.utils.GenomeLocSortedSet; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.GenomeLocParser; +import org.broadinstitute.sting.utils.GenomeLocSortedSet; import org.broadinstitute.sting.utils.bed.BedParser; import org.broadinstitute.sting.utils.collections.Pair; import org.broadinstitute.sting.utils.exceptions.UserException; import org.broadinstitute.sting.utils.text.XReadLines; +import java.io.File; import java.io.IOException; import java.util.*; -import java.io.File; /** * Parse text representations of interval strings that diff --git a/public/java/src/org/broadinstitute/sting/utils/interval/NwayIntervalMergingIterator.java b/public/java/src/org/broadinstitute/sting/utils/interval/NwayIntervalMergingIterator.java index 31a2f41fb..7e87ce8b5 100644 --- a/public/java/src/org/broadinstitute/sting/utils/interval/NwayIntervalMergingIterator.java +++ b/public/java/src/org/broadinstitute/sting/utils/interval/NwayIntervalMergingIterator.java @@ -26,11 +26,10 @@ package org.broadinstitute.sting.utils.interval; import org.broadinstitute.sting.utils.GenomeLoc; -import org.broadinstitute.sting.utils.exceptions.StingException; import org.broadinstitute.sting.utils.exceptions.UserException; -import java.util.PriorityQueue; import java.util.Iterator; +import java.util.PriorityQueue; /** * Created by IntelliJ IDEA. diff --git a/public/java/src/org/broadinstitute/sting/utils/interval/OverlappingIntervalIterator.java b/public/java/src/org/broadinstitute/sting/utils/interval/OverlappingIntervalIterator.java index 0b63d582e..29ffb13e4 100755 --- a/public/java/src/org/broadinstitute/sting/utils/interval/OverlappingIntervalIterator.java +++ b/public/java/src/org/broadinstitute/sting/utils/interval/OverlappingIntervalIterator.java @@ -25,9 +25,8 @@ package org.broadinstitute.sting.utils.interval; -import org.broadinstitute.sting.utils.GenomeLoc; -import org.broadinstitute.sting.utils.GenomeLocSortedSet; import org.broadinstitute.sting.gatk.iterators.PushbackIterator; +import org.broadinstitute.sting.utils.GenomeLoc; import java.util.Iterator; diff --git a/public/java/src/org/broadinstitute/sting/utils/pileup/AbstractReadBackedPileup.java b/public/java/src/org/broadinstitute/sting/utils/pileup/AbstractReadBackedPileup.java index 543302446..3821c9c8a 100644 --- a/public/java/src/org/broadinstitute/sting/utils/pileup/AbstractReadBackedPileup.java +++ b/public/java/src/org/broadinstitute/sting/utils/pileup/AbstractReadBackedPileup.java @@ -24,19 +24,16 @@ package org.broadinstitute.sting.utils.pileup; +import net.sf.samtools.SAMRecord; import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; import org.broadinstitute.sting.gatk.datasources.sample.Sample; -import org.broadinstitute.sting.utils.HasGenomeLocation; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.BaseUtils; -import org.broadinstitute.sting.gatk.iterators.IterableIterator; +import org.broadinstitute.sting.utils.GenomeLoc; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; +import org.broadinstitute.sting.utils.exceptions.StingException; import java.util.*; -import net.sf.samtools.SAMRecord; -import org.broadinstitute.sting.utils.exceptions.StingException; - /** * A generic implementation of read-backed pileups. * diff --git a/public/java/src/org/broadinstitute/sting/utils/pileup/ExtendedEventPileupElement.java b/public/java/src/org/broadinstitute/sting/utils/pileup/ExtendedEventPileupElement.java index b6f3e9f09..26e66014c 100644 --- a/public/java/src/org/broadinstitute/sting/utils/pileup/ExtendedEventPileupElement.java +++ b/public/java/src/org/broadinstitute/sting/utils/pileup/ExtendedEventPileupElement.java @@ -1,8 +1,5 @@ package org.broadinstitute.sting.utils.pileup; -import org.broadinstitute.sting.utils.GenomeLoc; -import org.broadinstitute.sting.utils.GenomeLocParser; -import org.broadinstitute.sting.utils.BaseUtils; import net.sf.samtools.SAMRecord; import java.util.Arrays; diff --git a/public/java/src/org/broadinstitute/sting/utils/pileup/FragmentPileup.java b/public/java/src/org/broadinstitute/sting/utils/pileup/FragmentPileup.java index 6c855c1c7..f7d237401 100644 --- a/public/java/src/org/broadinstitute/sting/utils/pileup/FragmentPileup.java +++ b/public/java/src/org/broadinstitute/sting/utils/pileup/FragmentPileup.java @@ -1,6 +1,9 @@ package org.broadinstitute.sting.utils.pileup; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; /** * An easy to access fragment-based pileup, which contains two separate pileups. The first diff --git a/public/java/src/org/broadinstitute/sting/utils/pileup/MergingPileupElementIterator.java b/public/java/src/org/broadinstitute/sting/utils/pileup/MergingPileupElementIterator.java index d8af2ea8f..7005cf869 100644 --- a/public/java/src/org/broadinstitute/sting/utils/pileup/MergingPileupElementIterator.java +++ b/public/java/src/org/broadinstitute/sting/utils/pileup/MergingPileupElementIterator.java @@ -27,9 +27,9 @@ package org.broadinstitute.sting.utils.pileup; import net.sf.picard.util.PeekableIterator; import org.broadinstitute.sting.gatk.datasources.sample.Sample; -import java.util.PriorityQueue; import java.util.Comparator; import java.util.Iterator; +import java.util.PriorityQueue; /** * Merges multiple pileups broken down by sample. diff --git a/public/java/src/org/broadinstitute/sting/utils/pileup/PileupElement.java b/public/java/src/org/broadinstitute/sting/utils/pileup/PileupElement.java index 51e02bf74..66e1afecb 100755 --- a/public/java/src/org/broadinstitute/sting/utils/pileup/PileupElement.java +++ b/public/java/src/org/broadinstitute/sting/utils/pileup/PileupElement.java @@ -1,9 +1,10 @@ package org.broadinstitute.sting.utils.pileup; -import org.broadinstitute.sting.utils.*; +import com.google.java.contract.Ensures; +import com.google.java.contract.Requires; import net.sf.samtools.SAMRecord; +import org.broadinstitute.sting.utils.BaseUtils; import org.broadinstitute.sting.utils.sam.ReadUtils; -import com.google.java.contract.*; /** * Created by IntelliJ IDEA. diff --git a/public/java/src/org/broadinstitute/sting/utils/pileup/ReadBackedExtendedEventPileup.java b/public/java/src/org/broadinstitute/sting/utils/pileup/ReadBackedExtendedEventPileup.java index a32aa5645..8d43a368a 100644 --- a/public/java/src/org/broadinstitute/sting/utils/pileup/ReadBackedExtendedEventPileup.java +++ b/public/java/src/org/broadinstitute/sting/utils/pileup/ReadBackedExtendedEventPileup.java @@ -24,15 +24,13 @@ package org.broadinstitute.sting.utils.pileup; +import net.sf.samtools.SAMRecord; import org.broadinstitute.sting.gatk.datasources.sample.Sample; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.collections.Pair; -import java.util.Iterator; -import java.util.List; import java.util.Collection; - -import net.sf.samtools.SAMRecord; +import java.util.List; /** * A clean interface for working with extended event pileups. diff --git a/public/java/src/org/broadinstitute/sting/utils/pileup/ReadBackedExtendedEventPileupImpl.java b/public/java/src/org/broadinstitute/sting/utils/pileup/ReadBackedExtendedEventPileupImpl.java index a1a08c95f..31d29430a 100644 --- a/public/java/src/org/broadinstitute/sting/utils/pileup/ReadBackedExtendedEventPileupImpl.java +++ b/public/java/src/org/broadinstitute/sting/utils/pileup/ReadBackedExtendedEventPileupImpl.java @@ -23,15 +23,14 @@ */ package org.broadinstitute.sting.utils.pileup; +import net.sf.samtools.SAMRecord; import org.broadinstitute.sting.gatk.datasources.sample.Sample; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.collections.Pair; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import java.util.*; -import net.sf.samtools.SAMRecord; - public class ReadBackedExtendedEventPileupImpl extends AbstractReadBackedPileup implements ReadBackedExtendedEventPileup { private int nInsertions; private int maxDeletionLength; // cached value of the length of the longest deletion observed at the site diff --git a/public/java/src/org/broadinstitute/sting/utils/pileup/ReadBackedPileup.java b/public/java/src/org/broadinstitute/sting/utils/pileup/ReadBackedPileup.java index c52cc0b52..36b8a8c65 100644 --- a/public/java/src/org/broadinstitute/sting/utils/pileup/ReadBackedPileup.java +++ b/public/java/src/org/broadinstitute/sting/utils/pileup/ReadBackedPileup.java @@ -24,14 +24,13 @@ package org.broadinstitute.sting.utils.pileup; +import net.sf.samtools.SAMRecord; import org.broadinstitute.sting.gatk.datasources.sample.Sample; import org.broadinstitute.sting.utils.GenomeLoc; -import org.broadinstitute.sting.gatk.iterators.IterableIterator; -import net.sf.samtools.SAMRecord; import org.broadinstitute.sting.utils.HasGenomeLocation; -import java.util.List; import java.util.Collection; +import java.util.List; /** * A data retrieval interface for accessing parts of the pileup. diff --git a/public/java/src/org/broadinstitute/sting/utils/pileup/ReadBackedPileupImpl.java b/public/java/src/org/broadinstitute/sting/utils/pileup/ReadBackedPileupImpl.java index 70eba577c..e5b054961 100644 --- a/public/java/src/org/broadinstitute/sting/utils/pileup/ReadBackedPileupImpl.java +++ b/public/java/src/org/broadinstitute/sting/utils/pileup/ReadBackedPileupImpl.java @@ -23,9 +23,9 @@ */ package org.broadinstitute.sting.utils.pileup; +import net.sf.samtools.SAMRecord; import org.broadinstitute.sting.gatk.datasources.sample.Sample; import org.broadinstitute.sting.utils.GenomeLoc; -import net.sf.samtools.SAMRecord; import java.util.List; import java.util.Map; diff --git a/public/java/src/org/broadinstitute/sting/utils/sam/AlignmentUtils.java b/public/java/src/org/broadinstitute/sting/utils/sam/AlignmentUtils.java index 4e4294b20..344eccb83 100644 --- a/public/java/src/org/broadinstitute/sting/utils/sam/AlignmentUtils.java +++ b/public/java/src/org/broadinstitute/sting/utils/sam/AlignmentUtils.java @@ -25,15 +25,16 @@ package org.broadinstitute.sting.utils.sam; -import net.sf.samtools.CigarOperator; -import net.sf.samtools.SAMRecord; import net.sf.samtools.Cigar; import net.sf.samtools.CigarElement; +import net.sf.samtools.CigarOperator; +import net.sf.samtools.SAMRecord; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.utils.BaseUtils; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import org.broadinstitute.sting.utils.pileup.*; import org.broadinstitute.sting.utils.Utils; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; +import org.broadinstitute.sting.utils.pileup.PileupElement; +import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; import java.util.ArrayList; import java.util.Arrays; diff --git a/public/java/src/org/broadinstitute/sting/utils/sam/ArtificialReadsTraversal.java b/public/java/src/org/broadinstitute/sting/utils/sam/ArtificialReadsTraversal.java index 5812c9aec..5f7db458a 100644 --- a/public/java/src/org/broadinstitute/sting/utils/sam/ArtificialReadsTraversal.java +++ b/public/java/src/org/broadinstitute/sting/utils/sam/ArtificialReadsTraversal.java @@ -1,15 +1,13 @@ package org.broadinstitute.sting.utils.sam; -import org.broadinstitute.sting.gatk.traversals.TraversalEngine; -import org.broadinstitute.sting.gatk.walkers.Walker; -import org.broadinstitute.sting.gatk.walkers.ReadWalker; -import org.broadinstitute.sting.gatk.datasources.providers.ShardDataProvider; -import org.broadinstitute.sting.gatk.contexts.AlignmentContext; -import org.broadinstitute.sting.gatk.contexts.ReferenceContext; -import org.apache.log4j.Logger; - -import net.sf.samtools.SAMRecord; import net.sf.samtools.SAMFileHeader; +import net.sf.samtools.SAMRecord; +import org.apache.log4j.Logger; +import org.broadinstitute.sting.gatk.contexts.ReferenceContext; +import org.broadinstitute.sting.gatk.datasources.providers.ShardDataProvider; +import org.broadinstitute.sting.gatk.traversals.TraversalEngine; +import org.broadinstitute.sting.gatk.walkers.ReadWalker; +import org.broadinstitute.sting.gatk.walkers.Walker; /* diff --git a/public/java/src/org/broadinstitute/sting/utils/sam/ArtificialSAMFileReader.java b/public/java/src/org/broadinstitute/sting/utils/sam/ArtificialSAMFileReader.java index ce6ca570c..adf60b16b 100644 --- a/public/java/src/org/broadinstitute/sting/utils/sam/ArtificialSAMFileReader.java +++ b/public/java/src/org/broadinstitute/sting/utils/sam/ArtificialSAMFileReader.java @@ -1,15 +1,17 @@ package org.broadinstitute.sting.utils.sam; import net.sf.samtools.*; - -import java.io.InputStream; -import java.io.ByteArrayInputStream; -import java.io.UnsupportedEncodingException; -import java.util.*; - -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.GenomeLocParser; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; + +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.io.UnsupportedEncodingException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Iterator; +import java.util.List; /** * User: hanna * Date: Jun 11, 2009 diff --git a/public/java/src/org/broadinstitute/sting/utils/sam/ArtificialSAMIterator.java b/public/java/src/org/broadinstitute/sting/utils/sam/ArtificialSAMIterator.java index b683f5247..62e371bc0 100644 --- a/public/java/src/org/broadinstitute/sting/utils/sam/ArtificialSAMIterator.java +++ b/public/java/src/org/broadinstitute/sting/utils/sam/ArtificialSAMIterator.java @@ -1,9 +1,8 @@ package org.broadinstitute.sting.utils.sam; -import org.broadinstitute.sting.gatk.iterators.StingSAMIterator; -import org.broadinstitute.sting.gatk.ReadProperties; -import net.sf.samtools.SAMRecord; import net.sf.samtools.SAMFileHeader; +import net.sf.samtools.SAMRecord; +import org.broadinstitute.sting.gatk.iterators.StingSAMIterator; import java.util.Iterator; diff --git a/public/java/src/org/broadinstitute/sting/utils/sam/ArtificialSAMQueryIterator.java b/public/java/src/org/broadinstitute/sting/utils/sam/ArtificialSAMQueryIterator.java index 4f5dcca61..2b359fe6a 100644 --- a/public/java/src/org/broadinstitute/sting/utils/sam/ArtificialSAMQueryIterator.java +++ b/public/java/src/org/broadinstitute/sting/utils/sam/ArtificialSAMQueryIterator.java @@ -1,13 +1,12 @@ package org.broadinstitute.sting.utils.sam; import net.sf.samtools.SAMFileHeader; -import net.sf.samtools.SAMSequenceRecord; import net.sf.samtools.SAMRecord; +import net.sf.samtools.SAMSequenceRecord; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import java.util.List; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; - /* * Copyright (c) 2009 The Broad Institute diff --git a/public/java/src/org/broadinstitute/sting/utils/sam/ComparableSAMRecord.java b/public/java/src/org/broadinstitute/sting/utils/sam/ComparableSAMRecord.java index 01f1dfe96..31deb7535 100755 --- a/public/java/src/org/broadinstitute/sting/utils/sam/ComparableSAMRecord.java +++ b/public/java/src/org/broadinstitute/sting/utils/sam/ComparableSAMRecord.java @@ -26,8 +26,6 @@ package org.broadinstitute.sting.utils.sam; import net.sf.samtools.SAMRecord; -import org.broadinstitute.sting.utils.GenomeLoc; -import org.broadinstitute.sting.utils.GenomeLocParser; public class ComparableSAMRecord implements Comparable { diff --git a/public/java/src/org/broadinstitute/sting/utils/sam/GATKSAMReadGroupRecord.java b/public/java/src/org/broadinstitute/sting/utils/sam/GATKSAMReadGroupRecord.java index 2b8ac387c..c7ffcab0c 100755 --- a/public/java/src/org/broadinstitute/sting/utils/sam/GATKSAMReadGroupRecord.java +++ b/public/java/src/org/broadinstitute/sting/utils/sam/GATKSAMReadGroupRecord.java @@ -1,6 +1,6 @@ package org.broadinstitute.sting.utils.sam; -import net.sf.samtools.*; +import net.sf.samtools.SAMReadGroupRecord; /** * @author ebanks diff --git a/public/java/src/org/broadinstitute/sting/utils/sam/GATKSAMRecord.java b/public/java/src/org/broadinstitute/sting/utils/sam/GATKSAMRecord.java index f3d9edab9..517f9f75d 100755 --- a/public/java/src/org/broadinstitute/sting/utils/sam/GATKSAMRecord.java +++ b/public/java/src/org/broadinstitute/sting/utils/sam/GATKSAMRecord.java @@ -1,12 +1,14 @@ package org.broadinstitute.sting.utils.sam; -import java.lang.reflect.Method; -import java.util.*; - import net.sf.samtools.*; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.UserException; +import java.lang.reflect.Method; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + /** * @author ebanks * GATKSAMRecord diff --git a/public/java/src/org/broadinstitute/sting/utils/sam/ReadUtils.java b/public/java/src/org/broadinstitute/sting/utils/sam/ReadUtils.java index 080762039..6c15910b1 100644 --- a/public/java/src/org/broadinstitute/sting/utils/sam/ReadUtils.java +++ b/public/java/src/org/broadinstitute/sting/utils/sam/ReadUtils.java @@ -25,13 +25,14 @@ package org.broadinstitute.sting.utils.sam; -import com.google.java.contract.*; +import com.google.java.contract.Ensures; +import com.google.java.contract.Requires; import net.sf.samtools.*; import org.broadinstitute.sting.utils.collections.Pair; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import java.util.*; import java.io.File; +import java.util.*; /** * A miscellaneous collection of utilities for working with SAM files, headers, etc. diff --git a/public/java/src/org/broadinstitute/sting/utils/sam/SAMFileReaderBuilder.java b/public/java/src/org/broadinstitute/sting/utils/sam/SAMFileReaderBuilder.java index f8a0ca6a7..bb9db5d98 100644 --- a/public/java/src/org/broadinstitute/sting/utils/sam/SAMFileReaderBuilder.java +++ b/public/java/src/org/broadinstitute/sting/utils/sam/SAMFileReaderBuilder.java @@ -26,11 +26,10 @@ package org.broadinstitute.sting.utils.sam; import net.sf.samtools.SAMFileReader; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import java.io.File; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; - /** * Allows the user to steadily accumulate information about what * components go into a SAM file writer, ultimately using this diff --git a/public/java/src/org/broadinstitute/sting/utils/sam/SimplifyingSAMFileWriter.java b/public/java/src/org/broadinstitute/sting/utils/sam/SimplifyingSAMFileWriter.java index df2010e8b..60e1d9948 100644 --- a/public/java/src/org/broadinstitute/sting/utils/sam/SimplifyingSAMFileWriter.java +++ b/public/java/src/org/broadinstitute/sting/utils/sam/SimplifyingSAMFileWriter.java @@ -3,13 +3,6 @@ package org.broadinstitute.sting.utils.sam; import net.sf.samtools.SAMFileHeader; import net.sf.samtools.SAMFileWriter; import net.sf.samtools.SAMRecord; -import org.broadinstitute.sting.gatk.iterators.StingSAMIterator; -import org.broadinstitute.sting.utils.GenomeLoc; -import org.broadinstitute.sting.utils.GenomeLocParser; -import org.broadinstitute.sting.utils.exceptions.UserException; - -import java.util.Iterator; -import java.util.NoSuchElementException; /** * XXX diff --git a/public/java/src/org/broadinstitute/sting/utils/text/ListFileUtils.java b/public/java/src/org/broadinstitute/sting/utils/text/ListFileUtils.java index 9beb7895b..f6aa882ad 100644 --- a/public/java/src/org/broadinstitute/sting/utils/text/ListFileUtils.java +++ b/public/java/src/org/broadinstitute/sting/utils/text/ListFileUtils.java @@ -26,7 +26,6 @@ package org.broadinstitute.sting.utils.text; import org.broadinstitute.sting.commandline.ParsingEngine; import org.broadinstitute.sting.commandline.Tags; -import org.broadinstitute.sting.gatk.arguments.GATKArgumentCollection; import org.broadinstitute.sting.gatk.datasources.reads.SAMReaderID; import org.broadinstitute.sting.gatk.refdata.utils.RMDTriplet; import org.broadinstitute.sting.gatk.refdata.utils.helpers.DbSNPHelper; diff --git a/public/java/src/org/broadinstitute/sting/utils/text/TextFormattingUtils.java b/public/java/src/org/broadinstitute/sting/utils/text/TextFormattingUtils.java index 803d6ac0f..1d4251542 100644 --- a/public/java/src/org/broadinstitute/sting/utils/text/TextFormattingUtils.java +++ b/public/java/src/org/broadinstitute/sting/utils/text/TextFormattingUtils.java @@ -28,11 +28,11 @@ package org.broadinstitute.sting.utils.text; import org.apache.log4j.Logger; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import java.util.*; -import java.util.regex.Pattern; -import java.util.regex.Matcher; -import java.io.StringReader; import java.io.IOException; +import java.io.StringReader; +import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; /** * Common utilities for dealing with text formatting. diff --git a/public/java/src/org/broadinstitute/sting/utils/text/XReadLines.java b/public/java/src/org/broadinstitute/sting/utils/text/XReadLines.java index 064256388..52b6f3b01 100644 --- a/public/java/src/org/broadinstitute/sting/utils/text/XReadLines.java +++ b/public/java/src/org/broadinstitute/sting/utils/text/XReadLines.java @@ -25,10 +25,10 @@ package org.broadinstitute.sting.utils.text; -import java.util.Iterator; -import java.util.List; -import java.util.LinkedList; import java.io.*; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; /** * Support for Python-like xreadlines() function as a class. This is an iterator and iterable over diff --git a/public/java/src/org/broadinstitute/sting/utils/threading/FileBackedGenomeLocProcessingTracker.java b/public/java/src/org/broadinstitute/sting/utils/threading/FileBackedGenomeLocProcessingTracker.java index cae099eeb..3763ec67d 100644 --- a/public/java/src/org/broadinstitute/sting/utils/threading/FileBackedGenomeLocProcessingTracker.java +++ b/public/java/src/org/broadinstitute/sting/utils/threading/FileBackedGenomeLocProcessingTracker.java @@ -1,18 +1,14 @@ package org.broadinstitute.sting.utils.threading; import org.apache.log4j.Logger; -import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.GenomeLocParser; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.UserException; import java.io.*; -import java.nio.ByteBuffer; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collection; import java.util.List; -import java.util.concurrent.locks.ReentrantLock; /** * Keeps a copy of the processing locks in a file diff --git a/public/java/src/org/broadinstitute/sting/utils/threading/NoOpGenomeLocProcessingTracker.java b/public/java/src/org/broadinstitute/sting/utils/threading/NoOpGenomeLocProcessingTracker.java index 4e61ef9e1..ad2a6d31b 100644 --- a/public/java/src/org/broadinstitute/sting/utils/threading/NoOpGenomeLocProcessingTracker.java +++ b/public/java/src/org/broadinstitute/sting/utils/threading/NoOpGenomeLocProcessingTracker.java @@ -1,9 +1,5 @@ package org.broadinstitute.sting.utils.threading; -import org.broadinstitute.sting.utils.GenomeLoc; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; - -import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.List; diff --git a/public/java/src/org/broadinstitute/sting/utils/threading/SharedFileLock.java b/public/java/src/org/broadinstitute/sting/utils/threading/SharedFileLock.java index 3eb2be96b..0f47da413 100644 --- a/public/java/src/org/broadinstitute/sting/utils/threading/SharedFileLock.java +++ b/public/java/src/org/broadinstitute/sting/utils/threading/SharedFileLock.java @@ -6,10 +6,7 @@ import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.UserException; import java.io.File; -import java.io.FileNotFoundException; import java.io.IOException; -import java.io.RandomAccessFile; -import java.nio.channels.*; /** * User: depristo diff --git a/public/java/src/org/broadinstitute/sting/utils/threading/SharedFileThreadSafeLock.java b/public/java/src/org/broadinstitute/sting/utils/threading/SharedFileThreadSafeLock.java index dec69f7c2..d70879a0a 100644 --- a/public/java/src/org/broadinstitute/sting/utils/threading/SharedFileThreadSafeLock.java +++ b/public/java/src/org/broadinstitute/sting/utils/threading/SharedFileThreadSafeLock.java @@ -2,13 +2,8 @@ package org.broadinstitute.sting.utils.threading; import org.apache.log4j.Logger; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; -import org.broadinstitute.sting.utils.exceptions.UserException; import java.io.File; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.RandomAccessFile; -import java.nio.channels.*; /** * User: depristo diff --git a/public/java/src/org/broadinstitute/sting/utils/variantcontext/Allele.java b/public/java/src/org/broadinstitute/sting/utils/variantcontext/Allele.java index 901de6fae..c3f437f11 100755 --- a/public/java/src/org/broadinstitute/sting/utils/variantcontext/Allele.java +++ b/public/java/src/org/broadinstitute/sting/utils/variantcontext/Allele.java @@ -1,9 +1,9 @@ package org.broadinstitute.sting.utils.variantcontext; -import java.util.Arrays; -import java.util.List; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; +import java.util.List; /** * Immutable representation of an allele diff --git a/public/java/src/org/broadinstitute/sting/utils/variantcontext/GenotypeLikelihoods.java b/public/java/src/org/broadinstitute/sting/utils/variantcontext/GenotypeLikelihoods.java index 3feaf5e1c..dba16cf86 100755 --- a/public/java/src/org/broadinstitute/sting/utils/variantcontext/GenotypeLikelihoods.java +++ b/public/java/src/org/broadinstitute/sting/utils/variantcontext/GenotypeLikelihoods.java @@ -24,8 +24,8 @@ package org.broadinstitute.sting.utils.variantcontext; -import org.broadinstitute.sting.utils.codecs.vcf.VCFConstants; import org.broad.tribble.TribbleException; +import org.broadinstitute.sting.utils.codecs.vcf.VCFConstants; public class GenotypeLikelihoods { public static final boolean CAP_PLS = false; diff --git a/public/java/src/org/broadinstitute/sting/utils/variantcontext/MutableVariantContext.java b/public/java/src/org/broadinstitute/sting/utils/variantcontext/MutableVariantContext.java index 4efba8825..a191670a4 100755 --- a/public/java/src/org/broadinstitute/sting/utils/variantcontext/MutableVariantContext.java +++ b/public/java/src/org/broadinstitute/sting/utils/variantcontext/MutableVariantContext.java @@ -1,7 +1,10 @@ package org.broadinstitute.sting.utils.variantcontext; -import java.util.*; +import java.util.Collection; +import java.util.Map; +import java.util.Set; +import java.util.TreeMap; /** * Mutable version of VariantContext diff --git a/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantContext.java b/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantContext.java index 92c5d648b..eab392c4d 100755 --- a/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantContext.java +++ b/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantContext.java @@ -2,8 +2,8 @@ package org.broadinstitute.sting.utils.variantcontext; import org.broad.tribble.Feature; import org.broad.tribble.TribbleException; -import org.broadinstitute.sting.utils.codecs.vcf.VCFConstants; import org.broad.tribble.util.ParsingUtils; +import org.broadinstitute.sting.utils.codecs.vcf.VCFConstants; import org.broadinstitute.sting.utils.codecs.vcf.VCFParser; import java.util.*; diff --git a/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantContextUtils.java b/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantContextUtils.java index 5d58954aa..5a5671056 100755 --- a/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantContextUtils.java +++ b/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantContextUtils.java @@ -23,21 +23,26 @@ package org.broadinstitute.sting.utils.variantcontext; -import java.io.Serializable; -import java.util.*; - -import com.google.java.contract.*; +import com.google.java.contract.Ensures; +import com.google.java.contract.Requires; import net.sf.picard.reference.ReferenceSequenceFile; import net.sf.samtools.util.StringUtil; -import org.apache.commons.jexl2.*; +import org.apache.commons.jexl2.Expression; +import org.apache.commons.jexl2.JexlEngine; import org.broad.tribble.util.popgen.HardyWeinbergCalculation; -import org.broadinstitute.sting.utils.codecs.vcf.AbstractVCFCodec; import org.broadinstitute.sting.gatk.walkers.phasing.ReadBackedPhasingWalker; -import org.broadinstitute.sting.utils.*; +import org.broadinstitute.sting.utils.BaseUtils; +import org.broadinstitute.sting.utils.GenomeLoc; +import org.broadinstitute.sting.utils.GenomeLocParser; +import org.broadinstitute.sting.utils.Utils; +import org.broadinstitute.sting.utils.codecs.vcf.AbstractVCFCodec; import org.broadinstitute.sting.utils.codecs.vcf.VCFConstants; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.UserException; +import java.io.Serializable; +import java.util.*; + public class VariantContextUtils { final public static JexlEngine engine = new JexlEngine(); static { diff --git a/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantJEXLContext.java b/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantJEXLContext.java index c5a3b6f2a..a59ed7abe 100644 --- a/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantJEXLContext.java +++ b/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantJEXLContext.java @@ -29,7 +29,10 @@ import org.broadinstitute.sting.utils.Utils; import org.broadinstitute.sting.utils.codecs.vcf.VCFConstants; import org.broadinstitute.sting.utils.exceptions.UserException; -import java.util.*; +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; /** * diff --git a/public/java/src/org/broadinstitute/sting/utils/wiggle/WiggleWriter.java b/public/java/src/org/broadinstitute/sting/utils/wiggle/WiggleWriter.java index ab91d0e2e..5782c2704 100755 --- a/public/java/src/org/broadinstitute/sting/utils/wiggle/WiggleWriter.java +++ b/public/java/src/org/broadinstitute/sting/utils/wiggle/WiggleWriter.java @@ -1,7 +1,7 @@ package org.broadinstitute.sting.utils.wiggle; -import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.GenomeLoc; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.broadinstitute.sting.utils.exceptions.UserException; import java.io.*; From 0a0363aef23e25f876034928eae7e4b3fff08623 Mon Sep 17 00:00:00 2001 From: Matt Hanna Date: Sun, 17 Jul 2011 20:43:35 -0400 Subject: [PATCH 11/46] Revving Picard to get a parser that works with the latest metrics file formats we're starting to see. --- ...1941.jar => picard-private-parts-1954.jar} | Bin 36047 -> 36047 bytes .../picard-private-parts-1954.xml | 3 +++ ...941.xml => picard-private-parts-1954.xml~} | 0 ...icard-1.47.869.jar => picard-1.48.889.jar} | Bin 1084255 -> 1106870 bytes .../repository/net.sf/picard-1.48.889.xml | 3 +++ ...card-1.47.869.xml => picard-1.48.889.xml~} | 0 settings/repository/net.sf/sam-1.47.869.xml | 3 --- .../{sam-1.47.869.jar => sam-1.48.889.jar} | Bin 535562 -> 536180 bytes settings/repository/net.sf/sam-1.48.889.xml | 3 +++ 9 files changed, 9 insertions(+), 3 deletions(-) rename settings/repository/edu.mit.broad/{picard-private-parts-1941.jar => picard-private-parts-1954.jar} (88%) create mode 100644 settings/repository/edu.mit.broad/picard-private-parts-1954.xml rename settings/repository/edu.mit.broad/{picard-private-parts-1941.xml => picard-private-parts-1954.xml~} (100%) rename settings/repository/net.sf/{picard-1.47.869.jar => picard-1.48.889.jar} (87%) create mode 100644 settings/repository/net.sf/picard-1.48.889.xml rename settings/repository/net.sf/{picard-1.47.869.xml => picard-1.48.889.xml~} (100%) delete mode 100644 settings/repository/net.sf/sam-1.47.869.xml rename settings/repository/net.sf/{sam-1.47.869.jar => sam-1.48.889.jar} (91%) create mode 100644 settings/repository/net.sf/sam-1.48.889.xml diff --git a/settings/repository/edu.mit.broad/picard-private-parts-1941.jar b/settings/repository/edu.mit.broad/picard-private-parts-1954.jar similarity index 88% rename from settings/repository/edu.mit.broad/picard-private-parts-1941.jar rename to settings/repository/edu.mit.broad/picard-private-parts-1954.jar index 760db5cb8e7fbcd12b9cd90049ff2ff9ba037b11..67637d3d9311d10767c5758006471a628c5a8a88 100644 GIT binary patch delta 633 zcmX>qR2NBc{P{|ft1A@W_2KST^>yRR0dI#r^ zWqet|GSW&tEMSpUYVX*=jM;jtI6;iblAQXJ_gnBFxfJAz2^Jn;Ww$NuzXyj1DIae=mm1j_aoAl(vO;#ZG zq~;v3lKkc*Fny&t6Rgys#Sg4>Vhcq4TT3FCAJrNIrgyd`foZw6P_X*4wg@o)Vp|oM z_G?cA)7#tQ!L(!tM1O5ZI@q4)9mQbr*v>?-{)3&aU~$f_FtB)1R~(o=+y!x;QFjKI SKesy?O#kjq0jp2y$prxRP5Jr& delta 633 zcmX>|n-hy;Ynb#$-uO{mJ_+c#vEQa>WD-53sV^7Jng@+_n;B28(>Q z-NgoGY;e(mNZogR53&DZ&<=>2p0HVrV25Z%n1a8}U*`}6+Hbe8 zf@h^5GXp~b8v}#wWJWus$pzhVn+po0Ax8BT-(Ui3$SjM8Sa-TSpMx0~nv-oCEWnmj zG}wbwOy1R?52oKV7=vl0MoX}KT%!Y+UfAdb7Jt{64d%x*d4l70E2e^Pyhe` diff --git a/settings/repository/edu.mit.broad/picard-private-parts-1954.xml b/settings/repository/edu.mit.broad/picard-private-parts-1954.xml new file mode 100644 index 000000000..c702fd6e5 --- /dev/null +++ b/settings/repository/edu.mit.broad/picard-private-parts-1954.xml @@ -0,0 +1,3 @@ + + + diff --git a/settings/repository/edu.mit.broad/picard-private-parts-1941.xml b/settings/repository/edu.mit.broad/picard-private-parts-1954.xml~ similarity index 100% rename from settings/repository/edu.mit.broad/picard-private-parts-1941.xml rename to settings/repository/edu.mit.broad/picard-private-parts-1954.xml~ diff --git a/settings/repository/net.sf/picard-1.47.869.jar b/settings/repository/net.sf/picard-1.48.889.jar similarity index 87% rename from settings/repository/net.sf/picard-1.47.869.jar rename to settings/repository/net.sf/picard-1.48.889.jar index d277fd2177e994cf602f728bfad82c7abc7f885e..1b725dde5da26bac05010bc371775cdb890c323c 100644 GIT binary patch delta 67365 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 b()RE^J#5(jz^qfUl(%Ow_T^Nt&Dj3~hZON% delta 52367 zcma&P2YggT7dL#)-Ew#D-t=r50TKu;l^RGO5PA!}h7t%6Is^#ChKmZKC?KqIAr=(H zSU`FC!CtUP24u`@+6S5h@%R4o8Lk=x}^YI2;@HE4Tl?t!%f0|)3DEkF5&xT*6H=Ggt5)hN`o}G&B#g3DFcv+ zWFi-}pqB78YNg!P3SL!{9z5NsOR#BFRA7sj zrqPoIO{bFrJ*Csr2Fg%@QxfxxIM0gnoH);m^MXz<8fb~i^^zCR%LctduNp{uO`O*y z?hSF?6z47Z=xu@Ck;2~<=sj`X4@md}AALxtee@B1EY2r7eQHos`pn(qt8MbH+Mv(r z3(5bbIA4kLwK(61^Q{#Aoj~7<^MjQ5qd-3i^s_*}i1VxD`%R$#iSxU(_z%?oC;cTE z|CaC>Y5ZA9J}1F?RLmIFSD3}o#Bqq@G}y&%FH&_0dc^UfC^kIolYl9K2!SFEj^b#8 zV>lLtbDY8P?3aWDai%8vIEhZ{oNUl=P7$Y(IH~egW2vACTEk7nNi#T|o5@$r4bI>e zI=3`vBDeB#Yi=V>riZg6IUCc-hR!)U=N?Fj`I0#gTZXHGX>p6K{WBbe!D;Q91)Im; zzu$i|bKBr82_3lIfl~>yIc~f9s=dw~&?Ho#bH`wxq;Z@Zye(-%#4=iL(h9oKq#0BZ zP(ttQYBTGv`C!A608zuDa|^+Kg&#-OY=)`7E;6~hKs_X`n0xBn%jDkNN9VRC_eC+>kNaDD|8Tbm4B#T2 z2bw&H2b)|X`G?4tLj@Wp&~P|3UxFjV87Xn2q=wM~jS*<9K;tCeLdh~-oKlIKz!Pnv*IXcfZc^=O&#S@@e>e>mtLbtdL7vLU1~z_0inK+v=68N z=%){TOvC6C8b_bfmB^idZ&4Bj=qmUET}{^@j%hWm3D-A2T%SLymZG z8>{MfsQMFtu8F?Dar6~h{4Lt>9mUi4s-85}V*mMi{B$j?MfpU2x{j_#jq3nAh^4DH z(2aK0Xq!t4<-VB*De@r2d2hahy9#WF)>WIK@NI5*Dc{y5Jk>2G)bo|o&F;2Z+ZyPK%n-D z;O$rsAf4z}=^y4I5GRunhmae~v*WQk>Qqbl06SOHtKmHHk|jPfD@0wksjTv0fkYP6 z&_l>uxQ&`1FG~rv)O8ze%S4U@$&pY)H%gM4<*UO5W=Ki~a(Al^P=w@lNQ?t9McZgH zyzbRBHk`SoB(+3bk2)%rq7G8eyD0_{z3|t&mikmvW>#$9TIx46=Op=aYN>y8{9TlQ z)Bysh3ff31ZDjuJ&8Fs$V<-^8u~@|M)SUg)mJ_K94%z{nLc=(fCUaw&%jvX~o6%LA zLDz8$OlWJmliSd4&Zg(MExpR^=qv6(zu-g?j3D#(Dy7j@YzV@9%rvA+uEluWeaQDXB?Cn^F!OxVj$&}&> zo!Gb~g)YED3f;-BWBIzbv&Y-nK*Z3)7!xWqlTCZO^9q5~eji>KksMJ=Bb+nxBLx@< zAWDEy!Bd&p>7%Pjch->8kss&CkN3xIqm}kNj@d?4($HW+R!8m@9Go@K-Co+#K3JWV z;vOsD*x-?@H1{|G#|2MkB?izz!9uEo$`35ZO5>iC$-Srt;J(2T=tNrgB~Oz_=as#l1X= z_JF#m1zqtB$cmRiP<#V=;(MMzXL%yXgK0b$G{b@bz)N@zPV2e64urzZAQ855CGP~4 z@BoN}gCGx%@lt*k#KB9vg5TiF_;U~jXLzip@s*m3S7|YPmDZS7Ydv|5Hh{0yrtw;> z0tdb<-=8T72VXYbMz>=jCr}>ULEEvAU*;^j6LEo9v@3@0q8${6)!(mqfO9t`hS zv>y=oI&EgdMg$Z-JOLdze|XkWvWJ?{7EkD3?{T5e3MV7Lps&!K;KBq!=Gev zI)Pw`>Zu(?|0Bc2={nT~@5*f%xaj+flL_Yqs%e3e&Qi8chjlvgCwc3!{~hPc#GGhC zJlg00#HP)+re?)XsimnyvQJWMHg-9%cKNpOHrs`7Y%Hg^LJr(WIGwh{9RBONqiBl)R z!{QtDYVXyf0OKAW-iQy>yyB z66a$B#O2V@v z*}_HTbCy)h=v_H~e#P{ql}mz~+TCVN|JvKw+8ggl4W>Pi797*-ly#z?uS4)m@5Y9= zYIfz4r9;aXR0I?IOtw1YdHYz~-_W9iZR1)83;M3NCQRT?R;w5FSnKoy5mCl*jG9hA z>-38iUBwfFFZL@BKEA(SuxY1C?3!PL4-L3JLYtET5yz5>@)#Uog?z|?I(=-#ai?};eRxo3FVsPV-1gmO-CoR}y zXq2^j3TFg2eUTJA-Fc}kP|(_p4SwWoje>euR~?K-F)DR4b><(b)1IH{&g9p4Xq~EuS%CWX1H#B{Lvpsa)8*a>1hc6-z6u@0)Vh z;HrYnR@FAhAGTlNwGM9KXshXsy2rXK-P!oSurcWzNWr!y96~9e&j$d>3{>c25W<81 z6)w3bJOt@OFA5I>V!?L~FL=uyXLu#Q4BX*j=xM8&cAzg`__5pA+#72t|^3oFU{pfKp`SHd9 zDbJRD&c@)*xhTKLm6jnj9wLAh;StJ%FC*m2tfj_sUfB&&rwxYjLS?RSWlo$fmxe!n z0+ZvwHzV+IlS~knO;1w5KKc$3Bb-)8={ORb)e1+OyPqso44 zOPR6AlpPB`1;lpls9MUi=}GBI3hE%V!-@Li(cMPqY72B^INBktv*iFI!mT3;jKDD{ zf(tE?Wuey2 zkXjUj$-4PbaHu;Jw6YbeSO192kQmO0hR2K`aNJ=q;a-q z+8*Q;9WhUxO6&~z2dOiJAJiK`LvjJ=N49SQvJ2bq!zGB=%WrncbGhfy^! z#;rIpZo{D5iClMqiM$8yPBmb*uxUqlz|t|K>jDt=FvLCfCQ(tSfYl7 z9QY^&HJS>zXB`EKN3GVtSibP@>AxSl@&PR2U092|!B0Fy`JmJLB0LxrxlF$>%GuyG zZbF|OSR|bw<`|%6wItj_gL+|f1a-=q#x6e#k{pzOM|>H?mmkQ?O=M%%YyCB_1SZ^Qo60+`aNn8X3-P!ec`TLH;P zuQuvbCjS{H|Dbt;B%9|$n_WL;QaA_v`2AZHio}|zaRzp zH~#8Pfr}B?oeEoeuzDIMz8NZ(e?}ao)KTvPlp(XmYHivma1h3S2jVoab^YKAdF_DP z7cn&;5B~=;`w%2s_5ao!)xFlZX`Oc9)2WdTrK|gG`mr{VqEZ@g==ZOVwIDjy!s63f znC?FDYK*nj!BGK_q-*InkEmKA>34T=2I|B=3H>3?pU$F^=b%f9q`!3fTc@)ICg_}m z>vhq%MAC0?nB6^2s}I5FXu9ZL;!!HpFBH!%aoir!z{HCNW-WX1JsSpOZUIxk2rv0K zQs*cSM|(KN022=#jKOgdAMatm_z50PG&l(g7&s~7G!h32m?Um2P7`sO8l1-I2AvTF zj1gAANP$qnL~<*MYwhDUoaqzl%NKwPrDYoDN=lv&1Xw1t9zH7K4&rpwxs!pV2X$02 z=Zn)>a(5A^K%hc_x(d`ypdx{~3)DlP<~kP}G=zJ)dmOekWRld&-Q!d^6hN@IyT_{? z)IUk=eHg{*xgs-L^ZCl@mGclY>wrurvo1J3K-Bs9?7fRLp}7=%PxbRYSxXDsjUW2sm885eARsQR0jiXN=6tSe?gtc)W*84NML!~zXw?|n;Hj}5`o`z{GSv$>=0o;hdX zoT}N@4+pe_VDa{-0}F%M96Y?gbA-9Ha%uVefeWiDmMpEZ(j8i(1E+5u!3hg=UWj#y zDaF#o0>gA-N~{r2LKl5>OPb>WdN8=_z=Lhp(+#5J+G+xK+-d^z-^CO&w|sed-m;~0 z=I8ZYxNO0Y@r>4wuS5s-eolkJOJepltx!VUqnwcnM=zT z&Zt;0WqReZh0r&xk~q(jnRXcJB$KbE!_Xgzvs#=r;#@1vT5+!9>y`fK2ENhc^|tcp zCY@39W)3P%k;z-wG9kU%rgOEK&bRVy7%!7=m(TCu?Iz#JcbU9{@7DPqop)ONQ$&Jc z^1YH&!`rPM9XJar!u#lHlkaCt=!24f7o9YDw?GdGv`3)57+c;a(0P> z92Dn}IJM%0#HkbKusBD=IV#S>;yl9Fn-H)aH~EAV@Te60m_U!yR-G4^`~*K~@=1Qm zH8P+GK-Fd;ew@$HsY{~`J^x08! ztR97~Cf1AR+^*on+ol}&_O_eY>zT7~>Dco5%PN8=?sziT`}ok{oyU&`JB&`Veq5)! zH(%)tZah&Hhy)536km~;|QFR zd59wR6|0hV!?kI5Ax^sBXex%Vq%X*tfgtgQg8XSW@ zT!@p7K%!+2-rdM&vquLh6~a^yWld}^Vm~!KN@=CB>9Ng1)V!85#vu{0EyA%a{}J0N z9NSuA1IR2?il(|{5Aht(VRO;N`JllTKv298>`|p^U7Fp3aO;F8dKgro%^e+6YBVRP zy%XUUKY>zRD0?)xoi^Jj2VQ2iQZ;2&Q&WVpt0|BKKc`yhn{unc0fAksw)v#II%?ZJ ztB%?gI;A_wPVh`8D6MfFbpZ2W6T}zR#S*Z%mqJ^x5)Hl*t0Mp*!YbA1j&>u?H+pnf z8j6O|;{gadHGGmHfG0sy0QS0>)6J6}nm{yTGSRA6QfWv7No^VbG#>_JGQ-4LP5`sL++{0%suK z`b0-`7|IS+j-ITem;z6dM-;K%_4BMdwAiCmj5XV{&`36t-G``GvXSK3c!+uVLhqFZ_c`6IylTgX5 z4bG{7{Dh?Vcp3)vb!@V6kVaq)Bpd#OLo`C-M>fPm#}$qrE%9R-;>VqjA1CqS8{#LN zkDnm%F%9t(&&N-c_(_3=gtGGqWs)$ZA-?>4e7VF=Ylxq5K7NM8S2V=WIv+nv;%7I+ z&pjVMHz_J=76v*dYI;FTpyr&FtQW>%M)jwtQKpQ6EGoAEgXc|`kpyZ?RvBt(UM4M?w}tL)GG&TWF!t}bmr%GaPpexQKWXi|vQ9GCs?R7mT4>I(Q8 z?D93(oY#U8y$&qz^$_o^gDC3;V1*5c-H88g!r`|G?A~UaOhMSG+)T#;;6R_odH5nu z#8JL5Bfm~x zLumKSUzB!+A|RdrrXFh`LZ@%T2|9hJ)Au_4fLuR1@DD~nXQ+uNVYntf&X6JE60`AWnlZ!+r2Y zD&WIJ)f6W~dYgu|$zWF7(T8sD@WH+YJ6|!`-SEsfR`P%^pS{ku-F1#{I`wiKx|auk zbTkP@KiBlYk(Y0DsXPPUeA~{m-#k{f0C^Ui&olr1EA2ereZ0-1GGG5qC_)(n?|0w% z^Y0jf-!1lOiNO=?BZHOaA`h(k)8kYbZ#esc`ZP4j!3$eUROtCE?xIYKL!Mkt)0CWI z!aMbmX^_>VIjw#FeNc7*1_SoCt9z!h2lLkn0ixl zt8AayK6Jbt)b8Bay6ZRgH+&jn&F#P~I7@i8QDJN2Sd5et(=Oxd4*M6Zk8LYtBOLDw z`xmT`W7T(Ym_7MEKJ5F$enQw!4Esr8KUw??e2@~3XcYES!#-1E*tsz^wLZ$@gg$8~ z-JbWB*a;0}s|)L-IYJtW61N4&TcKDPJFpE!|4SYeGCFa8HS?j-`Mkwc!~R__?i;C~ z0b_Z7tb#(bxvi2Ig}$E0Qxhc48geyvjS<<=kTXsGa-kae>jHD+6l*WI66^NsIM#aM zYK{!h!v?jY3J=ZnVpwPC1g_snkODXftUrtkC3?O%3&dGyfJ|H@&|-0xNU%zvrQ$5p zX}O11h?4UXU<=3(=rWxyH-L+-5ND+Ux($ZFtLQ3mt~RI(<&&#wnZE_6c>A^=Abd@294PLUz4BolLu-?4^s=`arN}V=aN$X)bKY#{? z2Cip6yIWHmruNpR)tsh=tjH9hsZO_;IAtsoG-a+yMdIWT^qCMoY@=!u!d1j{7Uxz8 z_7kWlIY__tdZG?nq0NuvaK??5RGJyeaw_-MOvxx&FJB&qiy3+&)wnL}8m5jm! zvxUeS6S(7k9rmKYJiE|d6Byv)iptW8IpO|7~45uL5d=Xr)Two!Dd)%Fo~S|8ucLF>0m zc(nD|Eqrr~Syi!gWW~&iB^3*&S72CLTlk0NzF$*hW@{)T_iP7fCS9if0MgPayP_dI>V_+@biGRP;qzaF_E|mpCVT= z;xV1!T*5?$bM>O$6QC(YmcEF@w1=}a^q}{IfSueQr81^{AlyOdVgb4*Cy4I?(<}#w zhQqjlrEQCGYX`Mn12Xa9*cghC7b=h8;bMxy#Y7z?CpZSt(7EeKzo@7HauB|Z#J3m9 ziUN~267f#(Q={#&_-%v)$^HhC&GQsm1|L?d9(XVX^T9K1FT(aNh~kb5xrbQEXMz_mIZ6o*Pm(k(+HM8B#zVuIbChKrKF)%guxSlwi=kOUiblb%R@80jP%~nLnhQ$@VmhOi zS|kgF3*A*q#kxDy@K1vpf}l~2f;~e5w5pAvlgJHLRRmAUASBV!*b z8$)BUJTUU%87>D6I}R0#`r z(h8lX;^-|uL##t%&SCMV(rUUBnuc;g%7eWi zL`%dOA`XPmei|kYWYB&ZAz(?*;uiOUuzN1R-7k|m)%HL*UppGQXd(PP5541oZafz|l|ZX9TW zC>-@52E<3T%13?5N9D>#)yhZh%0~l~-!dFVTT~d$Q9fFv{LHYA#;Gvcr+hR~`MH5G zkQesbhW&P7AB|TTJB0m?VZT$@&ky^Z!+w{rUjXbT9qJkmcMJPPVZVFWkLjTR!C06E zxV;q7 zpt2@cCjp@&Xw)Oh*R{geQ4)?+V6;jK$fw~9NRLsG5~u2pwS%oHRRkOu z*&|oHjVz@v_FaYtvGI4K!w+GN?7;!C4}0|h_S-?41+~ECIA_;^@3;%{zdrb;LA~4; z*dM1{3AXY8d@KUNu+7Xr_uKC3L%Tyi?&2|yh-bjqJxgAGj#Bt}Yvf*@;eDAR_!Uax z*R11vc|jz<1+M6ASX#eD&GTP zp2%b8!QS7_*!$Z>0kxg6_qX$KgGVs7{dUH--!9D=!`Sg2rF=5DlqZNYQF1{66>vfW z1ry&g$uUKosghD|z(Cj5LHTf@XO>Uy@`y86XHcOYo^PPvq7RbfN@ou=-k=r?YIHj< z)_IA}RR(48QXg*iK<*DRbUR<-pr~HOl0&Zd=nPu4LxB5u81!fd20hw=ukDY@tSXsYp@GJbP!LRY_?&4C+tV}K}uVH$b$!|&f z-u5t5-I+XA>Uviycuz9CFRl1MoDU5?%^$gs|Jd;L1N^bO$M9)GUis<%GwxzL7K+4A zTr$z0T4#52>Xur5!>eGpsA9?J@+Gq>mJVCCbkVYFhZce;gHOy%Yj>+SQ6b${QMgqVs1uf3EWvQ2hO0No7x)u}qF76*EI1 zm>X+8{?cBwSOcLhkHP?*9oBu1fdsGm+>;wJAIE(b<1q}X8pqb52~Th~M?69GCXmp6 z6If`MRUQ+WU`=hJMa7!*1b-E#{p;uuQybwf+5}7y-G5`8)pJ87IzoaZ2g9b=xT(;dp{hTR)!SevS#+L~HRmPm=XuYeyy~Ws<2)*2;8k zic%)eG_|Q3rnFp~X)@;1O>Kr&p=(H)rOnp0Ii@yOo2P5@O>Kd;(9|lW(~GnStT3;s zE!LKpS`|8?E!CEp+Hz^b3Tf^orgo`znW0<1M|3ZddDp1HqG~Pmj#7KD`;HvX9;GOt*SG$3ClSy*t5Lu)r5<4Q>=^ zSoc=CQ>=y0@er$Qp4S_C?m27+>%L~r5!UH(&H`)u5YDuQuZT>xnpPTV)@v_uR%{D7wdy2QIS@M zJ$gH9(?j}LD|e0A*}8oWq+@$tgh5`S(mA@5!Tv!-s?w8j z3j`S&*&jm{g2I{{rlyb?D2-j3=>0N8UzaZWx@Lu<&@gcQt9ddk7BkkAAEM?p^>3kT zElNe(*OJLKJGNDbTI1rJMEtWPC=J6U1u|7pZIazbDXTPD#whzRp%0qP58a1d<&27`bfir6tAMaP2P90$I1ykZzO&|)3|ruAu5DMo#Z!2_Mb zCl2I_RXPbb)CXBg`0qmQ1n4AQBsVvMI7IXmkRI?z=q6sq_X0hH1<4B93rIsF9)rf> zRg|||?uoqy(1|O8iL^{|)uRg#+rOpL+xTCYi(xvwqyB&QFUnM6 zd;lVRc@NqOEKsZMrFvo~89>`SUH|&;T=?_~ ze7f@g@u}=Mq4e>%0=kE7fh}a~^9MVMaIZH_R!^@?Kx*~mLJbbX&(zqqi>m8C*-!1D z$7?ToybjnF9b@GVDOOx~_&U;TkZgYry(mi?wjQ zYN4&kAAG)ZgQ0wR9_`bxHa^8fYHGAi#1PgFuB!l&F~;S|GvFrvhG@ga3W3j&g0mMc zdga=LF^IsX{|ws^7gcc?+uj7-5(3-ciad1=t;bJ@8j73T%-hgV#!nM^_ zkoW)vSHrR#-wl!y1|fB@-1tO9iA0o0#6|TCk;ox-QR;@K7$$`KGfdKkAuTZ6-nmNm zpJw9#Y-Tl!BMLW^&1A^$(9dWaLO|_1OrY$-rhA9LQ9}pe0sits3y=!May#fUyJBzm z#oB{p9~N;Jnz{qXdM8AK_d*DGKlIcOAm@XK-397>KMvjl5Y5+OvmOD0JBrPB z3>)(}yXXYt_8RBWN$y5ZabN;02j}8a>kafQSJQKRA3YCKx)=Bq^tx}+OZ*w)zQHx> z@98!EiQd9}&bPH@^bRQ5_q6u(zBZgb&=%8&+A8`8NA<_rPWTVfr`kUHLOVfUYOm8b z+NVJ4K=mAr6Qv!*hF=1iJJGEO+8e-Y3L1Ln01p3(9B5xGB$wX+4g3(s|4zOOz5W(R z#fJutz}2>Uz`or;Q&m1MFQZGXHu<0j2u4$hbeQ*M(6GQU@Lrcjzu8lTV zac&KIp$t{DiS}oyqJ8L1p~`4z6EV#4u@}88gHHcN@@Rz+u}YjSSgHa40s09#TS(ls zTfy!~mrAs4;V$KIEd;T@g0ue>xqd_QT^PL+c$MHDg4RNgrObxmz_quA(fA!>VizZI zc5xCXXmlwx_4GI^N7Wzl|KE^praYQ-k4i0fJIo*0cN_ zq)8$H^Fh)zIh4Jn#2TZX*vkI8ThMEIiiga%{)Z2>_EH<%(eqf zRA7z-#FS1`bW0|tRqjQ{V~ks4lnXJgJu!@Z=?|Pme}P*08x#p{THr7ja>G88mW5|d znRDh zp)bHPAYL=D#qYsV84mM07gEtD80x!$TRf21&$JN$aA>9~B@Q%gKUGRJI?+>=62s{r zq@|Qt^w$113d_*`HWK!Qd~0|O`uHZstq3f_2;RURe4=4EZ^S?fK^)81V>pikLHPMv z3@UI2@XB`>+IxV54$>DK0muWA@+e0F@`Bo`!=M96;!^M-483#-_v|?a5FXmX#s65k z2M>EFOtOcJdUQz_qL8hkLux2u=uui#niHa{jz?E?kFI#w zSLjr(5MbC?SIe%y29(8lqJ;JHM9FHK-dH1S8>kGy2GQMCzu-w?pN8W#c^BrvQYX;Z^TSxLTH+I%4t`Ogr#VjQFe zm3Az61{u9`zoAJw6rMrr&^J6LaKk(pCPqbWy^T61K~H;gL6qN!Zja|+Zm3MMZ8|ZGeud-iMiO0$oTC>=2tV#oH;sG`(?d_ramoA5WSLf@FR$Varn? z4}&S}NMM=KRD$|xB##BE8BbSoDXjw;u!SdKpA3j6VGyefLFOb!wVmO z;cbp6Ua9$cojO^*q(CCb8!xOog!d~3gxlcQ!oNck`#rXBB=k970at*G0Co31=&&EK zUH3!g@c}o&c6}IcSfnDK55+wQlz0#J=#}&v?v1BmozKSh7Q(}g3mnZ9lV$J;y!nzY zU+{ClxXoY@2psYzkXCa*QMhX{$IggB`<*j@O>vo!-wrphgiist3XU1ck8>+-jR7Bz z8x(B-x%eu&nKRKe5V*97vjBNyqlIyn5G`_&+Re*G^MowvRY8$wKz?(MsDe3Hp32bF zcF&P;-Wl?$*d}4Lk%JK8+sglfb^eBhN8$IJKI1JEriu6wRh$I429-mF$%=SBNYkDo zSL7b7DO0EmEXzjgD#hv*(BcB&1OZH|g-TTp?LnR8R4wUj*zt-WLHbDR`1hRAW@~}p zk)P;KjA<3UgDMl;Nzn-&d61^MAPN5>XJHX1MOMbst(N%%M&@=a{|C41b4*jC(3X&(5E;#J7K07^!M*j+a1TeWZ-$2&VZb_MfovAESPDq zAMY_l#u)5w*eQj8448mC&RvmDURpQ;mO+;BBs>{Y1SlG200%g;JHS|25bWe0Ai&~r zyxxh!_BePLSrh{)(yWJo2oJTqWgYkt3+*lI-5)u5QqKl7j^!+rBt$52w7rh*JV5P) z&|pPq*lOQ=EQel*(|`zez>h@_vT&W`E^MIH*t<=|w(%m->UzMn}(+T%Drt{!+Zb7mRG(wRID8|)Th52TEMn`yEIZetLzm+ zm&R#vx=P)cq8(@^kd^tayQ!7uW{)+$NV7k^v`D*4lXp@>jf=HnR?yU*+M8Yl6%N*J zo2UwT`(EvNEfV>Dn z4{_2P9(h8xJXDkEsGW)a>GDWlVd2#*B%#0z=brviN@&gTZC zFJBrU5%3yknY_kXCa-ap(RWhs_eKD=B0os@N0_i0K+Z2o;AaEQFL(f_iMdecy5yX)}voJ{MIk~wbqgJKRoLpZKP_rR(*`KOK8Rc zt%wag5Q6(6mEC$42FtfM3q5~Ody`Xft&1sA)EBvPDsz`ESTth})Ye__9w!t5JzHt1 z0eM5DE68HFnJ(t(Rq;M8EirtdZ~#6aG@E8(;|QeJ$Z;pkMd9x z7v!(DUjEuhiiM4)*fZXS=RJA2QW{!YLs}OYw_mOE2t4qK*FDKpx{rz(X_X5L@rX)S z984ykmG?a1;K43=&l3*r zn45U43vZgv=LI0=Cqjrh8A}5li>Q?T-y+2<;>A|P`+91Er+Ies=52G^;?Yvv<cVmqNT^mv!76fpp9#B3stUdinV2z;0uF2*4_b8%|cs_ zXq#Q36(_VeI8cTSYoE)QFW}E<2+0k->G+#50S_0jOkX%bEC;6pjn1orMOio%^ZDP@ z%7#?T@qbg7Hl!}2!1DhluV_fNAL@`6iB;otP#viFGP+!v6|NnN1Y)Hl8`ETkf zJ2h6;60B&@9eF%M&IkLkinV|>2=z6{t*-_gfg-~9AFWFs*X{|dN2G0yQw${43zDY( zkTDISQeeHQuw1Nw%A*oT-wIg5T>-?l79+R;-`HY=pt==8xD`S$+S2NAf`WhAEKaZ< z$D;~>0t)JMv(qU{2^kyiPu>W4d`~nDXA%@~BodQ=ubH`KE$^}cxQjkki>I{oz=d*g_wD~rxpuAK)xb1)kNcgw zFjZe-|1EX@(X-CAhPDg@m!bWDM_xH6CG^d0maO)RTOB2)iM|h zWh9o$SS*yuP;AV=BAJIpvJAr*z^B(h2D=V3i94?tTniG`t&pg0Lv?q6(7F>M%)23U zx(C9gonXc91>If)9^^h=f=fKhK)tVkK;tsdL90N~t)qK5h`B?R*A`we$H< zxScNorP}!*8-w6et}fvpAXzaGeZ*=GwEYe&w6VCTvlIK;fnjWi;aZNNmDN0*Oyew2 zJ=N%RUqsU1)bk7lxtC7&*CU4$iyXG%cB-s$#BLX6mNHri>KCq>KAZSEa?y^{!kuwK2(riil5-)7ND_xaw*qQ^ z7}lxC{EIRrfCn(~Fl{Obcb8)qHp58k^HW-0Kr%TX@OSLOvT9g1_9G>aW0yYx;`&L* zIiLapIobwV%3SCt+rvtBFg*wH@Uy@aFJSe&h)H-^wR0reG8lh*F=0AXrx{S2L-PZ{ zWK-~Z%dtU=AlW|v$c_2}vm0gyYEpYYCqe9VFBYMOstO_DsmA2Ul%&bSv28Gtal$^y z_+#KP2M>tUT1P|9eS%c+rw@ zg==NVq@O?$|NeN`zd!!uqK^X?zQ!pV{#w{hS)Rf;V%<#qcL85qRDkDv?Ksr`FSWP& z_s8E{^s$Qq_TCg;=jrgw$)PNx>9=QW5|aQ>?M~K6UADGSn|+5|BnUr(=lV&NY9A5j zH$0BoQ^0Ku$wI@4B{A0_#vbu!1Q|Swg>0{xi-$bz-|hbOAMLiAZI|*qK7Ro=IXvbFb`=xA%oHPI1P_I&n) zUU**1v@eGJ{ff5FX3_S%u03OOVOPAPIUULn)j4nStt~NHEj8<^B0L*M<<6K ze_v~BfA_x+wT^aKIiJB&O7UznzR>a%2e#!4t)+eK>G*Hj6Im+m+H}XatcqW_=(_7R z#6T$*V~yzKNVlRbuhaTseNNd$yXZPm!GRHa9mOrLAYHgNv-*iV;yVF0+cG#D=g8R^>m;Qp` z{h;{{n@=4#-|@X&!GKD~2X_88%N%#xaWAfLthJfl(tu;4of=y0SXHR%Dm?BuW5*Rd z=?F!uxL;m(9L-SBzP}treH8RlcW2)SfvkcOXMu`ZR^m+2)Frb0ADrpYEE+$Jfxqq+ zKkrJnUi#LR5_)&2v%Otp^c3eQyT9+va=z+S1NhGAx)3;EaKYB22VEJ~i%Xo|(ASHd zr|pc-U*@zgEruqoa_+IOvPA}+iFRu1Tb(oP%WoTRbG~i&Z{9u5=WM8Om-DJ5)yQK{ zIQ!fE^E~4mW{=l|*POp5tJD$SJD1xR=brh?`Kdi|`|6!X?R=Gn>zJDKP}>++rCW8? zbH^LJ5La^KuZMKCnN_SgQ$pV+x~?3g%3Ltbb&EI^&obgHh$wMyPI&|$H zScQMc@3i=>Mc+GPte0+dMuplx@ABBi7ro+oIy?k#x!$$6$>*QDI@ldg{l!(-NL5}M z>0WPl{Hr8)QnH$(wlz}+y@9RsMvOg2U)~uVWt9XmQG?sN-;7ate*XKhEBQ+3|T zDRF13CQT}FZ?T*7+gSH|_ISKD!M(M$q^g}zx!Uc$=!b6*9lGZlcbq+lM^?MT+u_!A z?ul(wk$)a=e`gQkS4Z6I>>`&RbMH%)RFML;Q_`KXcikE*nNIe(rAHnB3HE@o<#R6{ z*ZRU88M^5`_c6O&BffCAEl^#YQMLTOc^HOyE^AY|LuK?>3)6MedgYV|!vI7U?shRe6t2|LogE82UvqHd0)4Uv#>4EEfai8>%n1 zu~uM;-aKCAE*n)F-36Peizht5_eCdKr?1srq0?3R5RY2B!%I6a_cz9wgui_2r6GDF z>-Jhb$=Z8ArT`^-LV+vvSCY&kob+*^#`mNpI73rz(f4rRA<$1xgR63Y^CZwjX>j+0 zGCBYv;Sl8IAqX4maHru2M2!#A7+45Sg6wcQsFJy$1{UK`zZTTjdX!;-@_Gmo@FziO zJ&m*G8JH(HVU}Rfn~=D_1tIl25NW>0eIZXDLLc%N$dqOTAl+OEG3pjbnQjBuupPSn zd1%5eD2|>1eI>MZG(Nu;wDx2`S*Y?(Krtw)0#x^89B1ecSkp>;B~UdQgY^hVC~=%U zfbIc=OLTlC3^8s5VK4Z~-Nge)#w}R1_CY{C zSj2Tlqb7q~x|Z>NJqnDV_1p|Sz908QmZI)L^0W#~*s6E8m*}nA^gkojinH$1ciR}K z|89Lv7YPZFCzOk3%+Gd`| zZPYuYljn$yT#X{n2s^H9m?y`^?;ECgO6?8t^&HO!c9Wl7;8{|n>L`BDGs*7m_FbO; z*>!B)<9RtsrOrR@`K+meMt|t}!baQO|L|nnUo803bDdA6{^9h#Z@2UG;{KN!ZSlT!Nily2S8y?JK`%)JB|4ak307kZc2FIV6!el;?vWznxC) zb?V@ujs{j)C!O+j>a0^2tE|MRvNo=P!SSjghQ}IyINEESZWZ15qTr$-#t7@xQ;`MM zs;BXo^9Q4iW>)D?V*t0eE+1p$=M~7E?#Dlv4&O#|o zz<=3g-AGR1u1NjRh*nFkZOY8o0WupQ*qY(SK~4SVH57&Wqu$b313$^&!;2xp5;O+> z@&K1fZMKo*E!f3d5PvIDwoy9JgFMeKEf8uv9XmS>u6&ylZc8%)I+Q!@sbGzp`%qd2 zQsvTqOZak!xivUM5dcBz2_OIdq1@;m9GX@6uuk|TAz35&0oOw#6L*;jx#!eieQk=>WUP^rHJxTK#ht&lv1m!<^opvgiW#^nKOMiF1WtVx z)Tt(TmAUpReQ2!F*3pdSg|JEoX!Zh4!5E6ZOcp5GpcbYqAz7$0q4olmR~J}K-~aal zZGms>1-e~Lbi)E|1@kXipjlWrc3Iz%F4}L{Mth4{%*-`hwZ)lvm^@CLi{8?qC#gH4 z9k6#a@S?s^KB+jKe2cv|SJ%H*M-k3P@Z&L#qZ9?kKe}lx#l*_n(6tl~qX>UZ{XTnT zCzi%0VPz+WSN2#8Yy#GzG_xfIyzq8lQOdct6XS3%5^69nyO8Yx+);iIr{iwb50M9G zP?6Zz>YWg)WZcB70gn2jz?h1H6;actXhhG|_n(TEC6$IFxQDE~-0g*R>_ zAn)?a+a0GQ@Vpn3|AIg-iUW;SB)u%oE8@JWbZn7yO7;=7Ya_K6;1V73V!& zp6CC7KGa36mPj8-^2Y*wVn90h8FW^7oL@lb)jpM1^s8;lU5vQ7?{?x}iC2#nC=_ z-u@!|ki&5v^~$OwB%tyOIyH2F8|j>?9`3Z#@;&9&W%DC1wahZ(YCN`*zK91}#VtIp z(EDY^Vpr(i8OAnl{hH2AboCBC#t_4YNAsapv^8F`@&qU>T zUW2oAh6X8{bJWB7|5AIYAEblnfqFJ0f0g{oUHF-OQO1Rz*>5UpHN3sA-rAQRw}S`} zYNhUyy9a*80B=fKoo5?k-Nh#N8u`ejO@e#>gVsI!~yCz@Srl|p*&1}+rWdLzr(FbYGrL&Z1}DHbBuV$D%>WL1J>IP zdrfK?DZva?%P4EuT*Du+ibvy@@#re~WxT5d>#g#y;&Iad@z8;W)n@~EqBUrqksCcp zGEU|)-Tr;N9BcPe_<@L>^NbV+bZP3nkI)bEjKMBmdJ$F^3c@895&whgzxvA2(yCr! zbhMiL@Vf%PE-^j`jKrRn-?)%>Aq4$lV&RShEJ$*^io+ZOE65}J@(Wv%Cd#A9z!zmz zg7d4O=9)GTSRMK;;3NBUQEW}d2gov0vdlslOC+4yP(T353nUqY{RCBlykGy%5|Fw? ziV?LJme#*YK*BO9V0l9USa{(qqI8>#Kcrp)4~y}9H!cfzqpjT!raO;aG`& z*)M8qkO9k3VCloXddo6nK<{fX1oi{&c|emLFo5|Ol5RMmdf-gz4Sd`W=ST@O2@M2L zXQc@fZIL|Mj&iIUmKkZCr6Bvp$|xX|(HDIX1ue)rq&gKVgAZ^mqZo_~C=qRT=;LL^ z9UPc(lscEfWF|yi3ZXhGD9yxGCwGVn3-zPa6(Kx42)?e+bCink@L!0!7kU-w5m4P9 z=pp8B$|iZPR6^PeU8`AD5JBw&Cz!o4UoGW{a{z;k{b#AHA--&#nS*e z>?mVDF%G+Ca@ghIu**$wLlYG{*qVBY(Kt|o<4)bE8iKpAyNGdp_FMh|gpfS3PcU8R z2)9%%Ed$dPi;?$ZLFGel+7&CJAJ)_`tg4A%M5lshT!8;pV!5nU9O4q3j4N;wUJhpU z3Wz^f(rM_oe}q8QjSc99$zUKGCWA%b<_6JP9)Vvc!>e+9IrQmk=tfuw-2_&26RdtV z^I_beev0Hy9nAm&^gPR{<%=r_3zv(OYzbm==?(U`cMo55=kc3Vs382zL5CkbgK$;Lp=t>I_lp-Ym%7^q`GcCnG07Ib-<&BZN&B_73A%Z=TL-et~;xkW(z9H?ODOM)C|1Vi*185m|~rUSp8A8h94&xPJA&a zx){wOH&lpr6sL?{0WFSp26UX55NFenj-#TJ0;HNU7Yx?**wtCl(FCn}fOM3@d+;L- zep-tmi*=-_I4V0FqM!JYQAYfHq`t~U({1g=)cIVo?N_m!du)O2s#t}5eWUG)fiGA6 z)HCDEYO|t{dxTvnwuP{>n{AP-`$x6_HgiALtkPTKSnjPYwwJ|pf9XzJlvqctIAi-H zl+VfMeQ*0jK=W?kS|dI?uQk$g?}|fFt~i9)dDdh%u|k*4#Jb)n-)_}QVgiN(P-PiODE@JoWC{F1=de-AtR2p3)StPTCjNef-cY$B1=L?Wq4Ib){# zqCO;9)I_&2o0OCE_?Z3_(kOjhpa(9FIxn@pG}3swC~sjlD_1NekbX!4sYW+OeXD$D zA(2!Qs$LLVO-0I27UgFm{R?S-LEY;|<+_FLjQUWyNtnOlx+7BRLiDvs*XwuX4?9j* z{AI^(<86A}!GRLkPasiLBT>{u3SOG>z=BJ=6}*}k zA@3xOHiwcIv{zO7a*+HAnY1a_@`B8Xi12{YIc)y7Cv7j2E{JGDux?K`Ft;adul5j1 z@d%?wI6WeOqKl-ES4r&)grhB7?xYz3VvR#)bPeLk_Cqa;F2SaQZY;8`OR|vKSADt# zz)x3?9&{VC1(z`CQpqY@toxFzcy_~L|3#O=)@PXm*$peyx{7V~1;&sspcn>CR}>-F zYt10z^14PW-eq5;Ggt0#*;8~jx;FqBg3WFA;p3KYR+eTlSNi$egLTG#urtSc41x++ zRR<6*DaKt%IRW;wh8fDt%J@M044npvhu@t;npKl@N)&5r!P@c})oww=kR)*pl!{Ra z*5X^xz04z&k!D>cSNx(&oiXhliw6!ywBiD8;0#?WxBeHB&ZSk7UJV&J1uUbnEs*_l z#bReq2HX9I^ZS~i)uqfdL-`991Ur&eR@-iA?b>#W8;)j3WK%ch>Ob=s|S=;T&c{BMYQKPK+}+gYoJL{tbml> z3h7qparDKF{7mIQNT2Zq6Nh2KF%0TqibolX!MP~Bo#wMhe#{{BrZRNu6Wc0^u_rk6w{R> z{{dP+&_X~_i~b#UJVAw^Jc&-BQk>ODPbM(k^Mp$K@4(LxbSg$m)LWTyRCwSOv7h7Z z>CI-rQ{2Byx*lneT-#uAsyzm=ju>~`qHZi?)!Fz9D!~}aDDdAK%+Wls5OuqP3*D*( zz*0M;ITCg0l4bTk9SO1VDI_Bw zyEkJnaE-;NQ~*t?aTrv_L*SYK;bjueh)veTD^qlJm1(+^BGd;e;6jw#c@#P6?pYB$ z8oMluAa?A8UB4G$0{W zTy!)dv6YZ_SECNRj967tj}Sn*ZgnlZU=990NrvmpN|{+%{{We@n8})^^nh7Svr=y6 zH&v1lh)bSB>!5X!d`lBL1xg}DkjEBql)elnLARyC8h_)xN)tU2(Uc4Z9#i6JdbM9^ z-nX(yX%Uc#qwpw@R(L^$4-=?EG$YEQ;t{1ITE=sr`aBph4=rT@#HbfIb@V0fMHZO{tRDAT10GT4tvJnbmo^!MVGuoZoP<#jp$w+ZFl1gc$^ioxao>5z>!&5{2Y=fKm;m>wdk=xV3DQE>EGdTH(W8oGwqKBJW z!_823d4vp$bbu!m4m%PWbPTha+6c|Y(Qx=&zfK7bwu6l@IFF{#IUM)BK@E`(nB$)0 z`qW~&(Ng|w#F)d?Xk-iIyhTEx+|x3|4=Q2-J-n$UX;m;*+#*gjWChmaRzV+YH7dZ% z;K>>sYgmg$fWsV^;ta>+rV!JbX+@aN%*Cu`5z4z1JYNMK(~0a2;Mi8^t9=BHxvO&) zx=1PkGf4HtZs=%K=Uym*DC_ehEM9*(T%FkkRb+4yBivTN-eo>+==@PO;;{&uu%t%m;H}EM8>hONdciyJ+ zc{E?aCD=8gh))=WIe z?E)Dvk)4}g3Mr>TH}x?(ZTFtCm;UTcCI))1QyvfKW9FSP{hb1{@!TH`2zKLv=TClE zdjKx^;a+LBzOFs2s4tHAQJdmR5r?X!sNcV-_4iQo5aV7TM#)d57|DZTq4!>80Jo)5 z8%h3G#s=|>p% ziHWM3L)-2sY76$!!*Jfe1tyvgpoMor3Z1VXux9Z98|Zo* zsz|{3{>IoyZ>fBu>w(Sm3DESTYD%VA=0f(bLR~V0+??z?EaNsGJA@cciY$49}{{x zH^b}!BT&X8j5V=Wy<&e_#1g#8{)z~+i9G%Mq5sG#HNj|t>G z(T1J6N%S?DzF@8~R(YEKgx&C1Whyhzi12f^ zhIl?tpL6Lk&rAlyW0e=oWH~%uSpth4up3TEgjy~s`{T}VrlnaE*bP55MaP&H3N!RM zCKX4~iZKTm3X5_>hnba?Y{oy9+AP$nZei!F>IbmaS7uXlb&iHgBeEQenN&j@J-laE zqb&_-^BsGHY}{R2RHueY7Fn82Rxuo{;fB3c3`Xl!3^(gk3`gZE2Az#$(GFjm$?r9K zY@t85(t}Q)&^S)^*P63;Rkc<`L#4uF|L;w4Ga0JsTUgj)J+jpdn51jS*SA>aeM@6Q zLnV(DI@IQ-cFIFKr31@2qIF<@IMiU>+w5k5C78uI)e*V_WXUb8vdpOt(6Q21Y9rQK zQx94i!jf9Qew{k8yw++e>ly6|W1alfwy8-dTOGE)4XF6Y9d7`%FG{< zt1(+U&lXvy2|W2al)j%ryND`4w6@(0Z3vwWDJ^j1+x}`yh8KAtM-~dR4v9?XLs~(T zfwX^NmYWCb7@)?q_68gD{{+j%vN8n&Gbk7$cA_qk#5Ik*8la9U3c;o;PML@G4G4$$ z5+OHTM?<^}MQ$kqe*dWcNi2g7#l;lEloqpF#P_Wq4$IxODxi7+UL|0I zIs%KKJmu4CuxcV$HA&I*la(<26eV8&w34i!sx;D1Q(9pf_ppA3lA|wD`simV(Stcq9cD4{ENqQhHj8Hq82`ixy54`?HYl3 zeejnFwImx`RF9%IJ`67R1=Ir3tpTP%kAbayAT5&NY%*+S$Ie1$MJ>V{NE8j_Wu7b= zDg}$8!vS%W0!|lEe?LfrrUqtDycVIH#0|iXS%Ewt!AQ!shzjR{k@49sGU#b=0=HwQN}(gm{I0UPtZZw-FI+ zVs-1Pt$;SHuA0XKSKew=S$V21`Y6Boic!CSm1L;B9hhtC7h~ID30h?d`z=Gw$NdF) z4b`E3OmXQ~u;UHYJRHqSZUkcU*@#B!NItIpvbN>y2n@{R+KX{5?x+^W4&j_|WqM=v zlFlz%G3nc~pr&e5J_c_|-?!ux)SylUu8FEo_Qm@O2v`i&0iQFcv1z zZfyToG8V_sJc!;x^^uSO!iH5>wXcU}8qu?YO1t-xc zIEh9<9OE-9vuv0{BTxb#3awaGnPb5ys3e7n+cf5p*L;hzfZi`yl!f$OWKkBI#RVE; znyK4pKnrATnya5$RCjM5(?T7q8pjNtI1Gz)wDiZW3^7NusupT~WxGtZvCiLtQ=U(b z#&w##1`o*x)>d{UQ+;;%(-=?I^;2Cex|Mp9k0bt_aRvr$iEfMVjwSurtv9h6TIEoo z9-OMy8<|16Y0yU@6YTY9NX4VRk^~((`ob*{WWF7LrqH7fJu>(JF3x>IG7}eXnCarr zmvIslGbi}0rLT4LRYvz?tcN84I>>6kwF{+HT|;Nk+3_*ZxSG;lomrHCT0lL10A&|n z0hC$(rkgV8Z!m*AMURimIp~)wr2+b) ze9%D~)DW4AtH=e-vYYcJh^LljTZkN~6^U)mi;9Me z=De_wVSG_>Q9s|D7Z@?UIaO$kPV_~EX5wE|Y-avN1y_VAIlz=>D{>2EP2`+PZWaO( zk%;|DFsADvImyZOQy`#(Cf85qZ$8H~kYFHYJbGMUqz}WW8;(&of+w5=58A|YCp-e8 z6U|@9kK`iE^yuUzltPj6hu}>jnuYt2;kQTNqsK_BhltWiBuf_$IOS+*eOU2N!3x4U zB`VxVBEe22JRl+!-g?}qxmSt8nJD~W1dh2HPIN$w4^9ywS%GA$h7=nR=YvEz2H=>g z;owe8UmPlA)HXbmz)D3QquBMasD+72nm$SCs83OP>Qj|`eIsRxzOhoG&*UsBqIEbr zC+z0YQV0ctM@uor(l5yQIsOCUXLA1o` zN4RXXM95`2C4o!G&?cZEUr5M)XalHd2;D=3X6s(Fgbbye{Ws)C|6^1ZZ&d#+u($)J z5i6W(4yp6MVtNen7nx^X*Gc`~$h~DA)~7iCH*z0IIenYo|3-dXB9Gf<4nZ;gckYnF zlDi=E_=4^X#9sY&e29Yh|GA@}CnB98YL%~`A5!rSN{*~9D2EhTar3RWo2gEWR>G1CAmfSN1GiJ+i+YbBNPD992!h;J4{eeB zhAHXosmkLM8nlQ`j}?8&*Hh?OsI40yFD!xZXoK*(gx4%G9Q$gG(|?tFyQselHTsI~ zYPeVw_@IZH_b6W!NGn&Ti{nMFSEylP@!1~M&=-v|vZ~Hd3cZ<%(|S9?9YK|&td6N-N#c8lqp8^6k4tp?D$ebdUJN-n2I0mS z#rYc^Eq=aq?D-*v=;&x(Q{0_^xW8^b26PwVv$EgI9Br@;;@)o~ZTEO+ zf7HTY6pw+XHV;hq2}PkUkj_4Bm&Kzq4@7VW_KAWZIvN0pR6_7YBSR|YZL~T`w)4WU zA|_ONX>b-aB6;6PSWyD2KG33p7K1-S$*h7#XUAjBWSlZqhgS7BYFj*jdZiXi-|rX1 z+5GJ*j&-7}=5BKI6h}ZVZg%*K!zI7&bo3InuHzoZNpZ9znxSt&^*34-MVlB=)%6ME~o_A~(bmv}iG~;K=Di2$oyToym zDZ$Q>c3#XsoQ?YZ0L1wN0W7VTE1YS;INR!scb*cbV7_YP>@SkiD${AN#YuM_;EWNq zYV;`Qcj0_evTkqJZ7k+}X9{zk)BM?`P7Z73x;f6Dg$B%`Mb6F{JnZKOovp-CpYZpc zO~qNsx0lRmO@{&6_=y=s*)69(YjDo#VxM(#xGKv&bY_VKy}aVNg##jSY$a0Ywh&@v zz^Bf9pnhLQ)z%%unxnEbx6$b#1PEqdL33kwnX9AV&d)a2ha!WA z{9UaDp$93h&Ad6VEsb4Y@pQk?#PzOdieF8+Tktpr!^ibPQHHmR!oOVB%A!oyNMTax zr&cbU11952m2F+41Sf0va-|Dy^cmpV5zMJt$Ghr^bA}hY{6aezaIB(}BfPX^j3#nF zWwy&Knr86=SCFV5D;BxVi?4A@T_1|ChnKm+MFSta%C%S|_5GQa0b%}%f_sbksl75# zs7zdkIC<>36|Pi~^;vsdt3}0#dB@dB@Nm=-S1E_?IpGQv{aDC(*L49jUvQljnfd&( zD__*yi z1!oBh8fivRG?QCvFPr&6(89w%UB3XHUtotv;vlH@jb^XRdRY5Sbj?jVYVwqq)?Ir- zB&)EGW);2M^x@iQ+_{SLk3Wsknj6OBBXO*jWhlVMh_PB46%$)IR%=K+VW-DxEx3=Z zK+EAiH(t>q+2jJP4*#pHKpV-E)TQ>)0|U`_3}nHD+GBAvtKYt9YFcI-78~FOpqaXV z<;AU>EN_w)S9&?Jd1Bh&qy!d7V5hOb>wDfXo6T3W4 z6P^2waayE)TxS6-7!t!ekJoq&V}r&6GQXP};$W`!7lCPJAIj^r!%ue`YP z6oFoK&Yx|6S`u0}0fhRmAxL`ZsS{>)VzNwc{KS{KrlYBnYwf0jcX{#dwS?ZhH0=X3 z8#qy>b<9K%$}Z;+_Rd5tkf&zo2aSS?L4ceuk&rEdNXe(>l-w>leGnA0Xly6$dM95jw#>hA)$e6bVa1RfNiXhSd2#Q9gqp@4FO;aB>tHeT z`J!qc5NaIV4qH0wwqOd6^Rvl_^YOE8Xe?_oMKZGU6hP|Xk{uDw!K2|}UL(k=`=wQe zaF*UcXDYo>AfWM-*F|kir$5FhLN3FdSiH-NKT&k0hYevACW6-qj_Mlr^P1AyTwtTL7^`ZKaMD@A))x>s;*Hj+TbL$^^-!z|)se?r% zbYm)A0w@CU;f}5@W3#4fA%;&zdXR8)=s}&8ou94+aLV2*$mo(w@2|Z0@v+qcwVolX zo)-fP2cADPCNf-;ZF(z;E+XEy=(>m4Wr z!g!#Gb(tw!W51aInzjgFU3TeDohh|uD_fPBKOW0)v=j$f+50OmF59JBmaDJL{sy^P zR7rzam(3YyCFFctN}q!wj%c>euGg69OD%whC~AK4{vPz19u!vWm^JG;0wZ zuf@fh&Dx6Hc{Vu6TG!hyB4&dJvA8Fitv?SQz)%S{1Hq<||B5;A_rIWT$8yerzxlIe zo_{4^*SR846ZY^NnW}zs;2*va{^P#Hk)KBjr2iK3k6QwN&O4YfN#rHFqDxfJRg@|@ z-vOp{sT(=^vObn|K{p_p@pGVbVz~fDvhwF-41396w-WwK6EQ*hrQzI^3j4whya}M;`mcI6INK0b-*+VQ8ds^= z1IFLN{`fqt8ISjcc_8uKpPWPpJ2X#Akn?Tu%lu`4m^?!$Ydv3t^lIp0BRVFa7?0;D+_Ge}Z19EwKZI~XDVenEEd&)BZUtwum{v<%?> zl^6f+#w{!`*x7=7WO?91nUXOJLG0T&Nel@7%>IEK!gMPG?&6pa9reL-nDd&#cUe{O&}Ip1L+XB+2c zWA@Vli92>q*@Wv@Mk3eBCqavE8kjE2*qTKjlLb;-f&w{z57p*6uIxToBE3(Mcfft= zUGfELepOeaiKQ%+2rZX_VQC60ehJ%JWVwgUTO;#VlG`C~2C6?f-)gm86Zm;g8O<#H z3i3yFnltec%h>3-n7)wn4fIU7Cy;~Xz9{j%mVjyw2Hg_~ALfL{8!c=r@Oc4Oy@>RV zN)ez6W~{~HN+qfD0ogD1#$26T8y|Mv&Jg%<^NiSs13o9Uz7(XkJ|sYwN@b6Emwb5F{@Z6^O0aao2WxgC0E~vO8?1(8pldn;et5pa+!~q<)E@*ngGR} zG={P6Cs4%wR>}6bWkdgot06Iw^X1E5&oO_d)n&PpjREWu=&))CvtqcNLh^s}(XE@RxMp5{1#a^4W2n@#+z?8rn(`76JFHXH9@Y4hRqSz9DKNI_DhGc7tm54v5mT(ZzbL zl4bGKDnuO`CqPxt`$co%le4waHP^vS=;_Iko{Reju_r;`Uw+0uJh9ga=VKNbe6Ju{AG0}SoU4DNw2v)y!U7eXZ_+l* zC;XN?Rk7&->HQ#yKY1^g|`Hu%t^yTKIO3x7hwX zB=BeTg5j-8u_hO5R3=lkq2&d``(cVg&Ue6h{zSDv%Yo11-&%(F*MB2GFtioPqxM?Y zswv>U^M^nsQ(FwCwyN>gYi_G%)a(Bdf!wyY0`h2{;?57f{XKusB;dq7KV|H&iD?st zrxiZ+R z+!tX7?iDSZEqX-@;#uz!8Pz|puA-15^DpjSdGR=vQ29z47isir6V~HZE&N|AB3h|) z*vAM*4kNVZS6-tDU8i2mz7{;IV!>P`2uvNTubFu z;{o{w7J33$SnCZ^eykRKjrrTLg(f!mdsC>-1eWGZpH;rp@+iWQ^G*IgG6>7Nf$CIe z6XKu%UK41vVe0*r7b}Z-9MKFG(QK^#M%iO!ZbVOTeFcZrWwYGgOUOI^BatkRZ8RYV zPZ^t=0o7nq53V6=fApygFdzx1=~6ejd&Ny4cJUHmo3(JCJW`FmUibB~5_AXTe5U|` zmqie^u7Nq0o!%nlte|^6W=2BjBiF#2Mbv@6ugd^2o3&b8X7`$AtGOOB=mE!V#Y?Sh zGfFMWpXF`V>Tp|Z?8nWrnC}y)U1Bv5%(U6r$n&z5_?T+*NzExNS!~uKJeJ!;4>)Ic zr?xwhRdOjl_)WVA{JXDVqJqL?v0D&z!+yfIYO^_%jR6mMf~OPc>wyAPxE=Q4h&>#1 zkwBvc3sA`#T)l8P(gC?|t8A-3+`9Hf9K=0xnLY_vIkaY=Ra+$&c5DSv|FPBJS|L_r zNVw*Fu0{uYQ|=#iOP8KDvn#3Az<-sy*A!Y!(bM&enfbqth3X~S^3$UiEnJt4k_wxA@6$r(mQvkC6a}olR@kifISx} zVP{9<3~7f7nc;y18y;I7wyMHit_1sHfP`JH(9(EzhV4G~$t#!-lJjLo=0J&C^13A+ zHr*wiXWjsvMuR2n=2lA-JG2vtpagP?i%;C^!Z3=E^OelZh?0m zV{+*}9KBH@13bM`OXkEM+qkLj55OUZj^6XbQrv6qMOnJX8^FcbE}8djyFhHh0SUXfOXDW;*aPxzd0Kj>zp2&c zX}#8|sP}8AW8{3Nq4}3MZaX&W4Ve_%v2(-DAQ|Ky@kz?W>m0WQa}BjxSf_n5DVe(w z=cYe6tQkAo8?X^u+{q+Z_+1W5VSnzH-u6B4j%a2Tl`U_s)yB3xhj2N2WKDg75O!r& zM_92(2HsAvtHUJht36s0&*RXCB0}`w9l2zmbeE2jxDAe316b!uNoPC{LW&rGo=MJ=zIlAY76Uu@dGD;9!1lNn#Oif!N9`5(XnxMwa`Q7Q=~o&HdFZ z+zIz&0Bw}b$=;nTWB1yAs~MoS!6uT60Em6B7RY1pTFR=~6C~PY0Jq&N6C1QwGI{J? zq`53vB9!fw64Pn&{w_^;FW;y2=Y7Y(eenIfxkN76r*V6!>}~Qs+>3jsv1=P`Fl4x2 z(vRH_*oMbBtRXAduf=n5>aQ1?45)$@06E{vSf0l!_G{gFmR@l_v21QA775^d+wPGW zoMHo(^R|?tlE!`W2##aWk&GIpwR#zw^|scSQ@r-am*?jIgIt_XnNC<^V~0(+0iIiV zxCyd6fY%U2O|CZCP(1)Q3o-N!8S4IbA+vGbh|V0{9oj*wLB~DntcEVFK4>yQ^ehdXjwe zI}2a!uv~%h9#^V4(R;VMKphQKPPX_k2u$upzKvPg5oG+*VOg8T%sKXDAjTkaSw7i| z>__Q2z0T6K#@$Vt=d?HK{d0f#gYv^C!u^I&~{b} zMsPIX~fuZ^(3xPg?SSq8}&c+ti9rSHr)bsD`iu@v4RGzbMm4 zD)QSA3prmVod2X|$ZPK8`KZGCWbE?gYJs30pTd*pRfMlO$M64*2S1p-?B1Ju<0u$A z_0MXc`$x54PU@M1zf61=EsmV8fI04t2j9ll=0a)wsrO{lnE4*)ExIew%$q2t9 z$f*eeKj3}2ztrG;_!hrPzQHW-eU00=Wz)#Fpn`mZNWo2GZ@(|=xmO3Sra1rmE)RYX z3q3BQO*sxyo8J;YLAH07M^?!2La3TD=(h+nJ18$<)4tLC_aJC=EAosTe`p%oKizK;n?LLMg&4SA(!GIMFNoZ zJC*5nIf7WuNf@-fcR~}UxT8*j+VJ1KFfsS~`az#=(_AOPijqh5uKpW z`>hT^Ic5-8LVFV&7V!aK1Cu2zyVw!QMtmUiFr8pyG9>Km^NwIXDdWS1SKY7XsQpg| z834+EK|CTJU}mS1m3^_iMb38-_huI!AeePqWc6pGPs!M4okHv{=5kmHJ8??N+E>W? zhaS><$D0ld``9f4-%3cVXTe$uxeOn^-tEr=H00aSJUt`)?~k62o`Rh3l3UL~95;*= z?r}u3JEtY5tY;8${BRBnX1RKkmHD|j)sJAOW^!1NP_%m-E4-Y;+X(i3k$^4#)Dg%w zuMi}cp9SQ_1u|56CX@kMo|U0;3HHHG2m8?K%w%IwTs+l9&F}W83%yu!zO$fb4|3c% zZ=!4;g2c7s4z~1`Gm1e+&%`=^C^OTSU_X8-VKGgdK`f>*5W4S^2yYWYhi@c8`T?Dh z-T6?a&GivrI5aB=b6D0OXv$R$haIXsbgDe58w+>sTaOiXa=x9)_)Nc&}(Gy=TpJ`mtLxr3`X$#KqdbSYV0@&Uabq+YvIr+9OWQ zJC*y9h}9k^VMUjms&^LURW7VqEuNSv18`MC&%AKU#~^mCNWy;jSn}u|c`sbez3cOl zhBM`0J5#_D=t9W(u6ZAPnd8=GWA8W}-n8!h1at~slQ7anTvi5+Fe?^EIKlOI*A00N zRhXP_mH%^>3>0g3IlT?{)Zd?Ny#ouhyDvIL&ywB5<;VJbDg);eZ24E!VV8e%+1SA*pg{GEr{Aj{SyLW- z;u{&1lqDIIB~2{s6hhG=+_H(Sk1aq)Le94t{PC?jRF+F+xff7JD8P~6UkV#x*@PS< zanG;3_?@3*fG^r2nz9SB9`3k+)TiB(upQ4}-9EP$l5oR~a32WzAvjq61;(-T&$L)R zlAc&%KJzUkMRLB}4T=<~c`;BFp&pCld-XVL_TX75gdf6OW^A!`##R_Fkq4h4)`g7- zl*si;IF+AU-J3iGeIB`oJb9z>es?XHMn#=b$n@Q-Efbx+2(;FJuIn zUjUTbMu4hHU4b0LWBIy4-OrQ3aB`R_dVbiTZcq4qIPJ(ULEv5o@~F)QK$VC4jw9dx zeaRQ+sCT*Stf)d(Bu;xF3;S&#`ZRL2Jd`O1FAU;=N}W|!b|2(8`u5j$9)vnI9hR%H zKv{3Jh~vRKu4)|;PeZ{)q+wD%hcAEE6#z-tC4@i@K0#pn1TWb6m5lApH)ma3kC@2$ zE{Vq%iP+AbhAQ+}H~yjyJqJ9C&WN1vY%Tyce=ljU1wd8$j2r*zQ#U>e15?TQt_6KN zpYS{I^mVy}^z~Xy9*JzxC7HJ52M5Xn0&$cH&NpqAeS{juvV%~IuDS7Zg07cFBOl~^ zHKazJ68KQ9jqz?>j=qdoFQ4{+I`gz#Bj5BdJ-%EQR}{_3(_v1|LTF)Vo!W684xgGcJ~K} zi(Gr3niKiA2S1iQ(O0vx)9yeQ(yy$ogz!bqcSU>}RG6-yjv^5;-aW4!@k`GIBLZ^1 eB{bJ1@rR>W%f8Vp&ekwR*L$L({1$>fK>0sIx+D+) diff --git a/settings/repository/net.sf/picard-1.48.889.xml b/settings/repository/net.sf/picard-1.48.889.xml new file mode 100644 index 000000000..877687930 --- /dev/null +++ b/settings/repository/net.sf/picard-1.48.889.xml @@ -0,0 +1,3 @@ + + + diff --git a/settings/repository/net.sf/picard-1.47.869.xml b/settings/repository/net.sf/picard-1.48.889.xml~ similarity index 100% rename from settings/repository/net.sf/picard-1.47.869.xml rename to settings/repository/net.sf/picard-1.48.889.xml~ diff --git a/settings/repository/net.sf/sam-1.47.869.xml b/settings/repository/net.sf/sam-1.47.869.xml deleted file mode 100644 index 1b76fe2f9..000000000 --- a/settings/repository/net.sf/sam-1.47.869.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/settings/repository/net.sf/sam-1.47.869.jar b/settings/repository/net.sf/sam-1.48.889.jar similarity index 91% rename from settings/repository/net.sf/sam-1.47.869.jar rename to settings/repository/net.sf/sam-1.48.889.jar index 933b9cfd6f7ee1a55835939e49239a384d38dd98..33ae4aa7d2e0652c767092e89fef9e93c92887f2 100644 GIT binary patch delta 19247 zcmb7s2Y^&X(tp*Pd0}Q}Bbx)eOJ-FQI&$7-R%ZlvP z)#LROIYjA$PCpu1%aaDsY_%r|;NwhB3c$rGp5#HNm#1^CX_pv`HktX3L+RRc-l!(dP0tYXj=-FFet^&fm1&)Gb#H|HZ43hesQg zqNL^AXI8}Yj3(+Cy|TZZsFwb2$1ab)D{74ez?s3Ona{ew$=ghgh)f6ODhxr!2 z##Tn~M=8=SG_gAOWR2~w!Mzi7w`(80Gi%w8!q5429zV{VEsb@1k}H{7 zl!v_|etbWkNPamGW&DarCnfa6GyHkHt~q-Tf9B|}Z|yVmtT&Cwo2CligzTog!BNT% zno*%g53-e}Yp*`WrlD(lVwP;03Yt^nRqqQH7-c6#ZEI@yLf;+dY4Mt~!N2lb0cp3p zx^dE@2}FC1$*CGEs%$*s&P0!!CbVhiC2HqY(K|ru+^ZZJDy(Ys*K-?MRnz!1TK9Rl zPlNq?p{jcwwe7H-xP0XLgwUp@#ygHCIIE4(-tFXX?TiU-UY%~nXiK-P@#W}CA6i5o zT58k|jIKpLBQ^AHALDCFi|JoW-@5TOkd|MLntHQ=nd!~3p_7A**)FNkHyf!g`MF~a zSM5SG#~Ym^bms?V8h7dS5o-Cgu_{6j|MM-z5?f=py=2VM8XNle%SKvb-NO3G=-|<% zJ$^RkyK3^uFGf2TOFwU%btfpw=Q-#0%aNXpMBO&Ks;9A=cT)||?OL%zhnjf0xMHu= z#k10@DR1fFxzEs8UT@E_pl%!UfoHYb$JP%$CvBalzVNiyOE7f&m}jIr-oo!Zg|6tn zeBtpGTWb<+t*NJa`N$K#(6&>aH*4y)vnzRLIob}y?49++45;>uD0g}qR7nWcO83r- z()G6GcppvDQ?dQdF*oe=z+QNCJvAlTNeczrdS7*i)T*QRZkL5udw82@TM;@x(7WE% z@l`i_hq-x|ZubuJIw$1Q105~zj+X^6aruRAXG!@b*_0CLh z9bNsW=LSy+U7P9sDKPdD`RD@0(?v?5Kd1p+rKZf(fi3FH26bT%^Prw(fTeD6@-jTFUQD22PK_vd?i@p+ZC zzJ!miuqki-tEvJ<s)catw88L*?={)@gCLgC7z%G)7hWYe6T_V_g`j|eT4*>=Hm_8u}3u`b#mkF~% zi|7iy2$t^$v8%wm^f_v_Bs z!*iga_fR*!mj-Z9MZM&GF5y0k=KHB8&!aXxpE~gZ>dg=J>F-?IyAKM{kduATjko>u4jr~>r%mtr z=?;2NlJ|Ykn1;1>?vBk-t0 z_X<4bP*7m-ONZtPa@?UJf&X&oKI!R%koZb+zINz-f!{bZPvEx>%@_EcLkk3c@6ZDR zPdfCVz<)cmP~Z;^JtXi)hZYGu<d<2X&pWh2;BOAC6nMcQCGes{j|=?Wp;ZDeIkZ~f9}cY%c-f(~0nmp?v*4c$y`Z_kZ_XF zdzB6b=swB2Uy^x}%$H<=Bo9dPpd#Lf9HY-Wo#W8bazCLhu?w_8LO`8e#@C#3X2ldC(9u zp&=$iL(GSUm=ag?m=>LZnbA--YNA-tW}=u>g8t*#g2~%OFJX_}t@5TDX$i$TlaW?O zQHb{FqEXY0^kBuJmr)^rBBBVahgSd%Susd=18;-<89p9G<>aP^$jaGC_HJ@^=vqQ0 zN|(NZ-e09iv?`|-1(!ki+^_2%&{Pk)R8?+IGp(?^`F=D%fbI|K=832zEV<1ElYx4| zgkA%yuhScPED!WF8#XE*%bOK?&ki?t=`&5X$l zQS2_771J>Ed>^wPCk=|p+ex$f?jn|9GJGMT_o$Hy^fTWq3>j}hoTbbhf^Q=7dW-G? zj05I{hcX+>h!JPYgG|bq_uB#+YxpK6}qeW)t_o^uTPhms|S9y=Js~)H%J( zY@!c1YUX}3TTM!GY}IX(=^h3KZZc21SjU~_WPQw4d-j-(v|I4g9&?_Xg_aFm=VHGZ z?VfJ-9y0g3-QRJ<9B*oe!~23B#K1 zwyPAdK607;G1hv$sxIB$#LCl0@r~bhx7<_r$-dSCx51QQ)+k$d)brZ2{unHh7*<7X z5N0?sAu$v&*2;4Iqk7{kwzUM`YTmwkDkPYy9-VC_p_-+lD?3r4TP9l7+^!#k480?`NhR!r}XnCB9ms+WwUl89H&?IuSl#{$tlY(_)CG z#grGT)h8{#y8N9L9fa4GN7Mb(kY@OR%`{8GfATa-k~<{1)1ldZtf#yE*lX^w#WM@i zT$_sgFg7#bhzYzOZkNFMk}U9Jt9{U>h48K9c@canxKn;gq=(@}`LVS=YE%DZf-LuA zQ(XZcNh&J%MsSP#SXrwjS>wk}`h+A;%Huklp7P`L@H9LgKQ_<}Ha#n2K#irez^3PH z+8FxeduupH0)5`5O*Xv%hE?IetzYU6v1yr2n?XbWzs064Oy=kblc$em^3Jgp!r0CTn{07E&& zro91}`&ZS3AFWyq?4IMsO&>d>rIh~-eAbyTc2Y}tTXk-pIZjaF>s9DK#wnJ0zk1?F zE3PAL)piDP)u&XyLV~lTDp%y3wXC#5Q%!K}X%FyY6n? zIV-WIaBAU^poP+>yKkG}o*0Mvo}k`B9Xn@LZBbsiNrlRB;mXpnNk&W?rd~k3peo(< z#tB&jQ|~e-11-!I4Pi;8&{{8>aM1U6z3q-TSdJS?6s6(gQGBq~KX#9{1Al77l8-lGg}?qRCu-sMkX)xE!r9mxWN( zwiFaS>;ygRg0u&92FWfo6WCnn#X>wihKVi4)b6JNbck+(Uo(h~A#C&&4S}07lzu?X zpKvDn6=$H|5hEeQC2YEx{fM(AB5sn3_(UcZaW%T1Yok05akoZT@11EXcc*DV?u82d zQDHDDj6j835R{uvvk)S=gJJm*3n}7-D0>)XD-pz4g}kSb_bl>Wz?n-H!W6ht$0!$} zodH*AsjP`Mx&msSMEkij;U*wP!_@PV)2e)41KIkm)6kA;M$SJ6-)z%1yqqnUz!-E(F+n0$2{Kqs?#ke*Mo&ne_*bsQ7o0*y9N0! zRrfrw6m=hkby^lS8A07JOx_Fqo22Dmv7^bDLl_vz+=7|nZa(FU49~AKv zp6bv}ho?CVUv3W1@bgTbB}woO;kvuc2(-0i_;4-xE=k0Z<2h2}9>MOlIq2|Q8EcVr zH%_E;pOoA$b>>Mj-{u7lKj83#e#A%7>q36W=0$!izr{XY!Ve2}w_uM*^`+AK(V(Po z^5!s{ygB@sBrANpl9eCH<5F>z!>a|ZaTr0bIsAm5pX7By=P5sur~SO1pOIvPpVIhQ zk->9I+T}~#yB(!%6rDCBOa(It)@UqQ& zZGI(mxH`x3)h#taKtxP*hO|k z+40PaLJ!;acWm#odB4pE)Q&w89z*?cg-ukq`M8*xm4-{8O7d?>(g@>@); zmQP)lq>lV<)l@%580o5t-)@lgHop_#xA`#ms*{DaT06l1;CB(3;`ajlJ|9s(uku!} z#vky9SjGYVCx2w~#{vF?KgG}k{26~9;4k>7&BxT)Tu-78BOW%N4_vMB6R8y}-*j=-J2=I@53VH4E>l>i& z=rrUR;M062z(4V~s&2rpntoOoIVZ`_NDxSSF2KLYXc9R|joNA^t9b!CC+TheHNfZj zw*XzE(*eF9G%oU6>Zxg-TI!d8ooDR}@b4fxYPu(@kT3Bcn3Dis=4t`HBFR<07GP#0 zz>Xw-Pyt7m102QCHkSkpGB{uukh$TZr_@7{cA?ks^1JGNV0kM^*@hV~EW-{M4(J&^ z{u~n@F#O=vh@fu*BqK2bMr6Q@$&-gm%1CPvB~5aJ1dn zlV~J`9*wqd@ni-{UGt6*I#cv5V`miJJbm(nnKQ=r8a3nA$Dt=VS;*<563!o)aKfcumqZTYw?%lut8N5wMT(n%J7n4s5l$N+_yVH2 z!q2Q^yLKZX=Do#Y+$z(k0JAc&>-eGvU47igWdPjOH`Ebbd7m)Qk6UD@q5(-ylx95A1+Tc-8wb zumgAyLAYHUL{QEpd{Bg^>%Uf3Ujm>ah}wiVD3_`53Nc@$0-Ij9>5V_A>s3lB#k*gk zr~ilt!+%G81Kzt&PT_ifd>M8PEg4rs7ozAPyg*;1N9(Fr0@!?8xk zEri|?LMW9Nw}^OA)12HrRAVFM6?hR3#yQW%InRl!SxkN$ifRGG)h@@2DJq!a4N=bi z9iSuYz!Ck!`wUTUp|>3AO5{EUy;%WmP?|S6X8Wm*1PRbDdM)F!X_!mNdl$h~(V?bz zQT!gLiok3#aJW8F7tG6BX(nE+re)aeg1Lj@>V&B7{xHW0-aS+gj3!unsJ?LBKpspt z6Ksn=>hjqTE-qox3@m&TOW%(*9gXRZ#d?m%YRy*_sLMmED9c?T2P|~P_29@(-2J5 zC`{K(yw|@QGc+IK5n;*Ej_~XXOR!Q|eGrzFzp66{MYD-WoN{7iIySj*2sw=Zk? z+30)+9ZyBEgD$7wYQRn?#Y`M#PXO~nsP(h#mQ}whflMQ?5tsgvVbfPwT&N6BLJRzn zEIT8pwWJxua-DX#E9(nP+)>Q;mwGU6z@{=T9>^;j(Mpd*dVJX4zZZJQXn_Wzx(?1* zo;}puJzJF<@2@o>cZoW5lKzeGs8q*6+}%aKqaVYhI)aqEyaB27zan)~lge`IXi^m^ z3C&aB)6ndlc4_iuh*Y$GwJMPE@`pJs~rGOo42E4oRr zB-yxHB8&zFkomR+ap&6+v`xOxBhj=3-+HQ+;!Us<{FvvJ)odr&c@IGita%T8@E8J;4E2{+H-Y;V`?CUj2_*$(Bj6P#CnStW-}5___AqEWnL_vH;xp zKP&*4s9*rD{Wk+pMhO-}dxG5N|7-zplyMcr$ig5H-KB5KEkH4KDX^d?UDKbT`ma#8 zvbBnq|Roji^X^R00C zhSPDLKwt5sGV5_4HWpFI0AguVwMzPMono9;Nk8nw2yHzg;Evv$M=Hc5?^AJR_Yacua$d-i7%u%hJCVY{Pp}!k2*P^Dq#Co)I)%4;O@`r5*;)xY) zh?tf#Gg800Xe^?Uf38ugv_r3z*^SS!8f0TAu3$I1V0ZYxYsH_HLKW7s@e<;H*iiEQ zp8SY}hy?$7ssjU4VIyh0hg=&Il~KCGjBKU%lz(n4SzE!@w1Sj~XT#Rq4O=q@*Wm7j zi3{R(-2L$X=TUG1&qpA70o}_F(u2H^p5lja1MorG!Ao!p@DV-BcVXm3@MPRQVghyq zcaOLO=QVeaxEI#i-6KY0cHKRqJG?!2kAT$5X1Tb`?i9-`2Vt!ZywQ`n6~psl*ziQr z^LlPgJ-6M-x(1fD392x+?*33}YOb5w+T|NW#q#jPViPgk zfsJ7T*SGiow_Rq?pWAQK?Gr`+WOETmQ~t{QOt?({#n1c?Qm<%I{|7%4G{d_L?3#P? zIoKD@YX2t9(06g35L9f28;hS0C%xC;y8lfMlOFzg?t?G^{@1BTcPV*s;ozAg4?Eg zwBGK*PuXyLlo_WU;o;(Klpdt(q3S^se5_pD~mJvoi55Oj(p-(~7%g#X|{A$+a-I9t!o zj2HraNzci^&Obz@)VC`KhxC){T<$hs1GR~NL!9Mz82n2x_( z_SLtW>(EPOC>R+gnTA7AhL0*4eo8@nwlbb;8j)qaSHdB*wD($^fDK*3B~{CM&o1jd zvqJAaGTh!Xzyku*A{sP&0&IHVbWpQ2=vd(@GQC?;S5Z=WOeg(VB`u~3F(4zJ93z4JMl!~bLRm&CRWT}4VQGCyPUY?zl*c)&016YCikplV@M5RRSq%rDpo?VN_s%j1G{Ooc0 zF$poNxOa*T9&Q;_5POI^q{J4}txrD~F?(o27#o>y zB}D7m-Z3NdqZ6VNBG*x2MHx?o;ADIq<0chT(4P<~Zv13qLJa=6DM%8cC2K0M@Fd81 z`#(z!Dw3I2+G08ommVmUw(y8NR#Se(7Bfm)%me~C%Pe<}o8>;-0TAwO9{eB{%s7WUjQ!~W7uPiW6QXW=0V0?JldGUAFs`6*)&Z#0(h9^+x& zXDs8ljK}yrVjJGJ7AcWhDtDrOzBF^KgTn+L4H;mR? z9W3Bh9KWCO<9|l-0^nuu(CzXS>(XoLUzJQq*%iY8{Cw?bv z{X-C-jm9SC_;G|7B;LBxc!cY4U0Ci_#$v9AJbXW4EadvYe3<+DxdB=rgb3qyoHDOa zUBnBo;>M26c~=O50fgwYN)V$E*BsPe4@!x|aBOZ^8ZaPu`wb~3T;ne)$fpuEH-ZKI zgA#Fb#Lv~_23h?7-a@*R08y5433fZrXQ~!W5y8}~{6$ClIFN?9ZS1}Z!>F<$IQjF% z-L;4A-bFXNx1`Ggltv!><|e3MaK7v_I8hrA+#I?W0!qfYI%N5-zopS@yR&=Y8H5zh zM7mchmY%f(A-kD<)xD@{ceLG4j6>Fq_G$Ot@o)WXzoS3-d@io$v*~CozZU9)?<{;n z)X9!jk&Eo;E!$Bh1Heu-CSjT z#aE52<)nxHb+^5tvc4$1V71-dy+ZrR8vCN#_{awPlzYK;-wXB%_X_QR9rl;{d*e|4 zoA&K)cN-4dYur1st3GSIzIH0!-lWP$vT3Syve&QvezP|^RP>>p<9<^6;%U3B?ZJoK z>epZGX7VYws(0RQEgyiYDd+9_@;SF!f8K5=e5p^*+c)T!RPu920O z>{~U0ch@eRp?}ytH07;-*xhu|mC~HkSpj)kQc9nJ2$R| z+39!H9-_(YylQt9WaTxxi_YkNEnH>YHM@^)eg2x=UKia^V)xU?vJ$(qM!qb;fYEwI z6GxA3#X?69cg0bsuda~CPCrfLL3TRooDbM>+ol`goUw+}T^H>(99J}s$LXPS26>zT z8rkV_25KbWbu_%Y$3hj(_?XwuuSs1zG@Gz zsbV8>OXA3U!>i_AF)S7DbM)ttYEvaA&9gQ(T;U(FW<+kUu5846+<)Ui2$z3qNd%)+ z_P3#El8TLY>S{R_#)FP|LzoV}iHlK_Tbhnq6dz`<{Oe1?7G3_gq3HY8<*nk?_h_I6 zJ{O;`ti)#_o-X~%%cE7R{-&kg`pwoKD5%~E4sK7Wi3v^Nx1jul{wF=I>PNKwVAQ zi4S+WdYynCYK1CziCOv=LuU#vs-DS?{(xW2PIl6ax-Y9<$xf=;p6q0o^ZJrHm+Vy2 zq~19&;+J>Ot^9IIDFJRMIw_Ts)rr^4XmvO%tca6SK=jff^>eb5q)r?%Q`D;|jyuVR zrKlK}y>!uQrm4KCPO|PaGZjTuKhZ@ipXCVoBF9}htM?avk||n%U-Rp_KW3=Bbf<>; z(z2q}-%(#v`a&r63AjZ|3$bA~OA8luPeW1dxNuRLlc5`Im)x^W+}ycWjesga11Y!`1-((|M)VNx|&J^7j$ zTQ0Y{8K6>WtP~|JKX6B^+FLu!#bd3T&o~I-%dh%%5|}uyw7RJdWH?E#0EE!giMm7` zxXuxJS1yQ7D`S`iD!$XO<_ln>3oh(t?D~GM#ntu*5 z5q*#d#Gl6Wz!D*vtR^qPeb|;Yoq(1>`KL*LUT_~RbNMU%SjlDLhpy+_=3p7fFZ;TY zzNNNjIt?_@@-LVOPI39)hN8UZ)s9Rsao~B}udP<9kj=9&=zBMp75UYa&6cI^%?fMf z5-D%DBP_2+41f8YoRFf4JKdssmyIYDxyOo7b+f}WGo-_;)lFc0^sk%~ERC)E%NnJs zrKR9htzD)RRZR`cr0DzNcP} z%)5-Bll-pNv7i3wHac*^j8ki?gz4?50(y-FMI(^A@J3T7pA5U=0V`@6hH7ng}BDdO9ox5_hou@Jik-Se)efT zl&CSx+|Hl7I@fz2w@%f$701~!GzMSX;^!v;!=yyDQd&*rmfZkvz5Y;_XtZNpGWU_=BFtH?}78t0nt8j)usNcD;$N zb=f{QY~U^M?|sbmo}ezj!yM?9UAoI0Xu7h!n=ZJ2e|XSDv%ASZ zsh6gjwE<2}HJbsHpJqO5{Y)+CC-wd`vxaWoGkM*F@bzit>EMWq$k^Z0*`jcwY z6}p)Us4bh+fr&aXQ*Sn?AN#03J2aeK8qIzh!_hRAV`vV?(t{jFFK_~F;Y2#Z$y|ra za(zzYb{x%}xg7W4@~X!J=2ot(eDlm1(X}X=Yf}@hOU<~xdT^fEjT@^Y^UPMu=||Z%Jlz6COJfOMD^NiW=1ckV0J>6d}_Ob%&jW4+1woJP6KE#^`?dN1U*Up z$VUg!zCR@+T|ud|l4{Z_x{20M6Ix4c>1par&ro;TNVn2+=(`2IpQoYp0^LV1(|p%jIJFl?vQw1f828*~8aXS9zF0dr3r4MQo7e(wvOn`l-A{J%&xI_6*nE)g^| z9ifltFrefS6f*xny+WRjT!tK zGk6y>c#j&;`;-ehI@1TB{zDo<2h}$(noHvkquIw)i9Vsq7^e={HUA~^LiMARLB}YI zj#CTzk~-1}4D}Uyo&=x1M(=OvZu$;0{~^5LWwR?c?M)WnO7VOfC2=3h;l9+IZ>NDg zfJX8ln#Y4_F%P9pdF|f5Z@d(C7{Uk=(=P#UkK`ur4i z;Z+dz)ijaU&@5i7zREYB_CHUV`~tP&&FYb`xiD=w6b&GfUJRffzjMB3FM*d;DS2|Iz^t^88lhvciZcO-vbnA|Q zN*HdWhHF)`P9|to{>tFAjHS?J^3+k>!m6T9HnrSv*T&X*?{pqDpkT#kIC4HqRCC4{ zDXM#%k*Ket@RY0ZIPjr%m*MRDbBu!2p!Q zp#VxglH6gJJ`SKpzkK4-bb0wy+J5HJEP+Q{x<}yWF5N5e3zzN_c+{oYehQg%%%zYN z9CvAsjP#|TI3XopxinYcNtf;y__a$92>iySc>=$6X}-YkTv{OTdzT&*_+OVE68M8l z4-5R!rG)~2a_JF)KfAO@;4c_?v1ERA=~02FTzX94X_uA={LQ7u1)gzfslc-?T*A;QTSYYtCtb;qAdJNL5|{}!_lfo8(35#Dv3dC z(U>4K*Ulic`<5Vf`4;tfCo3(qgWd>InDzxZj^mj)Hwd-A&udE4X=adSNpg=Q_eye~ zB(o(6A>mSjZ3pcR(i|z9E6M$mJRr$DN#;wkK#~U~c}S9nC0R%_LqTXhWEV-YSdvF2 zc}$Wek~}WSQc1AAgY+*+o{(gjBubJeC0Q=X3Q1N<@{}a2Bv~!V8cEhlvQCoqk~}R* z+6GCVk>puPHcIlGB+t`Kb+)HjD*V+gmXAZzu*vGRND-D00fH+Uf-xF`HyVOH8iGR_ zf=L>JI~syP8iGd}f=wENQyPL<8iHRMf@K0j!Zuw1&S?ndX$bad2o7opCTa*iY6w

MF2@SCr8e%;(#F7xz0L!r~x&SMK#fTRfCW>>3(l`bu zGojK(RWvG#JH^m0P0s7O;~Tp3ZryqIFe|x(yH%GL<9Ho7-oQ}1HI8Jol;J%bl9NgK zU~UK*dqCD+m>4ppo!zXu^@{0!y95cDk?t zH^;p~EF>`ruJ@^~>fPIVw`t{~G2f!M_1OQ0F+h|6DomIfGr;~$fSX&S6#K$rq$Wpg zJQf~stM#gt^a)xXz|20SI9MG?uyV@M=c@AU)-eA!u-d)_zR_7OLOsA*~ou)o?h6d4DnndT-(gD_Od_k=pXeFuZ1FWii(aSd;XjN5}2f}5! zdmv8Ap#!bb>NS)ZRG>}_wA!)ZwaXo3RkLhZ7>*Q|RTm zoUFQyw)`q?h~7pDsv;-DzvtaZGvyM$@NG;6My)F=dCwgZ4lIL z_JvUyew{qE)Yj*%H1+5!R$TZ$+pGrKD^cbStDZJIa(7tsydsQMTNnMl$BOkl8~a^r zr(e(c)I)P#s1DkzN9MeDzZD3dK4dlbXs`X5m0v@5{>iYXcoQESv_J7`a}w;gD(c#+ z4eUDF-QHNctL?d&`F|exvlZeRt^C>>&KoiyplT)A{_v>Yc25t}>jUkf9zhu+>^`0m zHEX2JUfJw%c0X^Nqm%77Ja1{mbo*kmCVb_`{VW5788flli zhfir3hxkmKM}F=9+EqgD2B;QI48Sv+l2bJlUL=?lL5Ff%VGHhaHKxv&?<*k!@LPlHmwzW4>+{Wq4nXc zAM8OKjqKA7ZE)xr5UK{BwA0nLAMH;|^~2~6JqvXD-$sWvs&7u(-PCVC+3`&qQu81+ zq%lEwDRqNXPm&zEIY{-X0aHxt3FD`Z7(caU=Mm#aO}*2h=j2#^!J$n-+6)7x>Cbj0 z`^6yC|H~@#X**3lfP(T{X&aN1kuh?@k~&8x~PbCadSr@uNlrp^*0mp^x9hgo4zA zdIo8<(Eb*U$vc~voEe1f9LMCVUnd8A2*Oo+hbeK)(CI^Kjh;}eZMSx6R(GdfU8bzb zBZdyIRy||1~x5qAx}W9*0yy?b}>H5HAl4uuntq63`EI-;f$1MSzc*L)Xix<78!X z*gFjjC}5(1E>6J#l?vCCAVRtsHH8~0e~zpQkO;Eo0&~@&-|T7d^xK`W8;7JzeH=S= zsX83YmY|E^P#1O{5a}#sLX|<87_=3&1~qNaGKCDdxnw%j)}eL|wRflkAv)193nO)+ zTaXIzwa`({YAfqivT^+5RYU1*;o!oMj+?X^^f^ zImCD}sU3nL?Wr0hDjTxY4NKi03p@;KHJ*CG&*%;J;Wk=Jec=T3gOcbEi|TfmUIVbT z=g@w5H6OsAISl1`6mg!f=?=t6hQm}Di7?L`gm>oBb$S5dw0R&~!e|q@0!`woG&#gs z2uReTxm+I&8lgc;#MrvfbOcsra6i-yLftUb-HE!12ue&r*({WWP&N+(%C4FSt12I) z_X42-5VsXUo4N>qM1z3aU^Bsx;6;U^h+JPx0-FT6!Tr$%yBOKqk@F$caTjJa5Q1I_ zLk>c;%R&@oIHEtTv5B$~&l!q#j^2_RsZ5+>6;KAbdRN}T*pI^yFvQjb`Yw1;jsLLI zL)fu5)}h^qtCZ}}$g7AS`7e`k6(b8Q05$)F4LwE`V4BhYG?J*EJ4KC^+@jFD-aeyH zHh3gTL0h&(3IPR+O6+)!FsLMs9&}d(M}6={Py}{ScE5xgVXCWLDl+z2X$D9V5nZZH(X|G8ifHndGR@pR+cAA%Pm zPaE~oA*+mPcFhikhg`BBF|4Ur(P`?;6}zc*HPELsJ)I4J}`F_EE7kyxMrt>>;T=(H3B&JZVEt3Ye}wl6k@=29j@na z{Qx;!!{r77b0oRh<%TXdl5B2(Y;G)#n>gGwfYop2a&v(#qPQiuisIJXMv}G;w|BWi z6qVtQ4tH|-7Rh#Yxl739uF|2KB;6(H;d0La_u}3{&aDpL=5ikxC)`-x`v#y5`n!C) z!vkC%=<=WdqKSGD%9uX1^{%WGU->+(96*Sq|*%Nqps zGlJ+@LAlZ8=LG-r4!_{Axrr%F4ZUQig%=jsEqrDthc|~mG@NoA-e)=;nCpiFwlj^D z?@riU%5lmB);PQc`~<^P+;l4mUt<5Zk zLH>Xb_ z$bSmqm*_~4zLgnW<|{$I%GcC~u}&F>uLrrnAayF%ITg(q!!Xd?@NtUzA$iC-l6c`RH!OVMJ~n=kHrsDsSJ#zTVVS2f#Em_=HFBrfssbyE8Cs)IX){HF#U3A zEFXt4^bJ}F!=>kHECifT4Db*>)kz!@@qa9gl-cwv<|Jhn?7}-?<*mYOK8G_C4k2se zi`5f_6XS2iUj61fQxUAEw2*u zHOh5pw?lg_(=FGibYZ^BC0chm5hU$Jdjk%yACbkk^!kL$IaOL0OXx$WdKh1t7wXx1 z;+2G9-$qA53~(oM-mvgeVW#@UC)S9Lmv>r+s`N{!8m4M{c98>5#!WJ}Q}uibB-z_3 z3os#DUM#OLpJK$0@*(gq7FH1HQV^F1GXDh$d4gh56OS#Gh)tEQzrn78w5$fF*T5rK zrzz|pi%g^NkxYEY{*v9VMMQG%X#p~@tnVY|1L8Xn(A)z4CPL``gPa9~4dDxH0e^*; zvE;i3`vgLjh^LHfoe%NBSp@md45v+n8vP7U!k(CeV6Y!1o1wJS-pznxKOy6gMl|=i5&8HzRLo@$=N-XC;K*#h3NtIFqC~KCXLu`3rnv z_fWM1D*1u{RB8W&>X=5A;kD7IN@5b6Ux7|TlXud?$ydNq*#)opa!ky-L9Uh6D4%k6 z(9Q5d>=b(kzPV#7+%37%@*$yNu9JcoLL+l{jw_j5b9mZtIPb_dR$VGNnHf!1P~~|h zZ=~`-*fhmTa+9Kl)XPrt3)oK0)T5Q0WJqhFRJQ=9(Xu7DonnTm)gF*W;N3DEWRi{A z4qK9-E2{c(AJnCgo zg-^1j*)tE(ln&G(q!nTm&A(wBE^8@8A_|PDdlLgKE9et1WPQ15kH{}oGjw}YmqgSGLQ3;`x##L{ri>xnJ-CJKrGT!>Sl5L#h_vJuWB>C4%j3&uR3dp*;0QI+1>+OV< zx99obi}1#RV;c)Lq>HeZ(6t;#1}7lq0B%<2B-}Shrlwq)+HeYW<+8XDl8PfRg(h%0 zn#|?(dWpV}sEZuT0jTVzdbu3Hx_Y@>L>aR6a`|y8wbRRG!(JI2IS_Hbs%Sx`VnNPo z>6#jftcXFA^=kSc0b})QntC6%Ba

06<5)y_#NuP;A5bHnHPBsjLTgX(e!WV8h-N@Y%hL>@NEOP9v_q}R zB7}&Dl~f+0Q;G$#P#t^$bs+jazl1ty3#I?RUgtJ{Tj(1OiXs2IgW^P%lWvN}Pz6~| zIlZRMUA(rTj%+1Ej_RvRT&&(rIL%0pJBXzi+F=|U0BUa~>q z(!u5S_9$F7`HYS)5WXf@u3PjG-K9oEfoCG4^>^p4uoAm$qpr_VAQjneLz-+XIG$Rp ziM3nD4}#ARQF(rt>hU8X%{=h|%HyP!tA;)>va05Z*e(t91w&C-^>DftIz!Q7w+1oS zJr!{bL7gBl@P9>W_t5`0t&f4$C7|_j(3}F1wsc zr^U6`uN6|`a9aT7Ddy(1I5`KGQ%q`H@4~je;;m8vn^K}4uHmPE5u_L+nlg+Ss$e8g zeFJehBU#VE+tm&6Iqw$`fRX8#7u-aaW58BJ%Z^39K+jiow-+A%)%Ixnp+~NnV*aJ+fTE^x0Ue&Gwnx4Q%Xy_v z*Kf-Bj-3>%%OxKxxYtn2lH9!$ER(6W zOc;$^5^U+HgfYm0A%TRuq$pO3#v)h9QB1V^GgP}ImT`qW#v_wrjuL!8RoKNRoLE6Q zCA&;0>@pDD?Sd#aj{=eDrlUr8I$`vnAB~=L4)BW6mwiTmwvB-_{x*V^Mzv1{4;2nQo<0usU7Yp~Lrp}eZr~le; zr?*f7v}+2NqBS98+jCp^*Q*dwY{ZYi$^M1n*k)Wcl+MN}#PLFiw#FHs;){Sr2%)iN%?dlwDe05Ng-af*r6T?yM!?BvD9lbnHC8!P=7XL1E-=;g*Du81;Ri8mhR zO33-K_78An^gsX)R zQzxACbtx{=;vX8oC_rg7oXM9d8FvfzP-d$RoX3$J9 zs0=*cZMOf0Z~e`>zZ`Cr>(uamLpG^{?Ga9?Wy77MaP4unTuji_`9onO3Llhw93Pk5Ie_rBtMseb|*Ui+SNmxm?hLuaK|yZIAmwD&$`6&M=*+bH%w!XVzSC z21#bwRp(A!aM#rcns=@`U3E$6YffjK8F?*I629hi)Fr;_&TyR>b3M}Q-`68Ul_`h} zKDHo2&h7%|c4_=XntO|eW86*}hFyE>VTyMT_S?+DRD$RC1 z_D{Dxiq+e;>#?GgZ5zLu>cc`wK?{~d*_@yw@ zBM@n`zA$q>5E-jgRHP~|Dl*nDQIQF@3Pw1lf|0qO3P#w{GCESCq9b_z8yz96RgA}Y z^;k><&wpcFEd{E5Yy{y`vF<=k>ebi?H*SrKG~OH+q32p$r0TZ#NUu%tkrFc@()jiS zx4p*mOhSZ*=MxI&Rm#1!=y#oJO(}P9(a$!Oo#+mZmh1FIKYvt{6J1Z}b|<>2#$7v9 zW`dif&Lp~e%c}S!lrGw-OP8HBQ`CSYH$jg)NoqQtEUXErEvU&9d-2U2V zTsp8u`x4ceK5VIF$q@oKCA+DR$u*BmkaA+%b;$? za9x+7x|DH)nymv+Y_=MYFA**7u@cqZ@m8E#Q&{<;RL+{|RhCn~l<~${mV)9BW_!hH zs&PtW`0i5v)l!R=J!Msv-=5oQi4hs6St^#V^z&+9S+}(MG9^;_D|#56bZM%>?*yXN zL%~Q@i?VJiH&O%2y3I79tMG1Y+P*B+EnB1eEo>zEy#KjC7WCEAE5?0AD08kE!Q!gfQgx(@SM_3s9jgwNa})Fc#XpLW5AMZ(8|EJECGFGnPb5^; z@{v)Rln1I|1Es3WvY~doW~j#0?fNr;I9M9;)F?)T`Mf(^4b5=NIG3Q)M+I!>y->%Zlne=T4Xs^2k-j!oLl3=S~*t zN-vvYS607eM1=2p28L@nUDv3+)9pCrUUR$+(<2jAjTd`WyC1a^)Bqg$aJ8c0lc| z9GQLbPgDM?4D!D(?sNJF^hvD}8L@U1plo!ZusUYhMX+WSSflxQ!xhyV=Ckro-9_J6 zRk*QQQHzl7RD2JWsOk-!=3g!9l%Sedjc~bZRmjW!n;q5Th>ah0opGYnqg5kQYB@G_ zKL$kVW-NAMRqg7LQ}zaf{08iIjd4`VNlr5byBr$-isK!3 zcP373egKg!dAi)tVdr?=p(`%WMJ8V-3j?2-u8XUywKJVWwJ0l6w^Hh!xJMIJRh`U= z(DU$`^ZT`{0tIp-PiC&rZPQilY`20wd6R-?wyi+WN}g6Xkn-NjNZTdZZe88>R{FK< zLTog7+TGChtqoq=Wi{L!EvJoYfU>PG6qQy|u`fCSl~zdNfz9{qTAG9f!BhJNR2{b# zlNhrMhm0Qj-t3G4X)os)O%=&wXn~%!+C0=QiDngHN998%9wF zBE4Fafg#l8AZRN((Dv2@?F|kWH}I?LphF8%cI!QRF9Dl8H|pkfzpC0dxy|hF&SO#O F{{SlKLgWAd diff --git a/settings/repository/net.sf/sam-1.48.889.xml b/settings/repository/net.sf/sam-1.48.889.xml new file mode 100644 index 000000000..8046a0c02 --- /dev/null +++ b/settings/repository/net.sf/sam-1.48.889.xml @@ -0,0 +1,3 @@ + + + From 00b650a35dad72cc79ce962ba6e1f6f01299cf3f Mon Sep 17 00:00:00 2001 From: Matt Hanna Date: Sun, 17 Jul 2011 20:52:46 -0400 Subject: [PATCH 12/46] Get rid of accidental commit of emacs backup '~' file. --- settings/repository/net.sf/picard-1.48.889.xml~ | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 settings/repository/net.sf/picard-1.48.889.xml~ diff --git a/settings/repository/net.sf/picard-1.48.889.xml~ b/settings/repository/net.sf/picard-1.48.889.xml~ deleted file mode 100644 index 86d07d4fa..000000000 --- a/settings/repository/net.sf/picard-1.48.889.xml~ +++ /dev/null @@ -1,3 +0,0 @@ - - - From 6f26c07b8506756cc62f566099ca08adde51b101 Mon Sep 17 00:00:00 2001 From: Mark DePristo Date: Mon, 18 Jul 2011 10:42:35 -0400 Subject: [PATCH 16/46] Removed the SpecificDifference class. Now Difference classes always have the option to remember specific master and test values. This means that all summarized differences carry with them specific examples of their differences. Consequently, now even summarized differences give at least one example of the specific difference, even when the count of the difference is > 1. Unit tests updated. Added DiffObjects integrationtest. VCFDiffableReader now specifically reads the first line of the VCF file to capture the version number. --- .../gatk/walkers/diffengine/DiffEngine.java | 42 +++++------ .../walkers/diffengine/DiffObjectsWalker.java | 4 +- .../gatk/walkers/diffengine/Difference.java | 45 +++++++++++- .../diffengine/SpecificDifference.java | 59 --------------- .../walkers/diffengine/VCFDiffableReader.java | 6 ++ .../diffengine/DiffEngineUnitTest.java | 2 +- .../DiffObjectsIntegrationTest.java | 71 +++++++++++++++++++ .../diffengine/DiffableReaderUnitTest.java | 2 +- .../diffengine/DifferenceUnitTest.java | 10 +-- 9 files changed, 151 insertions(+), 90 deletions(-) delete mode 100644 public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/SpecificDifference.java create mode 100644 public/java/test/org/broadinstitute/sting/gatk/walkers/diffengine/DiffObjectsIntegrationTest.java diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/DiffEngine.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/DiffEngine.java index 2f87a900a..e3910ef11 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/DiffEngine.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/DiffEngine.java @@ -58,7 +58,7 @@ public class DiffEngine { // // -------------------------------------------------------------------------------- - public List diff(DiffElement master, DiffElement test) { + public List diff(DiffElement master, DiffElement test) { DiffValue masterValue = master.getValue(); DiffValue testValue = test.getValue(); @@ -68,14 +68,14 @@ public class DiffEngine { return diff(masterValue, testValue); } else { // structural difference in types. one is node, other is leaf - return Arrays.asList(new SpecificDifference(master, test)); + return Arrays.asList(new Difference(master, test)); } } - public List diff(DiffNode master, DiffNode test) { + public List diff(DiffNode master, DiffNode test) { Set allNames = new HashSet(master.getElementNames()); allNames.addAll(test.getElementNames()); - List diffs = new ArrayList(); + List diffs = new ArrayList(); for ( String name : allNames ) { DiffElement masterElt = master.getElement(name); @@ -84,7 +84,7 @@ public class DiffEngine { throw new ReviewedStingException("BUG: unexceptedly got two null elements for field: " + name); } else if ( masterElt == null || testElt == null ) { // if either is null, we are missing a value // todo -- should one of these be a special MISSING item? - diffs.add(new SpecificDifference(masterElt, testElt)); + diffs.add(new Difference(masterElt, testElt)); } else { diffs.addAll(diff(masterElt, testElt)); } @@ -93,11 +93,11 @@ public class DiffEngine { return diffs; } - public List diff(DiffValue master, DiffValue test) { + public List diff(DiffValue master, DiffValue test) { if ( master.getValue().equals(test.getValue()) ) { return Collections.emptyList(); } else { - return Arrays.asList(new SpecificDifference(master.getBinding(), test.getBinding())); + return Arrays.asList(new Difference(master.getBinding(), test.getBinding())); } } @@ -145,11 +145,11 @@ public class DiffEngine { * @param params determines how we display the items * @param diffs */ - public void reportSummarizedDifferences(List diffs, SummaryReportParams params ) { + public void reportSummarizedDifferences(List diffs, SummaryReportParams params ) { printSummaryReport(summarizeDifferences(diffs), params ); } - public List summarizeDifferences(List diffs) { + public List summarizeDifferences(List diffs) { return summarizedDifferencesOfPaths(diffs); } @@ -177,8 +177,12 @@ public class DiffEngine { Difference diffPath2 = singletonDiffs.get(j); if ( diffPath1.length() == diffPath2.length() ) { int lcp = longestCommonPostfix(diffPath1.getParts(), diffPath2.getParts()); - String path = lcp > 0 ? summarizedPath(diffPath2.getParts(), lcp) : diffPath2.getPath(); - addSummary(summaries, path, true); + String path = diffPath2.getPath(); + if ( lcp != 0 && lcp != diffPath1.length() ) + path = summarizedPath(diffPath2.getParts(), lcp); + Difference sumDiff = new Difference(path, diffPath2.getMaster(), diffPath2.getTest()); + sumDiff.setCount(0); + addSummaryIfMissing(summaries, sumDiff); } } } @@ -187,7 +191,7 @@ public class DiffEngine { for ( Difference diffPath : singletonDiffs ) { for ( Difference sumDiff : summaries.values() ) { if ( sumDiff.matches(diffPath.getParts()) ) - addSummary(summaries, sumDiff.getPath(), false); + sumDiff.incCount(); } } @@ -196,13 +200,9 @@ public class DiffEngine { return sortedSummaries; } - private static void addSummary(Map summaries, String path, boolean onlyCatalog) { - if ( summaries.containsKey(path) ) { - if ( ! onlyCatalog ) - summaries.get(path).incCount(); - } else { - Difference sumDiff = new Difference(path); - summaries.put(sumDiff.getPath(), sumDiff); + protected void addSummaryIfMissing(Map summaries, Difference diff) { + if ( ! summaries.containsKey(diff.getPath()) ) { + summaries.put(diff.getPath(), diff); } } @@ -213,6 +213,7 @@ public class DiffEngine { GATKReportTable table = report.getTable(tableName); table.addPrimaryKey("Difference", true); table.addColumn("NumberOfOccurrences", 0); + table.addColumn("SpecificDifference", 0); int count = 0, count1 = 0; for ( Difference diff : sortedSummaries ) { @@ -230,6 +231,7 @@ public class DiffEngine { } table.set(diff.getPath(), "NumberOfOccurrences", diff.getCount()); + table.set(diff.getPath(), "SpecificDifference", diff.valueDiffString()); } table.write(params.out); @@ -336,7 +338,7 @@ public class DiffEngine { if ( diffEngine.canRead(masterFile) && diffEngine.canRead(testFile) ) { DiffElement master = diffEngine.createDiffableFromFile(masterFile); DiffElement test = diffEngine.createDiffableFromFile(testFile); - List diffs = diffEngine.diff(master, test); + List diffs = diffEngine.diff(master, test); diffEngine.reportSummarizedDifferences(diffs, params); return true; } else { diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/DiffObjectsWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/DiffObjectsWalker.java index ecb836af9..8e362dcc4 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/DiffObjectsWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/DiffObjectsWalker.java @@ -104,10 +104,10 @@ public class DiffObjectsWalker extends RodWalker { // out.printf("Test diff objects%n"); // out.println(test.toString()); - List diffs = diffEngine.diff(master, test); + List diffs = diffEngine.diff(master, test); if ( showItemizedDifferences ) { out.printf("Itemized results%n"); - for ( SpecificDifference diff : diffs ) + for ( Difference diff : diffs ) out.printf("DIFF: %s%n", diff.toString()); } diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/Difference.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/Difference.java index efc6ef160..81b6f7e0e 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/Difference.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/Difference.java @@ -27,13 +27,24 @@ package org.broadinstitute.sting.gatk.walkers.diffengine; public class Difference implements Comparable { final String path; // X.Y.Z final String[] parts; - int count = 0; + int count = 1; + DiffElement master = null , test = null; public Difference(String path) { this.path = path; this.parts = DiffEngine.diffNameToPath(path); } + public Difference(DiffElement master, DiffElement test) { + this(createPath(master, test), master, test); + } + + public Difference(String path, DiffElement master, DiffElement test) { + this(path); + this.master = master; + this.test = test; + } + public String[] getParts() { return parts; } @@ -44,6 +55,10 @@ public class Difference implements Comparable { return count; } + public void setCount(int count) { + this.count = count; + } + /** * The fully qualified path object A.B.C etc * @return @@ -81,7 +96,7 @@ public class Difference implements Comparable { @Override public String toString() { - return String.format("%s:%d", getPath(), getCount()); + return String.format("%s:%d:%s", getPath(), getCount(), valueDiffString()); } @Override @@ -91,5 +106,31 @@ public class Difference implements Comparable { return countCmp != 0 ? -1 * countCmp : path.compareTo(other.path); } + public String valueDiffString() { + if ( hasSpecificDifference() ) { + return String.format("%s!=%s", getOneLineString(master), getOneLineString(test)); + } else { + return "N/A"; + } + } + private static String createPath(DiffElement master, DiffElement test) { + return (master == null ? test : master).fullyQualifiedName(); + } + + private static String getOneLineString(DiffElement elt) { + return elt == null ? "MISSING" : elt.getValue().toOneLineString(); + } + + public boolean hasSpecificDifference() { + return master != null || test != null; + } + + public DiffElement getMaster() { + return master; + } + + public DiffElement getTest() { + return test; + } } diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/SpecificDifference.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/SpecificDifference.java deleted file mode 100644 index 2fe9b47f8..000000000 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/SpecificDifference.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (c) 2011, The Broad Institute - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - */ - -package org.broadinstitute.sting.gatk.walkers.diffengine; - -/** - * Created by IntelliJ IDEA. - * User: depristo - * Date: 7/4/11 - * Time: 12:53 PM - * - * Represents a specific difference between two specific DiffElements - */ -public class SpecificDifference extends Difference { - DiffElement master, test; - - public SpecificDifference(DiffElement master, DiffElement test) { - super(createName(master, test)); - if ( master == null && test == null ) throw new IllegalArgumentException("Master and test both cannot be null"); - this.master = master; - this.test = test; - } - - public String toString() { - return String.format("%s:%s!=%s", - getPath(), - getOneLineString(master), - getOneLineString(test)); - } - - private static String createName(DiffElement master, DiffElement test) { - return (master == null ? test : master).fullyQualifiedName(); - } - - private static String getOneLineString(DiffElement elt) { - return elt == null ? "MISSING" : elt.getValue().toOneLineString(); - } -} diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/VCFDiffableReader.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/VCFDiffableReader.java index 4e44578c7..df2a5cda1 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/VCFDiffableReader.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/VCFDiffableReader.java @@ -53,7 +53,13 @@ public class VCFDiffableReader implements DiffableReader { public DiffElement readFromFile(File file, int maxElementsToRead) { DiffNode root = DiffNode.rooted(file.getName()); try { + // read the version line from the file LineReader lineReader = new AsciiLineReader(new FileInputStream(file)); + final String version = lineReader.readLine(); + root.add("VERSION", version); + lineReader.close(); + + lineReader = new AsciiLineReader(new FileInputStream(file)); VCFCodec vcfCodec = new VCFCodec(); // must be read as state is stored in reader itself diff --git a/public/java/test/org/broadinstitute/sting/gatk/walkers/diffengine/DiffEngineUnitTest.java b/public/java/test/org/broadinstitute/sting/gatk/walkers/diffengine/DiffEngineUnitTest.java index 96dfec6e8..2ae19264e 100644 --- a/public/java/test/org/broadinstitute/sting/gatk/walkers/diffengine/DiffEngineUnitTest.java +++ b/public/java/test/org/broadinstitute/sting/gatk/walkers/diffengine/DiffEngineUnitTest.java @@ -99,7 +99,7 @@ public class DiffEngineUnitTest extends BaseTest { logger.warn("Test tree1: " + test.tree1.toOneLineString()); logger.warn("Test tree2: " + test.tree2.toOneLineString()); - List diffs = engine.diff(test.tree1, test.tree2); + List diffs = engine.diff(test.tree1, test.tree2); logger.warn("Test expected diff : " + test.differences); logger.warn("Observed diffs : " + diffs); } diff --git a/public/java/test/org/broadinstitute/sting/gatk/walkers/diffengine/DiffObjectsIntegrationTest.java b/public/java/test/org/broadinstitute/sting/gatk/walkers/diffengine/DiffObjectsIntegrationTest.java new file mode 100644 index 000000000..cca1eccb4 --- /dev/null +++ b/public/java/test/org/broadinstitute/sting/gatk/walkers/diffengine/DiffObjectsIntegrationTest.java @@ -0,0 +1,71 @@ +/* + * Copyright (c) 2011, The Broad Institute + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +package org.broadinstitute.sting.gatk.walkers.diffengine; + +import org.broadinstitute.sting.WalkerTest; +import org.testng.annotations.DataProvider; +import org.testng.annotations.Test; + +import java.io.File; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +public class DiffObjectsIntegrationTest extends WalkerTest { + private class TestParams extends TestDataProvider { + public File master, test; + public String MD5; + + private TestParams(String master, String test, String MD5) { + super(TestParams.class); + this.master = new File(master); + this.test = new File(test); + this.MD5 = MD5; + } + + public String toString() { + return String.format("master=%s,test=%s,md5=%s", master, test, MD5); + } + } + + @DataProvider(name = "data") + public Object[][] createData() { + new TestParams(testDir + "diffTestMaster.vcf", testDir + "diffTestTest.vcf", "fb7f4e011487ca56bce865ae5468cdc5"); + new TestParams(testDir + "exampleBAM.bam", testDir + "exampleBAM.simple.bam", "423cec3befbf0a72d8bc3757ee628fc4"); + return TestParams.getTests(TestParams.class); + } + + @Test(enabled = true, dataProvider = "data") + public void testDiffs(TestParams params) { + WalkerTestSpec spec = new WalkerTestSpec( + "-T DiffObjects -R public/testdata/exampleFASTA.fasta " + + " -m " + params.master + + " -t " + params.test + + " -o %s", + Arrays.asList(params.MD5)); + executeTest("testDiffObjects:"+params, spec).getFirst(); + } +} + diff --git a/public/java/test/org/broadinstitute/sting/gatk/walkers/diffengine/DiffableReaderUnitTest.java b/public/java/test/org/broadinstitute/sting/gatk/walkers/diffengine/DiffableReaderUnitTest.java index a0cb47770..dee7bbd88 100644 --- a/public/java/test/org/broadinstitute/sting/gatk/walkers/diffengine/DiffableReaderUnitTest.java +++ b/public/java/test/org/broadinstitute/sting/gatk/walkers/diffengine/DiffableReaderUnitTest.java @@ -87,7 +87,7 @@ public class DiffableReaderUnitTest extends BaseTest { Assert.assertSame(diff.getParent(), DiffElement.ROOT); DiffNode node = diff.getValueAsNode(); - Assert.assertEquals(node.getElements().size(), 10); + Assert.assertEquals(node.getElements().size(), 11); // chr1 2646 rs62635284 G A 0.15 PASS AC=2;AF=1.00;AN=2 GT:AD:DP:GL:GQ 1/1:53,75:3:-12.40,-0.90,-0.00:9.03 DiffNode rec1 = node.getElement("chr1:2646").getValueAsNode(); diff --git a/public/java/test/org/broadinstitute/sting/gatk/walkers/diffengine/DifferenceUnitTest.java b/public/java/test/org/broadinstitute/sting/gatk/walkers/diffengine/DifferenceUnitTest.java index 64579a01b..4e4080bc7 100644 --- a/public/java/test/org/broadinstitute/sting/gatk/walkers/diffengine/DifferenceUnitTest.java +++ b/public/java/test/org/broadinstitute/sting/gatk/walkers/diffengine/DifferenceUnitTest.java @@ -75,10 +75,10 @@ public class DifferenceUnitTest extends BaseTest { @DataProvider(name = "data") public Object[][] createTrees() { - new DifferenceTest("A=X", "A=Y", "A:X!=Y"); - new DifferenceTest("A=Y", "A=X", "A:Y!=X"); - new DifferenceTest(DiffNode.fromString("A=X"), null, "A:X!=MISSING"); - new DifferenceTest(null, DiffNode.fromString("A=X"), "A:MISSING!=X"); + new DifferenceTest("A=X", "A=Y", "A:1:X!=Y"); + new DifferenceTest("A=Y", "A=X", "A:1:Y!=X"); + new DifferenceTest(DiffNode.fromString("A=X"), null, "A:1:X!=MISSING"); + new DifferenceTest(null, DiffNode.fromString("A=X"), "A:1:MISSING!=X"); return DifferenceTest.getTests(DifferenceTest.class); } @@ -87,7 +87,7 @@ public class DifferenceUnitTest extends BaseTest { logger.warn("Test tree1: " + (test.tree1 == null ? "null" : test.tree1.toOneLineString())); logger.warn("Test tree2: " + (test.tree2 == null ? "null" : test.tree2.toOneLineString())); logger.warn("Test expected diff : " + test.difference); - SpecificDifference diff = new SpecificDifference(test.tree1, test.tree2); + Difference diff = new Difference(test.tree1, test.tree2); logger.warn("Observed diffs : " + diff); Assert.assertEquals(diff.toString(), test.difference, "Observed diff string " + diff + " not equal to expected difference string " + test.difference ); From d6e2e89f9994f45182071962f3d140a0569dc865 Mon Sep 17 00:00:00 2001 From: Mark DePristo Date: Mon, 18 Jul 2011 10:46:01 -0400 Subject: [PATCH 17/46] Walker test system refactoring. All MD5DB related functions are now in MD5DB.java. System has the concept of a local and a global MD5 db. The local one is like it operated previously. The global one lives in /humgen/gsa-hpprojects/GATK/data/integrationtests. If the system can find this directory then MD5s will also be read / written to this location. This means that gsabamboo will print differences as appropriate. And all users will in effect have access to a complete history of MD5 file results. A few minor code reshuffles changed VariantRecalibration and VCFHeader test files. --- .../org/broadinstitute/sting/BaseTest.java | 206 +-------------- .../test/org/broadinstitute/sting/MD5DB.java | 247 ++++++++++++++++++ .../org/broadinstitute/sting/WalkerTest.java | 4 +- ...ntRecalibrationWalkersIntegrationTest.java | 5 +- .../CombineVariantsIntegrationTest.java | 3 +- .../utils/genotype/vcf/VCFHeaderUnitTest.java | 55 +++- 6 files changed, 306 insertions(+), 214 deletions(-) create mode 100644 public/java/test/org/broadinstitute/sting/MD5DB.java diff --git a/public/java/test/org/broadinstitute/sting/BaseTest.java b/public/java/test/org/broadinstitute/sting/BaseTest.java index b3e422ba9..ef46d4bff 100755 --- a/public/java/test/org/broadinstitute/sting/BaseTest.java +++ b/public/java/test/org/broadinstitute/sting/BaseTest.java @@ -13,10 +13,7 @@ import java.io.*; import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * @@ -83,11 +80,6 @@ public abstract class BaseTest { public static final String networkTempDir = "/broad/shptmp/"; public static final File networkTempDirFile = new File(networkTempDir); - /** - * Subdirectory under the ant build directory where we store integration test md5 results - */ - public static final String MD5_FILE_DB_SUBDIR = "integrationtests"; - public static final String testDir = "public/testdata/"; /** before the class starts up */ @@ -129,7 +121,7 @@ public abstract class BaseTest { * 2: Create instances of your subclass. Return from it the call to getTests, providing * the class type of your test * - * @DataProvider(name = "summaries") + * @DataProvider(name = "summaries" * public Object[][] createSummaries() { * new SummarizeDifferenceTest().addDiff("A", "A").addSummary("A:2"); * new SummarizeDifferenceTest().addDiff("A", "B").addSummary("A:1", "B:1"); @@ -206,200 +198,6 @@ public abstract class BaseTest { } } - /** - * a little utility function for all tests to md5sum a file - * Shameless taken from: - * - * http://www.javalobby.org/java/forums/t84420.html - * - * @param file the file - * @return a string - */ - public static String md5SumFile(File file) { - MessageDigest digest; - try { - digest = MessageDigest.getInstance("MD5"); - } catch (NoSuchAlgorithmException e) { - throw new ReviewedStingException("Unable to find MD5 digest"); - } - InputStream is; - try { - is = new FileInputStream(file); - } catch (FileNotFoundException e) { - throw new ReviewedStingException("Unable to open file " + file); - } - byte[] buffer = new byte[8192]; - int read; - try { - while ((read = is.read(buffer)) > 0) { - digest.update(buffer, 0, read); - } - byte[] md5sum = digest.digest(); - BigInteger bigInt = new BigInteger(1, md5sum); - return bigInt.toString(16); - - } - catch (IOException e) { - throw new ReviewedStingException("Unable to process file for MD5", e); - } - finally { - try { - is.close(); - } - catch (IOException e) { - throw new ReviewedStingException("Unable to close input stream for MD5 calculation", e); - } - } - } - - protected static void ensureMd5DbDirectory() { - // todo -- make path - File dir = new File(MD5_FILE_DB_SUBDIR); - if ( ! dir.exists() ) { - System.out.printf("##### Creating MD5 db %s%n", MD5_FILE_DB_SUBDIR); - if ( ! dir.mkdir() ) { - throw new ReviewedStingException("Infrastructure failure: failed to create md5 directory " + MD5_FILE_DB_SUBDIR); - } - } - } - - protected static File getFileForMD5(final String md5) { - final String basename = String.format("%s.integrationtest", md5); - return new File(MD5_FILE_DB_SUBDIR + "/" + basename); - } - - private static void updateMD5Db(final String md5, final File resultsFile) { - // todo -- copy results file to DB dir if needed under filename for md5 - final File dbFile = getFileForMD5(md5); - if ( ! dbFile.exists() ) { - // the file isn't already in the db, copy it over - System.out.printf("##### Updating MD5 file: %s%n", dbFile.getPath()); - try { - FileUtils.copyFile(resultsFile, dbFile); - } catch ( IOException e ) { - throw new ReviewedStingException(e.getMessage()); - } - } else { - System.out.printf("##### MD5 file is up to date: %s%n", dbFile.getPath()); - - } - } - - private static String getMD5Path(final String md5, final String valueIfNotFound) { - // todo -- look up the result in the directory and return the path if it exists - final File dbFile = getFileForMD5(md5); - return dbFile.exists() ? dbFile.getPath() : valueIfNotFound; - } - - public static byte[] getBytesFromFile(File file) throws IOException { - InputStream is = new FileInputStream(file); - - // Get the size of the file - long length = file.length(); - - if (length > Integer.MAX_VALUE) { - // File is too large - } - - // Create the byte array to hold the data - byte[] bytes = new byte[(int) length]; - - // Read in the bytes - int offset = 0; - int numRead = 0; - while (offset < bytes.length - && (numRead = is.read(bytes, offset, bytes.length - offset)) >= 0) { - offset += numRead; - } - - // Ensure all the bytes have been read in - if (offset < bytes.length) { - throw new IOException("Could not completely read file " + file.getName()); - } - - // Close the input stream and return bytes - is.close(); - return bytes; - } - - /** - * Tests a file MD5 against an expected value, returning the MD5. NOTE: This function WILL throw an exception if the MD5s are different. - * @param name Name of the test. - * @param resultsFile File to MD5. - * @param expectedMD5 Expected MD5 value. - * @param parameterize If true or if expectedMD5 is an empty string, will print out the calculated MD5 instead of error text. - * @return The calculated MD5. - */ - public static String assertMatchingMD5(final String name, final File resultsFile, final String expectedMD5, final boolean parameterize) { - String filemd5sum = testFileMD5(name, resultsFile, expectedMD5, parameterize); - - if (parameterize || expectedMD5.equals("")) { - // Don't assert - } else if ( filemd5sum.equals(expectedMD5) ) { - System.out.println(String.format(" => %s PASSED", name)); - } else { - Assert.fail(String.format("%s has mismatching MD5s: expected=%s observed=%s", name, expectedMD5, filemd5sum)); - } - - - - return filemd5sum; - } - - - /** - * Tests a file MD5 against an expected value, returning the MD5. NOTE: This function WILL NOT throw an exception if the MD5s are different. - * @param name Name of the test. - * @param resultsFile File to MD5. - * @param expectedMD5 Expected MD5 value. - * @param parameterize If true or if expectedMD5 is an empty string, will print out the calculated MD5 instead of error text. - * @return The calculated MD5. - */ - public static String testFileMD5(final String name, final File resultsFile, final String expectedMD5, final boolean parameterize) { - try { - byte[] bytesOfMessage = getBytesFromFile(resultsFile); - byte[] thedigest = MessageDigest.getInstance("MD5").digest(bytesOfMessage); - BigInteger bigInt = new BigInteger(1, thedigest); - String filemd5sum = bigInt.toString(16); - while (filemd5sum.length() < 32) filemd5sum = "0" + filemd5sum; // pad to length 32 - - // - // copy md5 to integrationtests - // - updateMD5Db(filemd5sum, resultsFile); - - if (parameterize || expectedMD5.equals("")) { - System.out.println(String.format("PARAMETERIZATION[%s]: file %s has md5 = %s, stated expectation is %s, equal? = %b", - name, resultsFile, filemd5sum, expectedMD5, filemd5sum.equals(expectedMD5))); - } else { - System.out.println(String.format("Checking MD5 for %s [calculated=%s, expected=%s]", resultsFile, filemd5sum, expectedMD5)); - System.out.flush(); - - if ( ! expectedMD5.equals(filemd5sum) ) { - // we are going to fail for real in assertEquals (so we are counted by the testing framework). - // prepare ourselves for the comparison - System.out.printf("##### Test %s is going fail #####%n", name); - String pathToExpectedMD5File = getMD5Path(expectedMD5, "[No DB file found]"); - String pathToFileMD5File = getMD5Path(filemd5sum, "[No DB file found]"); - System.out.printf("##### Path to expected file (MD5=%s): %s%n", expectedMD5, pathToExpectedMD5File); - System.out.printf("##### Path to calculated file (MD5=%s): %s%n", filemd5sum, pathToFileMD5File); - System.out.printf("##### Diff command: diff %s %s%n", pathToExpectedMD5File, pathToFileMD5File); - - // inline differences - DiffEngine.SummaryReportParams params = new DiffEngine.SummaryReportParams(System.out, 20, 10, 0); - boolean success = DiffEngine.simpleDiffFiles(new File(pathToExpectedMD5File), new File(pathToFileMD5File), params); - if ( success ) - System.out.printf("Note that the above list is not comprehensive. At most 20 lines of output, and 10 specific differences will be listed. Please use -T DiffObjects -R public/testdata/exampleFASTA.fasta -m %s -t %s to explore the differences more freely%n", - pathToExpectedMD5File, pathToFileMD5File); - } - } - - return filemd5sum; - } catch (Exception e) { - throw new RuntimeException("Failed to read bytes from calls file: " + resultsFile, e); - } - } - /** * Creates a temp file that will be deleted on exit after tests are complete. * @param name Prefix of the file. diff --git a/public/java/test/org/broadinstitute/sting/MD5DB.java b/public/java/test/org/broadinstitute/sting/MD5DB.java new file mode 100644 index 000000000..bea9eaec5 --- /dev/null +++ b/public/java/test/org/broadinstitute/sting/MD5DB.java @@ -0,0 +1,247 @@ +/* + * Copyright (c) 2011, The Broad Institute + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +package org.broadinstitute.sting; + +import org.apache.commons.io.FileUtils; +import org.broadinstitute.sting.gatk.walkers.diffengine.DiffEngine; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; +import org.testng.Assert; + +import java.io.*; +import java.math.BigInteger; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.Arrays; + +/** + * Created by IntelliJ IDEA. + * User: depristo + * Date: 7/18/11 + * Time: 9:10 AM + * + * Utilities for manipulating the MD5 database of previous results + */ +public class MD5DB { + /** + * Subdirectory under the ant build directory where we store integration test md5 results + */ + public static final String LOCAL_MD5_DB_DIR = "integrationtests"; + public static final String GLOBAL_MD5_DB_DIR = "/humgen/gsa-hpprojects/GATK/data/integrationtests"; + + // ---------------------------------------------------------------------- + // + // MD5 DB stuff + // + // ---------------------------------------------------------------------- + + /** + * Create the MD5 file directories if necessary + */ + protected static void ensureMd5DbDirectory() { + File dir = new File(LOCAL_MD5_DB_DIR); + if ( ! dir.exists() ) { + System.out.printf("##### Creating MD5 db %s%n", LOCAL_MD5_DB_DIR); + if ( ! dir.mkdir() ) { + throw new ReviewedStingException("Infrastructure failure: failed to create md5 directory " + LOCAL_MD5_DB_DIR); + } + } + } + + /** + * Returns the path to an already existing file with the md5 contents, or valueIfNotFound + * if no such file exists in the db. + * + * @param md5 + * @param valueIfNotFound + * @return + */ + public static String getMD5FilePath(final String md5, final String valueIfNotFound) { + // we prefer the local db to the global DB, so match it first + for ( String dir : Arrays.asList(LOCAL_MD5_DB_DIR, GLOBAL_MD5_DB_DIR)) { + File f = getFileForMD5(md5, dir); + if ( f.exists() && f.canRead() ) + return f.getPath(); + } + + return valueIfNotFound; + } + + /** + * Utility function that given a file's md5 value and the path to the md5 db, + * returns the canonical name of the file. For example, if md5 is XXX and db is YYY, + * this will return YYY/XXX.integrationtest + * + * @param md5 + * @param dbPath + * @return + */ + private static File getFileForMD5(final String md5, final String dbPath) { + final String basename = String.format("%s.integrationtest", md5); + return new File(dbPath + "/" + basename); + } + + /** + * Copies the results file with md5 value to its canonical file name and db places + * + * @param md5 + * @param resultsFile + */ + private static void updateMD5Db(final String md5, final File resultsFile) { + copyFileToDB(getFileForMD5(md5, LOCAL_MD5_DB_DIR), resultsFile); + copyFileToDB(getFileForMD5(md5, GLOBAL_MD5_DB_DIR), resultsFile); + } + + /** + * Low-level utility routine that copies resultsFile to dbFile + * @param dbFile + * @param resultsFile + */ + private static void copyFileToDB(File dbFile, final File resultsFile) { + if ( ! dbFile.exists() ) { + // the file isn't already in the db, copy it over + System.out.printf("##### Updating MD5 file: %s%n", dbFile.getPath()); + try { + FileUtils.copyFile(resultsFile, dbFile); + } catch ( IOException e ) { + System.out.printf("##### Skipping update, cannot write file %s%n", dbFile); + } + } else { + System.out.printf("##### MD5 file is up to date: %s%n", dbFile.getPath()); + } + } + + /** + * Returns the byte[] of the entire contents of file, for md5 calculations + * @param file + * @return + * @throws IOException + */ + private static byte[] getBytesFromFile(File file) throws IOException { + InputStream is = new FileInputStream(file); + + // Get the size of the file + long length = file.length(); + + if (length > Integer.MAX_VALUE) { + // File is too large + } + + // Create the byte array to hold the data + byte[] bytes = new byte[(int) length]; + + // Read in the bytes + int offset = 0; + int numRead = 0; + while (offset < bytes.length + && (numRead = is.read(bytes, offset, bytes.length - offset)) >= 0) { + offset += numRead; + } + + // Ensure all the bytes have been read in + if (offset < bytes.length) { + throw new IOException("Could not completely read file " + file.getName()); + } + + // Close the input stream and return bytes + is.close(); + return bytes; + } + + /** + * Tests a file MD5 against an expected value, returning the MD5. NOTE: This function WILL throw an exception if the MD5s are different. + * @param name Name of the test. + * @param resultsFile File to MD5. + * @param expectedMD5 Expected MD5 value. + * @param parameterize If true or if expectedMD5 is an empty string, will print out the calculated MD5 instead of error text. + * @return The calculated MD5. + */ + public static String assertMatchingMD5(final String name, final File resultsFile, final String expectedMD5, final boolean parameterize) { + String filemd5sum = testFileMD5(name, resultsFile, expectedMD5, parameterize); + + if (parameterize || expectedMD5.equals("")) { + // Don't assert + } else if ( filemd5sum.equals(expectedMD5) ) { + System.out.println(String.format(" => %s PASSED", name)); + } else { + Assert.fail(String.format("%s has mismatching MD5s: expected=%s observed=%s", name, expectedMD5, filemd5sum)); + } + + return filemd5sum; + } + + + /** + * Tests a file MD5 against an expected value, returning the MD5. NOTE: This function WILL NOT throw an exception if the MD5s are different. + * @param name Name of the test. + * @param resultsFile File to MD5. + * @param expectedMD5 Expected MD5 value. + * @param parameterize If true or if expectedMD5 is an empty string, will print out the calculated MD5 instead of error text. + * @return The calculated MD5. + */ + public static String testFileMD5(final String name, final File resultsFile, final String expectedMD5, final boolean parameterize) { + try { + byte[] bytesOfMessage = getBytesFromFile(resultsFile); + byte[] thedigest = MessageDigest.getInstance("MD5").digest(bytesOfMessage); + BigInteger bigInt = new BigInteger(1, thedigest); + String filemd5sum = bigInt.toString(16); + while (filemd5sum.length() < 32) filemd5sum = "0" + filemd5sum; // pad to length 32 + + // + // copy md5 to integrationtests + // + updateMD5Db(filemd5sum, resultsFile); + + if (parameterize || expectedMD5.equals("")) { + System.out.println(String.format("PARAMETERIZATION[%s]: file %s has md5 = %s, stated expectation is %s, equal? = %b", + name, resultsFile, filemd5sum, expectedMD5, filemd5sum.equals(expectedMD5))); + } else { + System.out.println(String.format("Checking MD5 for %s [calculated=%s, expected=%s]", resultsFile, filemd5sum, expectedMD5)); + System.out.flush(); + + if ( ! expectedMD5.equals(filemd5sum) ) { + // we are going to fail for real in assertEquals (so we are counted by the testing framework). + // prepare ourselves for the comparison + System.out.printf("##### Test %s is going fail #####%n", name); + String pathToExpectedMD5File = getMD5FilePath(expectedMD5, "[No DB file found]"); + String pathToFileMD5File = getMD5FilePath(filemd5sum, "[No DB file found]"); + System.out.printf("##### Path to expected file (MD5=%s): %s%n", expectedMD5, pathToExpectedMD5File); + System.out.printf("##### Path to calculated file (MD5=%s): %s%n", filemd5sum, pathToFileMD5File); + System.out.printf("##### Diff command: diff %s %s%n", pathToExpectedMD5File, pathToFileMD5File); + + // inline differences + DiffEngine.SummaryReportParams params = new DiffEngine.SummaryReportParams(System.out, 20, 10, 0); + boolean success = DiffEngine.simpleDiffFiles(new File(pathToExpectedMD5File), new File(pathToFileMD5File), params); + if ( success ) + System.out.printf("Note that the above list is not comprehensive. At most 20 lines of output, and 10 specific differences will be listed. Please use -T DiffObjects -R public/testdata/exampleFASTA.fasta -m %s -t %s to explore the differences more freely%n", + pathToExpectedMD5File, pathToFileMD5File); + } + } + + return filemd5sum; + } catch (Exception e) { + throw new RuntimeException("Failed to read bytes from calls file: " + resultsFile, e); + } + } +} diff --git a/public/java/test/org/broadinstitute/sting/WalkerTest.java b/public/java/test/org/broadinstitute/sting/WalkerTest.java index 22635dfa3..386c17659 100755 --- a/public/java/test/org/broadinstitute/sting/WalkerTest.java +++ b/public/java/test/org/broadinstitute/sting/WalkerTest.java @@ -53,7 +53,7 @@ public class WalkerTest extends BaseTest { } public String assertMatchingMD5(final String name, final File resultsFile, final String expectedMD5) { - return assertMatchingMD5(name, resultsFile, expectedMD5, parameterize()); + return MD5DB.assertMatchingMD5(name, resultsFile, expectedMD5, parameterize()); } public void maybeValidateSupplementaryFile(final String name, final File resultFile) { @@ -191,7 +191,7 @@ public class WalkerTest extends BaseTest { } protected Pair, List> executeTest(final String name, WalkerTestSpec spec) { - ensureMd5DbDirectory(); // ensure the md5 directory exists + MD5DB.ensureMd5DbDirectory(); // ensure the md5 directory exists List tmpFiles = new ArrayList(); for (int i = 0; i < spec.nOutputFiles; i++) { diff --git a/public/java/test/org/broadinstitute/sting/gatk/walkers/variantrecalibration/VariantRecalibrationWalkersIntegrationTest.java b/public/java/test/org/broadinstitute/sting/gatk/walkers/variantrecalibration/VariantRecalibrationWalkersIntegrationTest.java index 2fec2e70f..057053a1c 100755 --- a/public/java/test/org/broadinstitute/sting/gatk/walkers/variantrecalibration/VariantRecalibrationWalkersIntegrationTest.java +++ b/public/java/test/org/broadinstitute/sting/gatk/walkers/variantrecalibration/VariantRecalibrationWalkersIntegrationTest.java @@ -1,5 +1,6 @@ package org.broadinstitute.sting.gatk.walkers.variantrecalibration; +import org.broadinstitute.sting.MD5DB; import org.broadinstitute.sting.WalkerTest; import org.testng.annotations.Test; import org.testng.annotations.DataProvider; @@ -65,8 +66,8 @@ public class VariantRecalibrationWalkersIntegrationTest extends WalkerTest { " -NO_HEADER" + " -B:input,VCF " + params.inVCF + " -o %s" + - " -tranchesFile " + getFileForMD5(params.tranchesMD5) + - " -recalFile " + getFileForMD5(params.recalMD5), + " -tranchesFile " + MD5DB.getMD5FilePath(params.tranchesMD5, null) + + " -recalFile " + MD5DB.getMD5FilePath(params.recalMD5, null), Arrays.asList(params.cutVCFMD5)); executeTest("testApplyRecalibration-"+params.inVCF, spec); } diff --git a/public/java/test/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariantsIntegrationTest.java b/public/java/test/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariantsIntegrationTest.java index fb18c6c33..00ee44f75 100755 --- a/public/java/test/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariantsIntegrationTest.java +++ b/public/java/test/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariantsIntegrationTest.java @@ -70,7 +70,6 @@ public class CombineVariantsIntegrationTest extends WalkerTest { executeTest("combineSites 1:" + new File(file1).getName() + " 2:" + new File(file2).getName() + " args = " + args, spec); } - @Test public void test1SNP() { test1InOut("pilot2.snps.vcf4.genotypes.vcf", "c608b9fc1e36dba6cebb4f259883f9f0", true); } @Test public void test2SNP() { test1InOut("pilot2.snps.vcf4.genotypes.vcf", "20caad94411d6ab48153b214de916df8", " -setKey foo", true); } @Test public void test3SNP() { test1InOut("pilot2.snps.vcf4.genotypes.vcf", "004f3065cb1bc2ce2f9afd695caf0b48", " -setKey null", true); } @@ -119,7 +118,7 @@ public class CombineVariantsIntegrationTest extends WalkerTest { executeTest("combineComplexSites 1:" + new File(file1).getName() + " 2:" + new File(file2).getName() + " args = " + args, spec); } - @Test public void complexTestFull() { combineComplexSites("", "64b991fd3850f83614518f7d71f0532f"); } + @Test public void complexTestFull() { combineComplexSites("", "b5a53ee92bdaacd2bb3327e9004ae058"); } @Test public void complexTestMinimal() { combineComplexSites(" -minimalVCF", "df96cb3beb2dbb5e02f80abec7d3571e"); } @Test public void complexTestSitesOnly() { combineComplexSites(" -sites_only", "f72a178137e25dbe0b931934cdc0079d"); } @Test public void complexTestSitesOnlyMinimal() { combineComplexSites(" -sites_only -minimalVCF", "f704caeaaaed6711943014b847fe381a"); } diff --git a/public/java/test/org/broadinstitute/sting/utils/genotype/vcf/VCFHeaderUnitTest.java b/public/java/test/org/broadinstitute/sting/utils/genotype/vcf/VCFHeaderUnitTest.java index c4ca6a551..14e63191d 100644 --- a/public/java/test/org/broadinstitute/sting/utils/genotype/vcf/VCFHeaderUnitTest.java +++ b/public/java/test/org/broadinstitute/sting/utils/genotype/vcf/VCFHeaderUnitTest.java @@ -2,15 +2,16 @@ package org.broadinstitute.sting.utils.genotype.vcf; import org.broad.tribble.readers.AsciiLineReader; import org.broadinstitute.sting.utils.codecs.vcf.*; +import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import org.testng.Assert; import org.broadinstitute.sting.BaseTest; import org.testng.annotations.Test; -import java.io.File; -import java.io.IOException; -import java.io.PrintWriter; -import java.io.StringBufferInputStream; +import java.io.*; +import java.math.BigInteger; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; /** * Created by IntelliJ IDEA. @@ -40,6 +41,52 @@ public class VCFHeaderUnitTest extends BaseTest { checkMD5ofHeaderFile(header, "ad8c4cf85e868b0261ab49ee2c613088"); } + /** + * a little utility function for all tests to md5sum a file + * Shameless taken from: + * + * http://www.javalobby.org/java/forums/t84420.html + * + * @param file the file + * @return a string + */ + private static String md5SumFile(File file) { + MessageDigest digest; + try { + digest = MessageDigest.getInstance("MD5"); + } catch (NoSuchAlgorithmException e) { + throw new ReviewedStingException("Unable to find MD5 digest"); + } + InputStream is; + try { + is = new FileInputStream(file); + } catch (FileNotFoundException e) { + throw new ReviewedStingException("Unable to open file " + file); + } + byte[] buffer = new byte[8192]; + int read; + try { + while ((read = is.read(buffer)) > 0) { + digest.update(buffer, 0, read); + } + byte[] md5sum = digest.digest(); + BigInteger bigInt = new BigInteger(1, md5sum); + return bigInt.toString(16); + + } + catch (IOException e) { + throw new ReviewedStingException("Unable to process file for MD5", e); + } + finally { + try { + is.close(); + } + catch (IOException e) { + throw new ReviewedStingException("Unable to close input stream for MD5 calculation", e); + } + } + } + private void checkMD5ofHeaderFile(VCFHeader header, String md5sum) { File myTempFile = null; PrintWriter pw = null; From 449bf1b539369011b5d2f5fc946662686a9e7c30 Mon Sep 17 00:00:00 2001 From: Mark DePristo Date: Mon, 18 Jul 2011 10:47:03 -0400 Subject: [PATCH 18/46] Testdata for diffObjects. PipelineTest updated to point to MD5DB.java --- .../sting/queue/pipeline/PipelineTest.scala | 3 ++- public/testdata/exampleBAM.simple.bai | Bin 0 -> 232 bytes public/testdata/exampleBAM.simple.bam | Bin 0 -> 3595 bytes 3 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 public/testdata/exampleBAM.simple.bai create mode 100644 public/testdata/exampleBAM.simple.bam diff --git a/public/scala/test/org/broadinstitute/sting/queue/pipeline/PipelineTest.scala b/public/scala/test/org/broadinstitute/sting/queue/pipeline/PipelineTest.scala index dc3cfd9d4..c2c956118 100644 --- a/public/scala/test/org/broadinstitute/sting/queue/pipeline/PipelineTest.scala +++ b/public/scala/test/org/broadinstitute/sting/queue/pipeline/PipelineTest.scala @@ -31,6 +31,7 @@ import org.broadinstitute.sting.commandline.CommandLineProgram import java.util.Date import java.text.SimpleDateFormat import org.broadinstitute.sting.BaseTest +import org.broadinstitute.sting.MD5DB import org.broadinstitute.sting.queue.QCommandLine import org.broadinstitute.sting.queue.util.{Logging, ProcessController} import java.io.{FileNotFoundException, File} @@ -105,7 +106,7 @@ object PipelineTest extends BaseTest with Logging { private def assertMatchingMD5s(name: String, fileMD5s: Traversable[(File, String)], parameterize: Boolean) { var failed = 0 for ((file, expectedMD5) <- fileMD5s) { - val calculatedMD5 = BaseTest.testFileMD5(name, file, expectedMD5, parameterize) + val calculatedMD5 = MD5DB.testFileMD5(name, file, expectedMD5, parameterize) if (!parameterize && expectedMD5 != "" && expectedMD5 != calculatedMD5) failed += 1 } diff --git a/public/testdata/exampleBAM.simple.bai b/public/testdata/exampleBAM.simple.bai new file mode 100644 index 0000000000000000000000000000000000000000..2d8268b1d9ecd4c5da64f692d7790723d89e2445 GIT binary patch literal 232 zcmZ>A^kigYU|?VaVoxCk1`u108At$u6g!0Wf{MfV54a)X-cWHEf0Y14+y^QS<8z2Z r#QmV+Fn*FO)ci>d3`{^K%wCwdB19Tag4_sGgYFiXT`(GE2TU^nq8kf) literal 0 HcmV?d00001 diff --git a/public/testdata/exampleBAM.simple.bam b/public/testdata/exampleBAM.simple.bam new file mode 100644 index 0000000000000000000000000000000000000000..c3eb7ae7bf90a4f4aee3ce11cb0a3bd63139d36f GIT binary patch literal 3595 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 R0stET0{{R300000006Of@cRG& literal 0 HcmV?d00001 From bc8b5da698bac57a95673c53c1e491ee14d22473 Mon Sep 17 00:00:00 2001 From: Eric Banks Date: Mon, 18 Jul 2011 12:25:54 -0400 Subject: [PATCH 22/46] Added docs while I was reading through the code to understand it --- .../walkers/variantutils/CombineVariants.java | 2 +- .../variantcontext/VariantContextUtils.java | 47 ++++++++++++++----- 2 files changed, 36 insertions(+), 13 deletions(-) diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariants.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariants.java index 837f352f8..3dc47caa2 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariants.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariants.java @@ -149,7 +149,7 @@ public class CombineVariants extends RodWalker { // get all of the vcf rods at this locus // Need to provide reference bases to simpleMerge starting at current locus - Collection vcs = tracker.getAllVariantContexts(ref, null,context.getLocation(), true, false); + Collection vcs = tracker.getAllVariantContexts(ref, null, context.getLocation(), true, false); if ( sitesOnlyVCF ) { vcs = VariantContextUtils.sitesOnlyVariantContexts(vcs); diff --git a/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantContextUtils.java b/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantContextUtils.java index 5a5671056..c1eb48b68 100755 --- a/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantContextUtils.java +++ b/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantContextUtils.java @@ -289,8 +289,8 @@ public class VariantContextUtils { /** * Returns a newly allocated VC that is the same as VC, but without genotypes - * @param vc - * @return + * @param vc variant context + * @return new VC without genotypes */ @Requires("vc != null") @Ensures("result != null") @@ -303,8 +303,8 @@ public class VariantContextUtils { /** * Returns a newly allocated list of VC, where each VC is the same as the input VCs, but without genotypes - * @param vcs - * @return + * @param vcs collection of VCs + * @return new VCs without genotypes */ @Requires("vcs != null") @Ensures("result != null") @@ -362,9 +362,9 @@ public class VariantContextUtils { * information per genotype. The master merge will add the PQ information from each genotype record, where * appropriate, to the master VC. * - * @param unsortedVCs - * @param masterName - * @return + * @param unsortedVCs collection of VCs + * @param masterName name of master VC + * @return master-merged VC */ public static VariantContext masterMerge(Collection unsortedVCs, String masterName) { VariantContext master = findMaster(unsortedVCs, masterName); @@ -435,11 +435,15 @@ public class VariantContextUtils { * If uniqifySamples is true, the priority order is ignored and names are created by concatenating the VC name with * the sample name * - * @param unsortedVCs - * @param priorityListOfVCs - * @param filteredRecordMergeType - * @param genotypeMergeOptions - * @return + * @param genomeLocParser loc parser + * @param unsortedVCs collection of unsorted VCs + * @param priorityListOfVCs priority list detailing the order in which we should grab the VCs + * @param filteredRecordMergeType merge type for filtered records + * @param genotypeMergeOptions merge option for genotypes + * @param annotateOrigin should we annotate the set it came from? + * @param printMessages should we print messages? + * @param inputRefBase the ref base + * @return new VariantContext */ public static VariantContext simpleMerge(GenomeLocParser genomeLocParser, Collection unsortedVCs, List priorityListOfVCs, FilteredRecordMergeType filteredRecordMergeType, GenotypeMergeType genotypeMergeOptions, @@ -448,6 +452,24 @@ public class VariantContextUtils { return simpleMerge(genomeLocParser, unsortedVCs, priorityListOfVCs, filteredRecordMergeType, genotypeMergeOptions, annotateOrigin, printMessages, inputRefBase, "set", false, false); } + /** + * Merges VariantContexts into a single hybrid. Takes genotypes for common samples in priority order, if provided. + * If uniqifySamples is true, the priority order is ignored and names are created by concatenating the VC name with + * the sample name + * + * @param genomeLocParser loc parser + * @param unsortedVCs collection of unsorted VCs + * @param priorityListOfVCs priority list detailing the order in which we should grab the VCs + * @param filteredRecordMergeType merge type for filtered records + * @param genotypeMergeOptions merge option for genotypes + * @param annotateOrigin should we annotate the set it came from? + * @param printMessages should we print messages? + * @param inputRefBase the ref base + * @param setKey the key name of the set + * @param filteredAreUncalled are filtered records uncalled? + * @param mergeInfoWithMaxAC should we merge in info from the VC with maximum allele count? + * @return new VariantContext + */ public static VariantContext simpleMerge(GenomeLocParser genomeLocParser, Collection unsortedVCs, List priorityListOfVCs, FilteredRecordMergeType filteredRecordMergeType, GenotypeMergeType genotypeMergeOptions, boolean annotateOrigin, boolean printMessages, byte inputRefBase, String setKey, @@ -834,6 +856,7 @@ public class VariantContextUtils { /** * create a genome location, given a variant context + * @param genomeLocParser parser * @param vc the variant context * @return the genomeLoc */ From 80b5c5261a097b1a97ebc63e397d3f0f7d13f2eb Mon Sep 17 00:00:00 2001 From: Eric Banks Date: Mon, 18 Jul 2011 13:42:45 -0400 Subject: [PATCH 24/46] CombineVariants no longer combines records of different types. So now when combining SNP and indel callsets, overlapping calls get their own records. Useful for Khalid in the pipeline. For those interested, it turns out the previous behavior was doing the wrong thing occasionally (and this was even captured in the integration tests). --- .../walkers/variantutils/CombineVariants.java | 19 +++++++++++++------ .../variantcontext/VariantContextUtils.java | 13 ++++++++++++- .../CombineVariantsIntegrationTest.java | 6 +++--- 3 files changed, 28 insertions(+), 10 deletions(-) diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariants.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariants.java index 3dc47caa2..6970431ff 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariants.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariants.java @@ -172,17 +172,24 @@ public class CombineVariants extends RodWalker { if (minimumN > 1 && (vcs.size() - numFilteredRecords < minimumN)) return 0; - VariantContext mergedVC; + List mergedVCs = new ArrayList(); if ( master ) { - mergedVC = VariantContextUtils.masterMerge(vcs, "master"); + mergedVCs.add(VariantContextUtils.masterMerge(vcs, "master")); } else { - mergedVC = VariantContextUtils.simpleMerge(getToolkit().getGenomeLocParser(),vcs, priority, filteredRecordsMergeType, - genotypeMergeOption, true, printComplexMerges, ref.getBase(), SET_KEY, filteredAreUncalled, MERGE_INFO_WITH_MAX_AC); + Map> VCsByType = VariantContextUtils.separateVariantContextsByType(vcs); + // iterate over the keys (and not the values) so that it's deterministic + for ( VariantContext.Type type : VCsByType.keySet() ) { + mergedVCs.add(VariantContextUtils.simpleMerge(getToolkit().getGenomeLocParser(), VCsByType.get(type), + priority, filteredRecordsMergeType, genotypeMergeOption, true, printComplexMerges, + ref.getBase(), SET_KEY, filteredAreUncalled, MERGE_INFO_WITH_MAX_AC)); + } } - //out.printf(" merged => %s%nannotated => %s%n", mergedVC, annotatedMergedVC); + for ( VariantContext mergedVC : mergedVCs ) { + // only operate at the start of events + if ( mergedVC == null ) + continue; - if ( mergedVC != null ) { // only operate at the start of events HashMap attributes = new HashMap(mergedVC.getAttributes()); // re-compute chromosome counts VariantContextUtils.calculateChromosomeCounts(mergedVC, attributes, false); diff --git a/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantContextUtils.java b/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantContextUtils.java index c1eb48b68..212600360 100755 --- a/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantContextUtils.java +++ b/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantContextUtils.java @@ -492,7 +492,7 @@ public class VariantContextUtils { if ( ! filteredAreUncalled || vc.isNotFiltered() ) VCs.add(VariantContext.createVariantContextWithPaddedAlleles(vc,inputRefBase,false)); } - if ( VCs.size() == 0 ) // everything is filtered out and we're filteredareUncalled + if ( VCs.size() == 0 ) // everything is filtered out and we're filteredAreUncalled return null; // establish the baseline info from the first VC @@ -637,6 +637,17 @@ public class VariantContextUtils { return merged; } + public static Map> separateVariantContextsByType(Collection VCs) { + HashMap> mappedVCs = new HashMap>(); + for ( VariantContext vc : VCs ) { + if ( !mappedVCs.containsKey(vc.getType()) ) + mappedVCs.put(vc.getType(), new ArrayList()); + mappedVCs.get(vc.getType()).add(vc); + } + + return mappedVCs; + } + private static class AlleleMapper { private VariantContext vc = null; private Map map = null; diff --git a/public/java/test/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariantsIntegrationTest.java b/public/java/test/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariantsIntegrationTest.java index 00ee44f75..c5fd9bcbe 100755 --- a/public/java/test/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariantsIntegrationTest.java +++ b/public/java/test/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariantsIntegrationTest.java @@ -80,9 +80,9 @@ public class CombineVariantsIntegrationTest extends WalkerTest { @Test public void combineTrioCalls() { combine2("CEU.trio.2010_03.genotypes.vcf.gz", "YRI.trio.2010_03.genotypes.vcf.gz", "", "1d5a021387a8a86554db45a29f66140f", false); } // official project VCF files in tabix format @Test public void combineTrioCallsMin() { combine2("CEU.trio.2010_03.genotypes.vcf.gz", "YRI.trio.2010_03.genotypes.vcf.gz", " -minimalVCF", "20163d60f18a46496f6da744ab5cc0f9", false); } // official project VCF files in tabix format - @Test public void combine2Indels() { combine2("CEU.dindel.vcf4.trio.2010_06.indel.genotypes.vcf", "CEU.dindel.vcf4.low_coverage.2010_06.indel.genotypes.vcf", "", "5b82f37df1f5ba40f0474d71c94142ec", false); } + @Test public void combine2Indels() { combine2("CEU.dindel.vcf4.trio.2010_06.indel.genotypes.vcf", "CEU.dindel.vcf4.low_coverage.2010_06.indel.genotypes.vcf", "", "cba8f749f2444d69a54553b15328ed47", false); } - @Test public void combineSNPsAndIndels() { combine2("CEU.trio.2010_03.genotypes.vcf.gz", "CEU.dindel.vcf4.low_coverage.2010_06.indel.genotypes.vcf", "", "c58dca482bf97069eac6d9f1a07a2cba", false); } + @Test public void combineSNPsAndIndels() { combine2("CEU.trio.2010_03.genotypes.vcf.gz", "CEU.dindel.vcf4.low_coverage.2010_06.indel.genotypes.vcf", "", "78b169cf9955c9fd01340292d5ba2dca", false); } @Test public void uniqueSNPs() { combine2("pilot2.snps.vcf4.genotypes.vcf", "yri.trio.gatk_glftrio.intersection.annotated.filtered.chr1.vcf", "", "89f55abea8f59e39d1effb908440548c", true); } @@ -100,7 +100,7 @@ public class CombineVariantsIntegrationTest extends WalkerTest { " -priority NA19240_BGI,NA19240_ILLUMINA,NA19240_WUGSC,denovoInfo" + " -genotypeMergeOptions UNIQUIFY -L 1"), 1, - Arrays.asList("8b78339ccf7a5a5a837f79e88a3a38e5")); + Arrays.asList("0e475c98d5152fb12eb17f3907b849a9")); executeTest("threeWayWithRefs", spec); } From 92fa41045070ef1d938a0d4cc600f500ba1137a9 Mon Sep 17 00:00:00 2001 From: Eric Banks Date: Mon, 18 Jul 2011 13:43:34 -0400 Subject: [PATCH 25/46] Check that it's a valid bam file before parsing or bad things can happen --- .../gatk/walkers/diffengine/BAMDiffableReader.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/BAMDiffableReader.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/BAMDiffableReader.java index 15b16ca6b..a1c043365 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/BAMDiffableReader.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/BAMDiffableReader.java @@ -29,9 +29,7 @@ import net.sf.samtools.SAMRecord; import net.sf.samtools.SAMRecordIterator; import net.sf.samtools.util.BlockCompressedInputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; +import java.io.*; import java.util.Arrays; @@ -102,8 +100,10 @@ public class BAMDiffableReader implements DiffableReader { final byte[] BAM_MAGIC = "BAM\1".getBytes(); final byte[] buffer = new byte[BAM_MAGIC.length]; try { - FileInputStream fstream = new FileInputStream(file); - new BlockCompressedInputStream(fstream).read(buffer,0,BAM_MAGIC.length); + InputStream fstream = new BufferedInputStream(new FileInputStream(file)); + if ( !BlockCompressedInputStream.isValidFile(fstream) ) + return false; + new BlockCompressedInputStream(fstream).read(buffer, 0, BAM_MAGIC.length); return Arrays.equals(buffer, BAM_MAGIC); } catch ( IOException e ) { return false; From 83ba2c066a75ac7ebb10a60934b4dfa7dc89c2cf Mon Sep 17 00:00:00 2001 From: Eric Banks Date: Mon, 18 Jul 2011 13:59:02 -0400 Subject: [PATCH 26/46] Making it deterministic --- .../gatk/walkers/variantutils/CombineVariants.java | 12 +++++++----- .../variantutils/CombineVariantsIntegrationTest.java | 6 +++--- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariants.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariants.java index 6970431ff..9c2a520ef 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariants.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariants.java @@ -25,6 +25,7 @@ package org.broadinstitute.sting.gatk.walkers.variantutils; +import org.apache.poi.hpsf.Variant; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Hidden; import org.broadinstitute.sting.commandline.Output; @@ -177,11 +178,12 @@ public class CombineVariants extends RodWalker { mergedVCs.add(VariantContextUtils.masterMerge(vcs, "master")); } else { Map> VCsByType = VariantContextUtils.separateVariantContextsByType(vcs); - // iterate over the keys (and not the values) so that it's deterministic - for ( VariantContext.Type type : VCsByType.keySet() ) { - mergedVCs.add(VariantContextUtils.simpleMerge(getToolkit().getGenomeLocParser(), VCsByType.get(type), - priority, filteredRecordsMergeType, genotypeMergeOption, true, printComplexMerges, - ref.getBase(), SET_KEY, filteredAreUncalled, MERGE_INFO_WITH_MAX_AC)); + // iterate over the types so that it's deterministic + for ( VariantContext.Type type : VariantContext.Type.values() ) { + if ( VCsByType.containsKey(type) ) + mergedVCs.add(VariantContextUtils.simpleMerge(getToolkit().getGenomeLocParser(), VCsByType.get(type), + priority, filteredRecordsMergeType, genotypeMergeOption, true, printComplexMerges, + ref.getBase(), SET_KEY, filteredAreUncalled, MERGE_INFO_WITH_MAX_AC)); } } diff --git a/public/java/test/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariantsIntegrationTest.java b/public/java/test/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariantsIntegrationTest.java index c5fd9bcbe..904a5b29b 100755 --- a/public/java/test/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariantsIntegrationTest.java +++ b/public/java/test/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariantsIntegrationTest.java @@ -80,9 +80,9 @@ public class CombineVariantsIntegrationTest extends WalkerTest { @Test public void combineTrioCalls() { combine2("CEU.trio.2010_03.genotypes.vcf.gz", "YRI.trio.2010_03.genotypes.vcf.gz", "", "1d5a021387a8a86554db45a29f66140f", false); } // official project VCF files in tabix format @Test public void combineTrioCallsMin() { combine2("CEU.trio.2010_03.genotypes.vcf.gz", "YRI.trio.2010_03.genotypes.vcf.gz", " -minimalVCF", "20163d60f18a46496f6da744ab5cc0f9", false); } // official project VCF files in tabix format - @Test public void combine2Indels() { combine2("CEU.dindel.vcf4.trio.2010_06.indel.genotypes.vcf", "CEU.dindel.vcf4.low_coverage.2010_06.indel.genotypes.vcf", "", "cba8f749f2444d69a54553b15328ed47", false); } + @Test public void combine2Indels() { combine2("CEU.dindel.vcf4.trio.2010_06.indel.genotypes.vcf", "CEU.dindel.vcf4.low_coverage.2010_06.indel.genotypes.vcf", "", "f1cf095c2fe9641b7ca1f8ee2c46fd4a", false); } - @Test public void combineSNPsAndIndels() { combine2("CEU.trio.2010_03.genotypes.vcf.gz", "CEU.dindel.vcf4.low_coverage.2010_06.indel.genotypes.vcf", "", "78b169cf9955c9fd01340292d5ba2dca", false); } + @Test public void combineSNPsAndIndels() { combine2("CEU.trio.2010_03.genotypes.vcf.gz", "CEU.dindel.vcf4.low_coverage.2010_06.indel.genotypes.vcf", "", "e144b6283765494bfe8189ac59965083", false); } @Test public void uniqueSNPs() { combine2("pilot2.snps.vcf4.genotypes.vcf", "yri.trio.gatk_glftrio.intersection.annotated.filtered.chr1.vcf", "", "89f55abea8f59e39d1effb908440548c", true); } @@ -100,7 +100,7 @@ public class CombineVariantsIntegrationTest extends WalkerTest { " -priority NA19240_BGI,NA19240_ILLUMINA,NA19240_WUGSC,denovoInfo" + " -genotypeMergeOptions UNIQUIFY -L 1"), 1, - Arrays.asList("0e475c98d5152fb12eb17f3907b849a9")); + Arrays.asList("1de95f91ca15d2a8856de35dee0ce33e")); executeTest("threeWayWithRefs", spec); } From 45702d308438299cb2cb876ed80a89f2c84a5a72 Mon Sep 17 00:00:00 2001 From: Mark DePristo Date: Mon, 18 Jul 2011 15:40:15 -0400 Subject: [PATCH 30/46] Now supports a mode where the primary key isn't sorted. In this case the records are displayed in the order in which they are added to to the table. --- .../sting/gatk/report/GATKReport.java | 6 ++++- .../sting/gatk/report/GATKReportTable.java | 26 +++++++++---------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/public/java/src/org/broadinstitute/sting/gatk/report/GATKReport.java b/public/java/src/org/broadinstitute/sting/gatk/report/GATKReport.java index f4c565318..59d496828 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/report/GATKReport.java +++ b/public/java/src/org/broadinstitute/sting/gatk/report/GATKReport.java @@ -100,7 +100,11 @@ public class GATKReport { * @param tableDescription the description of the table */ public void addTable(String tableName, String tableDescription) { - GATKReportTable table = new GATKReportTable(tableName, tableDescription); + addTable(tableName, tableDescription, true); + } + + public void addTable(String tableName, String tableDescription, boolean sortByPrimaryKey) { + GATKReportTable table = new GATKReportTable(tableName, tableDescription, sortByPrimaryKey); tables.put(tableName, table); } diff --git a/public/java/src/org/broadinstitute/sting/gatk/report/GATKReportTable.java b/public/java/src/org/broadinstitute/sting/gatk/report/GATKReportTable.java index 0e503f92a..f7ea25696 100755 --- a/public/java/src/org/broadinstitute/sting/gatk/report/GATKReportTable.java +++ b/public/java/src/org/broadinstitute/sting/gatk/report/GATKReportTable.java @@ -3,9 +3,7 @@ package org.broadinstitute.sting.gatk.report; import org.broadinstitute.sting.utils.exceptions.ReviewedStingException; import java.io.PrintStream; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.TreeSet; +import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -96,8 +94,9 @@ public class GATKReportTable { private String tableDescription; private String primaryKeyName; - private TreeSet primaryKeyColumn; + private Collection primaryKeyColumn; private boolean primaryKeyDisplay; + boolean sortByPrimaryKey = true; private LinkedHashMap columns; @@ -121,12 +120,17 @@ public class GATKReportTable { * @param tableDescription the description of the table */ public GATKReportTable(String tableName, String tableDescription) { - if (!isValidName(tableName)) { + this(tableName, tableDescription, true); + } + + public GATKReportTable(String tableName, String tableDescription, boolean sortByPrimaryKey) { + if (!isValidName(tableName)) { throw new ReviewedStingException("Attempted to set a GATKReportTable name of '" + tableName + "'. GATKReportTable names must be purely alphanumeric - no spaces or special characters are allowed."); } this.tableName = tableName; this.tableDescription = tableDescription; + this.sortByPrimaryKey = sortByPrimaryKey; columns = new LinkedHashMap(); } @@ -137,20 +141,14 @@ public class GATKReportTable { * @param primaryKeyName the name of the primary key column */ public void addPrimaryKey(String primaryKeyName) { - if (!isValidName(primaryKeyName)) { - throw new ReviewedStingException("Attempted to set a GATKReportTable primary key name of '" + primaryKeyName + "'. GATKReportTable primary key names must be purely alphanumeric - no spaces or special characters are allowed."); - } - - this.primaryKeyName = primaryKeyName; - - primaryKeyColumn = new TreeSet(); - primaryKeyDisplay = true; + addPrimaryKey(primaryKeyName, true); } /** * Add an optionally visible primary key column. This becomes the unique identifier for every column in the table, and will always be printed as the first column. * * @param primaryKeyName the name of the primary key column + * @param display should this primary key be displayed? */ public void addPrimaryKey(String primaryKeyName, boolean display) { if (!isValidName(primaryKeyName)) { @@ -159,7 +157,7 @@ public class GATKReportTable { this.primaryKeyName = primaryKeyName; - primaryKeyColumn = new TreeSet(); + primaryKeyColumn = sortByPrimaryKey ? new TreeSet() : new LinkedList(); primaryKeyDisplay = display; } From 782a05e9b5413c35d8156e3e558994286b61a228 Mon Sep 17 00:00:00 2001 From: Mark DePristo Date: Mon, 18 Jul 2011 15:43:01 -0400 Subject: [PATCH 31/46] Support for sorting the diff output in reverse order. --- .../gatk/walkers/diffengine/DiffEngine.java | 38 +++++++++++++------ .../walkers/diffengine/DiffObjectsWalker.java | 1 + 2 files changed, 27 insertions(+), 12 deletions(-) diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/DiffEngine.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/DiffEngine.java index e3910ef11..89e20dad1 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/DiffEngine.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/DiffEngine.java @@ -143,7 +143,7 @@ public class DiffEngine { * Not that only pairs of the same length are considered as potentially equivalent * * @param params determines how we display the items - * @param diffs + * @param diffs the list of differences to summarize */ public void reportSummarizedDifferences(List diffs, SummaryReportParams params ) { printSummaryReport(summarizeDifferences(diffs), params ); @@ -207,14 +207,7 @@ public class DiffEngine { } protected void printSummaryReport(List sortedSummaries, SummaryReportParams params ) { - GATKReport report = new GATKReport(); - final String tableName = "diffences"; - report.addTable(tableName, "Summarized differences between the master and test files.\nSee http://www.broadinstitute.org/gsa/wiki/index.php/DiffEngine for more information"); - GATKReportTable table = report.getTable(tableName); - table.addPrimaryKey("Difference", true); - table.addColumn("NumberOfOccurrences", 0); - table.addColumn("SpecificDifference", 0); - + List toShow = new ArrayList(); int count = 0, count1 = 0; for ( Difference diff : sortedSummaries ) { if ( diff.getCount() < params.minSumDiffToShow ) @@ -230,10 +223,26 @@ public class DiffEngine { break; } - table.set(diff.getPath(), "NumberOfOccurrences", diff.getCount()); - table.set(diff.getPath(), "SpecificDifference", diff.valueDiffString()); + toShow.add(diff); } + // if we want it in descending order, reverse the list + if ( ! params.descending ) { + Collections.reverse(toShow); + } + + // now that we have a specific list of values we want to show, display them + GATKReport report = new GATKReport(); + final String tableName = "diffences"; + report.addTable(tableName, "Summarized differences between the master and test files.\nSee http://www.broadinstitute.org/gsa/wiki/index.php/DiffEngine for more information", false); + GATKReportTable table = report.getTable(tableName); + table.addPrimaryKey("Difference", true); + table.addColumn("NumberOfOccurrences", 0); + table.addColumn("ExampleDifference", 0); + for ( Difference diff : toShow ) { + table.set(diff.getPath(), "NumberOfOccurrences", diff.getCount()); + table.set(diff.getPath(), "ExampleDifference", diff.valueDiffString()); + } table.write(params.out); } @@ -252,7 +261,7 @@ public class DiffEngine { * commonPostfixLength: how many parts are shared at the end, suppose its 2 * We want to create a string *.*.C.D * - * @param parts + * @param parts the separated path values [above without .] * @param commonPostfixLength * @return */ @@ -351,6 +360,7 @@ public class DiffEngine { int maxItemsToDisplay = 0; int maxCountOneItems = 0; int minSumDiffToShow = 0; + boolean descending = true; public SummaryReportParams(PrintStream out, int maxItemsToDisplay, int maxCountOneItems, int minSumDiffToShow) { this.out = out; @@ -358,5 +368,9 @@ public class DiffEngine { this.maxCountOneItems = maxCountOneItems; this.minSumDiffToShow = minSumDiffToShow; } + + public void setDescending(boolean descending) { + this.descending = descending; + } } } diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/DiffObjectsWalker.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/DiffObjectsWalker.java index 8e362dcc4..fba6549fb 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/DiffObjectsWalker.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/DiffObjectsWalker.java @@ -112,6 +112,7 @@ public class DiffObjectsWalker extends RodWalker { } DiffEngine.SummaryReportParams params = new DiffEngine.SummaryReportParams(out, MAX_DIFFS, MAX_COUNT1_DIFFS, minCountForDiff); + params.setDescending(false); diffEngine.reportSummarizedDifferences(diffs, params); } } \ No newline at end of file From c05451047c93ebc56cd022415cdc613114bb4e7e Mon Sep 17 00:00:00 2001 From: Mark DePristo Date: Mon, 18 Jul 2011 15:43:52 -0400 Subject: [PATCH 32/46] Support for multiple records at the same site. The first record gets chr:start, and subsequent records get chr:start_2, chr:start_3, etc. --- .../sting/gatk/walkers/diffengine/VCFDiffableReader.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/VCFDiffableReader.java b/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/VCFDiffableReader.java index df2a5cda1..77a992ce0 100644 --- a/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/VCFDiffableReader.java +++ b/public/java/src/org/broadinstitute/sting/gatk/walkers/diffengine/VCFDiffableReader.java @@ -72,13 +72,19 @@ public class VCFDiffableReader implements DiffableReader { } String line = lineReader.readLine(); - int count = 0; + int count = 0, nRecordsAtPos = 1; + String prevName = ""; while ( line != null ) { if ( count++ > maxElementsToRead && maxElementsToRead != -1) break; VariantContext vc = (VariantContext)vcfCodec.decode(line); String name = vc.getChr() + ":" + vc.getStart(); + if ( name.equals(prevName) ) { + name += "_" + ++nRecordsAtPos; + } else { + prevName = name; + } DiffNode vcRoot = DiffNode.empty(name, root); // add fields From 8f0badc52ba16bd7b303b10e245fedbb7a306d1d Mon Sep 17 00:00:00 2001 From: Mark DePristo Date: Mon, 18 Jul 2011 15:44:21 -0400 Subject: [PATCH 33/46] Updating md5s, as the diffobjects walker now emits the summary in reverse order. --- .../gatk/walkers/diffengine/DiffObjectsIntegrationTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/java/test/org/broadinstitute/sting/gatk/walkers/diffengine/DiffObjectsIntegrationTest.java b/public/java/test/org/broadinstitute/sting/gatk/walkers/diffengine/DiffObjectsIntegrationTest.java index cca1eccb4..77159d9c2 100644 --- a/public/java/test/org/broadinstitute/sting/gatk/walkers/diffengine/DiffObjectsIntegrationTest.java +++ b/public/java/test/org/broadinstitute/sting/gatk/walkers/diffengine/DiffObjectsIntegrationTest.java @@ -52,8 +52,8 @@ public class DiffObjectsIntegrationTest extends WalkerTest { @DataProvider(name = "data") public Object[][] createData() { - new TestParams(testDir + "diffTestMaster.vcf", testDir + "diffTestTest.vcf", "fb7f4e011487ca56bce865ae5468cdc5"); - new TestParams(testDir + "exampleBAM.bam", testDir + "exampleBAM.simple.bam", "423cec3befbf0a72d8bc3757ee628fc4"); + new TestParams(testDir + "diffTestMaster.vcf", testDir + "diffTestTest.vcf", "4d9f4636de05b93c354d05011264546e"); + new TestParams(testDir + "exampleBAM.bam", testDir + "exampleBAM.simple.bam", "37e6efd833b5cd6d860a9df3df9713fc"); return TestParams.getTests(TestParams.class); } From 9b446020f95f2176092bfddf98a1053e259d7915 Mon Sep 17 00:00:00 2001 From: Khalid Shakir Date: Mon, 18 Jul 2011 21:49:03 -0400 Subject: [PATCH 40/46] Using picard implementations for accessing aggregation directories. Added more utilities to PicardPrivate. Revved picard. --- public/packages/PicardPrivate.xml | 2 ++ .../picard-private-parts-1954.jar | Bin 36047 -> 0 bytes .../picard-private-parts-1954.xml~ | 3 --- .../picard-private-parts-1959.jar | Bin 0 -> 347579 bytes ...1954.xml => picard-private-parts-1959.xml} | 2 +- .../repository/net.sf/picard-1.48.889.xml | 3 --- ...icard-1.48.889.jar => picard-1.49.895.jar} | Bin 1106870 -> 1106752 bytes .../repository/net.sf/picard-1.49.895.xml | 3 +++ settings/repository/net.sf/sam-1.48.889.xml | 3 --- .../{sam-1.48.889.jar => sam-1.49.895.jar} | Bin 536180 -> 536187 bytes settings/repository/net.sf/sam-1.49.895.xml | 3 +++ 11 files changed, 9 insertions(+), 10 deletions(-) delete mode 100644 settings/repository/edu.mit.broad/picard-private-parts-1954.jar delete mode 100644 settings/repository/edu.mit.broad/picard-private-parts-1954.xml~ create mode 100644 settings/repository/edu.mit.broad/picard-private-parts-1959.jar rename settings/repository/edu.mit.broad/{picard-private-parts-1954.xml => picard-private-parts-1959.xml} (58%) delete mode 100644 settings/repository/net.sf/picard-1.48.889.xml rename settings/repository/net.sf/{picard-1.48.889.jar => picard-1.49.895.jar} (95%) create mode 100644 settings/repository/net.sf/picard-1.49.895.xml delete mode 100644 settings/repository/net.sf/sam-1.48.889.xml rename settings/repository/net.sf/{sam-1.48.889.jar => sam-1.49.895.jar} (95%) create mode 100644 settings/repository/net.sf/sam-1.49.895.xml diff --git a/public/packages/PicardPrivate.xml b/public/packages/PicardPrivate.xml index 110b41d3f..581c47979 100644 --- a/public/packages/PicardPrivate.xml +++ b/public/packages/PicardPrivate.xml @@ -7,6 +7,8 @@ + + diff --git a/settings/repository/edu.mit.broad/picard-private-parts-1954.jar b/settings/repository/edu.mit.broad/picard-private-parts-1954.jar deleted file mode 100644 index 67637d3d9311d10767c5758006471a628c5a8a88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36047 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 - - diff --git a/settings/repository/edu.mit.broad/picard-private-parts-1959.jar b/settings/repository/edu.mit.broad/picard-private-parts-1959.jar new file mode 100644 index 0000000000000000000000000000000000000000..ae11e636b1415998685bfacb36398b34f1a1492c GIT binary patch literal 347579 zcma%j1yChhvMtcixVyW%JB_=$ySuwI?(XjH?(Xi;xVyVG@VRqm?#P?>;uF*%f>^sw z0RR970AQDR%LDK)U*G`108&DVeAHsn!n7Y_006Rohk^mvenAOi zJIJiQ;BH?B(%119REkepOjt-kkw!}RPHJLYQi7Uh7FvRuVrpW#UY>4&ar?l2LIA;z zN>p-6R0$vqkeK>D!nHLcTpm$EUcoVwg70+l9%?sI(lH)t!YMLR$`KmcGcq!A0*MI= z62e{{nd>g@fyu4a6Or-GG1CDdJiHRgwbixtuge1fF!+y1fWI!!+Q^ai9{~UW=>G=- z^zR4<<9`7e{|5-}pCAW4D@Pj}ONajhjr?EGPL5`le=Pw6KvO&CNqE(GnuG)Z*hU2a zVENyc@LSp#SP0ly+1eX9I2akqI62xnIVw2X8|him7+C5#I8>@YdMYfUe`b@I#f@8~ zH#P9$qQT`B@HTR-SKwKZ!&&Ceg`pg6v$O{Cra6v6%P&Mq*>$lNYiK#au)-@k`mq=( z>!ruDH@~Dgq860WhPO>TU)&CF9lm$#UQ2wZ zrF%|9>{hIMSNKr|U^H>t+3@SDiZy z!j(U(MI^1t=*m&+7T+Yqh;9Y>us~HS9ikvcltz3NcaJQBhmxWpaYR_fQe~Z?A@Ovs zm0Lp-V}lc%$1Gtc_2#w#y<@8D;6*n=B=&#|1ac#5D4=R0cV<9esgmQGCY(0}rH`(I z5N467$1U1o0W!ARR=cn2+@SJeQkCmFDQK830Pkg#*RBxV$Oyuq;lPv=xNKSrS6w;T zV8-Bhy9z~J(<*dUD?7%560#jQskyDUk&Y$ZjM`aje9#sa3k>Z~}AE8!gX2E+EOOLl*AkdAZ zlsJ4bdpDsWzCNQL^aEj`IWCv%wKBxTF%a=4a*kV)5iV*7d~K7Q_8?wBEpEw_jG#ZY zh73-LlDL4C>?f5pdG}1GBt~Ok6Fokmxv5^Ljg_cTk{pGqpndu84`eL-tn&=!SgQm< zqWe_e8e}eU4JLTVV+o^6*Jwl}hhJHWR17qa!Tqn_sWoxeVvd&xg;$*wU4)1D1PG8| zPU(^L&f&2p;0oN?qjaMz!=SIByXkHyL{4ChTs!+DW znL0X9{_dlEgPQb-ob-ucsgj!;51})}^ib+Ij}$IsAl*^6%lvyWw7b+5+egKYnWg+0 z^rLjw{@iv~hvH*0tjkwINz)gbVsk)4x}$OzyW?sA9vOGLKf&A(^RtX9dctbiV1uXu zKGKbIWpqKfvmeC}cp`vb*@!_5Erjay z1yJ!vb>lcWR~eaM=uos03K?fZ77jOmqt~OVk;6g~a;u^#Macs0(Jv#xN$OoqW{ldX z@<^Wx)dN{;X%1oZy?UTB?1#)7Q#QTh$}~RWq8RtM&>unS4F90(+T$5MrI`$oF!I#5s> z2B6Rl>T#C+K$ta%)bqxKn|Ba)?nE@NRI@CO+~z%GKl>!&+iB|PveNRHKSlW*dwo;rc6V&Q-~pCCc|)O5gC2JXrlHdh=cT`pBK4|Scm0pyZ8>;*~!%jXD%Uu*!^ zMBsrCRYznWZwu4sRB{g3@&w-mtrb_7xs6U_hb`U9KQTaH8N(qO_KWNQdUh)ct1#l( zy3aV=CU77({@wPfP);IdNf}YwMAUG#=g23>uZEymkpS?$OGOj#ZV5q0M3SP znl>V*6yp{`tchhcme@v3$q(q@fvbCHgy1~CV6AW0&z9fF?vasi@=|_9UDd3B$}#+u zSC_ABcJA21eW-j~JoGk$*&;;xL9@CGOj`IxvfZ6scT zTsuh*VQ}3sta+Yn4n?+OF%}!6CQ_QF=vP|+!Py+u1;_lVlRCVo)kvf=8Yc#9F~<=CKQiA=8|7_&@|IgTe)j=P8p z^LRC7D7yr(Uzx{F`ss+Mkg2NoK!l2nj~AuCnw4-RcN1bCFY|wOzo6BAn%y?^m>9A^ zP9z63rw5!sALZZ*O?pdS4FfaC;JNSFRzBDSj-zhlOffGvyzE4J|1-xXa9O6T(9 z@S-mPe?rFPC&&VzWXHS_;`6WEh?00Q(QP~Z2O{uWB=Kt~<88IN0|&#Sqxu2safEd7 zRmZT4omixXee2pWMvs<0Wp9D@Xi_mxF2u5zI;0NK+*brHS9VHG$ax;hf&~j~_$n3o zwA4ToKsnt~#XPMk8up)zms0br=`)mSbLA)-SRW;I;uG%y!%^%2@%8%`>Z%P4qeE8VxgCY~{ETrpo5pl#^Y5yka|5Dr%2o_U%UHz49^H%1esp z#Ren!5_g5!JG7g@NlXe-B%N-?ijlN#iouT#+BK6qwifh&9`q`zCxN!Q&Q)~S2MaIO z+S_nIaL~tYVhnkmdpZ%b1-`Elh=(&pVL#51>3O&ZLCc5jkr1S* z%BgNSJD#u1?pl8g@x&^KuI|qRlL@6qnD<{@UyoD3&dQNJf& zcqfkPJki~s0;ET_wqpnzWKs-Kpp%jurlS9LCy0y^OEDe*TbY*@!3mj`5-GLIWC`Ec zA~`YGsE=cfa5qmJW#LI7_FAwKkl{5;Vd>T4s~ySW4l#pq7V7pf}QkM=XXULIW@HyOL%-}hAjf^B^; z-EZ6g+GFGFGTiH^z%F>J;MFMpxc+px?d5AT?aADdzdv7||fHj#C9nUh&mS%R}t!tX1 zry-xts#vTWn>}SVRUK`?@nf8^C^6HvrI4d&(Dn@ZVi;o~d~yOR8mr>U%QZljg&i_& zNG`XYvEqA&xtVpqpj5PQ z^Q?As{f;nuIU>WibOTc6*@#GmLWi7+?Wlk2sAx!*0L)opo0} zg`afCsW~0LFkbAv8DD3U+qT+#aeT-T8__i4qS9JOo`4)?G%ed2gywL)`T)-i(!IP4uZr>KxUSO zg?NMb4yO#q7iaCaGg9sZ6Qoc*=(Rp^usFy3_>mmK+pYt}igd3R?Pugkyk`NjwM}vm z=SLqw$rd=DfWJsQYI~k&q1nY#2SK<+@eI?9Jb_ob4KqZ(Dej-b5Fa?vmonwB zZaZXc=&G%%V2fIeyxuPr)EQ|6(BCC~o56U_&m)88_9&^H5kFaXGgRGCqy(ZfG4128 zVi0a#(L~AM7+98ObkMcIgDcC3ZoT#%40_VYu<%ToH>S^DFGSpIy`gt)VFa9+>-+lt zs@jj!+yw%BKbyR;aq7XJa$UAUB_LALL>xjxZt2O)p|N~ z++LK-lY-{e?m9yw9=zmn;xOhfOGow!Q0a9q>oz+I`13*p@g0B?%MBPs+n=-p#>O05 zo}%vi7DgHl-y=@+Z=g>DOM?`SYc#+h(2)7ORK0IwF%3~kiUktt0%tMR*+dP{0Qutx?#vwP!;kfn;S7>XJF0cl zv;v2W^=hb4&_xpVVHKc?$*cHYCGYWt_ud*v@dLm;e-hsFiQH@pVCA<4pW1@;5Aa5O zIL&D;a9!Tw6$qR1@X6p792xS*(NpXZlI$65r>YJcW&B2*(+@rYrKT z>8Z+!#1%ES4-sN?P9go8wS;|_ncho%*7jg;=Pf7Nxnh4!m^R6n6AHY<`qA5!!$EP! zN18wdsNYyq?ROye?W0%u@l2U-7y-pt^i(i0c}#+Qy{=-^z^2?PLO@wHWu{jY1jG^4Lg zLDWdk(CF`5LZpJ03?d&A_q=ucMIA3>2^blO+^a8@A_%mpC>St84`_g(7e-PdO_SF8 z#;wLZ>T{nzN!SotK5fc#d<6Yws+Ku<`mun?<@%<_CA*2S&+m_W5MK0pjJcLv{7^e+ zH>5cvWab3A+})xP$*@6L`a=CQe7liy=cTlJs zPrYzAOX3AP%k%S#OA z@EIvutUCQ0t?@!R)Y~KQkkrs`m+k>5^=DAzTi_r1$K$AZXvL3IKAf@%w`qEF?z7uU z)mCHunO@`fM-VbZDwm9OM-}jTAOc54)00PMzj@6G3BkMiI>mLtTI>T8 zdDbXw(q(#du^LyoMuR+Rry@+VtP3oE6i(gp7N%q1o}F zB*nLu**4#!A+y?d405T9o0E6$ob zmjIqallz&`4vacZ2$Abw8m=ubivC_gIQCyT^g4MHIcVuu5_0*F!GqL43#sKO=) z6*>;eRa4MVMD3kSf`EwX{S()y1Di=7?RJjyA>;0{^Wtdv4fH32J-A>kf(USVmYPCM z72bG`qYa1+L^{3-ePB5|_2iD$avhXNd6u^JaS#|lFqHYSgbme(BR9V@Qts=Bl;3ca zqk>B`x-YZeegUZa#`zr?O(7sm3Vm5c zNqp&X98O4qRRgo{tZS=IorD-P{+eV1GXDJg=h~!J)Quve8b3O+7_vIgucs%!Y2+pqQlkBkA2z{ zlBkZ!@)-UnFEosI`&ZdMfVME%Nc3ThFhjDe?JnUdJ!-+@?7_Qkn5aQ^v%ZlM zESs1^Z!lPz3`MY(o~ChVAZ zlf0t`+9pavtnZ64Y4VKbZ#z~$U?MWe??|kC2?b3}(cd`2KxlB1YPjHr5-y;Bs2M8& zSBO6_`o<T12Tq0Zlo-NATC$$;v;o88{g?zf9m6(c|FHvMLz1Chi!?nn3E-$ll9 zp$`lT&nIhr9-+cD=nV{R2JY}`J1AMSu+fAx3hrHQTCFSh4*@-1kdp4jG%XUT-3T{m z3w+{QIXU$R(v#CQ?#|GlIB{y1t2kJVtO_Mu0x*3^Vz7F0+<$04+z8E&I`Sy@z4eP2 z86-~tnfi?Og^a+pq=sF&>ujtYXn+;#p`5>ICcBTOA?>1hOSUYVb6u%Tt$>1RE!^X+ zELPbW@QJbK$@l!G3TFS?&b8;c1)WqU6zD<0HSx?M0Yx5Gw}RyjF0UzEbJ88`47AMN zHS>&&s%k4Qe`48^z?azF=*fqxsk2v zO4$(~={%c{m+`h~07_y?{OJb~g!cf}+DNr?D7Y!30MdC1DoIS{;S4()c_Z=CC1<*O zVqu(KZF1w40yYJQ3Y>8r`u+E)(0)32&;nOnX_zG&XzK@>!Dk zgL2j;vZMAbF^gARe)aMkb&xJsYNWyP<9oh-89c|&K;o43^83_^!A4;C|42@2E-;=c7`DyzF&o<4mHa_a!=uzT1Yq z77113gI$WoVPK@Yns}pg^YZWpw2i{{b@GMwmEu=%o2D^b0-*tJ0?Ta6YVp%LkBZP^ zU1%IZw3ZnP^1p|jD<9Uad}L_vXr*A*sSo=WtdoCoA~VK0RY@uAn+dU0*r>wJNTC=7 z{zz#t+g)FzSk-vQX&=Xd>0O5v`Dv_!131*o)px z&VT<5-Nc!o@V=&wh+kt>hX3m`lyfq&cazq$GWuhm&;`8tZ z8~HkdUg!qTEjFO0uUT5YV(G+_z`C95k{)|RRTEpXH6Zm~Q97bQt&#_&W_kJJKb*fDM+5g@uswtPl084g*h}^WTh&n zw*&b>eOsC+GgftvJWW!(3qIYp>ZeI%e#a>lNxC$3Y19;8JZp_JJ9E-HwB6?$5*=JB z%ciktm)1g}0v~XW2aQm3Pdac%Bmrp5ptMv>8M&Et6@wwa?8AuuHoi^Ya% zA0hdf(3OlSyP=6GW%IexxT*QlyMBL3y3|I4)}Cp03u{5Ii@z84nG3e5vB5Wz zZ~|M7#7kCT265W{JSkg`t);hVv$oI1>mbkkK{y33&HV*vY?2E>gtJ1FkSEUS0K2Y^ zpkBNed8pe_vwW<=q&)>uraQ>5!RqrhmC*=bJX*e@7ATQzkPQCO@CH>^AnvyT93zr? z?B~OHE8uw0c9?pJ0sTYt{iDTa6qJNciiuHnkBEJqk zNwO80FDMwBH-ueaiznO@eDP;A+Ockp|FtIB+m*Ul0FD7w?r(f{#N2?n-k1n^DIB7N z;alBLz`Z9ju#sEkL)Wt+y=zQ^J!H=y ziD#^O(>;c+0c1~qcF$-a?_HAv{KHI+s`kd)Q!*7XuA_xV_^hL`;dr0Jm%RuR;4OMT zaNy&2X6=0n(GM)bww}#~Qk{KqJ;NNGds@K(#DPGtz`WUKrzyZs8M<7&NgY9FMu%U_ z>-%EfD=H`o%9`)UvHn?8$r&Nj?cO5rZPhvq(q1h)!nht0pTCg1v zJ;e!C@0n%P@)3Y=t zOohb9cgCnD(3k2ze$ub@48W6+Qlgu$aE^3$G4XEK37FF3GV8Ph&xJnBm`L&x>L7vk zeLSO*EGjRCw7ijGz`1GFwm^yt+6DNB9;Xa4t?G~^SU%qGhZ~`y0O111USQG^3=R!1 z7I+ol+)uqHl19s+)DF?UZJ8ZRf_n-{vQ$!iuMxI7DWKdSap}%=K5Vj1-@|dOhOvMd z8XM?L(toeBO+p=1`CoBwejUVL#~&t-FAK+CjQ@)~{=xX=|JLsk(f=8_SHvVtFE3Ky zbRpEDpaCsag_P^JfB}9Yu3pn>b4KGhX*V`V*zMc_CS{h((RcRI)~&O5SD+L^1UMjk ze6CfE)N7JuNi-_d_E(M?@zxBK(<-p{MzIE`)=_6oElY|S!U!mpxy(X^?)C zTzql?MErF*TNNSTC!}>1I`SOkJK@}#__|1?d3d($vGgi!&H3=5B8#=wJZ<~RjI2j& zaR??URk!g@N?BY?brjQ-Iu$A3rG!LQRPl85c{K(GcK1~U=cN&9%qZd~WE20lJ_?8d zbCa+65v18NedHuM;o0gG%zR^2x^-LFp|0hzs-VVPRje1g4H88wXA}0SBz-zxC5WKRCg^kSfVj9)p z#K!ClzEfV-G7?p={6FxHV4qi%UfAW^A#ym6HBAZ9%O~Wd)`&?hrc~?1Ha;hG1qn=# zhs2;Wj}g$=>RvFU_acHoQ|7MW<}JMr5^Rh~SvHMyTCZg{o{^AL~*1sQOKUYjR~dgAjl!{g|{&QA;+bAx|lk-!WGObCvrda$h--Q%RKPVY(u9erunSVg&{-cgX%N@C>c9`54<| zr+L)L&+L-!jk`LD4Y4sF{m3?}Ii*fMv4KW+rrZ$?Rn0APIPq6Fg#ILT1k}yrCwO)V zob>~Ilxx76ANcfadY((x0E*}{Iyh~d?W<@XI15vXZOF$vdG_O!U5H=5+tuif?ihU) z;bz1AkAEcEfA@?T89M!oGG~|Y@BX+iZU^uO!piJlon`-t`a|pc2TI@GM(K8gR( z1^=*&{X6!5$btT8;yBk1~5LJXzdjPH<3--=VFy>GXKTIe~=k}T+Ofn-%=Pu>|AA1mC+OP?0 z5YyMTmtxGXhhG|H{50#bEWN1^c`;6V<~*;BT59}VKJLDMW|8%SqS&YCAj$|ild63h za-i8!ph~=w%*ywTU7@Y4zK~-z%R((E|B&%YrR=*Qj@VhzB@G0ZxTY>=8x7np8PEm$ zMgs1bNBZ1HffYu>d}2LBT5Z(|NA>$;OnW{jkc8AGnaxU-wRN^O6@NUc7Y+R?Q7rjf zh3p~XB!3HBuh%48iWN^Zi%6S=aq0P?mWH_pkXPt>Ra13oTjA2VM=y}(U{=uZ0wjR#*aT_W{EfB`jaIfVNc$-VA`;N?sH-0eu$$s#~-p?C~TN^2$dsG`#HxC!;LP$ z0>hXg^WsKYfz74xgBc89iu|Z_r(9}@`8K>*?@`3)N811b%3XVsD{1SU2X6-J`@vCjncjZk!x{jth-b*?GvRq8#;xi<4 zia3S^K8w9ekZJqAqAt{=4;Ib6PbciTkI|Q~A5SBFBHh}q;r_olCRV{L@+&q5cdb#LYFd){x`%h+!msL|eS^J4 zpX{#Qxh?>ga13wY!h_Yg`gTRQp5>OjCwA#kqU)c*UATI8i>bVac8{ot#%NVN<^*JB z=L_$l-s2igxbG=nnZvhiuWa1buf$K-U%4%&+c#N1pD#dQ-+i_B^D;5Czf@%lZ8%K$pzWJIlM7vlQn!R~5C8_kaDO7zu}I zq^%$}ctzn|-K68*1Ra?NRvI~!cH$j}L4xOFcB?!DHquq%Dk`ccq`as;j4AU)(UKYV z2zI2NFA`Gl!oV1h@Lg)R!85TGR6$J3*+srF)YKs_VTY48cXuf2X3vK?E>$F$$1*!n z#g;K8?IWV@D?F9YKqcp> z5zJvKY|B7$h_aGmZVQB_b~>x)uHxe(Jl_kII!Vm;!RuPyre!5vGOFqT3^)4AzG<*A z6ERK2Qj@h02rTu7pZPFp@Hsti-cZgcVg%nno#=NKgw=*BrAgC}CQ4ny1lY-S!wQ9r zcGrS~h8!{9kjaIr%}RB}WMQ_Q->N?*q$_lpa!XG%_u*Dj__8NqZ68$~PR{KWkgJk(>&ycBmHj|>mc#gn@K zxI&x}eOM%Gb>Z-X!nn~l^(grX>R34|8PmYNTqV|mu6}%NeEJ-iSOW`cT>QX3r47sU zG;XkgCk{hggqh|CUc>1kP*grY=7|o3lYBBi>AV<3WuX&9rAe*tAUTz^(T&Y(H2TYdF2Aj#G`rNGh4E?#ki2+xNl^$C8K5=re`CZiY?kz zEK#uC=S|s|-}Rfgaii7*#3H0Dyztlb1 zq#%&chP#wdOW16GPc(3Z)MFU2ClsQoB$f>^xfC9>YN5b5xdgAVHo7zgs&mLm^zVu2 zRZ$v2WuuZU{D9w^uw%y$52A|nL=D9_paH5zOq(J-$p8YO@zfoOOI?^NM=%#wE+-DOpea7%NUd^!=%sQA zCj_Q`{Uq&s5hYvS3{Ag`#SLC&<8U2#CEBWM;MoMa75CGyUU4>%W?@_OWj@@6Ik^#Z zV9VO+HxUQid^i?iB7rSZkfV+twQDY(FJ*F!4#eW}U@Tx4je4;x(zv!}MGX#OC~JOF}elz@$J3mDy{pIe(UWl|+o(uG39x%gN4@UL>k)CPvRE@v-~qcZ1&VpH>< z)jjBwZ1wF59WT!i@IB4KqMJd*Ub-V@BwYvm&op=P)RnpM*IpHZwo{X0}n8Pm6+ zgc#ElJi!NV?suKT=UaGN*q+YgN2P~%OfMC~HiVflK{DHnwy>+?v-Wnjn_!_iY@$&) zcX;gnLZGD~f#E{*&8=z)z-PgwOl(#uTzo&=JNUXSQWA2uykf@uKH~H!U|%KBd#=!n z!g97aCA)HT(2K^l7Z`+52^9zP(uANPeP(pH#N&g^7#Jm2Xd~Z=_LYJCw-drq;)0{{ zAk_Jp8zPG4=$SH==PWs*fWQ_!1I*z28lZgDL+Kjv1ueGEN5SM^{Tw;?7a*-5`RM?T z=1tiVFSDi6PdvkRappwQdmKaIAsWhlM?zJicJiBh)%4>tL#HX2zxU9@sY9hnm}|^v zP&KkKH7_*rQ^u~cm=?-Q@ZO190i>yziA&0No3pMuSR++Vfqk9l6Nrn;H-x7B4_Nm~L1RU>q<)~0n^c0dCEHEPAn0w*?x?qu2H=p!PKG_(<)TH04-Z_(|d(t0q?O z4bT&y$K@AqCrZgOF!ip@H$+Fm!%poQ8{d2#aMcQ>*Bj)-#IO zSD|)U$15UIo58HQ-f}dyLWdS?@oYsp>&-^gLeuM!Y*v7a}hX$td>#RQqbtQjfKGj!KG*p z8j5_Rb5jo9yP#4t0o#N_R_J*@c=IF=5Vg8%0BpN&i+malm}1%j;lU?lqL&zj#Js9$ zkdvBf!#aMEwEcA|F^tu_RPK=|^Ji?qo4h-oh{cl{$~;PhZkj{`q&e+i0nv%r9Sg$l(euk!*9qSt;t7r)iLWIcI(L7kG|~)>q^^IsXyP+L0ZC}?>6=? z>08qxvy^1)rKE}Tq!9RwjwiWibol3Yn5~f52ikka48pgcgFS%yL>-_RT%dkhj8PB z15}+ACDzAD3?)e;K2*q8<&_X(tb~IsG~)ALXs|@twZbZoye-(Zn3dOb>k?W9SZ-(s zj$BrU^u|mIs&DwxTY&6;sy{_Gx`U*9*@y)?wjc-JYlozs7z>1Xhyr|}BdLMxr;OLr&vnwQf4v#a{Ma`V?3 z8wayLe7Sm-eD)?zR$opAhd;Zlz*ue>Ail4;=|PXe^|#*xeK{zC7__yG1b}f8vfz1< zi}p~4qje%t+ysfA<9)c>(FjKoVS~gd=^LqTn{JHtSGd(S09CTicH6r%gR#7Nd6EkA z0TG$tY^cmSIf|?#4Rd8POr~T8R@h7Uz6W=(=N(kZ628B^&_n{wZprH~|I}FqYHeMh=T!XUZTFT%4^${2?g$ZB57pxrD9?X1xKv0+764z`RPL7tj_sef;(r+j{Czm^ zH+RXu&$1I0#T33gaUX5*aNzNSH7&kBg`xTxO2F&{5Z3vLbpeHtw|kA}W@8P5($LAg zLs(_9I?NLR$NfcMU$YmM4GQ3>W>eF=b-FvAUOgm^#+#$F0W=5Sl?QT%V|rrv`_0iq zJ#Bc*SuyelL-e3j^!IJ0sQ1Qp+>sFFBpC+IU@Ou*&sCdfwW58iCmAxhN~l(mTl;&$ zg71mTtzQaA-%vhV4~&M;+$Easp{vbZ^Da51CmA7L>TcCy@(4CG4Bgl2sC~llNDbBamci5ma_KY5bKN ztWKsD0*=J$Fg`hbC$jxyzpFnq`weD``AA}x4^0eK};#+;V`aquSI^kpt|=%3k`vZ1C&NF24bVAhVRP^xknA?!v_=E6x^zCh_)^-uKCXsfn09eOlG(_0qB4S7(tAX(|+;V zaKtO1&-w=K9&kT}kn48SJw(wPF~?i1wil*XH=JZwz@w2WN;VsSjbjj?1(EZFD3Y*( z-D_lccfj0k(6^sUS_5E0I$iv!hR2L?M12t6?vY>~O!HEgh+ox9?$KGKW0ermXcX*May0$fWEiB#qcg=u;wz)dz8(`N`Da%By}~k+4GsH^;%60 zD9Y zk^~VvNkegas<%~S4Z@~V)x>S)2DGORd{P~zu0AvF*2boz0Uhyidnwr}(-`3+wk?5= z=*o%=5cUv`h-n1jhEC{66n*4gNc&Uddy^B4IDkUODfYq!B!M3&oRuF``ddhDss@|@ z^S7qfHo<*m>x|TSF)0kGd{^Z-Z6cHH9g;YWrq~-6qEY6G7_Hix(o`bSnsre@9-|Mb zX_Y35lFl1WjOE$K9WET{nGc`*jb~5y_?JA0=k*+^*xO7uSrnpDvt=@~H5%r$b;hY! zx2cd8Inpy6TgQ;=q$H>xxpW8YD%|GTQ>8TqcS||VEJo`g-AF?WwvAg~0n#Xh1^%F~?`6b}<{%yZ{iX6I;U(QWC&v(}hC<^3)k7 zZI9Si>W|)trUPp0#qr+W0ky|dTPVX+gw1M_r#G%Yc))h}6R(Y`()gFvgRq*oXN6g8 z@^$vzb&KEls+XA6l`9m(f`rxICdn;+?HWYyI3T%V}>S>45-kx?9Cz9`#^#=pXV0$a-t7 z_NfN7$t=zULbBOP_z^YwS#bumn`ZF&xqWfetts=%5#%yw3sKJR(J67^C5`+(J%YMbSBT-O=S9ADAuu4xH^3g)ama-fu%maJb$zH4c3_ zY<-)@dVsB;y+(fQ;+_6-w$JLLab!Ft^YNhjX>gA{taiW0WrD~Sdd4>R<`%U=*pX~< z!@PGjTYjx6zsO{NA@Y4@1;rIiy^v8SOt+2AW!%y4< z$*G{%X0ky+*|4_5p}-t0qYlUV&rki2T)WhAmK)y8a@VJ~v6OweVz%reo1o2cwg}1r z_CTnr*XJqQ!#CI9eBMy#8I_v(AGbeD4@><$Fd$&O##An^ zyZ~KLH*t<{ADGm`x*rh{j;9`#ghJJClGaXv{m~0Zxw%MsgX&4dvI*{Gd=(+ z03M_lGE9jwB_`&ld?VfhWX=*1g&>u=MX+H&FOdMLzv)$FqsrQ%${FbOAn4cMv2*28 z*YnIG?84$f;im(FfpwcYP1xx*Asw-@?{_w5=kfb%vfF3U~`ti??etO&f7pyWtP zm;sNgo#r4oE(Se$g2JTewjpDYT^ah7t}vH$Ioo_dy{pQg2Twy-rMg`e{1s&B8(nxo zm?9yR-GCcz8yzXmo&JzwZO*PA(3Li$1xG%_`bSR#&@>;V5t%AFbG@)9Iitlda4!}q zDUAj3(-X4|mcf>id$v1c>E1)rC0l~lyV#5@J1WY|a4L3V4*OqrC^EOitQEYOj2Slp zJjMTyuXl`&?CaOHyORz&w$ZU|c5K_WZFOwhs#q1td2^F#(CBO}Llx%5(JD=ou`h8Zgy=~V0O1y%-c3bSfXQdDCc zPw`nQ(+Vxn-r^c775>hse*@+*M|OKr6{EA;5$4bVPn5I!qI~_-zD#ciolf^PdBrfE zz09)|U;)Y>i>;bZ;Mo<~am%OU4Yap_Hxx#z%E4Z}=5cGNRcH_K`%uH>R>PG(O1A}- zwPAHhm)T`sdA7Nr(0MDz^eQ8#ghR_W)6-{KgQ_*hdp+kYbFfaNznM@Gdlc^bffO>9 z6hZ9N$rf&~87$PhpuG!v0c{>a^DO871-W(m=~}9Ic(9VoQuwEVT7AO6Ge+9d=87Fb zufknJ*qm)eh3RWd-lc1>PNkZ%Rc};PX0M=fs6`c7Ts6kI!s;DMuRbTs*=w3k#hZ>` zd^_nsDsb{W{oL=k;X=tNDSdT~fZ}nhNro(vAxOTF!wbL zS~Od0sGId!JO&=`%~~dr@QkDyrq;#$IGU~YIea&J=Z1Y4(|C$3dZyq8A$*<>BEmM0 zw`w(p&crlHG#4Y#coITrR{b;anRrTQ#bl}63RbnH{6Q)dD_iu)F~wj-Ybj*_u-=?m z(r!^HHRUuq%1UQyAWAaYDmA~k)?xaRu1k?XsxOJco#P0@ir(gD@$$M9l|#Fo{Ms~= z*7gGW&n)ZWtE3v#xm0Lu-16MAM?k-;a~85Y{!h+{W0!d@`Fe=YlWyk5>oMTZ-63e< zd5#=S_Ha4MMA#13y!D+3Xw3)_zu=_pB9U)^-2v4-5V zem)dK^aKFS)^=#BXD#9K1-Y4MG!0ihP}|lxs>R$C-5L5t`wMUwMK%$4e+4ajrl(_J zvbTDtFlc*}M0yhh0sLz0Lo+%oJj1r|(D0Aq`4%OZ693$A+!&zDz~pLJ51CWQM?1e= zTTL6J4V~+w!%&@slwU*;)V2V>Lqtd@fl@bu2RPX#Su?D=#nGat4Lr-dJR8bz!<|f& zLi8Q?Z(F*3b~tf$85^p~))RC15$j^_RCS~{A&|luQM~tgSVcA&4snX%hug$&6i{4E z&GK=XZfgN-U@)1fAf6^W{L%A*3mfjgI6uv$Bn34SX$7E>VHz)kJCLV~^t^eS0OI~0D<~wzg zS2ef2BWW>{XFhAFdgR6v2|iN}rFSz_3whP3-;6qXeIXYdk@23yXriK;h=}!Z@!_ZW^VhQC)B6yuA1W%(n@d$ zzEpfaC%61If<)30ISV;2y38l>nkZ_fc>3gL;q1P7Y5LJ-w8b-E8P>Q;b7yxUwbt6E z<_n)C)h;m+%+1PsHAYiAJee2eV;vyBnA7H7%%Hv+t0{YZ6|3d??E7EOp?{hmMpIhg zDPN%p=a+ox-|g1_qptHG@ZP^Z#I5bDjQ>eb^#2J{{*|CqDr^4JVEX{q7*(!dBFB_wt6VQc6Dq{=>r#>Y9!-n=$p>cT`?U-0a2xgN#Ul*Zo+~f^csNox{XW% z33+|xzIXaS(NF&}id`RsAV%?LC}E88#mnZ#~#NA+3a-mb}7K{M=HIJm1C^+P0 zmf&-kCTA>NS)RatdBC6{;Aa;PzF=EeG`uNRlgAp57yv`1lb|; zLYQ}Z@7X^}-XDGyCkHq};43(+n2TSyvJ#}P^+-g3;7&;+_sLxb7iyw9AG$aGy=~%0 zA;x`NE?WdOQHJ(A$YYvLYivQ|5c^hc%4!e$H}889F_;~HU>^p93p3C#40k9Hh;Bc! zEG~t~6*bn+Z0Ina{;_WV3H5LU)Z0a~e^~AkdNVN3L{=u#O+68Xge2K>f zzF;lp|Nra$ca!vg7u?((os6yjS-t%S$f5qzO=-#bquRussep`t7@WzE599l)2*~$v znq;-)Kx*nJqkbfQg$HpDB+!DioAJ;0_nSKhWFbzy-9Zetxs*`AXxpPrNMdvxtLVV2)k2Y7Vu zcj*oes=Xk0BCtMI1L$71`=K4Kh2cA?uXJy=ZTGjg{yyI-!|L8`pYbYfgK<2=!hcML zbUb@<+)Bf4#S3gLUgP2???v1m;O`&c1I}H?Zg}1jyxvV=>0aa_e3SaNmac7i=SNa> z-rCyVLfYSo+uu@9o^9P<{siOyo&E**fS`N5hVm)g8NzEn6^vj$Kz*yO-y_3&Qwr}Q zee%%O*_^i1=yS&BOymK{MDwrCA1A`$-9e#!*?okJf(jJXY3JQRK2Xqj3Weg(E)65$ zl_yDNB+Os^(ntlX75(fIrG5(4^fCy7G&2DB5g}!usWBk1C|Zw{HoCd>ib*w26!pe6 z{#m|<`+hY%&3C2QI{3E@tPCO=lPt0^6fw&NTb!gQ%S?37ud+N6H2j!H8(eJTG$Ib7VE57+(O4%UE(5?OR9U}V^344 z3MwuTv0&AQnn#zqqIPj+OIe>?SZbpFP@0Dj_=3=rTeZ<~FR2-yd)fa-p3ajyIg2*Z@*eUEj{O;(`Xib`Ffi2q~ zIl|2xyij-VW<;CDXbNW+3$84kQ3{e%j)etHq?AM*udy0SM;xUiY^)tI=%9QnQfGO) z1eY-*F7p_OeE8)kNhSJ=vdo5k!Ju%MEo4Z#%#z%MR?a@8CiG{ zs(UyYxt8KKxC|pPfeE&7j^0FMDWF!aOLU={C={HCi$99`lf%wy){pAS3{0nx=>r`% zj=WJ~=WHQE@_Y@%3^Q6!)=^jse#5xKkJ*eKBnr~9mo3H2-c`5-!InJb(5e^~7mi;O zA(Wp=kmJT@D99v-zS|wi9UG!p^C{|t+>4ij6(-t`VISYiq)(`eLjfco;TN>H9g;63 z@eZe1yI$#;%nMbLF4p*5^Bsv$_bt{$F3koTq*xT*`ysO25igsmW=%QA_-286@wx9-d+xLHrp5-8@Xw@=LC_d%UMIT8;GZLeAH4?J6@to>1>m zgH-cOoW@0Det%WLYGMswWg=Nx%V1VW8coTVJW-zjM3ZI)CNn2+x~oN{!Cc{%rm z$Y#dj?sU~zD_6h%($$&!&(`dXJnzh8T`OexVuot7GO~5+GIb+8&2heVnOYm);D=aX zs*sw5A~X=$Y}hETbp)pRg&A`ru`DBwqnOr)p;8%LbAVOb3LUq9RD!ayG=W09UEJ=H z)xM3EGw2*0`o;Iiik;D%)Cp%uUi%#7%o!*dTbVD7Y`Zvsn=gs(O4%-ZoUeI*oUdv% z*N>-t9|nhe_e`9iv-Y#)l=jbJ26Q;-UuU4|dZi&`ABblgcC;1T=11dUuCpah-R9NS zqaTZd?`v;g6qz%_FYuLDl-9B1$f+pfI!R+{Mvg}M+^|^M;C{Q!-aLEBMJ}X>RI;et zx9gH|+tO6BaLrh5ijgO&`v_==7}GE<60YqBF!8SX#6c+xMiaB4S}E4is~N2kH{wjn ztO#sL7w4*G?!k(3fC`FhVnxx2Qc*W%LIN0`I>Y+RaI(2&--M5n7(Djf9s-~)f;IBM zeFNmTFI-A!dsaSXTN(_wrX$TIuLZHlxTopFv5=3Xj@r$|!~GgdR_Mea;OL!%|5~Qs z1Vh=;*9x&+9c1HB99*H1c;wouA9XJ;=Lp%^fZ^`g56sa|3(0z7ytE_qix>^`h5&e6$#Clg)mwZ(e>tlqTR(&08A@nqiM=D#Gt?gs0yLQ6ehBXuj?q}1JyVuYA8D6i>_edRE@ za1T=-p-y7MvYb`7oTQC2$lz&D1{f=JQe?VtZ`E^-(dbx@uTdQ%!-Q=)xrrBXgN{0; zG8ZbWN8A)3y42_o?Q2A2QYW&h1J$PJql7Je)aG~3V*%w@R5GayBQ&vG={X+js3$eO zLp=@}dpbxhFrJt}Xqsqg3M5pe5GG<%QX<8c(VTHD5!>_5fSf2WsBgW6N_OJZoGmHS zNf&W0rrK^jaLsjN?-2k90Hq z6LK7?T9oVdcf!wKB$nH5pl8f)@xi)_*VBH%A-GC6GMSX&8g)#tzWVdgG)N7)J=JB` zbqS3qNy>8as7H9&L$@L7Yxcj8 z>b^Y1q}{iN6qy&d_i+lgYJ3YQogRym0L7OYL>-+1DSrF;1j-Gem0y!XZZUW7KdP_v zegI;Q%sTjAT$ySm?bukidDx{l;R@hl=r2)?iX~2e?#hoQ-ECIya|`8*j<^GH zwIwEpc%F8=6X%*q%l0#ch%5HBB2N?J6UcvOMqTu|SRKq6KC_5y3L5!lRoHL8KZ@6i zOxg(YvhujvTX=zJ^z{XfB`2E80GOM!fl<3Oh2oGXJs`MjyvZM+kNvNdENqs9} z)-u#*YcBokwMiAW(PxeWEk&jgH_H-=)WN@C&b)x#fFD=(fZ7qHN%i6 ztC=4t{74M5CAK}jsgp$13WQ+|2TJ?mj+0aK8*SGej)%XGs%LQ<#kNd=4sH}PD@t~x zpEsih$N}q9kb@T_jH%IJgQ_I7Uw!7C{LQceD+?B)F5o7BF3+ z93yLj^*fa?!ypL|z+KE*9S}+^wL^g4ip@OiGwpvx2f?hMG|EQlPJED7)wG9~cXsVD{eZqXC$& zR29*xD?b40=(J3)T4O!N6h2#nB&h=cf`~D2>=alpUfaD|XkWcO2l9w9F|?E&YT7w< zts>MSq#z)n)}VtOX7Jf(&=^)4z61!-zAPpyeTtbbhigl>;l{5RXCg;Ivj_D|YZZQ< zu45-~<%J77E>7mIL(_*WsOC2ft{ruIY^v7RF;bFwNl z{ZQH4yc)n)lrbrVRu82!s+$Mnk{nSoGp6`?;o?@M7$*AXzFCgXxc1c&^7_D;+2R@b zbdX6T^9zXk`;ZDax&p-N*tg#XeIJITSt&1-H;Sl36vLkkT2T@AYm%i6+#ZY` zEa%P@$Ccads2$4ON-FneKCC7XwG3Rb6XyhYA#-H|Cj%sSsHTr4YDA{&gnKP$(Pv5- z=u>k})imVKRGV*)r2OL2@)XTk;m&n6X@jvJ`}- zl8`nH`T&S>ISIoL*>t-+jb@;f+X9~R;^{fwSXxx!-ND;c{3#4A1W%(1OlV?uxe1VE&4(F9wp-vO$zerP za5N>&aZ{RHDRdBhxMbe+LZe!MR^6~i)yCE7YI-EHd+lgLmHn;xs~H4ix#)B+<*$=fNd--(jWM6O z{Ig#P62Vn5#sSY5ynrvpbguY?n86*zSAqi~VF*#!HzL!AUALG&@CH_iQeo4EWN&J_ zjx}piQOP8>v&f|Ocygmb)?jH0|NPWO$3lIzq6GcUmWde{gkvRIeLQSl{H)aY|GMrFc{9amj1-p3h`JeE>|4URM|JShTKj4A?5qSLLv6>%>k1Olwh0I7IfS6=z>`9!$dR!|ScC49=FtXSbyTtRBq>v4oCDFoR4zOOe{Vr<_J+W502fSQwA$Zr0(hlLX?PQ{oF|@(c7lzWJSg)o14Yr6*D$k zcji__zAM8f;~rQT$ug-2CiOVjkBQUN-DTk))6g>{z!HbxhJ)-d@$sKL;=jt4dXVmC z;$Li`^w$sKpThzEZEE=6+nSrDc2hP%^=+z~m9YWJx`y#Tcq~ z!gmbjQ<(>U^m>~w)fUwk()hel%M##mc91a8OD31!0vJq;3 z!ihUkUN?tf{(KtogHK3e3R7K7gwn)pZ8qx`DDg}W6*NXRiWoP>gBdt-C#0}P|5R;ecbzo3J7bW=?pK>Ca=&{4>un&+3_-uX_qDusV2nr_c z+;`1jx`3u#KVM3EW+V@AJjNA&=62zvc7{zCo}@o>E6-WrPIc=j^ib-DQQGnK3Zj&* zWsHUDN?J=L0%b^B*Z4^4Doq--(;qtZ8%&1ZU9970CA6^}7kU?lwJ=%dvR40xe4u4t z@yna^?OW-W=!N#b{;B?Rj{YC>i+{=Xh(#T2o$X{D{?ogcq-bf2B#*#@j)s;@qr{iU z>y>|7BV6`?D5f~8WbJ>e-ym)nX>$VBq<(o?yVmb(Y;F)GGB@@0<*d`p#Is6!vZalj zXL2|mUY=k5-tzsf)}6qPlE|DWFCVAKP)rc!ZeGSv$Skp$5UK%#d4g^*Ea9s=017V5 z?$2a4r8V@q?9$XcmRtR^X9IN&2ji+f9rOus z4jv}UY0JUfrM+@UiGYhM4|*^;dnoIXb9cn6I*vAfRp`+II#mf653J;OmL`)tOLldQ zY^WX<(IowdyrAt<05(`(rYf(Ybd>G1Bp)wG9-YM5aNy4AuxU#w#5|+wKemkH?iHD1 zCD*i*1h4U(H4ikfORk?@m=$Y(6VV5YiRg_`pl3}8T;c_r5JJv~->gC}xxxps z4^<2H*2&d~L>N}z<6DDP+KQ;tQ=&uCeVofW3_V!CUBr1_d=qmR_XNHi>#T(vK9HwB zfKSo?7vc{OVo1{b-xN^r=J0HZ1W1D-Mxj3q;jNywy0KWkZ|=c`LB^zS7K!~Or2PT8 zYPvqK@9^<|6}A6yf`Gid@xg!HnrUC-HKu=md;Y8KDQNp8b27KlcltLHB5g%%Wegvg z+Kix@9U@lLABnS+1ck72c>~jG-3oKTF{ENcoRiJOA=vH*FcSMjWSbe_66eP!95a!luudpE?Fwep$AR1pn4DjDn5M!jmatosH!ts~DM zwK*^_>}OV0!no zr8)~kB;ud5&$A2ho$@D?W)J>Q#i6{i`|#Paim|eT6^PpXmSjcsN_FKf_nhm8XjwI9 z1!oG5l^zP&H5nF9QeVHDmDTFb1q3nTDXvn{Qv<7{@)I&5dOp9Xx*^b*$IA2zZ)sEf zJ0tl^2~|$x6Se@TRduKgNfp3f81TtIQbt^xjmm2&#XHFsE(@iSLxxSQI(|pEMRvv{ zSImI3q;p#%x!LkkRF_43Rd$eF1h;?!;iFNPy!LVJ;Bq;$Q<8o}guC^;YjqmVfO z6r)#DE9mr3xB55%Ow{t-ywYFDy!B&(`j_rap{nWqp zA`3$pWa{BJd>pSfUq1cY=$Afr;_&lAH2R2s^Dk-a%*}dwzw&@< z1AMmV^r^2oDDv>H7_+V$o=Sq=`mqFpJ%+>fAo_CZg_>y-02pBtfBcTG@H+EI&s^#h_wfdksW8);lK@IbRf+ z&wjn?r4#OJfFqtvb+b@3kj1{|O-?YVl ztDM*x-86mw8~Y&xh++QA&PVy)QQ=G2_ZzZDmgTSL%V!#&Pu1*i^ZTjqlxX$3(_JO^ zl1U#de1LnyC?Ar~uEpc6{ZBUk&nv8VQNQ;49ISVhg3sAwSCID(7+=U~-?`5p$G#_@ zMvq}4ITlXDd^s~mShx#(QV?cxshHeY?UY_p5Waq=xua4E>VL*TD4{^>5nB1ejWEdi z++YVPI3H=Fd3(k z^jTq2vM8CCEXom;YryKmIvR1R3T6enV;zo_=>&rj*6^D^L%XRF*UcHT3-+bmZk6Z* z-{|5l0F0JM@pVRx6$le*I-zKPDd5>Pg)RO50tH}nF}pd;ptrR$i}SR9;eK~AND5!5 zRZ|qRHLQfu?k&~)3NU~=1K_B-Af@kA`6d-)VCglb-sQlFk_gP3%~o0}%%~??@R!O? zGmAs+>HEiK^94ZTJRs7CDlQao+M3SQI&rb6F?Y<6;NMD&6{8`Yi>Yk5tx^r)u8G7$ zYUbt1Y~xb&%9b%=W9S%3(DNwNA6m&4FR$LlS6%WQt7$QkIG)EkIgPnO2&u4XV9%tM z#H3Jx^lFL+xSd8cqJET5I~J<7st>d5VAW;y?#m)lltF!!aU_c@J@ppHqBenXJ=j zy@dzQ)#f(lsLQ$@+l&h4Aai>PC*Nl=AnP7NR z)O<`+xTBI~Oc6C2y}42HCC0GHX}+OdN@gTs<`*ibwG(CIX z=Xm6zm9h!ViBRL$eZne(OiZs?5$p11458d)VE6QQaP%9)grd2gQ(#2~h zaJU(WGbff#WF=(-p+m?jp)q{a#0NEHoQa_!;}_l{oW^N9c_o$wGBGn7oE``}r;OA- z+T2Na7-Gbj&I^8eqv9AU1@#H;@cPWbnT%z<^CxG^jJ>h#!idZ-YO2(-qJ~y!6I{F@ zmf>lUA_89HvnJ$N@F&N@_^JVN#E6nlL(Wykn$B9`7%2?^&c8j}9k`ZUT+P?is868} zBE!5zv?(-UMq=#C!md@(Kfs-|f(yeF;h@b?*POJXFF0NF$jCHHkd$=HnO5V)hCGE} zi8_hq8-g#Ah~?~qqN(grLxkV-2a!)Uc|&;cpXOST!{oXU*bxYhaDJ-ez@~hsvS(=w zkTJi&uhD9c)emYW6&a9jTv)m$!6;ibCq;HFjJ;P17>&+I;p~JNVbv<%<6JMeom@BvcLq7iPN&Wl99*iClDk~h zS^PQui_*5oZ}hjoKsr5Ag0*H%ll6*T#t*mo3Cn|V70eK`-54BpsnhX^&@LV%x4;pWA>I%uvLEaD*W;pEj5 zO7PdxC#n-klBDWmJr%>1mK+LjdE+`CeqL=|owQxJiN#Hi-WwntV_90keQD1U=3ew} zOik!pys2@!M8rGJZN8GneB5Th-Rj@t%q~c@xX4q|C7d`Koru&&XE>``WN~Nz zO<^JvmUg34UM-=f6hfICyv~xKbmk^e$U`%mt#9rW3U}s)Hf8UbyQk@v?fE0?GXJS% z0k5rP`o@30*4s^fK$25ukcyI#6PyIKsA(Vz3GIX_UZg*M7XRo}-!2ePJ`Kc&P--vR z`=v8Rcab_6wP?LQJQ+o|F@swg-c+|wMTX{47a@V}3#&M{s@WGqUff^

+G{xAg?}Hksz=Sb>W44 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

pDq=%+^yW?exD~9Ak$05js!J2lIo5=@x8j3-) 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 |!MVlA< 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 c}t)RlBWI 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 literal 0 HcmV?d00001 diff --git a/settings/repository/edu.mit.broad/picard-private-parts-1954.xml b/settings/repository/edu.mit.broad/picard-private-parts-1959.xml similarity index 58% rename from settings/repository/edu.mit.broad/picard-private-parts-1954.xml rename to settings/repository/edu.mit.broad/picard-private-parts-1959.xml index c702fd6e5..e7c7e3a21 100644 --- a/settings/repository/edu.mit.broad/picard-private-parts-1954.xml +++ b/settings/repository/edu.mit.broad/picard-private-parts-1959.xml @@ -1,3 +1,3 @@ - + diff --git a/settings/repository/net.sf/picard-1.48.889.xml b/settings/repository/net.sf/picard-1.48.889.xml deleted file mode 100644 index 877687930..000000000 --- a/settings/repository/net.sf/picard-1.48.889.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/settings/repository/net.sf/picard-1.48.889.jar b/settings/repository/net.sf/picard-1.49.895.jar similarity index 95% rename from settings/repository/net.sf/picard-1.48.889.jar rename to settings/repository/net.sf/picard-1.49.895.jar index 1b725dde5da26bac05010bc371775cdb890c323c..3ee1f209056b2b0a973d478f5e1ecb1a4971a3c7 100644 GIT binary patch delta 18811 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 (-r<;2kc=Gm3dj>o7~J#BUKJ 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 an}-aP{n(RpaQCM2UD>L=9uFr? + + diff --git a/settings/repository/net.sf/sam-1.48.889.xml b/settings/repository/net.sf/sam-1.48.889.xml deleted file mode 100644 index 8046a0c02..000000000 --- a/settings/repository/net.sf/sam-1.48.889.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/settings/repository/net.sf/sam-1.48.889.jar b/settings/repository/net.sf/sam-1.49.895.jar similarity index 95% rename from settings/repository/net.sf/sam-1.48.889.jar rename to settings/repository/net.sf/sam-1.49.895.jar index 33ae4aa7d2e0652c767092e89fef9e93c92887f2..c55ab0b7274ad3a7f911d12050ec71c44f13b0f5 100644 GIT binary patch delta 7726 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 BJ{bT2 delta 7901 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 diff --git a/settings/repository/net.sf/sam-1.49.895.xml b/settings/repository/net.sf/sam-1.49.895.xml new file mode 100644 index 000000000..0436ce881 --- /dev/null +++ b/settings/repository/net.sf/sam-1.49.895.xml @@ -0,0 +1,3 @@ + + + From 4cf7a2af23b638fda353f5babd40e04d3d90e611 Mon Sep 17 00:00:00 2001 From: Mauricio Carneiro Date: Mon, 18 Jul 2011 23:25:21 -0400 Subject: [PATCH 41/46] Removed broad specific default paths so people from outside the broad can use it. --- .../queue/qscripts/RecalibrateBaseQualities.scala | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/public/scala/qscript/org/broadinstitute/sting/queue/qscripts/RecalibrateBaseQualities.scala b/public/scala/qscript/org/broadinstitute/sting/queue/qscripts/RecalibrateBaseQualities.scala index fca420816..f8218148e 100755 --- a/public/scala/qscript/org/broadinstitute/sting/queue/qscripts/RecalibrateBaseQualities.scala +++ b/public/scala/qscript/org/broadinstitute/sting/queue/qscripts/RecalibrateBaseQualities.scala @@ -20,14 +20,14 @@ class RecalibrateBaseQualities extends QScript { @Input(doc="input BAM file - or list of BAM files", shortName="i", required=true) var input: File = _ - @Input(doc="path to R resources folder inside the Sting repository", fullName="path_to_r", shortName="r", required=false) - var R: String = new File("/humgen/gsa-scr1/carneiro/stable/R") + @Input(doc="path to R resources folder inside the Sting repository", fullName="path_to_r", shortName="r", required=true) + var R: String = _ - @Input(doc="Reference fasta file", shortName="R", required=false) - var reference: File = new File("/seq/references/Homo_sapiens_assembly19/v1/Homo_sapiens_assembly19.fasta") + @Input(doc="Reference fasta file", shortName="R", required=true) + var reference: File = _ // new File("/seq/references/Homo_sapiens_assembly19/v1/Homo_sapiens_assembly19.fasta") - @Input(doc="dbsnp ROD to use (VCF)", shortName="D", required=false) - var dbSNP: File = new File("/humgen/gsa-hpprojects/GATK/data/dbsnp_132_b37.leftAligned.vcf") + @Input(doc="dbsnp ROD to use (VCF)", shortName="D", required=true) + var dbSNP: File = _ // new File("/humgen/gsa-hpprojects/GATK/data/dbsnp_132_b37.leftAligned.vcf") val queueLogDir: String = ".qlog/" var nContigs: Int = 0 From 2b465ab43b88072457a2c4bd3e69b74f1490062c Mon Sep 17 00:00:00 2001 From: Mauricio Carneiro Date: Mon, 18 Jul 2011 23:30:31 -0400 Subject: [PATCH 42/46] * added optional 'no validation' for the Data Processing pipeline. * some simplifications on the picard classes --- .../qscripts/DataProcessingPipeline.scala | 56 ++++++++++--------- 1 file changed, 29 insertions(+), 27 deletions(-) diff --git a/public/scala/qscript/org/broadinstitute/sting/queue/qscripts/DataProcessingPipeline.scala b/public/scala/qscript/org/broadinstitute/sting/queue/qscripts/DataProcessingPipeline.scala index d55b86d69..09a069102 100755 --- a/public/scala/qscript/org/broadinstitute/sting/queue/qscripts/DataProcessingPipeline.scala +++ b/public/scala/qscript/org/broadinstitute/sting/queue/qscripts/DataProcessingPipeline.scala @@ -72,6 +72,9 @@ class DataProcessingPipeline extends QScript { @Input(doc="Number of threads BWA should use", fullName="bwa_threads", shortName="bt", required=false) var bwaThreads: Int = 1 + @Input(doc="Dont perform validation on the BAM files", fullName="no_validation", shortName="nv", required=false) + var noValidation: Boolean = false + /**************************************************************************** * Global Variables @@ -242,7 +245,12 @@ class DataProcessingPipeline extends QScript { val preValidateLog = swapExt(bam, ".bam", ".pre.validation") val postValidateLog = swapExt(bam, ".bam", ".post.validation") - add(validate(bam, preValidateLog)) + // Validation is an optional step for the BAM file generated after + // alignment and the final bam file of the pipeline. + if (!noValidation) { + add(validate(bam, preValidateLog), + validate(recalBam, postValidateLog)) + } if (cleaningModel != ConsensusDeterminationModel.KNOWNS_ONLY) add(target(bam, targetIntervals)) @@ -253,8 +261,8 @@ class DataProcessingPipeline extends QScript { recal(dedupedBam, preRecalFile, recalBam), cov(recalBam, postRecalFile), analyzeCovariates(preRecalFile, preOutPath), - analyzeCovariates(postRecalFile, postOutPath), - validate(recalBam, postValidateLog)) + analyzeCovariates(postRecalFile, postOutPath)) + cohortList :+= recalBam } @@ -278,6 +286,13 @@ class DataProcessingPipeline extends QScript { this.isIntermediate = true } + // General arguments to non-GATK tools + trait ExternalCommonArgs extends CommandLineFunction { + this.memoryLimit = 4 + this.isIntermediate = true + } + + case class target (inBams: File, outIntervals: File) extends RealignerTargetCreator with CommandLineGATKArgs { if (cleaningModel != ConsensusDeterminationModel.KNOWNS_ONLY) this.input_file :+= inBams @@ -296,8 +311,8 @@ class DataProcessingPipeline extends QScript { this.targetIntervals = tIntervals this.out = outBam this.rodBind :+= RodBind("dbsnp", "VCF", dbSNP) - if (!indels.isEmpty) - this.rodBind :+= RodBind("indels", "VCF", indels) + if (!qscript.indels.isEmpty) + this.rodBind :+= RodBind("indels", "VCF", qscript.indels) this.consensusDeterminationModel = consensusDeterminationModel this.compress = 0 this.scatterCount = nContigs @@ -328,7 +343,6 @@ class DataProcessingPipeline extends QScript { this.isIntermediate = false this.analysisName = queueLogDir + outBam + ".recalibration" this.jobName = queueLogDir + outBam + ".recalibration" - } @@ -346,48 +360,41 @@ class DataProcessingPipeline extends QScript { this.jobName = queueLogDir + inRecalFile + ".analyze_covariates" } - case class dedup (inBam: File, outBam: File, metricsFile: File) extends MarkDuplicates { + case class dedup (inBam: File, outBam: File, metricsFile: File) extends MarkDuplicates with ExternalCommonArgs { this.input = List(inBam) this.output = outBam this.metrics = metricsFile - this.memoryLimit = 6 - this.isIntermediate = true this.analysisName = queueLogDir + outBam + ".dedup" this.jobName = queueLogDir + outBam + ".dedup" } - case class joinBams (inBams: List[File], outBam: File) extends MergeSamFiles { + case class joinBams (inBams: List[File], outBam: File) extends MergeSamFiles with ExternalCommonArgs { this.input = inBams this.output = outBam - this.memoryLimit = 4 - this.isIntermediate = true this.analysisName = queueLogDir + outBam + ".joinBams" this.jobName = queueLogDir + outBam + ".joinBams" } - case class sortSam (inSam: File, outBam: File, sortOrderP: SortOrder) extends SortSam { + case class sortSam (inSam: File, outBam: File, sortOrderP: SortOrder) extends SortSam with ExternalCommonArgs { this.input = List(inSam) this.output = outBam this.sortOrder = sortOrderP - this.memoryLimit = 4 - this.isIntermediate = true this.analysisName = queueLogDir + outBam + ".sortSam" this.jobName = queueLogDir + outBam + ".sortSam" } - case class validate (inBam: File, outLog: File) extends ValidateSamFile { + case class validate (inBam: File, outLog: File) extends ValidateSamFile with ExternalCommonArgs { this.input = List(inBam) this.output = outLog this.maxRecordsInRam = 100000 this.REFERENCE_SEQUENCE = qscript.reference - this.memoryLimit = 4 this.isIntermediate = false this.analysisName = queueLogDir + outLog + ".validate" this.jobName = queueLogDir + outLog + ".validate" } - case class addReadGroup (inBam: File, outBam: File, readGroup: ReadGroup) extends AddOrReplaceReadGroups { + case class addReadGroup (inBam: File, outBam: File, readGroup: ReadGroup) extends AddOrReplaceReadGroups with ExternalCommonArgs { this.input = List(inBam) this.output = outBam this.RGID = readGroup.id @@ -403,12 +410,7 @@ class DataProcessingPipeline extends QScript { this.jobName = queueLogDir + outBam + ".rg" } - trait BWACommonArgs extends CommandLineFunction { - this.memoryLimit = 4 - this.isIntermediate = true - } - - case class bwa_aln_se (inBam: File, outSai: File) extends CommandLineFunction with BWACommonArgs { + case class bwa_aln_se (inBam: File, outSai: File) extends CommandLineFunction with ExternalCommonArgs { @Input(doc="bam file to be aligned") var bam = inBam @Output(doc="output sai file") var sai = outSai def commandLine = bwaPath + " aln -t " + bwaThreads + " -q 5 " + reference + " -b " + bam + " > " + sai @@ -416,7 +418,7 @@ class DataProcessingPipeline extends QScript { this.jobName = queueLogDir + outSai + ".bwa_aln_se" } - case class bwa_aln_pe (inBam: File, outSai1: File, index: Int) extends CommandLineFunction with BWACommonArgs { + case class bwa_aln_pe (inBam: File, outSai1: File, index: Int) extends CommandLineFunction with ExternalCommonArgs { @Input(doc="bam file to be aligned") var bam = inBam @Output(doc="output sai file for 1st mating pair") var sai = outSai1 def commandLine = bwaPath + " aln -t " + bwaThreads + " -q 5 " + reference + " -b" + index + " " + bam + " > " + sai @@ -424,7 +426,7 @@ class DataProcessingPipeline extends QScript { this.jobName = queueLogDir + outSai1 + ".bwa_aln_pe1" } - case class bwa_sam_se (inBam: File, inSai: File, outBam: File) extends CommandLineFunction with BWACommonArgs { + case class bwa_sam_se (inBam: File, inSai: File, outBam: File) extends CommandLineFunction with ExternalCommonArgs { @Input(doc="bam file to be aligned") var bam = inBam @Input(doc="bwa alignment index file") var sai = inSai @Output(doc="output aligned bam file") var alignedBam = outBam @@ -433,7 +435,7 @@ class DataProcessingPipeline extends QScript { this.jobName = queueLogDir + outBam + ".bwa_sam_se" } - case class bwa_sam_pe (inBam: File, inSai1: File, inSai2:File, outBam: File) extends CommandLineFunction with BWACommonArgs { + case class bwa_sam_pe (inBam: File, inSai1: File, inSai2:File, outBam: File) extends CommandLineFunction with ExternalCommonArgs { @Input(doc="bam file to be aligned") var bam = inBam @Input(doc="bwa alignment index file for 1st mating pair") var sai1 = inSai1 @Input(doc="bwa alignment index file for 2nd mating pair") var sai2 = inSai2 From 7688bda1a63e2c50c906eab2bbd761f4125775c8 Mon Sep 17 00:00:00 2001 From: Mauricio Carneiro Date: Mon, 18 Jul 2011 23:39:47 -0400 Subject: [PATCH 43/46] better progress report for the DPP --- .../queue/qscripts/DataProcessingPipeline.scala | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/public/scala/qscript/org/broadinstitute/sting/queue/qscripts/DataProcessingPipeline.scala b/public/scala/qscript/org/broadinstitute/sting/queue/qscripts/DataProcessingPipeline.scala index 09a069102..b64ba8952 100755 --- a/public/scala/qscript/org/broadinstitute/sting/queue/qscripts/DataProcessingPipeline.scala +++ b/public/scala/qscript/org/broadinstitute/sting/queue/qscripts/DataProcessingPipeline.scala @@ -138,13 +138,22 @@ class DataProcessingPipeline extends QScript { } } + println("\n\n*** INPUT FILES ***\n") // Creating one file for each sample in the dataset val sampleBamFiles = scala.collection.mutable.Map.empty[String, File] for ((sample, flist) <- sampleTable) { + + println(sample + ":") + for (f <- flist) + println (f) + println() + val sampleFileName = new File(qscript.outputDir + qscript.projectName + "." + sample + ".bam") sampleBamFiles(sample) = sampleFileName add(joinBams(flist, sampleFileName)) } + println("*** INPUT FILES ***\n\n") + return sampleBamFiles.toMap } @@ -211,9 +220,6 @@ class DataProcessingPipeline extends QScript { // Generate a BAM file per sample joining all per lane files if necessary val sampleBamFiles: Map[String, File] = createSampleFiles(bams, realignedBams) - - println("nContigs: " + nContigs) - // Final output list of processed bam files var cohortList: List[File] = List() @@ -221,6 +227,7 @@ class DataProcessingPipeline extends QScript { println("\nFound the following samples: ") for ((sample, file) <- sampleBamFiles) println("\t" + sample + " -> " + file) + println("\n") // If this is a 'knowns only' indel realignment run, do it only once for all samples. val globalIntervals = new File(outputDir + projectName + ".intervals")