Copy disabled (too large)
Download .txt
Showing preview only (43,735K chars total). Download the full file to get everything.
Repository: ncic-sugon/SparkSeq
Branch: master
Commit: 45dcc57dc74f
Files: 523
Total size: 114.2 MB
Directory structure:
gitextract_qafxk5fp/
├── .gitignore
├── LICENSE
├── README.md
├── bin/
│ ├── config.properties
│ └── runSparkWGS.sh
├── pom.xml
└── src/
├── main/
│ ├── java/
│ │ ├── com/
│ │ │ └── github/
│ │ │ └── lindenb/
│ │ │ └── jbwa/
│ │ │ └── jni/
│ │ │ ├── AlnRgn.java
│ │ │ ├── BwaFrame.java
│ │ │ ├── BwaIndex.java
│ │ │ ├── BwaMem.java
│ │ │ ├── KSeq.java
│ │ │ └── ShortRead.java
│ │ └── org/
│ │ └── ncic/
│ │ └── bioinfo/
│ │ └── sparkseq/
│ │ ├── algorithms/
│ │ │ ├── adapters/
│ │ │ │ ├── ApplyBQSRAdaptor.java
│ │ │ │ ├── BQSRTableGather.java
│ │ │ │ ├── BaseRecalibratorAdapter.java
│ │ │ │ ├── BwaMemAdapter.java
│ │ │ │ ├── HaplotypeCallerAdapter.java
│ │ │ │ ├── IndelRealignAdapter.java
│ │ │ │ └── MutectAdapter.java
│ │ │ ├── data/
│ │ │ │ ├── basic/
│ │ │ │ │ ├── CountSet.java
│ │ │ │ │ ├── DefaultHashMap.java
│ │ │ │ │ ├── IndexedSet.java
│ │ │ │ │ ├── IntMaxHeap.java
│ │ │ │ │ ├── NestedIntegerArray.java
│ │ │ │ │ ├── Pair.java
│ │ │ │ │ ├── Permutation.java
│ │ │ │ │ └── PrimitivePair.java
│ │ │ │ ├── reference/
│ │ │ │ │ ├── RefContentProvider.java
│ │ │ │ │ ├── RefMetaDataTracker.java
│ │ │ │ │ └── ReferenceContext.java
│ │ │ │ ├── sam/
│ │ │ │ │ ├── AlignmentContext.java
│ │ │ │ │ ├── AlignmentStateMachine.java
│ │ │ │ │ ├── GATKSAMReadGroupRecord.java
│ │ │ │ │ ├── GATKSAMRecord.java
│ │ │ │ │ ├── IntervalLocusSamTraverser.java
│ │ │ │ │ ├── LocusSamTraverser.java
│ │ │ │ │ ├── MergingPileupElementIterator.java
│ │ │ │ │ ├── PileupElement.java
│ │ │ │ │ ├── PileupElementTracker.java
│ │ │ │ │ ├── ReadBackedPileup.java
│ │ │ │ │ ├── ReadBackedPileupImpl.java
│ │ │ │ │ ├── ReadSamTraverser.java
│ │ │ │ │ ├── RegionSamTraverser.java
│ │ │ │ │ ├── SamContentProvider.java
│ │ │ │ │ └── filter/
│ │ │ │ │ ├── BadCigarFilter.java
│ │ │ │ │ ├── BadMateFilter.java
│ │ │ │ │ ├── DuplicateReadFilter.java
│ │ │ │ │ ├── FailsVendorQualityCheckFilter.java
│ │ │ │ │ ├── Filter.java
│ │ │ │ │ ├── FilterUtils.java
│ │ │ │ │ ├── HCMappingQualityFilter.java
│ │ │ │ │ ├── InOriginIntervalFilter.java
│ │ │ │ │ ├── MappingQualityUnavailableFilter.java
│ │ │ │ │ ├── MappingQualityZeroFilter.java
│ │ │ │ │ ├── NegativeAlignmentStartFilter.java
│ │ │ │ │ ├── NotPrimaryAlignmentFilter.java
│ │ │ │ │ ├── SupplementaryReadFilter.java
│ │ │ │ │ └── UnmappedReadFilter.java
│ │ │ │ └── vcf/
│ │ │ │ ├── GATKFeature.java
│ │ │ │ ├── HomoSapiensConstants.java
│ │ │ │ ├── RODContentProvider.java
│ │ │ │ ├── RODNames.java
│ │ │ │ ├── RODRecordList.java
│ │ │ │ ├── RODRecordListImpl.java
│ │ │ │ ├── RODTraverser.java
│ │ │ │ ├── RefMetaTrackerTraverser.java
│ │ │ │ ├── RodBinding.java
│ │ │ │ ├── Tags.java
│ │ │ │ ├── VCFHeaderLineIterable.java
│ │ │ │ └── header/
│ │ │ │ ├── StandardWESVCFHeader.java
│ │ │ │ └── StandardWGSVCFHeader.java
│ │ │ ├── engine/
│ │ │ │ ├── ActiveRegionWalker.java
│ │ │ │ ├── IntervalLocusWalker.java
│ │ │ │ ├── LocusWalker.java
│ │ │ │ ├── RODWalker.java
│ │ │ │ ├── ReadWalker.java
│ │ │ │ └── Walker.java
│ │ │ ├── utils/
│ │ │ │ ├── AlignmentContextUtils.java
│ │ │ │ ├── AlignmentUtils.java
│ │ │ │ ├── AlleleListUtils.java
│ │ │ │ ├── ArtificialSAMUtils.java
│ │ │ │ ├── BaseUtils.java
│ │ │ │ ├── CGAAlignmentUtils.java
│ │ │ │ ├── CigarUtils.java
│ │ │ │ ├── DeprecatedToolChecks.java
│ │ │ │ ├── DocumentedGATKFeature.java
│ │ │ │ ├── EventType.java
│ │ │ │ ├── FragmentUtils.java
│ │ │ │ ├── GATKVariantContextUtils.java
│ │ │ │ ├── GenomeLoc.java
│ │ │ │ ├── GenomeLocParser.java
│ │ │ │ ├── GenomeLocSortedSet.java
│ │ │ │ ├── GenotypingGivenAllelesUtils.java
│ │ │ │ ├── HasGenomeLocation.java
│ │ │ │ ├── HelpConstants.java
│ │ │ │ ├── LRUCache.java
│ │ │ │ ├── MRUCachingSAMSequenceDictionary.java
│ │ │ │ ├── MannWhitneyU.java
│ │ │ │ ├── MathUtils.java
│ │ │ │ ├── NGSPlatform.java
│ │ │ │ ├── QualityUtils.java
│ │ │ │ ├── RandomGenerator.java
│ │ │ │ ├── ReadUtils.java
│ │ │ │ ├── RecalUtils.java
│ │ │ │ ├── SampleListUtils.java
│ │ │ │ ├── SequenceComplexity.java
│ │ │ │ ├── TextFormattingUtils.java
│ │ │ │ ├── Utils.java
│ │ │ │ ├── clip/
│ │ │ │ │ ├── ClippingOp.java
│ │ │ │ │ ├── ClippingRepresentation.java
│ │ │ │ │ └── ReadClipper.java
│ │ │ │ ├── downsampling/
│ │ │ │ │ ├── AlleleBiasedDownsamplingUtils.java
│ │ │ │ │ ├── Downsampler.java
│ │ │ │ │ ├── DownsamplingUtils.java
│ │ │ │ │ ├── LIBSDownsamplingInfo.java
│ │ │ │ │ └── LevelingDownsampler.java
│ │ │ │ ├── fragments/
│ │ │ │ │ └── FragmentCollection.java
│ │ │ │ ├── haplotype/
│ │ │ │ │ ├── EventMap.java
│ │ │ │ │ └── Haplotype.java
│ │ │ │ ├── interval/
│ │ │ │ │ ├── IntervalMergingRule.java
│ │ │ │ │ ├── IntervalSetRule.java
│ │ │ │ │ └── IntervalUtils.java
│ │ │ │ ├── pairhmm/
│ │ │ │ │ ├── ArrayLoglessPairHMM.java
│ │ │ │ │ ├── Log10PairHMM.java
│ │ │ │ │ ├── LoglessPairHMM.java
│ │ │ │ │ ├── N2MemoryPairHMM.java
│ │ │ │ │ ├── PairHMM.java
│ │ │ │ │ ├── PairHMMIndelErrorModel.java
│ │ │ │ │ └── PairHMMModel.java
│ │ │ │ ├── reports/
│ │ │ │ │ ├── GATKReport.java
│ │ │ │ │ ├── GATKReportColumn.java
│ │ │ │ │ ├── GATKReportColumnFormat.java
│ │ │ │ │ ├── GATKReportDataType.java
│ │ │ │ │ ├── GATKReportTable.java
│ │ │ │ │ └── GATKReportVersion.java
│ │ │ │ ├── smithwaterman/
│ │ │ │ │ ├── GlobalEdgeGreedySWPairwiseAlignment.java
│ │ │ │ │ ├── Parameters.java
│ │ │ │ │ ├── SWPairwiseAlignment.java
│ │ │ │ │ ├── SWParameterSet.java
│ │ │ │ │ └── SmithWaterman.java
│ │ │ │ ├── transformers/
│ │ │ │ │ ├── BQSRReadTransformer.java
│ │ │ │ │ ├── MisencodedBaseQualityReadTransformer.java
│ │ │ │ │ └── ReadTransformer.java
│ │ │ │ └── vcfWriter/
│ │ │ │ ├── GVCFWriter.java
│ │ │ │ └── HomRefBlock.java
│ │ │ └── walker/
│ │ │ ├── SerializableActiveRegionMapData.java
│ │ │ ├── baserecalibrator/
│ │ │ │ ├── BAQ.java
│ │ │ │ ├── BaseRecalibrator.java
│ │ │ │ ├── QualQuantizer.java
│ │ │ │ ├── QuantizationInfo.java
│ │ │ │ ├── ReadCovariates.java
│ │ │ │ ├── ReadRecalibrationInfo.java
│ │ │ │ ├── RecalDatum.java
│ │ │ │ ├── RecalibrationArgumentCollection.java
│ │ │ │ ├── RecalibrationEngine.java
│ │ │ │ ├── RecalibrationTables.java
│ │ │ │ └── covariate/
│ │ │ │ ├── ContextCovariate.java
│ │ │ │ ├── Covariate.java
│ │ │ │ ├── CycleCovariate.java
│ │ │ │ ├── ExperimentalCovariate.java
│ │ │ │ ├── QualityScoreCovariate.java
│ │ │ │ ├── ReadGroupCovariate.java
│ │ │ │ ├── RepeatCovariate.java
│ │ │ │ ├── RepeatLengthCovariate.java
│ │ │ │ ├── RepeatUnitAndLengthCovariate.java
│ │ │ │ ├── RepeatUnitCovariate.java
│ │ │ │ ├── RequiredCovariate.java
│ │ │ │ └── StandardCovariate.java
│ │ │ ├── genotypegvcfs/
│ │ │ │ ├── GenotypeGVCFs.java
│ │ │ │ └── ReferenceConfidenceVariantContextMerger.java
│ │ │ ├── haplotypecaller/
│ │ │ │ ├── ActiveRegion.java
│ │ │ │ ├── ActiveRegionFinder.java
│ │ │ │ ├── ActiveRegionMapData.java
│ │ │ │ ├── ActiveRegionTrimmer.java
│ │ │ │ ├── ActivityProfile.java
│ │ │ │ ├── ActivityProfileState.java
│ │ │ │ ├── AlleleList.java
│ │ │ │ ├── AlleleListPermutation.java
│ │ │ │ ├── AssemblyResult.java
│ │ │ │ ├── AssemblyResultSet.java
│ │ │ │ ├── BandPassActivityProfile.java
│ │ │ │ ├── ConsensusAlleleCounter.java
│ │ │ │ ├── DiploidGenotype.java
│ │ │ │ ├── DiploidSNPGenotypeLikelihoods.java
│ │ │ │ ├── ExactACcounts.java
│ │ │ │ ├── GeneralPloidyGenotypeLikelihoods.java
│ │ │ │ ├── GenotypeAlleleCounts.java
│ │ │ │ ├── GenotypeLikelihoodCalculator.java
│ │ │ │ ├── GenotypeLikelihoodCalculators.java
│ │ │ │ ├── GenotypingData.java
│ │ │ │ ├── GenotypingLikelihoods.java
│ │ │ │ ├── GenotypingOutputMode.java
│ │ │ │ ├── HaplotypeCaller.java
│ │ │ │ ├── HaplotypeSizeAndBaseComparator.java
│ │ │ │ ├── HeterogeneousKmerSizeResolution.java
│ │ │ │ ├── IndexedAlleleList.java
│ │ │ │ ├── IndexedSampleList.java
│ │ │ │ ├── MostLikelyAllele.java
│ │ │ │ ├── OutputMode.java
│ │ │ │ ├── PerReadAlleleLikelihoodMap.java
│ │ │ │ ├── PloidyModel.java
│ │ │ │ ├── ReadErrorCorrector.java
│ │ │ │ ├── SampleList.java
│ │ │ │ ├── afcalculate/
│ │ │ │ │ ├── AFCalculationResult.java
│ │ │ │ │ ├── AFCalculator.java
│ │ │ │ │ ├── AFCalculatorImplementation.java
│ │ │ │ │ ├── AFCalculatorProvider.java
│ │ │ │ │ ├── DiploidExactAFCalculator.java
│ │ │ │ │ ├── ExactACset.java
│ │ │ │ │ ├── ExactAFCalculator.java
│ │ │ │ │ ├── FixedAFCalculatorProvider.java
│ │ │ │ │ ├── GeneralPloidyExactAFCalculator.java
│ │ │ │ │ ├── GeneralPloidyFailOverAFCalculatorProvider.java
│ │ │ │ │ ├── IndependentAllelesDiploidExactAFCalculator.java
│ │ │ │ │ ├── OriginalDiploidExactAFCalculator.java
│ │ │ │ │ ├── ReferenceDiploidExactAFCalculator.java
│ │ │ │ │ └── StateTracker.java
│ │ │ │ ├── annotator/
│ │ │ │ │ ├── AlleleBalance.java
│ │ │ │ │ ├── AlleleBalanceBySample.java
│ │ │ │ │ ├── AnnotationInterfaceManager.java
│ │ │ │ │ ├── BaseCounts.java
│ │ │ │ │ ├── BaseQualityRankSumTest.java
│ │ │ │ │ ├── ChromosomeCountConstants.java
│ │ │ │ │ ├── ChromosomeCounts.java
│ │ │ │ │ ├── ClippingRankSumTest.java
│ │ │ │ │ ├── Coverage.java
│ │ │ │ │ ├── DepthPerAlleleBySample.java
│ │ │ │ │ ├── DepthPerSampleHC.java
│ │ │ │ │ ├── FisherStrand.java
│ │ │ │ │ ├── GenotypeSummaries.java
│ │ │ │ │ ├── HaplotypeScore.java
│ │ │ │ │ ├── InbreedingCoeff.java
│ │ │ │ │ ├── LowMQ.java
│ │ │ │ │ ├── MappingQualityRankSumTest.java
│ │ │ │ │ ├── MappingQualityZero.java
│ │ │ │ │ ├── MappingQualityZeroBySample.java
│ │ │ │ │ ├── NBaseCount.java
│ │ │ │ │ ├── QualByDepth.java
│ │ │ │ │ ├── RMSMappingQuality.java
│ │ │ │ │ ├── RankSumTest.java
│ │ │ │ │ ├── ReadPosRankSumTest.java
│ │ │ │ │ ├── SpanningDeletions.java
│ │ │ │ │ ├── StrandBiasBySample.java
│ │ │ │ │ ├── StrandBiasTest.java
│ │ │ │ │ ├── StrandOddsRatio.java
│ │ │ │ │ ├── TandemRepeatAnnotator.java
│ │ │ │ │ ├── VariantAnnotatorEngine.java
│ │ │ │ │ ├── VariantOverlapAnnotator.java
│ │ │ │ │ └── interfaces/
│ │ │ │ │ ├── ActiveRegionBasedAnnotation.java
│ │ │ │ │ ├── AnnotationType.java
│ │ │ │ │ ├── AnnotatorCompatible.java
│ │ │ │ │ ├── ExperimentalAnnotation.java
│ │ │ │ │ ├── GenotypeAnnotation.java
│ │ │ │ │ ├── InfoFieldAnnotation.java
│ │ │ │ │ ├── RodRequiringAnnotation.java
│ │ │ │ │ ├── StandardAnnotation.java
│ │ │ │ │ ├── VariantAnnotatorAnnotation.java
│ │ │ │ │ └── WorkInProgressAnnotation.java
│ │ │ │ ├── argcollection/
│ │ │ │ │ ├── DbsnpArgumentCollection.java
│ │ │ │ │ ├── GenotypeCalculationArgumentCollection.java
│ │ │ │ │ ├── HaplotypeCallerArgumentCollection.java
│ │ │ │ │ ├── StandardCallerArgumentCollection.java
│ │ │ │ │ └── UnifiedArgumentCollection.java
│ │ │ │ ├── genotyper/
│ │ │ │ │ ├── AFPriorProvider.java
│ │ │ │ │ ├── AlleleLikelihoodMatrixMapper.java
│ │ │ │ │ ├── CustomAFPriorProvider.java
│ │ │ │ │ ├── GenotypingEngine.java
│ │ │ │ │ ├── HaplotypeCallerGenotypingEngine.java
│ │ │ │ │ ├── HaplotypeLDCalculator.java
│ │ │ │ │ ├── HeterozygosityAFPriorProvider.java
│ │ │ │ │ ├── InfiniteRandomMatingPopulationModel.java
│ │ │ │ │ ├── LDMerger.java
│ │ │ │ │ ├── MergeVariantsAcrossHaplotypes.java
│ │ │ │ │ ├── UnifiedGenotypingEngine.java
│ │ │ │ │ └── VariantCallContext.java
│ │ │ │ ├── graphs/
│ │ │ │ │ ├── AggregatedSubHaplotypeFinder.java
│ │ │ │ │ ├── BaseEdge.java
│ │ │ │ │ ├── BaseGraph.java
│ │ │ │ │ ├── BaseGraphIterator.java
│ │ │ │ │ ├── BaseVertex.java
│ │ │ │ │ ├── CommonSuffixSplitter.java
│ │ │ │ │ ├── DeBruijnVertex.java
│ │ │ │ │ ├── DeadEndKBestSubHaplotypeFinder.java
│ │ │ │ │ ├── EmptyPathHaplotypeFinderNode.java
│ │ │ │ │ ├── GraphUtils.java
│ │ │ │ │ ├── KBestHaplotype.java
│ │ │ │ │ ├── KBestHaplotypeFinder.java
│ │ │ │ │ ├── KBestSubHaplotypeFinder.java
│ │ │ │ │ ├── KMerCounter.java
│ │ │ │ │ ├── Kmer.java
│ │ │ │ │ ├── KmerSearchableGraph.java
│ │ │ │ │ ├── KmerSequence.java
│ │ │ │ │ ├── LowWeightChainPruner.java
│ │ │ │ │ ├── MultiSampleEdge.java
│ │ │ │ │ ├── Path.java
│ │ │ │ │ ├── RecursiveSubHaplotypeFinder.java
│ │ │ │ │ ├── Route.java
│ │ │ │ │ ├── RouteFinder.java
│ │ │ │ │ ├── SeqGraph.java
│ │ │ │ │ ├── SeqVertex.java
│ │ │ │ │ ├── SharedSequenceMerger.java
│ │ │ │ │ ├── SharedVertexSequenceSplitter.java
│ │ │ │ │ ├── TestGraph.java
│ │ │ │ │ └── VertexOrder.java
│ │ │ │ ├── model/
│ │ │ │ │ ├── ErrorModel.java
│ │ │ │ │ ├── GeneralPloidyGenotypeLikelihoodsCalculationModel.java
│ │ │ │ │ ├── GeneralPloidyIndelGenotypeLikelihoods.java
│ │ │ │ │ ├── GeneralPloidyIndelGenotypeLikelihoodsCalculationModel.java
│ │ │ │ │ ├── GenotypeLikelihoodsCalculationModel.java
│ │ │ │ │ ├── GenotypingModel.java
│ │ │ │ │ ├── HomogeneousPloidyModel.java
│ │ │ │ │ ├── IndelGenotypeLikelihoodsCalculationModel.java
│ │ │ │ │ ├── ProbabilityVector.java
│ │ │ │ │ ├── RefVsAnyResult.java
│ │ │ │ │ ├── ReferenceConfidenceMode.java
│ │ │ │ │ ├── ReferenceConfidenceModel.java
│ │ │ │ │ └── SNPGenotypeLikelihoodsCalculationModel.java
│ │ │ │ ├── readlikelihood/
│ │ │ │ │ ├── PairHMMLikelihoodCalculationEngine.java
│ │ │ │ │ ├── ReadLikelihoodCalculationEngine.java
│ │ │ │ │ ├── ReadLikelihoods.java
│ │ │ │ │ └── ReadLikelihoodsArrayCache.java
│ │ │ │ └── readthreading/
│ │ │ │ ├── DanglingChainMergingGraph.java
│ │ │ │ ├── HaplotypeGraph.java
│ │ │ │ ├── HaplotypeRoute.java
│ │ │ │ ├── LocalAssemblyEngine.java
│ │ │ │ ├── MultiDeBruijnVertex.java
│ │ │ │ ├── ReadThreadingAssembler.java
│ │ │ │ ├── ReadThreadingGraph.java
│ │ │ │ └── SequenceForKmers.java
│ │ │ ├── indelrealigner/
│ │ │ │ ├── ConsensusDeterminationModel.java
│ │ │ │ ├── ConstrainedMateFixingManager.java
│ │ │ │ ├── IndelRealigner.java
│ │ │ │ └── ReadBin.java
│ │ │ ├── mutect/
│ │ │ │ ├── AbstractPowerCalculator.java
│ │ │ │ ├── CallStatsGenerator.java
│ │ │ │ ├── CandidateMutation.java
│ │ │ │ ├── LocusReadPile.java
│ │ │ │ ├── MuTectArgumentCollection.java
│ │ │ │ ├── MuTectStats.java
│ │ │ │ ├── Mutect.java
│ │ │ │ ├── NormalPowerCalculator.java
│ │ │ │ ├── QualitySums.java
│ │ │ │ ├── SequenceUtils.java
│ │ │ │ ├── TumorPowerCalculator.java
│ │ │ │ ├── VCFGenerator.java
│ │ │ │ └── VariableAllelicRatioGenotypeLikelihoods.java
│ │ │ ├── printreads/
│ │ │ │ ├── BaseRecalibration.java
│ │ │ │ ├── PrintReads.java
│ │ │ │ └── RecalibrationReport.java
│ │ │ └── realignertargetcreator/
│ │ │ ├── Event.java
│ │ │ ├── EventPair.java
│ │ │ ├── EventType.java
│ │ │ └── RealignerTargetCreator.java
│ │ ├── compress/
│ │ │ ├── BaseCompressTools.java
│ │ │ ├── QualityCompressTools.java
│ │ │ └── huffman/
│ │ │ ├── AdaptiveHuffmanCompress.java
│ │ │ ├── AdaptiveHuffmanDecompress.java
│ │ │ ├── BitInputStream.java
│ │ │ ├── BitOutputStream.java
│ │ │ ├── CanonicalCode.java
│ │ │ ├── CodeTree.java
│ │ │ ├── FrequencyTable.java
│ │ │ ├── HuffmanCompress.java
│ │ │ ├── HuffmanDecoder.java
│ │ │ ├── HuffmanDecompress.java
│ │ │ ├── HuffmanEncoder.java
│ │ │ ├── InternalNode.java
│ │ │ ├── Leaf.java
│ │ │ └── Node.java
│ │ ├── debug/
│ │ │ └── DebugWriter.java
│ │ ├── exceptions/
│ │ │ ├── CompressException.java
│ │ │ ├── GATKException.java
│ │ │ ├── ReviewedGATKException.java
│ │ │ └── UserException.java
│ │ ├── fileio/
│ │ │ └── format/
│ │ │ └── SingleFastqInputFormat.java
│ │ └── transfer/
│ │ ├── Basic2SAMRecordTransfer.java
│ │ ├── CollectionConverter.java
│ │ ├── FastqRecord2ShortReadTransfer.java
│ │ ├── GATKReportTransfer.java
│ │ ├── SAMHeaderTransfer.java
│ │ ├── SAMReadGroupRecordTransfer.java
│ │ ├── SAMRecord2BasicTransfer.java
│ │ ├── SAMSequenceDictTransfer.java
│ │ ├── VC2VcfRecordTransfer.java
│ │ └── VcfRecord2VCTransfer.java
│ └── scala/
│ └── org/
│ └── ncic/
│ └── bioinfo/
│ └── sparkseq/
│ ├── WGSPipeline.scala
│ ├── const/
│ │ ├── BinTools.scala
│ │ ├── PipelineConst.scala
│ │ ├── ResourceKeys.scala
│ │ └── SamRecordConst.scala
│ ├── data/
│ │ ├── basic/
│ │ │ ├── BasicSamRecord.scala
│ │ │ ├── FastqPairRecord.scala
│ │ │ ├── FastqRecord.scala
│ │ │ └── VcfRecord.scala
│ │ ├── bundle/
│ │ │ ├── FASTAPartitionBundle.scala
│ │ │ ├── FASTQBundle.scala
│ │ │ ├── FASTQPairBundle.scala
│ │ │ ├── RODBundle.scala
│ │ │ ├── RefPartitionInfoBundle.scala
│ │ │ ├── SAMBundle.scala
│ │ │ ├── VCFBundle.scala
│ │ │ └── VCFPartitionBundle.scala
│ │ ├── common/
│ │ │ ├── Flags.scala
│ │ │ ├── Locus.scala
│ │ │ ├── ReadGroupInfo.scala
│ │ │ ├── RefContigInfo.scala
│ │ │ ├── RefPartitionInfo.scala
│ │ │ ├── SamHeaderInfo.scala
│ │ │ └── VcfHeaderInfo.scala
│ │ └── partition/
│ │ ├── BundlePartition.scala
│ │ ├── FastaPartition.scala
│ │ ├── FastqPairRecordPartition.scala
│ │ ├── FastqRecordPartition.scala
│ │ ├── Partition.scala
│ │ ├── SamRecordPartition.scala
│ │ └── VcfRecordPartition.scala
│ ├── debug/
│ │ └── Dumper.scala
│ ├── engine/
│ │ ├── AbstractProcess.scala
│ │ ├── PartitionOptimizedProcess.scala
│ │ ├── PartitionOptimizer.scala
│ │ ├── Pipeline.scala
│ │ ├── Process.scala
│ │ └── Runnable.scala
│ ├── exceptions/
│ │ ├── IllegalInputException.scala
│ │ ├── PipelineException.scala
│ │ ├── ResourceException.scala
│ │ ├── ResourceNotSetException.scala
│ │ └── ResourceSetException.scala
│ ├── fileio/
│ │ ├── FileLoader.scala
│ │ ├── FileWriter.scala
│ │ ├── HDFSReader.scala
│ │ ├── NormalFileLoader.scala
│ │ └── NormalFileWriter.scala
│ ├── partitioner/
│ │ ├── FastaPartitioner.scala
│ │ ├── FastqPairPartitioner.scala
│ │ ├── FastqPartitioner.scala
│ │ ├── SamRecordPartitioner.scala
│ │ └── VcfPartitioner.scala
│ ├── processes/
│ │ ├── PartitionProcess.scala
│ │ ├── ReadRepartitioner.scala
│ │ ├── cleaning/
│ │ │ ├── BaseRecalibrationProcess.scala
│ │ │ ├── DataCleanProcess.scala
│ │ │ ├── IndelRealignProcess.scala
│ │ │ ├── MarkDuplicateProcess.scala
│ │ │ └── PartitionMarkDuplicateProcess.scala
│ │ ├── mapping/
│ │ │ ├── BwaMappingProcess.scala
│ │ │ └── JNIBwaMemProcess.scala
│ │ └── variantcalling/
│ │ ├── HaplotypeCallerProcess.scala
│ │ ├── MutectProcess.scala
│ │ └── VariantCallingProcess.scala
│ ├── resource/
│ │ ├── AbstractResource.scala
│ │ ├── Resource.scala
│ │ └── ResourcePool.scala
│ └── utils/
│ ├── FileUtils.scala
│ ├── FlagUtils.scala
│ └── StringUtils.scala
└── test/
├── java/
│ └── org/
│ └── ncic/
│ └── bioinfo/
│ └── sparkseq/
│ ├── algorithms/
│ │ ├── TestDebug.java
│ │ ├── adapters/
│ │ │ └── TestBQSRGather.java
│ │ ├── data/
│ │ │ └── sam/
│ │ │ ├── TestIntervalLocusSamTraverser.java
│ │ │ ├── TestLocusSamTraverser.java
│ │ │ ├── TestReadSamTraverser.java
│ │ │ ├── TestRegionSamTraverser.java
│ │ │ ├── TestSamContentProvider.java
│ │ │ └── filter/
│ │ │ └── TestFilterUtils.java
│ │ └── walker/
│ │ ├── AbstractTestCase.java
│ │ ├── TestActiveRegionFinder.java
│ │ ├── TestBaseRecalibrator.java
│ │ ├── TestGenotypeGVCFs.java
│ │ ├── TestHaplotypeCaller.java
│ │ ├── TestIndelRealigner.java
│ │ ├── TestMapDataSerialization.java
│ │ ├── TestMutect.java
│ │ ├── TestPrintReads.java
│ │ └── TestRealignerTargetCreator.java
│ ├── compress/
│ │ ├── TestBaseCompress.java
│ │ ├── TestCompressRate.java
│ │ ├── TestFastqCompress.java
│ │ ├── TestKryo.java
│ │ └── TestQualCompress.java
│ └── transfer/
│ ├── TestRecalTableTransfer.java
│ └── TestSAMRecordTransfer.java
├── resources/
│ ├── activeRegions.txt
│ ├── bqsrtables/
│ │ ├── 0_bqsr.table
│ │ ├── 1_bqsr.table
│ │ ├── 2_bqsr.table
│ │ ├── 3_bqsr.table
│ │ └── merged.table
│ ├── gvcf.vcf
│ ├── head_dbsnp.vcf
│ ├── human_g1k_v37.dict
│ ├── intervaled.sam
│ ├── littleFasta.dict
│ ├── littleFasta.fasta
│ ├── mills_indel.vcf
│ ├── mutect/
│ │ ├── 0_panel.intervals
│ │ ├── LOCUS.txt
│ │ ├── dedup_Blood.sam
│ │ ├── dedup_Tumor.sam
│ │ ├── head_dbsnp.vcf
│ │ ├── out.txt
│ │ ├── out.vcf
│ │ └── refContent
│ ├── raw.snps.indels.vcf
│ ├── realigned_reads.sam
│ ├── recal_data.table
│ ├── recal_reads.sam
│ ├── refheadContent
│ ├── target_interval.list
│ ├── test.bam
│ ├── test.sam
│ ├── test.vcf
│ ├── test1.fastq
│ └── test2.fastq
└── scala/
└── org/
└── ncic/
└── bioinfo/
└── sparkseq/
├── consts/
│ └── TestConst.scala
├── data/
│ ├── TestBasicSamRecord.scala
│ ├── TestFastaPartitioner.scala
│ ├── TestHeaderInfo.scala
│ ├── TestRefContigInfo.scala
│ ├── TestRefScatterInfo.scala
│ └── TestVcfRecord.scala
├── engine/
│ ├── TestEngine.scala
│ └── TestOptimizeEngine.scala
└── fileio/
└── TestNormalFileLoaderWriter.scala
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
.idea/*
target/*
test_result/*
bk/*
================================================
FILE: LICENSE
================================================
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "{}"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2016 ICT
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
================================================
FILE: README.md
================================================
SparkSeq
====
# Introduction
SparkSeq is a programming framework for big genome data analysis process based on [Apache Spark](http://spark.incubator.apache.org/).
In the latest version, WGS pipline is implemented based on this framwork.
# Get Started
## Installing Spark
A Spark release must be on your system before running SparkSeq.
Our work default to Spark 2.1.0 and Hadoop 2.7.0. We also test the program on Spark 1.6.2 and Hadoop 2.6.4.
The latest release of Spark can be download from [Spark website](http://spark.apache.org/downloads.html). More information about installing Spark refers to [Spark Installing Document](https://github.com/apache/spark).
## Build SparkSeq
SparkSeq is built using Apache Maven. To build SparkSeq and its example program, run the following command in shell:
```
$ git clone https://github.com/PAA-NCIC/SparkSeq.git
$ cd SparkSeq
$ mvn clean package
...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:00 min
[INFO] Finished at: 2017-04-03T19:43:34+08:00
[INFO] Final Memory: 140M/2083M
[INFO] ------------------------------------------------------------------------
```
## Run a example of WGS
A pipline to call raw variants in VCF file format from raw reads in FASTQ file format is implemented as an example program in GPF.
Before running a WGS pipline, a human b37 reference and its index file must be provided in a storage which can be seen by each node in Spark cluster, as the BWA mem task need to load the index into memory when run .
The known indel/snp vcf files and input FASTQ files must be provided in HDFS or NFS system.
We provide an example running script named "runSparkWGS.sh" in directory "SparkSeq/bin" like following:
```
spark_master=spark://master:7077
driver_memory=30G
executor_memory=30G
total_executor_cores=1024
spark-submit --class org.ncic.bioinfo.sparkseq.WGSPipeline \
--master ${spark_master} \
--driver-memory ${driver_memory} \
--executor-memory ${executor_memory} \
--total-executor-cores ${total_executor_cores} \
/PATH/TO/SparkSeq/target/spark-seq-0.9.0-jar-with-dependencies.jar \
-ref /PATH/TO/human_g1k_v37.fasta \
-dict /PATH/TO/human_g1k_v37.dict \
-fq1 /PATH/TO/DATA/1.fastq \
-fq2 /PATH/TO/DATA/2.fastq \
-output /PATH/TO/OUTPUT/result.vcf \
-1000gindel /PATH/TO/1000G_phase1.indels.b37.vcf \
-millsindel /PATH/TO/Mills_and_1000G_gold_standard.indels.b37.vcf \
-dbsnp /PATH/TO/dbsnp_138.b37.vcf
```
You can run the script by run the following command in shell:
```
sh runSparkWGS.sh
```
The WGS pipeline support all arguments defined by [Apache Spark](http://spark.incubator.apache.org/), and also defines a series of arguments for WGS pipline.
````
Arguments for process defination.
-fq1 : Path to input fastq file 1.
-fq2 : Path to input fastq file 2.
-ref : Path to b37 reference.
-dict : Path to dict file of b37 reference.
-output : Path to write the output VCF file.
-1000gindel : Path to VCF file: 1000G known indels
-millsindel : Path to VCF file: mills and 1000G indels
-dbsnp : Path to VCF file: dbsnp
````
# License
SparkSeq is released under a [GNU General Public License](https://github.com/PAA-NCIC/SparkSeq/master/LICENSE).
================================================
FILE: bin/config.properties
================================================
processOptimize = True
shuffleCompress = True
partitonLength = 2000000
splitPartitionThres = 4
bqsrGatherThreads = 24
activeRegionRepartitionCount = 256
================================================
FILE: bin/runSparkWGS.sh
================================================
spark_master=spark://master:7077
driver_memory=30G
executor_memory=30G
total_executor_cores=1024
spark-submit --class org.ncic.bioinfo.sparkseq.WGSPipeline \
--master ${spark_master} \
--driver-memory ${driver_memory} \
--executor-memory ${executor_memory} \
--total-executor-cores ${total_executor_cores} \
/PATH/TO/SparkSeq/target/spark-seq-0.9.0-jar-with-dependencies.jar \
-ref /PATH/TO/human_g1k_v37.fasta \
-dict /PATH/TO/human_g1k_v37.dict \
-fq1 /PATH/TO/DATA/1.fastq \
-fq2 /PATH/TO/DATA/2.fastq \
-output /PATH/TO/OUTPUT/result.vcf \
-1000gindel /PATH/TO/1000G_phase1.indels.b37.vcf \
-millsindel /PATH/TO/Mills_and_1000G_gold_standard.indels.b37.vcf \
-dbsnp /PATH/TO/dbsnp_138.b37.vcf
================================================
FILE: pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.ncic.bioinfo</groupId>
<artifactId>spark-seq</artifactId>
<version>0.9.0</version>
<properties>
<java.version>1.8</java.version>
<spark.version>2.1.0</spark.version>
<hadoop.version>2.7.3</hadoop.version>
<scala.version>2.10.4</scala.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>compile-scala</id>
<phase>validate</phase>
<goals>
<goal>add-source</goal>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>test-compile-scala</id>
<phase>test-compile</phase>
<goals>
<goal>add-source</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
<configuration>
<scalaVersion>${scala.version}</scalaVersion>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>org.scalatest</groupId>
<artifactId>scalatest_2.10</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>14.0.1</version>
</dependency>
<dependency>
<groupId>args4j</groupId>
<artifactId>args4j</artifactId>
<version>2.0.23</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.0</version>
</dependency>
<dependency>
<groupId>net.java.truecommons</groupId> <!-- 使用类似try with的loan字段 -->
<artifactId>truecommons-io</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>com.github.samtools</groupId>
<artifactId>htsjdk</artifactId>
<version>1.128</version>
</dependency>
<!-- spark & hadoop -->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>${hadoop.version}</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>asm</groupId>
<artifactId>asm</artifactId>
</exclusion>
<exclusion>
<groupId>org.jboss.netty</groupId>
<artifactId>netty</artifactId>
</exclusion>
<exclusion>
<groupId>org.codehaus.jackson</groupId>
<artifactId>*</artifactId>
</exclusion>
<exclusion>
<groupId>org.sonatype.sisu.inject</groupId>
<artifactId>*</artifactId>
</exclusion>
<exclusion>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</exclusion>
<exclusion>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.10</artifactId>
<version>${spark.version}</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-mapreduce</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>it.unimi.dsi</groupId>
<artifactId>fastutil</artifactId>
<version>6.3</version>
</dependency>
<dependency>
<groupId>colt</groupId>
<artifactId>colt</artifactId>
<version>1.2.0</version>
</dependency>
<dependency>
<groupId>org.jgrapht</groupId>
<artifactId>jgrapht-jdk1.5</artifactId>
<version>0.7.3</version>
</dependency>
<dependency>
<groupId>com.esotericsoftware</groupId>
<artifactId>kryo-shaded</artifactId>
<version>3.0.3</version>
</dependency>
</dependencies>
</project>
================================================
FILE: src/main/java/com/github/lindenb/jbwa/jni/AlnRgn.java
================================================
/*
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2016 Pierre Lindenbaum
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package com.github.lindenb.jbwa.jni;
public class AlnRgn {
private String chrom;
private long pos;
private byte strand;
private String cigar;
private int mqual;
private int NM;
private int AS;
private int secondary;
public AlnRgn(String chrom, long pos, byte strand, String cigar, int mqual, int NM, int AS, int secondary) {
this.chrom = chrom;
this.pos = pos;
this.strand = strand;
this.cigar = cigar;
this.mqual = mqual;
this.NM = NM;
this.AS = AS;
this.secondary = secondary;
}
public String getChrom() {
return this.chrom;
}
public long getPos() {
return this.pos;
}
public char getStrand() {
return (char) this.strand;
}
public String getCigar() {
return this.cigar;
}
public int getMQual() {
return this.mqual;
}
public int getNm() {
return this.NM;
}
public int getAs() {
return this.AS;
}
public int getSecondary() {
return this.secondary;
}
@Override
public String toString() {
return "" + chrom + ":" + String.valueOf(pos) + "(" + (char) this.strand + ");" + cigar + ";" + mqual + ";" + NM + ";" + AS + ";" + getSecondary();
}
}
================================================
FILE: src/main/java/com/github/lindenb/jbwa/jni/BwaFrame.java
================================================
/*
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2016 Pierre Lindenbaum
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package com.github.lindenb.jbwa.jni;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.util.Vector;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.border.EmptyBorder;
import javax.swing.filechooser.FileFilter;
import javax.swing.table.AbstractTableModel;
public class BwaFrame extends JFrame {
private final static String COLS[] = new String[]{"CHROM", "POS", "STRAND", "CIGAR", "MQUAL", "NM", "Secondary"};
private class AlnTableModel extends AbstractTableModel {
private Vector<AlnRgn> array = new Vector<AlnRgn>();
@Override
public String getColumnName(int column) {
return COLS[column];
}
@Override
public int getColumnCount() {
return COLS.length;
}
@Override
public int getRowCount() {
return array.size();
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
AlnRgn a = this.array.get(rowIndex);
switch (columnIndex) {
case 0:
return a.getChrom();
case 1:
return a.getPos();
case 2:
return a.getStrand();
case 3:
return a.getCigar();
case 4:
return a.getMQual();
case 5:
return a.getNm();
case 6:
return a.getSecondary();
default:
return null;
}
}
@Override
public Class<?> getColumnClass(int columnIndex) {
switch (columnIndex) {
case 0:
return String.class;
case 1:
return Long.class;
case 2:
return Character.class;
case 3:
return String.class;
case 4:
return Integer.class;
case 5:
return Integer.class;
case 6:
return Integer.class;
default:
return Object.class;
}
}
@Override
public boolean isCellEditable(int arg0, int arg1) {
return false;
}
void clear() {
array.clear();
fireTableDataChanged();
}
void addAll(AlnRgn rgn[]) {
array.clear();
if (rgn != null) for (AlnRgn a : rgn) array.add(a);
fireTableDataChanged();
}
}
private AlnTableModel tableModel;
private JTextField seqField;
private BwaIndex bwaIndex;
private BwaFrame(File f, BwaIndex bwaIndex) {
super("JBWA:" + f);
this.bwaIndex = bwaIndex;
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
doMenuClose();
}
});
JMenuBar bar = new JMenuBar();
setJMenuBar(bar);
JPanel mainPane = new JPanel(new BorderLayout(5, 5));
mainPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(mainPane);
JPanel pane = new JPanel(new FlowLayout(FlowLayout.LEADING));
mainPane.add(pane, BorderLayout.NORTH);
this.seqField = new JTextField(50);
pane.add(seqField);
Action action = new AbstractAction("Align") {
@Override
public void actionPerformed(ActionEvent arg0) {
doMenuAlign();
}
};
seqField.addActionListener(action);
seqField.setText("CCAANCGCGAGAAGATGACCCAGATCATGTTTGAGACCTTCAACACCCCAGCCATGTACGTGGAGATCGGAAGAGCACACGTCTGAACTCCAGTCACCAA");
pane.add(new JButton(action));
this.tableModel = new AlnTableModel();
JTable table = new JTable(tableModel);
table.setFont(new Font("Courier", 0, 20));
table.setRowHeight(25);
//table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
mainPane.add(new JScrollPane(table), BorderLayout.CENTER);
JMenu menu = new JMenu("File");
menu.add(action);
menu.add(new AbstractAction("Quit") {
@Override
public void actionPerformed(ActionEvent arg0) {
doMenuClose();
}
});
}
private void doMenuClose() {
this.bwaIndex.close();
this.setVisible(false);
this.dispose();
}
private void doMenuAlign() {
this.tableModel.clear();
String dna = this.seqField.getText().trim().toUpperCase();
if (dna.length() < 10 || !dna.matches("[ATGNC]+")) {
JOptionPane.showMessageDialog(this, "Bad DNA", "Error", JOptionPane.ERROR_MESSAGE);
return;
}
ShortRead read = new ShortRead("Any", dna.getBytes(), dna.replaceAll("[ANTGC]", "I").getBytes());
BwaMem mem = null;
try {
mem = new BwaMem(this.bwaIndex);
this.tableModel.addAll(mem.align(read));
mem.dispose();
} catch (Exception err) {
err.printStackTrace();
JOptionPane.showMessageDialog(this, "BWA-ERROR", "Error", JOptionPane.ERROR_MESSAGE);
} finally {
if (mem != null) mem.dispose();
}
}
public static void main(String[] args) {
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
System.loadLibrary("bwajni");
File startFile = null;
if (args.length > 0) {
startFile = new File(args[0]);
if (startFile.isFile()) startFile = startFile.getParentFile();
}
JFileChooser selFile = new JFileChooser(startFile);
selFile.setFileFilter(new FileFilter() {
@Override
public String getDescription() {
return "BWA indexed file";
}
@Override
public boolean accept(File f) {
if (!f.isFile()) return true;
String name = f.getName().toLowerCase();
return name.endsWith(".fa.gz") || name.endsWith(".fa") ||
name.endsWith(".fasta.gz") || name.endsWith(".fasta");
}
});
if (selFile.showOpenDialog(null) != JFileChooser.APPROVE_OPTION) return;
File fileIndex = selFile.getSelectedFile();
if (fileIndex == null) return;
System.out.println("Loading " + fileIndex + "...");
BwaIndex index = null;
try {
index = new BwaIndex(fileIndex);
} catch (Exception e) {
System.err.println("Cannot read " + fileIndex);
e.printStackTrace();
return;
}
final BwaFrame frame = new BwaFrame(fileIndex, index);
Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
frame.setBounds(50, 50, screen.width - 100, screen.height - 100);
try {
SwingUtilities.invokeAndWait(new Runnable() {
@Override
public void run() {
frame.setVisible(true);
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
}
================================================
FILE: src/main/java/com/github/lindenb/jbwa/jni/BwaIndex.java
================================================
/*
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2016 Pierre Lindenbaum
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package com.github.lindenb.jbwa.jni;
import java.io.File;
import java.io.IOException;
public class BwaIndex {
protected long ref = 0L;
public BwaIndex(File index) throws IOException {
ref = _open(index.toString());
}
@Override
protected void finalize() {
close();
}
public native void close();
private static native long _open(String s) throws IOException;
}
================================================
FILE: src/main/java/com/github/lindenb/jbwa/jni/BwaMem.java
================================================
/*
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2016 Pierre Lindenbaum
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package com.github.lindenb.jbwa.jni;
import java.io.*;
import java.util.List;
public class BwaMem {
protected long ref = 0L;
private BwaIndex bwaIndex = null;
public BwaMem(BwaIndex bwaIndex) {
this.ref = BwaMem.mem_opt_init();
this.bwaIndex = bwaIndex;
}
public void updateScoringParameters(final int baseMismatchPen,
final int gapOpenPenIns, final int gapOpenPenDel,
final int gapExtPenIns, final int gapExtPenDel,
final int clipPen5, final int clipPen3) {
update_score_parameters(baseMismatchPen, gapOpenPenIns, gapOpenPenDel, gapExtPenIns, gapExtPenDel, clipPen5, clipPen3);
}
public AlnRgn[] align(ShortRead read) throws IOException {
if (ref == 0L) return null;
return align(this.bwaIndex, read.getBases());
}
public String[] align(final List<ShortRead> ks1, final List<ShortRead> ks2) throws IOException {
if (ref == 0L) return null;
if (ks1 == null) throw new IllegalArgumentException("ks1 is null");
if (ks2 == null) throw new IllegalArgumentException("ks2 is null");
return align(
ks1.toArray(new ShortRead[ks1.size()]),
ks2.toArray(new ShortRead[ks2.size()])
);
}
public String[] align(final ShortRead ks1[], final ShortRead ks2[]) throws IOException {
if (ref == 0L) return null;
if (ks1 == null) throw new IllegalArgumentException("ks1 is null");
if (ks2 == null) throw new IllegalArgumentException("ks2 is null");
if (ks1.length != ks2.length) throw new IllegalArgumentException("ks1.length!=ks2.length");
if (ks1.length == 0) return null;
return align2(this.bwaIndex, ks1, ks2);
}
@Override
protected void finalize() {
dispose();
}
public native void dispose();
private static native long mem_opt_init();
/**
* Verbosity (from http://bio-bwa.sourceforge.net/bwa.shtml#3)
* A value 0 for disabling all the output to stderr;
* 1 for outputting errors only;
* 2 for warnings and errors;
* 3 for all normal messages;
* 4 or higher for debugging. When this option takes value 4, the output is not SAM.
* <p>
* If this method is not called, the default level is 3.
*/
public native void set_verbosity(int verbosity);
private native void update_score_parameters(int B, int Oi, int Od, int Ei, int Ed, int L5, int L3);
private native AlnRgn[] align(BwaIndex bwaIndex, byte bases[]) throws IOException;
private native String[] align2(BwaIndex bwaIndex, final ShortRead ks1[], final ShortRead ks2[]) throws IOException;
}
================================================
FILE: src/main/java/com/github/lindenb/jbwa/jni/KSeq.java
================================================
/*
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2016 Pierre Lindenbaum
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package com.github.lindenb.jbwa.jni;
import java.io.File;
import java.io.IOException;
public class KSeq {
protected long ref = 0L;
public KSeq(File f) throws IOException {
this.ref = KSeq.init(f == null ? "-" : f.toString());
}
public KSeq() throws IOException {
this(null);
}
public native ShortRead next() throws IOException;
@Override
protected void finalize() {
dispose();
}
public native void dispose();
private static native long init(String file);
}
================================================
FILE: src/main/java/com/github/lindenb/jbwa/jni/ShortRead.java
================================================
/*
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2016 Pierre Lindenbaum
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package com.github.lindenb.jbwa.jni;
public class ShortRead {
private String name;
private byte[] seq;
private byte[] qual;
public ShortRead(String name, byte[] seq, byte[] qual) {
this.name = name;
this.seq = seq;
this.qual = qual;
}
public String getName() {
return this.name;
}
public byte[] getBases() {
return this.seq;
}
public byte[] getQualities() {
return this.qual;
}
@Override
public String toString() {
return "@" + name + "\n" + new String(this.seq) + "\n+\n" + new String(qual);
}
}
================================================
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/adapters/ApplyBQSRAdaptor.java
================================================
/*
* Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences
*
* 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.ncic.bioinfo.sparkseq.algorithms.adapters;
import htsjdk.samtools.SAMRecord;
import htsjdk.samtools.SAMSequenceDictionary;
import org.ncic.bioinfo.sparkseq.algorithms.data.reference.RefContentProvider;
import org.ncic.bioinfo.sparkseq.algorithms.data.sam.GATKSAMRecord;
import org.ncic.bioinfo.sparkseq.algorithms.data.sam.SamContentProvider;
import org.ncic.bioinfo.sparkseq.algorithms.data.vcf.RODContentProvider;
import org.ncic.bioinfo.sparkseq.algorithms.data.vcf.RODNames;
import org.ncic.bioinfo.sparkseq.algorithms.utils.GenomeLocParser;
import org.ncic.bioinfo.sparkseq.algorithms.utils.reports.GATKReport;
import org.ncic.bioinfo.sparkseq.algorithms.walker.printreads.PrintReads;
import org.ncic.bioinfo.sparkseq.data.basic.BasicSamRecord;
import org.ncic.bioinfo.sparkseq.data.common.RefContigInfo;
import org.ncic.bioinfo.sparkseq.data.partition.FastaPartition;
import org.ncic.bioinfo.sparkseq.data.partition.SamRecordPartition;
import org.ncic.bioinfo.sparkseq.data.partition.VcfRecordPartition;
import org.ncic.bioinfo.sparkseq.transfer.GATKReportTransfer;
import org.ncic.bioinfo.sparkseq.transfer.SAMRecord2BasicTransfer;
import org.ncic.bioinfo.sparkseq.transfer.SAMSequenceDictTransfer;
import scala.collection.JavaConversions;
import java.util.ArrayList;
import java.util.List;
/**
* Author: wbc
*/
public class ApplyBQSRAdaptor {
public static List<BasicSamRecord> applyBQSR(RefContigInfo refContigInfo,
SamRecordPartition samRecordPartition,
FastaPartition refPartition,
List<VcfRecordPartition> rodPartitions,
List<String> bqsrTableLines) {
SAMSequenceDictionary samSequenceDictionary = SAMSequenceDictTransfer.transfer(refContigInfo);
GenomeLocParser parser = new GenomeLocParser(samSequenceDictionary);
SamContentProvider samContentProvider = new SamContentProvider(samRecordPartition);
RefContentProvider refContentProvider = new RefContentProvider(samSequenceDictionary, refPartition);
List<RODContentProvider> rodContentProviders = new java.util.ArrayList<>();
rodPartitions.forEach(
rodPartition -> rodContentProviders.add(
new RODContentProvider(RODNames.KNOWN_ALLELES + rodPartition.key(), rodPartition, parser))
);
GATKReport bqsrTable = GATKReportTransfer.lines2Report(bqsrTableLines);
// 使用bqsr进行read transform
PrintReads printReads = new PrintReads(parser, refContentProvider,
samContentProvider, rodContentProviders, bqsrTable);
printReads.run();
// 将结果sam record转化为base sam record
List<GATKSAMRecord> samRecords = printReads.getResultRecords();
List<BasicSamRecord> basicSamRecords = new ArrayList<>();
SAMRecord2BasicTransfer transfer = new SAMRecord2BasicTransfer();
samRecords.forEach(record -> {
basicSamRecords.add(transfer.transfer(record));
});
return basicSamRecords;
}
}
================================================
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/adapters/BQSRTableGather.java
================================================
/*
* Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences
*
* 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.ncic.bioinfo.sparkseq.algorithms.adapters;
import org.ncic.bioinfo.sparkseq.algorithms.utils.reports.GATKReport;
import org.ncic.bioinfo.sparkseq.algorithms.walker.printreads.RecalibrationReport;
import org.ncic.bioinfo.sparkseq.exceptions.GATKException;
import org.ncic.bioinfo.sparkseq.exceptions.PipelineException;
import org.ncic.bioinfo.sparkseq.transfer.GATKReportTransfer;
import scala.collection.JavaConversions;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ForkJoinPool;
import java.util.concurrent.Future;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.RecursiveTask;
import java.util.concurrent.TimeUnit;
/**
* Author: wbc
*/
public class BQSRTableGather {
public static List<String> gatherBQSRTables(List<List<String>> reportLinesGroup) {
if (reportLinesGroup.size() == 0) {
throw new PipelineException("No bqsr tables to merge");
}
final RecalibrationReport finalReport = new RecalibrationReport(
GATKReportTransfer.lines2Report(reportLinesGroup.get(0)));
int count = reportLinesGroup.size();
for (int i = 1; i < count; i++) {
List<String> reportLines = reportLinesGroup.get(i);
GATKReport gatkReport = GATKReportTransfer.lines2Report(reportLines);
if (gatkReport.getTable("RecalTable0").getNumRows() != 0) {
finalReport.combine(new RecalibrationReport(gatkReport));
}
}
finalReport.calculateQuantizedQualities();
GATKReport gatkReport = finalReport.createGATKReport();
return GATKReportTransfer.report2Lines(gatkReport);
}
public static List<String> gatherBQSRTablesInParallel(final List<List<String>> rawReportLinesGroup, int threadCount, int tableCount) {
ExecutorService pool = Executors.newFixedThreadPool(threadCount);
int tableSize = (rawReportLinesGroup.size() < tableCount) ? rawReportLinesGroup.size() : tableCount;
List<List<String>> reportLinesGroup = rawReportLinesGroup.subList(0, tableSize);
RecalibrationReport[] reports = new RecalibrationReport[reportLinesGroup.size()];
for (int i = 0; i < reportLinesGroup.size(); i++) {
final int reportId = i;
pool.execute(new Runnable() {
@Override
public void run() {
List<String> lines = reportLinesGroup.get(reportId);
GATKReport gatkReport = GATKReportTransfer.lines2Report(lines);
reports[reportId] = new RecalibrationReport(gatkReport);
}
});
}
pool.shutdown();
try {
while (!pool.awaitTermination(1, TimeUnit.SECONDS)) ;
} catch (InterruptedException e) {
e.printStackTrace();
}
RecalibrationReport finalReport = reports[0];
for (int i = 1; i < reports.length; i++) {
if (reports[i].getRecalibrationTables().getTable(0).getDimensions()[0] != 0) {
finalReport.combine(reports[i]);
}
}
finalReport.calculateQuantizedQualities();
GATKReport gatkReport = finalReport.createGATKReport();
return GATKReportTransfer.report2Lines(gatkReport);
/*ForkJoinPool forkJoinPool = new ForkJoinPool();
Future<RecalibrationReport> futureResult = forkJoinPool.submit(new ForkJoinMergeTask(reports, 0, reports.length - 1));
try {
RecalibrationReport finalReport = futureResult.get();
finalReport.calculateQuantizedQualities();
GATKReport gatkReport = finalReport.createGATKReport();
return GATKReportTransfer.report2Lines(gatkReport);
} catch (Exception e) {
throw new GATKException("Error when combine BQSR report:" + e.getMessage());
}*/
}
/**
* 暂时弃用,因为结果会不一致
*/
private static class ForkJoinMergeTask extends RecursiveTask<RecalibrationReport> {
private int start;
private int stop;
RecalibrationReport[] reports;
public ForkJoinMergeTask(RecalibrationReport[] reports, int start, int end) {
this.reports = reports;
this.start = start;
this.stop = end;
}
public RecalibrationReport compute() {
if (start == stop) {
return reports[start];
} else if (start == stop - 1) {
reports[start].combine(reports[stop]);
return reports[start];
} else {
int middle = (start + stop) / 2;
ForkJoinMergeTask leftTask = new ForkJoinMergeTask(reports, start, middle);
ForkJoinMergeTask rightTask = new ForkJoinMergeTask(reports, middle + 1, stop);
leftTask.fork();
rightTask.fork();
RecalibrationReport leftRes = leftTask.join();
RecalibrationReport rightRes = rightTask.join();
leftRes.combine(rightRes);
return leftRes;
}
}
}
}
================================================
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/adapters/BaseRecalibratorAdapter.java
================================================
/*
* Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences
*
* 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.ncic.bioinfo.sparkseq.algorithms.adapters;
import htsjdk.samtools.SAMSequenceDictionary;
import org.ncic.bioinfo.sparkseq.algorithms.data.reference.RefContentProvider;
import org.ncic.bioinfo.sparkseq.algorithms.data.sam.SamContentProvider;
import org.ncic.bioinfo.sparkseq.algorithms.data.vcf.RODContentProvider;
import org.ncic.bioinfo.sparkseq.algorithms.data.vcf.RODNames;
import org.ncic.bioinfo.sparkseq.algorithms.utils.GenomeLocParser;
import org.ncic.bioinfo.sparkseq.algorithms.utils.reports.GATKReport;
import org.ncic.bioinfo.sparkseq.algorithms.walker.baserecalibrator.BaseRecalibrator;
import org.ncic.bioinfo.sparkseq.data.common.RefContigInfo;
import org.ncic.bioinfo.sparkseq.data.partition.FastaPartition;
import org.ncic.bioinfo.sparkseq.data.partition.SamRecordPartition;
import org.ncic.bioinfo.sparkseq.data.partition.VcfRecordPartition;
import org.ncic.bioinfo.sparkseq.transfer.GATKReportTransfer;
import org.ncic.bioinfo.sparkseq.transfer.SAMSequenceDictTransfer;
import scala.collection.JavaConversions;
import java.util.List;
/**
* Author: wbc
*/
public class BaseRecalibratorAdapter {
public static List<String> getRecalTableLines(RefContigInfo refContigInfo,
SamRecordPartition samRecordPartition,
FastaPartition refPartition,
List<VcfRecordPartition> rodPartitions) {
SAMSequenceDictionary samSequenceDictionary = SAMSequenceDictTransfer.transfer(refContigInfo);
GenomeLocParser parser = new GenomeLocParser(samSequenceDictionary);
SamContentProvider samContentProvider = new SamContentProvider(samRecordPartition);
RefContentProvider refContentProvider = new RefContentProvider(samSequenceDictionary, refPartition);
List<RODContentProvider> rodContentProviders = new java.util.ArrayList<>();
rodPartitions.forEach(
rodPartition -> rodContentProviders.add(
new RODContentProvider(RODNames.KNOWN_ALLELES + rodPartition.key(), rodPartition, parser))
);
// 生成recal table
BaseRecalibrator baseRecalibrator = new BaseRecalibrator(
parser, refContentProvider, samContentProvider, rodContentProviders);
baseRecalibrator.run();
GATKReport bqsrTable = baseRecalibrator.getReport();
return GATKReportTransfer.report2Lines(bqsrTable);
}
}
================================================
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/adapters/BwaMemAdapter.java
================================================
/*
* Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences
*
* 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.ncic.bioinfo.sparkseq.algorithms.adapters;
import com.github.lindenb.jbwa.jni.BwaIndex;
import com.github.lindenb.jbwa.jni.BwaMem;
import com.github.lindenb.jbwa.jni.ShortRead;
import org.apache.commons.lang3.StringUtils;
import org.ncic.bioinfo.sparkseq.data.basic.BasicSamRecord;
import org.ncic.bioinfo.sparkseq.data.basic.FastqPairRecord;
import org.ncic.bioinfo.sparkseq.data.common.ReadGroupInfo;
import org.ncic.bioinfo.sparkseq.data.common.RefContigInfo;
import org.ncic.bioinfo.sparkseq.exceptions.PipelineException;
import org.ncic.bioinfo.sparkseq.transfer.FastqRecord2ShortReadTransfer;
import scala.collection.JavaConversions;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
/**
* 该类用单例模式控制了每一个进程只加载一份index
* <p>
* Author: wbc
*/
public class BwaMemAdapter {
private static volatile BwaIndex bwaIndexInstance = null;
private static BwaIndex getBwaIndexInstance(String bwaJNILibPath, String referencePath) throws IOException {
if (bwaIndexInstance == null) {
synchronized (BwaMemAdapter.class) {
if (bwaIndexInstance == null) {
System.load(bwaJNILibPath);
bwaIndexInstance = new BwaIndex(new File(referencePath));
}
}
}
return bwaIndexInstance;
}
public static List<BasicSamRecord> pairAlign(String bwaJNILibPath,
String referencePath,
ReadGroupInfo readGroupInfo,
RefContigInfo refContigInfo,
List<FastqPairRecord> fastqPairRecords) {
List<BasicSamRecord> results = new ArrayList<>();
BwaIndex bwaIndex = null;
try {
bwaIndex = getBwaIndexInstance(bwaJNILibPath, referencePath);
} catch (IOException e) {
e.printStackTrace();
throw new PipelineException("Error when load index in JNI bwa");
}
int chunkSize = 1000;
List<ShortRead> reads1 = new ArrayList<>(chunkSize);
List<ShortRead> reads2 = new ArrayList<>(chunkSize);
for(FastqPairRecord pairRecord : fastqPairRecords) {
if(reads1.size() == chunkSize) {
alignAndAddIntoResult(bwaIndex, results, readGroupInfo, refContigInfo, reads1, reads2);
reads1.clear();
reads2.clear();
}
reads1.add(FastqRecord2ShortReadTransfer.transferRead1(pairRecord));
reads2.add(FastqRecord2ShortReadTransfer.transferRead2(pairRecord));
}
if(reads1.size() > 0) {
alignAndAddIntoResult(bwaIndex, results, readGroupInfo, refContigInfo, reads1, reads2);
}
return results;
}
private static void alignAndAddIntoResult(BwaIndex bwaIndex, List<BasicSamRecord> results,
ReadGroupInfo readGroupInfo, RefContigInfo refContigInfo,
List<ShortRead> reads1, List<ShortRead> reads2){
try {
BwaMem mem = new BwaMem(bwaIndex);
String[] rawResults = mem.align(reads1, reads2);
String rgInfo = "RG:Z:" + readGroupInfo.id();
String rgInfoWithTab = "\t" + rgInfo;
for (String rawResult : rawResults) {
// 这个库有时候会一次出现多条,中间以\n间隔
String[] rawReads = StringUtils.split(rawResult, '\n');
for (String rawRead : rawReads) {
String finalReadString = null;
if (rawRead.endsWith("\t")) {
finalReadString = rawRead + rgInfo;
} else {
finalReadString = rawRead + rgInfoWithTab;
}
results.add(BasicSamRecord.apply(finalReadString, refContigInfo, false));
}
}
} catch (IOException e) {
e.printStackTrace();
throw new PipelineException("Error when call JNI bwa");
}
}
}
================================================
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/adapters/HaplotypeCallerAdapter.java
================================================
/*
* Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences
*
* 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.ncic.bioinfo.sparkseq.algorithms.adapters;
import htsjdk.samtools.SAMFileHeader;
import htsjdk.samtools.SAMReadGroupRecord;
import htsjdk.samtools.SAMSequenceDictionary;
import htsjdk.variant.variantcontext.VariantContext;
import htsjdk.variant.vcf.VCFCodec;
import htsjdk.variant.vcf.VCFHeader;
import org.ncic.bioinfo.sparkseq.algorithms.data.reference.RefContentProvider;
import org.ncic.bioinfo.sparkseq.algorithms.data.sam.SamContentProvider;
import org.ncic.bioinfo.sparkseq.algorithms.data.vcf.RODContentProvider;
import org.ncic.bioinfo.sparkseq.algorithms.data.vcf.RODNames;
import org.ncic.bioinfo.sparkseq.algorithms.data.vcf.VCFHeaderLineIterable;
import org.ncic.bioinfo.sparkseq.algorithms.data.vcf.header.StandardWGSVCFHeader;
import org.ncic.bioinfo.sparkseq.algorithms.utils.GenomeLocParser;
import org.ncic.bioinfo.sparkseq.algorithms.walker.SerializableActiveRegionMapData;
import org.ncic.bioinfo.sparkseq.algorithms.walker.genotypegvcfs.GenotypeGVCFs;
import org.ncic.bioinfo.sparkseq.algorithms.walker.haplotypecaller.ActiveRegionFinder;
import org.ncic.bioinfo.sparkseq.algorithms.walker.haplotypecaller.ActiveRegionMapData;
import org.ncic.bioinfo.sparkseq.algorithms.walker.haplotypecaller.HaplotypeCaller;
import org.ncic.bioinfo.sparkseq.algorithms.walker.haplotypecaller.SampleList;
import org.ncic.bioinfo.sparkseq.data.basic.VcfRecord;
import org.ncic.bioinfo.sparkseq.data.common.ReadGroupInfo;
import org.ncic.bioinfo.sparkseq.data.common.RefContigInfo;
import org.ncic.bioinfo.sparkseq.data.common.SamHeaderInfo;
import org.ncic.bioinfo.sparkseq.data.common.VcfHeaderInfo;
import org.ncic.bioinfo.sparkseq.data.partition.FastaPartition;
import org.ncic.bioinfo.sparkseq.data.partition.SamRecordPartition;
import org.ncic.bioinfo.sparkseq.data.partition.VcfRecordPartition;
import org.ncic.bioinfo.sparkseq.transfer.*;
import scala.collection.JavaConversions;
import java.util.ArrayList;
import java.util.List;
/**
* Author: wbc
*/
public class HaplotypeCallerAdapter {
public static List<SerializableActiveRegionMapData> getActiveRegions(RefContigInfo refContigInfo,
SamRecordPartition samRecordPartition,
FastaPartition refPartition,
List<VcfRecordPartition> rodPartitions,
boolean useGVCF) {
SAMSequenceDictionary samSequenceDictionary = SAMSequenceDictTransfer.transfer(refContigInfo);
GenomeLocParser parser = new GenomeLocParser(samSequenceDictionary);
SamContentProvider samContentProvider = new SamContentProvider(samRecordPartition);
RefContentProvider refContentProvider = new RefContentProvider(samSequenceDictionary, refPartition);
List<RODContentProvider> rodContentProviders = new java.util.ArrayList<>();
rodPartitions.forEach(
rodPartition -> rodContentProviders.add(
new RODContentProvider(rodPartition.key(), rodPartition, parser))
);
// 先找出active region的信息
ActiveRegionFinder activeRegionFinder = new ActiveRegionFinder(
parser, refContentProvider, samContentProvider, rodContentProviders, useGVCF);
activeRegionFinder.run();
List<ActiveRegionMapData> activeRegionMapDatas = activeRegionFinder.getResultActiveRegions();
SAMRecord2BasicTransfer samTransfer = new SAMRecord2BasicTransfer();
VCFHeader header = StandardWGSVCFHeader.getHeader();
VC2VcfRecordTransfer vcfTransfer = new VC2VcfRecordTransfer(header, refContigInfo);
List<SerializableActiveRegionMapData> serializableActiveRegionMapDataList = new ArrayList<>(activeRegionMapDatas.size());
for (ActiveRegionMapData mapData : activeRegionMapDatas) {
serializableActiveRegionMapDataList.add(new SerializableActiveRegionMapData(mapData, samTransfer, vcfTransfer));
}
return serializableActiveRegionMapDataList;
}
public static class StaticData {
public HaplotypeCaller haplotypeCaller = null;
public GenomeLocParser genomeLocParser = null;
public Basic2SAMRecordTransfer basic2SAMRecordTransfer = null;
public VCFHeader vcfFileHeader = null;
public VCFCodec codec = null;
}
public static StaticData getStaticDataInstance(RefContigInfo refContigInfo,
boolean useGVCF,
SamHeaderInfo samHeaderInfo,
VcfHeaderInfo vcfHeaderInfo) {
StaticData data = new StaticData();
SAMSequenceDictionary samSequenceDictionary = SAMSequenceDictTransfer.transfer(refContigInfo);
data.genomeLocParser = new GenomeLocParser(samSequenceDictionary);
samHeaderInfo.addReadGroupInfo(ReadGroupInfo.apply("rg1", "sample1"));
SAMFileHeader header = SAMHeaderTransfer.transfer(samHeaderInfo);
List<SAMReadGroupRecord> readGroupInfos = header.getReadGroups();
List<String> samples = new ArrayList<>();
for (SAMReadGroupRecord readGroup : readGroupInfos) {
samples.add(readGroup.getSample());
}
data.haplotypeCaller = new HaplotypeCaller(data.genomeLocParser, samples, useGVCF);
data.basic2SAMRecordTransfer = new Basic2SAMRecordTransfer(header);
VCFCodec codec = new VCFCodec();
VCFHeaderLineIterable headerLineIterable = new VCFHeaderLineIterable(vcfHeaderInfo);
data.vcfFileHeader = (VCFHeader) codec.readActualHeader(headerLineIterable);
data.codec = codec;
return data;
}
public static List<VcfRecord> callVariants(RefContigInfo refContigInfo,
scala.collection.immutable.List<SerializableActiveRegionMapData> serializableActiveRegionMapDataList,
boolean useGVCF,
SamHeaderInfo samHeaderInfo,
VcfHeaderInfo vcfHeaderInfo) {
return callVariants(refContigInfo, CollectionConverter.asJavaList(serializableActiveRegionMapDataList),
useGVCF, samHeaderInfo, vcfHeaderInfo);
}
public static List<VcfRecord> callVariants(RefContigInfo refContigInfo,
List<SerializableActiveRegionMapData> serializableActiveRegionMapDataList,
boolean useGVCF,
SamHeaderInfo samHeaderInfo,
VcfHeaderInfo vcfHeaderInfo) {
StaticData staticData = getStaticDataInstance(refContigInfo, false, samHeaderInfo, vcfHeaderInfo);
GenomeLocParser parser = staticData.genomeLocParser;
HaplotypeCaller haplotypeCaller = staticData.haplotypeCaller;
Basic2SAMRecordTransfer basic2SAMRecordTransfer = staticData.basic2SAMRecordTransfer;
VCFHeader vcfFileHeader = staticData.vcfFileHeader;
VCFCodec codec = staticData.codec;
List<VariantContext> variantContexts = new ArrayList<>();
for(SerializableActiveRegionMapData mapData: serializableActiveRegionMapDataList) {
ActiveRegionMapData activeRegionMapData = mapData.toActiveRegionMapData(
parser, basic2SAMRecordTransfer, vcfFileHeader, codec);
variantContexts.addAll(haplotypeCaller.map(activeRegionMapData));
}
// 如果使用了gvcf,则需要加一个genotypeGVCFs
List<VariantContext> finalResult = variantContexts;
VCFHeader header = StandardWGSVCFHeader.getHeader();
VC2VcfRecordTransfer transfer = new VC2VcfRecordTransfer(header, refContigInfo);
List<VcfRecord> vcfRecords = new ArrayList<>(finalResult.size());
finalResult.forEach(vc -> vcfRecords.add(transfer.transfer(vc)));
return vcfRecords;
}
}
================================================
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/adapters/IndelRealignAdapter.java
================================================
/*
* Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences
*
* 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.ncic.bioinfo.sparkseq.algorithms.adapters;
import htsjdk.samtools.SAMRecord;
import htsjdk.samtools.SAMSequenceDictionary;
import org.ncic.bioinfo.sparkseq.algorithms.data.reference.RefContentProvider;
import org.ncic.bioinfo.sparkseq.algorithms.data.sam.SamContentProvider;
import org.ncic.bioinfo.sparkseq.algorithms.data.vcf.RODContentProvider;
import org.ncic.bioinfo.sparkseq.algorithms.data.vcf.RODNames;
import org.ncic.bioinfo.sparkseq.algorithms.utils.GenomeLoc;
import org.ncic.bioinfo.sparkseq.algorithms.utils.GenomeLocParser;
import org.ncic.bioinfo.sparkseq.algorithms.walker.indelrealigner.IndelRealigner;
import org.ncic.bioinfo.sparkseq.algorithms.walker.realignertargetcreator.RealignerTargetCreator;
import org.ncic.bioinfo.sparkseq.data.basic.BasicSamRecord;
import org.ncic.bioinfo.sparkseq.data.common.RefContigInfo;
import org.ncic.bioinfo.sparkseq.data.common.SamHeaderInfo;
import org.ncic.bioinfo.sparkseq.data.partition.FastaPartition;
import org.ncic.bioinfo.sparkseq.data.partition.SamRecordPartition;
import org.ncic.bioinfo.sparkseq.data.partition.VcfRecordPartition;
import org.ncic.bioinfo.sparkseq.transfer.SAMRecord2BasicTransfer;
import org.ncic.bioinfo.sparkseq.transfer.SAMSequenceDictTransfer;
import scala.collection.JavaConversions;
import java.util.ArrayList;
import java.util.List;
/**
* Author: wbc
*/
public class IndelRealignAdapter {
public static List<BasicSamRecord> realign(RefContigInfo refContigInfo,
SamRecordPartition samRecordPartition,
FastaPartition refPartition,
List<VcfRecordPartition> rodPartitions) {
// 数据准备
SAMSequenceDictionary samSequenceDictionary = SAMSequenceDictTransfer.transfer(refContigInfo);
GenomeLocParser parser = new GenomeLocParser(samSequenceDictionary);
SamContentProvider samContentProvider = new SamContentProvider(samRecordPartition);
RefContentProvider refContentProvider = new RefContentProvider(samSequenceDictionary, refPartition);
List<RODContentProvider> rodContentProviders = new java.util.ArrayList<>();
rodPartitions.forEach(
rodPartition -> rodContentProviders.add(
new RODContentProvider(RODNames.KNOWN_ALLELES + rodPartition.key(), rodPartition, parser))
);
// 找target interval
RealignerTargetCreator realignerTargetCreator = new RealignerTargetCreator(
parser, refContentProvider, samContentProvider, rodContentProviders);
realignerTargetCreator.run();
List<GenomeLoc> targetIntervals = realignerTargetCreator.getTargetIntervals();
// realign reads
IndelRealigner indelRealigner = new IndelRealigner(
parser, refContentProvider, samContentProvider, rodContentProviders, targetIntervals);
indelRealigner.run();
// 将结果sam record转化为base sam record
List<SAMRecord> samRecords = indelRealigner.getResultSam();
List<BasicSamRecord> basicSamRecords = new ArrayList<>();
SAMRecord2BasicTransfer transfer = new SAMRecord2BasicTransfer();
samRecords.forEach(record -> {
basicSamRecords.add(transfer.transfer(record));
});
return basicSamRecords;
}
}
================================================
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/adapters/MutectAdapter.java
================================================
/*
* Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences
*
* 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.ncic.bioinfo.sparkseq.algorithms.adapters;
import htsjdk.samtools.SAMSequenceDictionary;
import htsjdk.variant.variantcontext.VariantContext;
import htsjdk.variant.vcf.VCFHeader;
import org.ncic.bioinfo.sparkseq.algorithms.data.reference.RefContentProvider;
import org.ncic.bioinfo.sparkseq.algorithms.data.sam.SamContentProvider;
import org.ncic.bioinfo.sparkseq.algorithms.data.vcf.RODContentProvider;
import org.ncic.bioinfo.sparkseq.algorithms.data.vcf.header.StandardWGSVCFHeader;
import org.ncic.bioinfo.sparkseq.algorithms.utils.GenomeLoc;
import org.ncic.bioinfo.sparkseq.algorithms.utils.GenomeLocParser;
import org.ncic.bioinfo.sparkseq.algorithms.walker.mutect.Mutect;
import org.ncic.bioinfo.sparkseq.data.basic.VcfRecord;
import org.ncic.bioinfo.sparkseq.data.common.Locus;
import org.ncic.bioinfo.sparkseq.data.common.RefContigInfo;
import org.ncic.bioinfo.sparkseq.data.partition.FastaPartition;
import org.ncic.bioinfo.sparkseq.data.partition.SamRecordPartition;
import org.ncic.bioinfo.sparkseq.data.partition.VcfRecordPartition;
import org.ncic.bioinfo.sparkseq.transfer.SAMSequenceDictTransfer;
import org.ncic.bioinfo.sparkseq.transfer.VC2VcfRecordTransfer;
import scala.collection.JavaConversions;
import java.util.ArrayList;
import java.util.List;
/**
* Author: wbc
*/
public class MutectAdapter {
public static List<VcfRecord> callVariants(RefContigInfo refContigInfo,
SamRecordPartition tumorSamRecordPartition,
SamRecordPartition normalSamRecordPartition,
FastaPartition refPartition,
List<VcfRecordPartition> rodPartitions,
List<Locus> intervals) {
SAMSequenceDictionary samSequenceDictionary = SAMSequenceDictTransfer.transfer(refContigInfo);
GenomeLocParser parser = new GenomeLocParser(samSequenceDictionary);
SamContentProvider tumorSamContentProvider = new SamContentProvider(tumorSamRecordPartition);
SamContentProvider normalSamContentProvider = new SamContentProvider(normalSamRecordPartition);
RefContentProvider refContentProvider = new RefContentProvider(samSequenceDictionary, refPartition);
List<RODContentProvider> rodContentProviders = new java.util.ArrayList<>();
rodPartitions.forEach(
rodPartition -> rodContentProviders.add(
new RODContentProvider(rodPartition.key(), rodPartition, parser))
);
List<GenomeLoc> intervalLocus = new ArrayList<>();
GenomeLoc traverseLocus = refContentProvider.getLocus();
intervals.forEach(
locus -> {
GenomeLoc interval = new GenomeLoc(locus.contigName(), locus.contigId(), locus.start(), locus.stop());
if (interval.overlapsP(traverseLocus)) {
intervalLocus.add(interval);
}
}
);
Mutect mutect = new Mutect(parser, refContentProvider,
tumorSamContentProvider, normalSamContentProvider, rodContentProviders, intervalLocus);
List<VariantContext> finalResult = mutect.getResultVCFRecords();
VCFHeader header = StandardWGSVCFHeader.getHeader();
VC2VcfRecordTransfer transfer = new VC2VcfRecordTransfer(header, refContigInfo);
List<VcfRecord> vcfRecords = new ArrayList<>(finalResult.size());
finalResult.forEach(vc -> vcfRecords.add(transfer.transfer(vc)));
return vcfRecords;
}
}
================================================
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/basic/CountSet.java
================================================
/*
* Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences
*
* 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.ncic.bioinfo.sparkseq.algorithms.data.basic;
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
import java.util.NoSuchElementException;
import java.util.Set;
/**
* Author: wbc
*/
public class CountSet implements Cloneable, Set<Integer> {
/**
* The size of the set.
*/
private int size;
/**
* Holds the element of the set within the subrange <code>[0 .. size - 1]</code> in ascending order.
*/
private int[] elements;
/**
* Creates a copy of an existing int-set.
* @param template the intset to copy values from.
*/
public CountSet(final CountSet template) {
elements = template.elements.clone();
size = template.size;
}
/**
* Creates a new set indicating the expected maximum number of elements it will contain.
* @param initialCapacity the desired initial capacity of the set.
* @throws IllegalArgumentException if <code>initialCapacity</code> is negative.
*/
public CountSet(int initialCapacity) {
if (initialCapacity < 0)
throw new IllegalArgumentException();
elements = new int[initialCapacity];
size = 0;
}
/**
* Set the set contents to a single integer value.
* @param value the integer value to set the set to.
*/
public void setTo(int value) {
ensureCapacity(1);
size = 1;
elements[0] = value;
}
/**
* Set the content of this set to a collection of integers.
* @param values the new values to be included in the set.
* @throws NullPointerException if <code>value</code> is <code>null</code>.
*/
public void setTo(int ... values) {
ensureCapacity(values.length);
size = values.length;
System.arraycopy(values, 0, elements, 0, size);
Arrays.sort(elements,0,size);
}
/**
* Increase (or decrease) all elements in the set by a number.
* @param delta the number of add (or substract if negative) to all elements.
*
* @return <code>true</code> if the set changed as a result of this invocation, <code>false</code> otherwise.
*/
public boolean incAll(final int delta) {
if (size == 0 || delta == 0)
return false;
for (int i = 0; i < size; i++)
elements[i] += delta;
return true;
}
/**
* Returns the smallest integer value in the set.
*
* @throws NoSuchElementException if the set is empty (thus there is no minimum).
* @return the smallest integer value in the set.
*/
public int min() {
if (size == 0)
throw new NoSuchElementException("cannot have a min from an empty set");
return elements[0];
}
/**
* Returns the largest integer value in the set.
*
* @throws NoSuchElementException if the set is empty (thus there is no maximum).
* @return the largest integer value in the set.
*/
public int max() {
if (size == 0)
throw new NoSuchElementException("cannot have a max from an empty set");
return elements[size - 1];
}
/**
* Adds a range of integer values to the collection.
*
* This method avoid the need to explicity indicate all values in that range. Notice that the range is fully inclusive.
* You can indicate a decrease range (fromValue > toValue).
*
* @param fromValue the first value to add in the set (inclusive).
* @param toValue the last value to add to the set (inclusive).
* @return <code>true</code> if the set changed as a result of this invocation, <code>false</code> otherwise.
*/
public boolean addRange(final int fromValue, final int toValue) {
final int lowEnd;
final int highEnd;
if (fromValue <= toValue) {
lowEnd = fromValue; highEnd = toValue;
} else {
highEnd = fromValue; lowEnd = toValue;
}
//TODO to be optimized to add missing sub-ranges in one go:
boolean result = false;
for (int i = lowEnd; i <= highEnd; i++)
result = add(i) | result;
return result;
}
/**
* Add an integer value to the set.
* @param value to add to the set.
* @return <code>true</code> if the set changed as a result of this invocation, <code>false</code> otherwise.
*/
public boolean add(final int value) {
int pos = Arrays.binarySearch(elements,0,size,value);
if (pos >= 0) return false;
int insertPos = - pos - 1;
ensureCapacity(size + 1);
System.arraycopy(elements, insertPos, elements, insertPos + 1, size - insertPos);
elements[insertPos] = value;
size++;
return true;
}
/**
* Add a arbitrary number of integers to the set.
*
* @param values integer to add to the set.
* @return <code>true</code> if the set changed as a result of this invocation, <code>false</code> otherwise.
*/
public boolean addAll(final int ... values) {
ensureCapacity(size + values.length);
boolean result = false;
for (final int v : values)
result = add(v) | result;
return result;
}
@Override
public boolean addAll(final Collection<? extends Integer> numbers) {
ensureCapacity(size + numbers.size());
boolean result = false;
for (final Number n : numbers)
result = add(n.intValue()) | result;
return result;
}
/**
* Add all values within a range in an integer array.
*
* @param source array where the values to add are found.
* @param fromIndex first position from <code>source</code> to add (inclusive).
* @param toIndex index after the last position in <code>source</code> to add (thus exclusive).
* @throws NullPointerException if <code>source</code> is <code>null</code>.
* @throws NegativeArraySizeException if <code>fromIndex</code> or <code>toIndex</code> are negative.
* @throws ArrayIndexOutOfBoundsException if <code>fromIndex</code> or <code>toIndex</code> are beyond bounds
* allowed <code>[0 .. source.length]</code>.
* @return <code>true</code> if the set changed as a result of this invocation, <code>false</code> otherwise.
*/
public boolean addAll(final int[] source, final int fromIndex, final int toIndex) {
ensureCapacity(size + source.length);
boolean result = false;
for (int i = fromIndex; i < toIndex; i++)
result = add(source[i]) | result;
return result;
}
/**
* Add all elements present in a int-set.
*
* @param other the other inset.
*
* @throws NullPointerException if <code>other</code> is <code>null</code>.
* @return <code>true</code> if this set changed due to this operation, <code>false</code> otherwise.
*/
public boolean addAll(final CountSet other) {
return addAll(other.elements,0,other.size);
}
/**
* Checks whether a integer value is included in the set.
* @param value the value to check.
* @return <code>true</code> if <code>value</code> is inside the set, <code>false</code> otherwise.
*/
public boolean contains(final int value) {
return Arrays.binarySearch(elements, 0, size, value) >= 0;
}
/**
* Make sure that this int-set has capacity to handle a number of elements.
* <p/>
* If the set has already that or greater capacity nothing would be changed.
*
* @param capacity the requested capacity.
*/
private void ensureCapacity(final int capacity) {
if (elements.length >= capacity) return;
int newLength = Math.max(elements.length << 1, capacity);
elements = Arrays.copyOf(elements,newLength);
}
@Override
public int size() {
return size;
}
@Override
public boolean isEmpty() {
return size() == 0;
}
@Override
public boolean contains(final Object o) {
if (o instanceof Integer) {
final int i = (Integer)o;
return contains(i);
} else
return false; //To change body of implemented methods use File | Settings | File Templates.
}
@Override
public Iterator<Integer> iterator() {
return new MyIterator();
}
@Override
public Object[] toArray() {
final Integer[] result = new Integer[size];
for (int i = 0; i < size; i++)
result[i] = elements[i];
return result;
}
@Override
@SuppressWarnings("unchecked")
public <T> T[] toArray(final T[] a) {
if (a == null)
throw new NullPointerException();
@SuppressWarnings("unchecked")
final Class<T> componentClass = (Class) a.getClass().getComponentType();
if (!componentClass.isAssignableFrom(Integer.class))
throw new ArrayStoreException();
@SuppressWarnings("unchecked")
final T[] dest = (a.length < size) ? (T[]) Array.newInstance(componentClass, size) : a;
for (int i = 0; i < size; i++)
dest[i] = (T) (Integer) elements[i];
return dest;
}
/**
* Copies the content of the set into an integer array. The result can be freely modified by the invoker.
* @return never <code>null</code> but a zero-length array if the set is empty.
*/
public int[] toIntArray() {
return Arrays.copyOfRange(elements,0,size);
}
/**
* Copy the content of the set into an array.
* @param dest the destination array.
* @param offset where to store the first element of the set.
* @throws NullPointerException if <code>dest</code> is <code>null</code>.
* @throws ArrayIndexOutOfBoundsException if <code>offset</code> is out of range of there is not enough
* space after <code>offset</code> in the destination array to hold all values in the set.
*/
public void copyTo(final int[] dest, int offset) {
if (dest == null)
throw new NullPointerException();
if (dest.length < (size + offset))
throw new ArrayIndexOutOfBoundsException("destination is to short");
System.arraycopy(elements,0,dest,offset,size);
}
/**
* Copy the content of the set into an array.
* @param dest the destination array.
* @throws NullPointerException if <code>dest</code> is <code>null</code>.
* @throws ArrayIndexOutOfBoundsException if there is not enough
* space after <code>offset</code> in the destination array to hold all values in the set.
*/
public void copyTo(final int[] dest) {
copyTo(dest,0);
}
@Override
public boolean add(final Integer integer) {
return add((int) integer);
}
@Override
public boolean remove(final Object o) {
return o instanceof Integer && remove((int)o);
}
/**
* Removes a single integer value for the set.
* @param i the value to remove.
* @return <code>true</code> if the set has changed as a result of this invocation, <code>false</code> otherwise.
*/
public boolean remove(final int i) {
final int pos = Arrays.binarySearch(elements,0,size,i);
if (pos < 0)
return false;
else {
removeIndex(pos);
return true;
}
}
@Override
public boolean containsAll(final Collection<?> c) {
for (final Object o : c)
if (!contains(o))
return false;
return true;
}
@Override
public boolean retainAll(final Collection<?> c) {
if (size == 0)
return false;
@SuppressWarnings("all")
final CountSet retainIndices = new CountSet(c.size() + 2);
retainIndices.add(-1);
retainIndices.add(size);
for (final Object o : c) {
if (!(o instanceof Integer))
continue;
final int pos = Arrays.binarySearch(elements,0,size,(int) o);
if (pos < 0)
continue;
retainIndices.add(pos);
}
if (retainIndices.size == 2) {
size = 0;
return true;
} else if (retainIndices.size == size + 2) {
return false;
} else {
for (int idx = retainIndices.size - 1; idx > 0; idx--) {
final int toIdx = retainIndices.elements[idx];
final int fromIdx = retainIndices.elements[idx - 1] + 1;
removeIndices(toIdx,fromIdx);
}
return true;
}
}
/**
* Removes the values found in a range of indexes in {@link #elements}.
* @param fromIdx first index to remove (inclusive).
* @param toIdx right after last index to remove (exclusive).
*/
private void removeIndices(final int fromIdx, final int toIdx) {
System.arraycopy(elements,toIdx,elements,fromIdx,size - toIdx);
size -= toIdx - fromIdx;
}
@Override
public boolean removeAll(final Collection<?> c) {
boolean result = false;
for (final Object o : c)
result = remove(o) | result;
return result;
}
private void removeIndex(int idx) {
System.arraycopy(elements,idx+1,elements,idx,size - idx - 1);
}
@Override
public void clear() {
size = 0;
}
/**
* Returns a copy of this set which can be changed without modifying the original one.
* @return never {@code null}.
*/
@SuppressWarnings("all")
public CountSet clone() {
return new CountSet(this);
}
@Override
public String toString() {
final StringBuilder sb = new StringBuilder(2 + size() * 10);
sb.append('{');
for (int i = 0; i < size; i++)
sb.append(elements[i]).append(',');
sb.replace(sb.length()-1,sb.length(),"}");
return sb.toString();
}
/**
* Custom iterator class for {@link CountSet IntSets}
*/
private class MyIterator implements Iterator<Integer> {
/** What position I am in. */
private int next = 0;
@Override
public boolean hasNext() {
return next < size;
}
@Override
public Integer next() {
if (next >= size)
throw new NoSuchElementException();
return elements[next];
}
@Override
public void remove() {
if (next == 0)
throw new IllegalStateException();
if (next >= size)
throw new NoSuchElementException();
removeIndex(next - 1);
}
}
}
================================================
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/basic/DefaultHashMap.java
================================================
/*
* Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences
*
* 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.ncic.bioinfo.sparkseq.algorithms.data.basic;
import java.util.HashMap;
/**
* Author: wbc
*/
public class DefaultHashMap<K,V> extends HashMap<K,V> {
public void setDefaultValue(V defaultValue) {
this.defaultValue = defaultValue;
}
protected V defaultValue;
public DefaultHashMap(V defaultValue) {
this.defaultValue = defaultValue;
}
@Override
public V get(Object k) {
V v = super.get(k);
return ((v == null) && !this.containsKey(k)) ? this.defaultValue : v;
}
}
================================================
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/basic/IndexedSet.java
================================================
/*
* Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences
*
* 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.ncic.bioinfo.sparkseq.algorithms.data.basic;
import it.unimi.dsi.fastutil.objects.Object2IntMap;
import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap;
import java.util.AbstractSet;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import java.util.Set;
/**
* Set set where each element can be reference by a unique integer index that runs from
* 0 to the size of the set - 1.
*
* @author Valentin Ruano-Rubio <valentin@broadinstitute.org>
*/
public class IndexedSet<E> extends AbstractSet<E> implements Set<E> {
/**
* Elements stored in an array-list by their index.
*/
private final ArrayList<E> elements;
/**
* A unmodifiable view to the element list. Initially {@code null} it is thread-unsafe lazy instantiated
* when requested first time through {@link #asList}. Therefore typically it is shared by invoking code but
* there could be some extra copies (rare though) in multi-thread runs.
*/
private transient List<E> unmodifiableElementsListView;
/**
* Quick element to index lookup map.
* <p>
* Uses a primitive int value map for efficiency sake.
* </p>
*/
private final Object2IntMap<E> indexByElement;
/**
* Creates an empty indexed set indicating the expected number of elements.
*
* @param initialCapacity the initial number of elements.
*/
public IndexedSet(final int initialCapacity) {
elements = new ArrayList<>(initialCapacity);
indexByElement = new Object2IntOpenHashMap<>(initialCapacity);
}
/**
* Creates a new sample list from a existing collection of elements.
*
* <p>
* Elements will be indexed as they appear in the input array. Repeats will be ignored.
* </p>
*
* @param values the original sample list.
*
* @throws IllegalArgumentException
* if {@code values} array is {@code null} itself, or it contains {@code null}.
*/
@SuppressWarnings("unchecked")
public IndexedSet(final Collection<E> values) {
if (values == null)
throw new IllegalArgumentException("input values cannot be null");
final int initialCapacity = values.size();
elements = new ArrayList<>(initialCapacity);
indexByElement = new Object2IntOpenHashMap<>(initialCapacity);
int nextIndex = 0;
for (final E value : values) {
if (value == null)
throw new IllegalArgumentException("null element not allowed: index == " + nextIndex);
if (indexByElement.containsKey(value))
continue;
indexByElement.put(value, nextIndex++);
elements.add(value);
}
}
/**
* Creates a new sample list from a existing array of elements.
*
* <p>
* Elements will be indexed as they appear in the collection. Repeats will be ignored.
* </p>
*
* @param values the original sample list.
*
* @throws IllegalArgumentException
* if {@code values} collection is {@code null} itself, or it contains {@code null}.
*/
@SuppressWarnings("unchecked")
public IndexedSet(final E ... values) {
if (values == null)
throw new IllegalArgumentException("input values cannot be null");
final int initialCapacity = values.length;
elements = new ArrayList<>(initialCapacity);
indexByElement = new Object2IntOpenHashMap<>(initialCapacity);
int nextIndex = 0;
for (final E value : values) {
if (value == null)
throw new IllegalArgumentException("null element not allowed: index == " + nextIndex);
if (indexByElement.containsKey(value))
continue;
indexByElement.put(value, nextIndex++);
elements.add(value);
}
}
/**
* Returns a list view of the elements in the set.
*
* <p>
* Elements are sorted by their index within the set.
* </p>
*
* <p>
* This view changes as the indexed set changes but it cannot be used to update its contents.
* In such case a {@link UnsupportedOperationException} exception will be thrown if the calling
* code tries to tho just that.
* </p>
*
* @return never {@code null}.
*/
public List<E> asList() {
if (unmodifiableElementsListView == null)
unmodifiableElementsListView = Collections.unmodifiableList(elements);
return unmodifiableElementsListView;
}
/**
* Throws an exception if an index is out of bounds.
*
* <p>
* An element index is valid iff is within [0,{@link #size()}).
* </p>
*
* @param index the query index.
*
* @throws IllegalArgumentException {@code index} is out of bounds.
*/
protected void checkIndex(final int index) {
if (index < 0)
throw new IllegalArgumentException("the index cannot be negative: " + index);
if (index >= size())
throw new IllegalArgumentException("the index is equal or larger than the list length: " + index + " >= " + size());
}
@Override
public Iterator<E> iterator() {
return asList().iterator();
}
/**
* Returns number of elements in the set.
* @return never {@code null}.
*/
@Override
public int size() {
return elements.size();
}
/**
*
* @param o
* @return {@code true} iff {@code o} is in
*/
@Override
@SuppressWarnings("all")
public boolean contains(final Object o) {
return o != null && indexByElement.containsKey(o);
}
/**
* Adds a new element to the set.
*
* <p>
* If the element was already in th set nothing will happen and the method will return {@code false}. However,
* if the element is new to this set, it will assigned the next index available (equal to the size before addition).
* The method will return {@code true} in this case.
* </p>
*
* @param o the object to add.
*
* @throw IllegalArgumentException if {@code o} is {@code null}.
*
* @return {@code true} iff the set was modified by this operation.
*/
@Override
public boolean add(final E o) {
if (o == null)
throw new IllegalArgumentException("the input argument cannot be null");
if (contains(o))
return false;
final int nextIndex = size();
elements.add(o);
indexByElement.put(o, nextIndex);
return true;
}
/**
* Removes an element from the set.
*
* <p>
* If the element was not present in the set, nothing happens and the method return false. However,
* if the element is new to this set, it will be assigned the next index available (equal to the size
* before addition).
* The method will return {@code true} in this case.
* </p>
*
* @param o the object to add.
*
* @throw IllegalArgumentException if {@code o} is {@code null}.
*
* @return {@code true} iff the set was modified by this operation.
*/ @Override
public boolean remove(final Object o) {
final int index = indexByElement.removeInt(o);
if (index == -1)
return false;
elements.remove(index);
indexByElement.remove(o);
final ListIterator<E> it = elements.listIterator(index);
int nextIndex = index;
while (it.hasNext())
indexByElement.put(it.next(),nextIndex++);
return true;
}
/**
* Removes all elements in the set.
*/
@Override
public void clear() {
elements.clear();
indexByElement.clear();
}
/**
* Compares this with another indexed set.
* @param o the other object to compare to.
* @return {@code false} unless {@code o} is a indexed-set that contains the same elements in the same order.
*/
@Override
public boolean equals(final Object o) {
if (o == this)
return true;
if (o == null)
return false;
if (!(o instanceof IndexedSet<?>))
return false;
final IndexedSet<?> other = (IndexedSet<?>)o;
return equals(other);
}
/**
* Compare to another indexed set.
*
* @param other the target indexed set.
*
* @throws java.lang.IllegalArgumentException if {@code other} is {@code null}.
*
* @return {@code true} iff {@other} is not {@code null}, and contains exactly the same elements
* (as compared using {@link Object#equals} a this set with matching indices.
*/
public boolean equals(final IndexedSet<?> other) {
if (other == null)
throw new IllegalArgumentException("other cannot be null");
final ArrayList<?> otherElements = other.elements;
final int elementCount = elements.size();
if (otherElements.size() != elementCount)
return false;
for (int i = 0; i < elementCount; i++)
if (!elements.get(i).equals(otherElements.get(i)))
return false;
return true;
}
@Override
public int hashCode() {
int result = 1;
for (final E element : elements)
result = 31 * result + (element == null ? 0 : element.hashCode());
return result;
}
/**
* Returns the element given its index within the set.
* @param index the target element's index.
*
* @throws IllegalArgumentException if {@code index} is not valid; in [0,{@link #size()}).
*
* @return never {@code null}; as null is not a valid element.
*/
public E get(final int index) {
checkIndex(index);
return elements.get(index);
}
/**
* Returns the index of an object.
* @param o the object of interest.
*
* @throws IllegalArgumentException if {@code o} is {@code null}.
*
* @return {@code -1} if such an object is not an element of this set, otherwise is index in the set thus a
* values within [0,{@link #size()}).
*/
public int indexOf(final E o) {
if (o == null)
throw new IllegalArgumentException("the query object cannot be null");
return indexByElement.containsKey(o) ? indexByElement.getInt(o) : -1;
}
}
================================================
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/basic/IntMaxHeap.java
================================================
/*
* Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences
*
* 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.ncic.bioinfo.sparkseq.algorithms.data.basic;
import java.util.Arrays;
/**
* Author: wbc
*/
public class IntMaxHeap {
private int size;
private int[] values;
/**
* Creates a new empty heap indicating its initial capacity.
* @param initialCapacity number of elements you expect to have at most in the heap.
*
* @throws IllegalArgumentException if {@code initialCapacity} is negative.
*/
public IntMaxHeap(final int initialCapacity) {
if (initialCapacity < 0)
throw new IllegalArgumentException();
// We force it to have at least length 1 so that the capacity expansion works when adding;
// it doubles current length and twice 0 = 0.
values = new int[initialCapacity == 0 ? 1 : initialCapacity];
}
/**
* Adds a new element to the heap.
*
* <p>The heap with grow if it runs out of capacity to hold the new element</p>
*
* @param v the new element.
*/
public void add(final int v) {
// Double capacity if overflow:
ensureCapacity(size + 1);
addWithoutCheckingCapacity(v);
}
/**
* Implements the heap addition floating up the value.
* @param v the value to add.
*/
private void addWithoutCheckingCapacity(final int v) {
int p;
values[p = size++] = v;
// Float up the recently added element:
while (p > 0) {
final int q = (p - 1) >> 1; // parent index.
final int u = values[q]; // parent value.
//Finish check and update:
if (u >= v)
break;
values[p] = u;
values[q] = v;
p = q;
}
}
/**
* Add several integers into the heap.
* @param v values to add.
*/
public void add(final int ... v) {
if (v == null)
throw new IllegalArgumentException("the input array cannot be null");
ensureCapacity(v.length + size);
for (int i : v)
addWithoutCheckingCapacity(i);
}
private void ensureCapacity(final int newSize) {
if (newSize > values.length)
values = Arrays.copyOf(values,Math.max(newSize,10 + values.length << 1));
}
/**
* Returns the current minimum element.
*
* @throws IllegalStateException if the heap is empty.
*
* @return the minimum element in the heap.
*/
public int peek() {
if (size == 0)
throw new IllegalStateException("the heap is empty");
return values[0];
}
/**
* Returns the minimum element of the heap and removes it.
*
* @throws IllegalStateException if the heap is empty.
*
* @return the minimum element in the heap before removing it.
*/
public int remove() {
if (size == 0)
throw new IllegalArgumentException("the heap is empty");
final int result = values[0];
removeUpdate();
return result;
}
/**
* Updates the heap after a removal, sinking the last element from the top-down.
*/
private void removeUpdate() {
// if the remove make the heap to be empty there is nothing to do.
if (--size == 0)
return;
final int v = values[size]; // the last value.
int p;
values[p = 0] = v;
// limit := first index in the heap that does not have any descendants within the heap.
final int limit = (size >> 1);
// Sorry! for the big loop but doesn't seem to be any other *practical* option that would reduce its size.
while (p < limit) {
// Initialize variables:
final int r = (p + 1) << 1; // left descendant index.
final int l = r - 1; // right descendant index (no guarantee to be in the heap).
int u = v; // will contain min(v,values[l],values[r]).
int q = p; // wilL contain argmin_x(values[x], x in {p,l,r}).
// Check left descendant:
int lv = values[l]; // left descendant value.
if (lv > u) { // is the left descendant'v value more than v.
u = lv;
q = l;
}
// Check right descendant:
if (r < size) { // make sure that r is within the heap.
int rv = values[r];
if (rv > u) { // is the right descendant's value less than v or left's
u = rv;
q = r;
}
}
// Finish check and update:
if (p == q) // q == p if neither left or right descendants are less than v.
break;
values[p] = u;
values[q] = v;
p = q;
}
}
/**
* Checks whether the heap is empty.
*
* @return {@code true} iff the heap is empty.
*/
public boolean isEmpty() {
return size == 0;
}
/**
* Returns the current size of the heap.
*
* @return 0 or greater.
*/
public int size() {
return size;
}
/**
* Removes all elements from the heap.
*/
public void clear() {
size = 0;
}
}
================================================
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/basic/NestedIntegerArray.java
================================================
/*
* Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences
*
* 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.ncic.bioinfo.sparkseq.algorithms.data.basic;
import org.apache.log4j.Logger;
import org.ncic.bioinfo.sparkseq.exceptions.ReviewedGATKException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* Author: wbc
*/
public class NestedIntegerArray<T> {
private static Logger logger = Logger.getLogger(NestedIntegerArray.class);
protected final Object[] data;
protected final int numDimensions;
protected final int[] dimensions;
// Preallocate the first two dimensions to limit contention during tree traversals in put()
private static final int NUM_DIMENSIONS_TO_PREALLOCATE = 2;
public NestedIntegerArray(final int... dimensions) {
numDimensions = dimensions.length;
if ( numDimensions == 0 )
throw new ReviewedGATKException("There must be at least one dimension to an NestedIntegerArray");
this.dimensions = dimensions.clone();
int dimensionsToPreallocate = Math.min(dimensions.length, NUM_DIMENSIONS_TO_PREALLOCATE);
if ( logger.isDebugEnabled() ) logger.debug(String.format("Creating NestedIntegerArray with dimensions %s", Arrays.toString(dimensions)));
if ( logger.isDebugEnabled() ) logger.debug(String.format("Pre-allocating first %d dimensions", dimensionsToPreallocate));
data = new Object[dimensions[0]];
preallocateArray(data, 0, dimensionsToPreallocate);
if ( logger.isDebugEnabled() ) logger.debug(String.format("Done pre-allocating first %d dimensions", dimensionsToPreallocate));
}
/**
* @return the dimensions of this nested integer array. DO NOT MODIFY
*/
public int[] getDimensions() {
return dimensions;
}
/**
* Recursively allocate the first dimensionsToPreallocate dimensions of the tree
*
* Pre-allocating the first few dimensions helps limit contention during tree traversals in put()
*
* @param subarray current node in the tree
* @param dimension current level in the tree
* @param dimensionsToPreallocate preallocate only this many dimensions (starting from the first)
*/
private void preallocateArray( Object[] subarray, int dimension, int dimensionsToPreallocate ) {
if ( dimension >= dimensionsToPreallocate - 1 ) {
return;
}
for ( int i = 0; i < subarray.length; i++ ) {
subarray[i] = new Object[dimensions[dimension + 1]];
preallocateArray((Object[])subarray[i], dimension + 1, dimensionsToPreallocate);
}
}
public T get(final int... keys) {
final int numNestedDimensions = numDimensions - 1;
Object[] myData = data;
for( int i = 0; i < numNestedDimensions; i++ ) {
if ( keys[i] >= dimensions[i] )
return null;
myData = (Object[])myData[keys[i]];
if ( myData == null )
return null;
}
return (T)myData[keys[numNestedDimensions]];
}
/**
* Insert a value at the position specified by the given keys.
*
* This method is thread-safe, however the caller MUST check the
* return value to see if the put succeeded. This method RETURNS FALSE if
* the value could not be inserted because there already was a value present
* at the specified location. In this case the caller should do a get() to get
* the already-existing value and (potentially) update it.
*
* @param value value to insert
* @param keys keys specifying the location of the value in the tree
* @return true if the value was inserted, false if it could not be inserted because there was already
* a value at the specified position
*/
public boolean put(final T value, final int... keys) { // WARNING! value comes before the keys!
if ( keys.length != numDimensions )
throw new ReviewedGATKException("Exactly " + numDimensions + " keys should be passed to this NestedIntegerArray but " + keys.length + " were provided");
final int numNestedDimensions = numDimensions - 1;
Object[] myData = data;
for ( int i = 0; i < numNestedDimensions; i++ ) {
if ( keys[i] >= dimensions[i] )
throw new ReviewedGATKException("Key " + keys[i] + " is too large for dimension " + i + " (max is " + (dimensions[i]-1) + ")");
// If we're at or beyond the last dimension that was pre-allocated, we need to do a synchronized
// check to see if the next branch exists, and if it doesn't, create it
if ( i >= NUM_DIMENSIONS_TO_PREALLOCATE - 1 ) {
synchronized ( myData ) {
if ( myData[keys[i]] == null ) {
myData[keys[i]] = new Object[dimensions[i + 1]];
}
}
}
myData = (Object[])myData[keys[i]];
}
synchronized ( myData ) { // lock the bottom row while we examine and (potentially) update it
// Insert the new value only if there still isn't any existing value in this position
if ( myData[keys[numNestedDimensions]] == null ) {
myData[keys[numNestedDimensions]] = value;
}
else {
// Already have a value for this leaf (perhaps another thread came along and inserted one
// while we traversed the tree), so return false to notify the caller that we didn't put
// the item
return false;
}
}
return true;
}
public List<T> getAllValues() {
final List<T> result = new ArrayList<T>();
fillAllValues(data, result);
return result;
}
private void fillAllValues(final Object[] array, final List<T> result) {
for ( Object value : array ) {
if ( value == null )
continue;
if ( value instanceof Object[] )
fillAllValues((Object[])value, result);
else
result.add((T)value);
}
}
public static class Leaf<T> {
public final int[] keys;
public final T value;
public Leaf(final int[] keys, final T value) {
this.keys = keys;
this.value = value;
}
}
public List<Leaf<T>> getAllLeaves() {
final List<Leaf<T>> result = new ArrayList<Leaf<T>>();
fillAllLeaves(data, new int[0], result);
return result;
}
private void fillAllLeaves(final Object[] array, final int[] path, final List<Leaf<T>> result) {
for ( int key = 0; key < array.length; key++ ) {
final Object value = array[key];
if ( value == null )
continue;
final int[] newPath = appendToPath(path, key);
if ( value instanceof Object[] ) {
fillAllLeaves((Object[]) value, newPath, result);
} else {
result.add(new Leaf<T>(newPath, (T)value));
}
}
}
private int[] appendToPath(final int[] path, final int newKey) {
final int[] newPath = new int[path.length + 1];
for ( int i = 0; i < path.length; i++ )
newPath[i] = path[i];
newPath[path.length] = newKey;
return newPath;
}
}
================================================
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/basic/Pair.java
================================================
/*
* Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences
*
* 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.ncic.bioinfo.sparkseq.algorithms.data.basic;
/**
* Author: wbc
*/
public class Pair<X,Y> {
// declare public, STL-style for easier and more efficient access:
public X first;
public Y second;
public Pair(X x, Y y) { first = x; second = y; }
public void set(X x, Y y) { first = x; second = y; }
/** Java-style getter; note that we currently allow direct access to
the member field.
*/
public X getFirst() { return first; }
/** Java-style getter; note that we currently allow direct access to
the member field.
*/
public Y getSecond() { return second; }
/**
* Calculate whether this pair object is equal to another object.
* @param o The other object (hopefully a pair).
* @return True if the two are equal; false otherwise.
*/
@Override
public boolean equals( Object o ) {
if( o == null )
return false;
if( !(o instanceof Pair) )
return false;
Pair other = (Pair)o;
// Check to see whether one is null but not the other.
if( this.first == null && other.first != null ) return false;
if( this.second == null && other.second != null ) return false;
// Check to see whether the values are equal.
// If the param of equals is null, it should by contract return false.
if( this.first != null && !this.first.equals(other.first) ) return false;
if( this.second != null && !this.second.equals(other.second) ) return false;
return true;
}
/**
* Basic hashcode function. Assume hashcodes of first and second are
* randomly distributed and return the XOR of the two.
* @return Randomly distributed hashcode of the pair.
*/
@Override
public int hashCode() {
if( second == null && first == null )
return 0;
if( second == null )
return first.hashCode();
if( first == null )
return second.hashCode();
return first.hashCode() ^ second.hashCode();
}
public String toString() {
return first+","+second;
}
}
================================================
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/basic/Permutation.java
================================================
/*
* Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences
*
* 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.ncic.bioinfo.sparkseq.algorithms.data.basic;
import java.util.List;
/**
* Represent a permutation of a ordered set or list of elements.
*
* @author Valentin Ruano-Rubio <valentin@broadinstitute.org>
*/
public interface Permutation<E> {
/**
* Checks whether this permutation is a partial one of the original list.
*
* <p>
* A partial permutation is one in that no all original elements take part of.
* </p>
*
* @return {@code true} iff this is a partial permutation.
*/
public boolean isPartial();
/**
* Checks whether this is a trivial permutation where the resulting element list is the same as original.
*
* @return {@code true} iff the resulting element list is the same as the original.
*/
public boolean isNonPermuted();
/**
* Given an index on the original list, returns the position of tha element in the resulting list.
*
* @param fromIndex the query original element index.
*
* @throws IllegalArgumentException if {@code fromIndex} is not a valid index within the original list.
*
* @return -1 if that element is not part of the result (partial) permutation, otherwise some number between
* 0 and {@link #toSize()} - 1.
*/
public int toIndex(final int fromIndex);
/**
* Given an index on the resulting list, it gives you the index of that element on the original list.
* @param toIndex the query resulting list index.
*
* @throws IllegalArgumentException if {@code toIndex} is not a valid index, i.e. in [0,{@link #toSize()}-1).
*
* @return a value between 0 and {@link #fromSize()} - 1.
*/
public int fromIndex(final int toIndex);
/**
* Length of the original element list.
*
* @return 0 or greater.
*/
public int fromSize();
/**
* Length of the resulting element list.
*
* @return 0 or greater.
*/
public int toSize();
/**
* Returns an unmodifiable view to the original element list.
* @return never {@code null}.
*/
public List<E> fromList();
/**
* Returns an unmodifiable view to the original element list.
*
* @return never {@code null}.
*/
public List<E> toList();
}
================================================
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/basic/PrimitivePair.java
================================================
/*
* Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences
*
* 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.ncic.bioinfo.sparkseq.algorithms.data.basic;
/**
* Author: wbc
*/
public class PrimitivePair {
/** Pair of two integers */
public static class Int {
// declare public, STL-style for easier and more efficient access:
public int first;
gitextract_qafxk5fp/
├── .gitignore
├── LICENSE
├── README.md
├── bin/
│ ├── config.properties
│ └── runSparkWGS.sh
├── pom.xml
└── src/
├── main/
│ ├── java/
│ │ ├── com/
│ │ │ └── github/
│ │ │ └── lindenb/
│ │ │ └── jbwa/
│ │ │ └── jni/
│ │ │ ├── AlnRgn.java
│ │ │ ├── BwaFrame.java
│ │ │ ├── BwaIndex.java
│ │ │ ├── BwaMem.java
│ │ │ ├── KSeq.java
│ │ │ └── ShortRead.java
│ │ └── org/
│ │ └── ncic/
│ │ └── bioinfo/
│ │ └── sparkseq/
│ │ ├── algorithms/
│ │ │ ├── adapters/
│ │ │ │ ├── ApplyBQSRAdaptor.java
│ │ │ │ ├── BQSRTableGather.java
│ │ │ │ ├── BaseRecalibratorAdapter.java
│ │ │ │ ├── BwaMemAdapter.java
│ │ │ │ ├── HaplotypeCallerAdapter.java
│ │ │ │ ├── IndelRealignAdapter.java
│ │ │ │ └── MutectAdapter.java
│ │ │ ├── data/
│ │ │ │ ├── basic/
│ │ │ │ │ ├── CountSet.java
│ │ │ │ │ ├── DefaultHashMap.java
│ │ │ │ │ ├── IndexedSet.java
│ │ │ │ │ ├── IntMaxHeap.java
│ │ │ │ │ ├── NestedIntegerArray.java
│ │ │ │ │ ├── Pair.java
│ │ │ │ │ ├── Permutation.java
│ │ │ │ │ └── PrimitivePair.java
│ │ │ │ ├── reference/
│ │ │ │ │ ├── RefContentProvider.java
│ │ │ │ │ ├── RefMetaDataTracker.java
│ │ │ │ │ └── ReferenceContext.java
│ │ │ │ ├── sam/
│ │ │ │ │ ├── AlignmentContext.java
│ │ │ │ │ ├── AlignmentStateMachine.java
│ │ │ │ │ ├── GATKSAMReadGroupRecord.java
│ │ │ │ │ ├── GATKSAMRecord.java
│ │ │ │ │ ├── IntervalLocusSamTraverser.java
│ │ │ │ │ ├── LocusSamTraverser.java
│ │ │ │ │ ├── MergingPileupElementIterator.java
│ │ │ │ │ ├── PileupElement.java
│ │ │ │ │ ├── PileupElementTracker.java
│ │ │ │ │ ├── ReadBackedPileup.java
│ │ │ │ │ ├── ReadBackedPileupImpl.java
│ │ │ │ │ ├── ReadSamTraverser.java
│ │ │ │ │ ├── RegionSamTraverser.java
│ │ │ │ │ ├── SamContentProvider.java
│ │ │ │ │ └── filter/
│ │ │ │ │ ├── BadCigarFilter.java
│ │ │ │ │ ├── BadMateFilter.java
│ │ │ │ │ ├── DuplicateReadFilter.java
│ │ │ │ │ ├── FailsVendorQualityCheckFilter.java
│ │ │ │ │ ├── Filter.java
│ │ │ │ │ ├── FilterUtils.java
│ │ │ │ │ ├── HCMappingQualityFilter.java
│ │ │ │ │ ├── InOriginIntervalFilter.java
│ │ │ │ │ ├── MappingQualityUnavailableFilter.java
│ │ │ │ │ ├── MappingQualityZeroFilter.java
│ │ │ │ │ ├── NegativeAlignmentStartFilter.java
│ │ │ │ │ ├── NotPrimaryAlignmentFilter.java
│ │ │ │ │ ├── SupplementaryReadFilter.java
│ │ │ │ │ └── UnmappedReadFilter.java
│ │ │ │ └── vcf/
│ │ │ │ ├── GATKFeature.java
│ │ │ │ ├── HomoSapiensConstants.java
│ │ │ │ ├── RODContentProvider.java
│ │ │ │ ├── RODNames.java
│ │ │ │ ├── RODRecordList.java
│ │ │ │ ├── RODRecordListImpl.java
│ │ │ │ ├── RODTraverser.java
│ │ │ │ ├── RefMetaTrackerTraverser.java
│ │ │ │ ├── RodBinding.java
│ │ │ │ ├── Tags.java
│ │ │ │ ├── VCFHeaderLineIterable.java
│ │ │ │ └── header/
│ │ │ │ ├── StandardWESVCFHeader.java
│ │ │ │ └── StandardWGSVCFHeader.java
│ │ │ ├── engine/
│ │ │ │ ├── ActiveRegionWalker.java
│ │ │ │ ├── IntervalLocusWalker.java
│ │ │ │ ├── LocusWalker.java
│ │ │ │ ├── RODWalker.java
│ │ │ │ ├── ReadWalker.java
│ │ │ │ └── Walker.java
│ │ │ ├── utils/
│ │ │ │ ├── AlignmentContextUtils.java
│ │ │ │ ├── AlignmentUtils.java
│ │ │ │ ├── AlleleListUtils.java
│ │ │ │ ├── ArtificialSAMUtils.java
│ │ │ │ ├── BaseUtils.java
│ │ │ │ ├── CGAAlignmentUtils.java
│ │ │ │ ├── CigarUtils.java
│ │ │ │ ├── DeprecatedToolChecks.java
│ │ │ │ ├── DocumentedGATKFeature.java
│ │ │ │ ├── EventType.java
│ │ │ │ ├── FragmentUtils.java
│ │ │ │ ├── GATKVariantContextUtils.java
│ │ │ │ ├── GenomeLoc.java
│ │ │ │ ├── GenomeLocParser.java
│ │ │ │ ├── GenomeLocSortedSet.java
│ │ │ │ ├── GenotypingGivenAllelesUtils.java
│ │ │ │ ├── HasGenomeLocation.java
│ │ │ │ ├── HelpConstants.java
│ │ │ │ ├── LRUCache.java
│ │ │ │ ├── MRUCachingSAMSequenceDictionary.java
│ │ │ │ ├── MannWhitneyU.java
│ │ │ │ ├── MathUtils.java
│ │ │ │ ├── NGSPlatform.java
│ │ │ │ ├── QualityUtils.java
│ │ │ │ ├── RandomGenerator.java
│ │ │ │ ├── ReadUtils.java
│ │ │ │ ├── RecalUtils.java
│ │ │ │ ├── SampleListUtils.java
│ │ │ │ ├── SequenceComplexity.java
│ │ │ │ ├── TextFormattingUtils.java
│ │ │ │ ├── Utils.java
│ │ │ │ ├── clip/
│ │ │ │ │ ├── ClippingOp.java
│ │ │ │ │ ├── ClippingRepresentation.java
│ │ │ │ │ └── ReadClipper.java
│ │ │ │ ├── downsampling/
│ │ │ │ │ ├── AlleleBiasedDownsamplingUtils.java
│ │ │ │ │ ├── Downsampler.java
│ │ │ │ │ ├── DownsamplingUtils.java
│ │ │ │ │ ├── LIBSDownsamplingInfo.java
│ │ │ │ │ └── LevelingDownsampler.java
│ │ │ │ ├── fragments/
│ │ │ │ │ └── FragmentCollection.java
│ │ │ │ ├── haplotype/
│ │ │ │ │ ├── EventMap.java
│ │ │ │ │ └── Haplotype.java
│ │ │ │ ├── interval/
│ │ │ │ │ ├── IntervalMergingRule.java
│ │ │ │ │ ├── IntervalSetRule.java
│ │ │ │ │ └── IntervalUtils.java
│ │ │ │ ├── pairhmm/
│ │ │ │ │ ├── ArrayLoglessPairHMM.java
│ │ │ │ │ ├── Log10PairHMM.java
│ │ │ │ │ ├── LoglessPairHMM.java
│ │ │ │ │ ├── N2MemoryPairHMM.java
│ │ │ │ │ ├── PairHMM.java
│ │ │ │ │ ├── PairHMMIndelErrorModel.java
│ │ │ │ │ └── PairHMMModel.java
│ │ │ │ ├── reports/
│ │ │ │ │ ├── GATKReport.java
│ │ │ │ │ ├── GATKReportColumn.java
│ │ │ │ │ ├── GATKReportColumnFormat.java
│ │ │ │ │ ├── GATKReportDataType.java
│ │ │ │ │ ├── GATKReportTable.java
│ │ │ │ │ └── GATKReportVersion.java
│ │ │ │ ├── smithwaterman/
│ │ │ │ │ ├── GlobalEdgeGreedySWPairwiseAlignment.java
│ │ │ │ │ ├── Parameters.java
│ │ │ │ │ ├── SWPairwiseAlignment.java
│ │ │ │ │ ├── SWParameterSet.java
│ │ │ │ │ └── SmithWaterman.java
│ │ │ │ ├── transformers/
│ │ │ │ │ ├── BQSRReadTransformer.java
│ │ │ │ │ ├── MisencodedBaseQualityReadTransformer.java
│ │ │ │ │ └── ReadTransformer.java
│ │ │ │ └── vcfWriter/
│ │ │ │ ├── GVCFWriter.java
│ │ │ │ └── HomRefBlock.java
│ │ │ └── walker/
│ │ │ ├── SerializableActiveRegionMapData.java
│ │ │ ├── baserecalibrator/
│ │ │ │ ├── BAQ.java
│ │ │ │ ├── BaseRecalibrator.java
│ │ │ │ ├── QualQuantizer.java
│ │ │ │ ├── QuantizationInfo.java
│ │ │ │ ├── ReadCovariates.java
│ │ │ │ ├── ReadRecalibrationInfo.java
│ │ │ │ ├── RecalDatum.java
│ │ │ │ ├── RecalibrationArgumentCollection.java
│ │ │ │ ├── RecalibrationEngine.java
│ │ │ │ ├── RecalibrationTables.java
│ │ │ │ └── covariate/
│ │ │ │ ├── ContextCovariate.java
│ │ │ │ ├── Covariate.java
│ │ │ │ ├── CycleCovariate.java
│ │ │ │ ├── ExperimentalCovariate.java
│ │ │ │ ├── QualityScoreCovariate.java
│ │ │ │ ├── ReadGroupCovariate.java
│ │ │ │ ├── RepeatCovariate.java
│ │ │ │ ├── RepeatLengthCovariate.java
│ │ │ │ ├── RepeatUnitAndLengthCovariate.java
│ │ │ │ ├── RepeatUnitCovariate.java
│ │ │ │ ├── RequiredCovariate.java
│ │ │ │ └── StandardCovariate.java
│ │ │ ├── genotypegvcfs/
│ │ │ │ ├── GenotypeGVCFs.java
│ │ │ │ └── ReferenceConfidenceVariantContextMerger.java
│ │ │ ├── haplotypecaller/
│ │ │ │ ├── ActiveRegion.java
│ │ │ │ ├── ActiveRegionFinder.java
│ │ │ │ ├── ActiveRegionMapData.java
│ │ │ │ ├── ActiveRegionTrimmer.java
│ │ │ │ ├── ActivityProfile.java
│ │ │ │ ├── ActivityProfileState.java
│ │ │ │ ├── AlleleList.java
│ │ │ │ ├── AlleleListPermutation.java
│ │ │ │ ├── AssemblyResult.java
│ │ │ │ ├── AssemblyResultSet.java
│ │ │ │ ├── BandPassActivityProfile.java
│ │ │ │ ├── ConsensusAlleleCounter.java
│ │ │ │ ├── DiploidGenotype.java
│ │ │ │ ├── DiploidSNPGenotypeLikelihoods.java
│ │ │ │ ├── ExactACcounts.java
│ │ │ │ ├── GeneralPloidyGenotypeLikelihoods.java
│ │ │ │ ├── GenotypeAlleleCounts.java
│ │ │ │ ├── GenotypeLikelihoodCalculator.java
│ │ │ │ ├── GenotypeLikelihoodCalculators.java
│ │ │ │ ├── GenotypingData.java
│ │ │ │ ├── GenotypingLikelihoods.java
│ │ │ │ ├── GenotypingOutputMode.java
│ │ │ │ ├── HaplotypeCaller.java
│ │ │ │ ├── HaplotypeSizeAndBaseComparator.java
│ │ │ │ ├── HeterogeneousKmerSizeResolution.java
│ │ │ │ ├── IndexedAlleleList.java
│ │ │ │ ├── IndexedSampleList.java
│ │ │ │ ├── MostLikelyAllele.java
│ │ │ │ ├── OutputMode.java
│ │ │ │ ├── PerReadAlleleLikelihoodMap.java
│ │ │ │ ├── PloidyModel.java
│ │ │ │ ├── ReadErrorCorrector.java
│ │ │ │ ├── SampleList.java
│ │ │ │ ├── afcalculate/
│ │ │ │ │ ├── AFCalculationResult.java
│ │ │ │ │ ├── AFCalculator.java
│ │ │ │ │ ├── AFCalculatorImplementation.java
│ │ │ │ │ ├── AFCalculatorProvider.java
│ │ │ │ │ ├── DiploidExactAFCalculator.java
│ │ │ │ │ ├── ExactACset.java
│ │ │ │ │ ├── ExactAFCalculator.java
│ │ │ │ │ ├── FixedAFCalculatorProvider.java
│ │ │ │ │ ├── GeneralPloidyExactAFCalculator.java
│ │ │ │ │ ├── GeneralPloidyFailOverAFCalculatorProvider.java
│ │ │ │ │ ├── IndependentAllelesDiploidExactAFCalculator.java
│ │ │ │ │ ├── OriginalDiploidExactAFCalculator.java
│ │ │ │ │ ├── ReferenceDiploidExactAFCalculator.java
│ │ │ │ │ └── StateTracker.java
│ │ │ │ ├── annotator/
│ │ │ │ │ ├── AlleleBalance.java
│ │ │ │ │ ├── AlleleBalanceBySample.java
│ │ │ │ │ ├── AnnotationInterfaceManager.java
│ │ │ │ │ ├── BaseCounts.java
│ │ │ │ │ ├── BaseQualityRankSumTest.java
│ │ │ │ │ ├── ChromosomeCountConstants.java
│ │ │ │ │ ├── ChromosomeCounts.java
│ │ │ │ │ ├── ClippingRankSumTest.java
│ │ │ │ │ ├── Coverage.java
│ │ │ │ │ ├── DepthPerAlleleBySample.java
│ │ │ │ │ ├── DepthPerSampleHC.java
│ │ │ │ │ ├── FisherStrand.java
│ │ │ │ │ ├── GenotypeSummaries.java
│ │ │ │ │ ├── HaplotypeScore.java
│ │ │ │ │ ├── InbreedingCoeff.java
│ │ │ │ │ ├── LowMQ.java
│ │ │ │ │ ├── MappingQualityRankSumTest.java
│ │ │ │ │ ├── MappingQualityZero.java
│ │ │ │ │ ├── MappingQualityZeroBySample.java
│ │ │ │ │ ├── NBaseCount.java
│ │ │ │ │ ├── QualByDepth.java
│ │ │ │ │ ├── RMSMappingQuality.java
│ │ │ │ │ ├── RankSumTest.java
│ │ │ │ │ ├── ReadPosRankSumTest.java
│ │ │ │ │ ├── SpanningDeletions.java
│ │ │ │ │ ├── StrandBiasBySample.java
│ │ │ │ │ ├── StrandBiasTest.java
│ │ │ │ │ ├── StrandOddsRatio.java
│ │ │ │ │ ├── TandemRepeatAnnotator.java
│ │ │ │ │ ├── VariantAnnotatorEngine.java
│ │ │ │ │ ├── VariantOverlapAnnotator.java
│ │ │ │ │ └── interfaces/
│ │ │ │ │ ├── ActiveRegionBasedAnnotation.java
│ │ │ │ │ ├── AnnotationType.java
│ │ │ │ │ ├── AnnotatorCompatible.java
│ │ │ │ │ ├── ExperimentalAnnotation.java
│ │ │ │ │ ├── GenotypeAnnotation.java
│ │ │ │ │ ├── InfoFieldAnnotation.java
│ │ │ │ │ ├── RodRequiringAnnotation.java
│ │ │ │ │ ├── StandardAnnotation.java
│ │ │ │ │ ├── VariantAnnotatorAnnotation.java
│ │ │ │ │ └── WorkInProgressAnnotation.java
│ │ │ │ ├── argcollection/
│ │ │ │ │ ├── DbsnpArgumentCollection.java
│ │ │ │ │ ├── GenotypeCalculationArgumentCollection.java
│ │ │ │ │ ├── HaplotypeCallerArgumentCollection.java
│ │ │ │ │ ├── StandardCallerArgumentCollection.java
│ │ │ │ │ └── UnifiedArgumentCollection.java
│ │ │ │ ├── genotyper/
│ │ │ │ │ ├── AFPriorProvider.java
│ │ │ │ │ ├── AlleleLikelihoodMatrixMapper.java
│ │ │ │ │ ├── CustomAFPriorProvider.java
│ │ │ │ │ ├── GenotypingEngine.java
│ │ │ │ │ ├── HaplotypeCallerGenotypingEngine.java
│ │ │ │ │ ├── HaplotypeLDCalculator.java
│ │ │ │ │ ├── HeterozygosityAFPriorProvider.java
│ │ │ │ │ ├── InfiniteRandomMatingPopulationModel.java
│ │ │ │ │ ├── LDMerger.java
│ │ │ │ │ ├── MergeVariantsAcrossHaplotypes.java
│ │ │ │ │ ├── UnifiedGenotypingEngine.java
│ │ │ │ │ └── VariantCallContext.java
│ │ │ │ ├── graphs/
│ │ │ │ │ ├── AggregatedSubHaplotypeFinder.java
│ │ │ │ │ ├── BaseEdge.java
│ │ │ │ │ ├── BaseGraph.java
│ │ │ │ │ ├── BaseGraphIterator.java
│ │ │ │ │ ├── BaseVertex.java
│ │ │ │ │ ├── CommonSuffixSplitter.java
│ │ │ │ │ ├── DeBruijnVertex.java
│ │ │ │ │ ├── DeadEndKBestSubHaplotypeFinder.java
│ │ │ │ │ ├── EmptyPathHaplotypeFinderNode.java
│ │ │ │ │ ├── GraphUtils.java
│ │ │ │ │ ├── KBestHaplotype.java
│ │ │ │ │ ├── KBestHaplotypeFinder.java
│ │ │ │ │ ├── KBestSubHaplotypeFinder.java
│ │ │ │ │ ├── KMerCounter.java
│ │ │ │ │ ├── Kmer.java
│ │ │ │ │ ├── KmerSearchableGraph.java
│ │ │ │ │ ├── KmerSequence.java
│ │ │ │ │ ├── LowWeightChainPruner.java
│ │ │ │ │ ├── MultiSampleEdge.java
│ │ │ │ │ ├── Path.java
│ │ │ │ │ ├── RecursiveSubHaplotypeFinder.java
│ │ │ │ │ ├── Route.java
│ │ │ │ │ ├── RouteFinder.java
│ │ │ │ │ ├── SeqGraph.java
│ │ │ │ │ ├── SeqVertex.java
│ │ │ │ │ ├── SharedSequenceMerger.java
│ │ │ │ │ ├── SharedVertexSequenceSplitter.java
│ │ │ │ │ ├── TestGraph.java
│ │ │ │ │ └── VertexOrder.java
│ │ │ │ ├── model/
│ │ │ │ │ ├── ErrorModel.java
│ │ │ │ │ ├── GeneralPloidyGenotypeLikelihoodsCalculationModel.java
│ │ │ │ │ ├── GeneralPloidyIndelGenotypeLikelihoods.java
│ │ │ │ │ ├── GeneralPloidyIndelGenotypeLikelihoodsCalculationModel.java
│ │ │ │ │ ├── GenotypeLikelihoodsCalculationModel.java
│ │ │ │ │ ├── GenotypingModel.java
│ │ │ │ │ ├── HomogeneousPloidyModel.java
│ │ │ │ │ ├── IndelGenotypeLikelihoodsCalculationModel.java
│ │ │ │ │ ├── ProbabilityVector.java
│ │ │ │ │ ├── RefVsAnyResult.java
│ │ │ │ │ ├── ReferenceConfidenceMode.java
│ │ │ │ │ ├── ReferenceConfidenceModel.java
│ │ │ │ │ └── SNPGenotypeLikelihoodsCalculationModel.java
│ │ │ │ ├── readlikelihood/
│ │ │ │ │ ├── PairHMMLikelihoodCalculationEngine.java
│ │ │ │ │ ├── ReadLikelihoodCalculationEngine.java
│ │ │ │ │ ├── ReadLikelihoods.java
│ │ │ │ │ └── ReadLikelihoodsArrayCache.java
│ │ │ │ └── readthreading/
│ │ │ │ ├── DanglingChainMergingGraph.java
│ │ │ │ ├── HaplotypeGraph.java
│ │ │ │ ├── HaplotypeRoute.java
│ │ │ │ ├── LocalAssemblyEngine.java
│ │ │ │ ├── MultiDeBruijnVertex.java
│ │ │ │ ├── ReadThreadingAssembler.java
│ │ │ │ ├── ReadThreadingGraph.java
│ │ │ │ └── SequenceForKmers.java
│ │ │ ├── indelrealigner/
│ │ │ │ ├── ConsensusDeterminationModel.java
│ │ │ │ ├── ConstrainedMateFixingManager.java
│ │ │ │ ├── IndelRealigner.java
│ │ │ │ └── ReadBin.java
│ │ │ ├── mutect/
│ │ │ │ ├── AbstractPowerCalculator.java
│ │ │ │ ├── CallStatsGenerator.java
│ │ │ │ ├── CandidateMutation.java
│ │ │ │ ├── LocusReadPile.java
│ │ │ │ ├── MuTectArgumentCollection.java
│ │ │ │ ├── MuTectStats.java
│ │ │ │ ├── Mutect.java
│ │ │ │ ├── NormalPowerCalculator.java
│ │ │ │ ├── QualitySums.java
│ │ │ │ ├── SequenceUtils.java
│ │ │ │ ├── TumorPowerCalculator.java
│ │ │ │ ├── VCFGenerator.java
│ │ │ │ └── VariableAllelicRatioGenotypeLikelihoods.java
│ │ │ ├── printreads/
│ │ │ │ ├── BaseRecalibration.java
│ │ │ │ ├── PrintReads.java
│ │ │ │ └── RecalibrationReport.java
│ │ │ └── realignertargetcreator/
│ │ │ ├── Event.java
│ │ │ ├── EventPair.java
│ │ │ ├── EventType.java
│ │ │ └── RealignerTargetCreator.java
│ │ ├── compress/
│ │ │ ├── BaseCompressTools.java
│ │ │ ├── QualityCompressTools.java
│ │ │ └── huffman/
│ │ │ ├── AdaptiveHuffmanCompress.java
│ │ │ ├── AdaptiveHuffmanDecompress.java
│ │ │ ├── BitInputStream.java
│ │ │ ├── BitOutputStream.java
│ │ │ ├── CanonicalCode.java
│ │ │ ├── CodeTree.java
│ │ │ ├── FrequencyTable.java
│ │ │ ├── HuffmanCompress.java
│ │ │ ├── HuffmanDecoder.java
│ │ │ ├── HuffmanDecompress.java
│ │ │ ├── HuffmanEncoder.java
│ │ │ ├── InternalNode.java
│ │ │ ├── Leaf.java
│ │ │ └── Node.java
│ │ ├── debug/
│ │ │ └── DebugWriter.java
│ │ ├── exceptions/
│ │ │ ├── CompressException.java
│ │ │ ├── GATKException.java
│ │ │ ├── ReviewedGATKException.java
│ │ │ └── UserException.java
│ │ ├── fileio/
│ │ │ └── format/
│ │ │ └── SingleFastqInputFormat.java
│ │ └── transfer/
│ │ ├── Basic2SAMRecordTransfer.java
│ │ ├── CollectionConverter.java
│ │ ├── FastqRecord2ShortReadTransfer.java
│ │ ├── GATKReportTransfer.java
│ │ ├── SAMHeaderTransfer.java
│ │ ├── SAMReadGroupRecordTransfer.java
│ │ ├── SAMRecord2BasicTransfer.java
│ │ ├── SAMSequenceDictTransfer.java
│ │ ├── VC2VcfRecordTransfer.java
│ │ └── VcfRecord2VCTransfer.java
│ └── scala/
│ └── org/
│ └── ncic/
│ └── bioinfo/
│ └── sparkseq/
│ ├── WGSPipeline.scala
│ ├── const/
│ │ ├── BinTools.scala
│ │ ├── PipelineConst.scala
│ │ ├── ResourceKeys.scala
│ │ └── SamRecordConst.scala
│ ├── data/
│ │ ├── basic/
│ │ │ ├── BasicSamRecord.scala
│ │ │ ├── FastqPairRecord.scala
│ │ │ ├── FastqRecord.scala
│ │ │ └── VcfRecord.scala
│ │ ├── bundle/
│ │ │ ├── FASTAPartitionBundle.scala
│ │ │ ├── FASTQBundle.scala
│ │ │ ├── FASTQPairBundle.scala
│ │ │ ├── RODBundle.scala
│ │ │ ├── RefPartitionInfoBundle.scala
│ │ │ ├── SAMBundle.scala
│ │ │ ├── VCFBundle.scala
│ │ │ └── VCFPartitionBundle.scala
│ │ ├── common/
│ │ │ ├── Flags.scala
│ │ │ ├── Locus.scala
│ │ │ ├── ReadGroupInfo.scala
│ │ │ ├── RefContigInfo.scala
│ │ │ ├── RefPartitionInfo.scala
│ │ │ ├── SamHeaderInfo.scala
│ │ │ └── VcfHeaderInfo.scala
│ │ └── partition/
│ │ ├── BundlePartition.scala
│ │ ├── FastaPartition.scala
│ │ ├── FastqPairRecordPartition.scala
│ │ ├── FastqRecordPartition.scala
│ │ ├── Partition.scala
│ │ ├── SamRecordPartition.scala
│ │ └── VcfRecordPartition.scala
│ ├── debug/
│ │ └── Dumper.scala
│ ├── engine/
│ │ ├── AbstractProcess.scala
│ │ ├── PartitionOptimizedProcess.scala
│ │ ├── PartitionOptimizer.scala
│ │ ├── Pipeline.scala
│ │ ├── Process.scala
│ │ └── Runnable.scala
│ ├── exceptions/
│ │ ├── IllegalInputException.scala
│ │ ├── PipelineException.scala
│ │ ├── ResourceException.scala
│ │ ├── ResourceNotSetException.scala
│ │ └── ResourceSetException.scala
│ ├── fileio/
│ │ ├── FileLoader.scala
│ │ ├── FileWriter.scala
│ │ ├── HDFSReader.scala
│ │ ├── NormalFileLoader.scala
│ │ └── NormalFileWriter.scala
│ ├── partitioner/
│ │ ├── FastaPartitioner.scala
│ │ ├── FastqPairPartitioner.scala
│ │ ├── FastqPartitioner.scala
│ │ ├── SamRecordPartitioner.scala
│ │ └── VcfPartitioner.scala
│ ├── processes/
│ │ ├── PartitionProcess.scala
│ │ ├── ReadRepartitioner.scala
│ │ ├── cleaning/
│ │ │ ├── BaseRecalibrationProcess.scala
│ │ │ ├── DataCleanProcess.scala
│ │ │ ├── IndelRealignProcess.scala
│ │ │ ├── MarkDuplicateProcess.scala
│ │ │ └── PartitionMarkDuplicateProcess.scala
│ │ ├── mapping/
│ │ │ ├── BwaMappingProcess.scala
│ │ │ └── JNIBwaMemProcess.scala
│ │ └── variantcalling/
│ │ ├── HaplotypeCallerProcess.scala
│ │ ├── MutectProcess.scala
│ │ └── VariantCallingProcess.scala
│ ├── resource/
│ │ ├── AbstractResource.scala
│ │ ├── Resource.scala
│ │ └── ResourcePool.scala
│ └── utils/
│ ├── FileUtils.scala
│ ├── FlagUtils.scala
│ └── StringUtils.scala
└── test/
├── java/
│ └── org/
│ └── ncic/
│ └── bioinfo/
│ └── sparkseq/
│ ├── algorithms/
│ │ ├── TestDebug.java
│ │ ├── adapters/
│ │ │ └── TestBQSRGather.java
│ │ ├── data/
│ │ │ └── sam/
│ │ │ ├── TestIntervalLocusSamTraverser.java
│ │ │ ├── TestLocusSamTraverser.java
│ │ │ ├── TestReadSamTraverser.java
│ │ │ ├── TestRegionSamTraverser.java
│ │ │ ├── TestSamContentProvider.java
│ │ │ └── filter/
│ │ │ └── TestFilterUtils.java
│ │ └── walker/
│ │ ├── AbstractTestCase.java
│ │ ├── TestActiveRegionFinder.java
│ │ ├── TestBaseRecalibrator.java
│ │ ├── TestGenotypeGVCFs.java
│ │ ├── TestHaplotypeCaller.java
│ │ ├── TestIndelRealigner.java
│ │ ├── TestMapDataSerialization.java
│ │ ├── TestMutect.java
│ │ ├── TestPrintReads.java
│ │ └── TestRealignerTargetCreator.java
│ ├── compress/
│ │ ├── TestBaseCompress.java
│ │ ├── TestCompressRate.java
│ │ ├── TestFastqCompress.java
│ │ ├── TestKryo.java
│ │ └── TestQualCompress.java
│ └── transfer/
│ ├── TestRecalTableTransfer.java
│ └── TestSAMRecordTransfer.java
├── resources/
│ ├── activeRegions.txt
│ ├── bqsrtables/
│ │ ├── 0_bqsr.table
│ │ ├── 1_bqsr.table
│ │ ├── 2_bqsr.table
│ │ ├── 3_bqsr.table
│ │ └── merged.table
│ ├── gvcf.vcf
│ ├── head_dbsnp.vcf
│ ├── human_g1k_v37.dict
│ ├── intervaled.sam
│ ├── littleFasta.dict
│ ├── littleFasta.fasta
│ ├── mills_indel.vcf
│ ├── mutect/
│ │ ├── 0_panel.intervals
│ │ ├── LOCUS.txt
│ │ ├── dedup_Blood.sam
│ │ ├── dedup_Tumor.sam
│ │ ├── head_dbsnp.vcf
│ │ ├── out.txt
│ │ ├── out.vcf
│ │ └── refContent
│ ├── raw.snps.indels.vcf
│ ├── realigned_reads.sam
│ ├── recal_data.table
│ ├── recal_reads.sam
│ ├── refheadContent
│ ├── target_interval.list
│ ├── test.bam
│ ├── test.sam
│ ├── test.vcf
│ ├── test1.fastq
│ └── test2.fastq
└── scala/
└── org/
└── ncic/
└── bioinfo/
└── sparkseq/
├── consts/
│ └── TestConst.scala
├── data/
│ ├── TestBasicSamRecord.scala
│ ├── TestFastaPartitioner.scala
│ ├── TestHeaderInfo.scala
│ ├── TestRefContigInfo.scala
│ ├── TestRefScatterInfo.scala
│ └── TestVcfRecord.scala
├── engine/
│ ├── TestEngine.scala
│ └── TestOptimizeEngine.scala
└── fileio/
└── TestNormalFileLoaderWriter.scala
Showing preview only (450K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (4516 symbols across 403 files)
FILE: src/main/java/com/github/lindenb/jbwa/jni/AlnRgn.java
class AlnRgn (line 210) | public class AlnRgn {
method AlnRgn (line 220) | public AlnRgn(String chrom, long pos, byte strand, String cigar, int m...
method getChrom (line 231) | public String getChrom() {
method getPos (line 235) | public long getPos() {
method getStrand (line 239) | public char getStrand() {
method getCigar (line 243) | public String getCigar() {
method getMQual (line 247) | public int getMQual() {
method getNm (line 251) | public int getNm() {
method getAs (line 255) | public int getAs() {
method getSecondary (line 259) | public int getSecondary() {
method toString (line 263) | @Override
FILE: src/main/java/com/github/lindenb/jbwa/jni/BwaFrame.java
class BwaFrame (line 240) | public class BwaFrame extends JFrame {
class AlnTableModel (line 243) | private class AlnTableModel extends AbstractTableModel {
method getColumnName (line 246) | @Override
method getColumnCount (line 251) | @Override
method getRowCount (line 256) | @Override
method getValueAt (line 261) | @Override
method getColumnClass (line 284) | @Override
method isCellEditable (line 306) | @Override
method clear (line 311) | void clear() {
method addAll (line 316) | void addAll(AlnRgn rgn[]) {
method BwaFrame (line 327) | private BwaFrame(File f, BwaIndex bwaIndex) {
method doMenuClose (line 375) | private void doMenuClose() {
method doMenuAlign (line 381) | private void doMenuAlign() {
method main (line 402) | public static void main(String[] args) {
FILE: src/main/java/com/github/lindenb/jbwa/jni/BwaIndex.java
class BwaIndex (line 212) | public class BwaIndex {
method BwaIndex (line 215) | public BwaIndex(File index) throws IOException {
method finalize (line 220) | @Override
method close (line 225) | public native void close();
method _open (line 228) | private static native long _open(String s) throws IOException;
FILE: src/main/java/com/github/lindenb/jbwa/jni/BwaMem.java
class BwaMem (line 212) | public class BwaMem {
method BwaMem (line 216) | public BwaMem(BwaIndex bwaIndex) {
method updateScoringParameters (line 221) | public void updateScoringParameters(final int baseMismatchPen,
method align (line 228) | public AlnRgn[] align(ShortRead read) throws IOException {
method align (line 233) | public String[] align(final List<ShortRead> ks1, final List<ShortRead>...
method align (line 243) | public String[] align(final ShortRead ks1[], final ShortRead ks2[]) th...
method finalize (line 253) | @Override
method dispose (line 258) | public native void dispose();
method mem_opt_init (line 260) | private static native long mem_opt_init();
method set_verbosity (line 272) | public native void set_verbosity(int verbosity);
method update_score_parameters (line 274) | private native void update_score_parameters(int B, int Oi, int Od, int...
method align (line 276) | private native AlnRgn[] align(BwaIndex bwaIndex, byte bases[]) throws ...
method align2 (line 278) | private native String[] align2(BwaIndex bwaIndex, final ShortRead ks1[...
FILE: src/main/java/com/github/lindenb/jbwa/jni/KSeq.java
class KSeq (line 212) | public class KSeq {
method KSeq (line 215) | public KSeq(File f) throws IOException {
method KSeq (line 219) | public KSeq() throws IOException {
method next (line 223) | public native ShortRead next() throws IOException;
method finalize (line 225) | @Override
method dispose (line 230) | public native void dispose();
method init (line 232) | private static native long init(String file);
FILE: src/main/java/com/github/lindenb/jbwa/jni/ShortRead.java
class ShortRead (line 209) | public class ShortRead {
method ShortRead (line 214) | public ShortRead(String name, byte[] seq, byte[] qual) {
method getName (line 220) | public String getName() {
method getBases (line 224) | public byte[] getBases() {
method getQualities (line 228) | public byte[] getQualities() {
method toString (line 232) | @Override
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/adapters/ApplyBQSRAdaptor.java
class ApplyBQSRAdaptor (line 50) | public class ApplyBQSRAdaptor {
method applyBQSR (line 52) | public static List<BasicSamRecord> applyBQSR(RefContigInfo refContigInfo,
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/adapters/BQSRTableGather.java
class BQSRTableGather (line 44) | public class BQSRTableGather {
method gatherBQSRTables (line 46) | public static List<String> gatherBQSRTables(List<List<String>> reportL...
method gatherBQSRTablesInParallel (line 69) | public static List<String> gatherBQSRTablesInParallel(final List<List<...
class ForkJoinMergeTask (line 123) | private static class ForkJoinMergeTask extends RecursiveTask<Recalibra...
method ForkJoinMergeTask (line 128) | public ForkJoinMergeTask(RecalibrationReport[] reports, int start, i...
method compute (line 134) | public RecalibrationReport compute() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/adapters/BaseRecalibratorAdapter.java
class BaseRecalibratorAdapter (line 45) | public class BaseRecalibratorAdapter {
method getRecalTableLines (line 47) | public static List<String> getRecalTableLines(RefContigInfo refContigI...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/adapters/BwaMemAdapter.java
class BwaMemAdapter (line 46) | public class BwaMemAdapter {
method getBwaIndexInstance (line 50) | private static BwaIndex getBwaIndexInstance(String bwaJNILibPath, Stri...
method pairAlign (line 63) | public static List<BasicSamRecord> pairAlign(String bwaJNILibPath,
method alignAndAddIntoResult (line 98) | private static void alignAndAddIntoResult(BwaIndex bwaIndex, List<Basi...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/adapters/HaplotypeCallerAdapter.java
class HaplotypeCallerAdapter (line 60) | public class HaplotypeCallerAdapter {
method getActiveRegions (line 62) | public static List<SerializableActiveRegionMapData> getActiveRegions(R...
class StaticData (line 98) | public static class StaticData {
method getStaticDataInstance (line 106) | public static StaticData getStaticDataInstance(RefContigInfo refContig...
method callVariants (line 130) | public static List<VcfRecord> callVariants(RefContigInfo refContigInfo,
method callVariants (line 139) | public static List<VcfRecord> callVariants(RefContigInfo refContigInfo,
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/adapters/IndelRealignAdapter.java
class IndelRealignAdapter (line 50) | public class IndelRealignAdapter {
method realign (line 52) | public static List<BasicSamRecord> realign(RefContigInfo refContigInfo,
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/adapters/MutectAdapter.java
class MutectAdapter (line 50) | public class MutectAdapter {
method callVariants (line 51) | public static List<VcfRecord> callVariants(RefContigInfo refContigInfo,
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/basic/CountSet.java
class CountSet (line 34) | public class CountSet implements Cloneable, Set<Integer> {
method CountSet (line 50) | public CountSet(final CountSet template) {
method CountSet (line 60) | public CountSet(int initialCapacity) {
method setTo (line 71) | public void setTo(int value) {
method setTo (line 82) | public void setTo(int ... values) {
method incAll (line 95) | public boolean incAll(final int delta) {
method min (line 109) | public int min() {
method max (line 121) | public int max() {
method addRange (line 137) | public boolean addRange(final int fromValue, final int toValue) {
method add (line 159) | public boolean add(final int value) {
method addAll (line 176) | public boolean addAll(final int ... values) {
method addAll (line 184) | @Override
method addAll (line 205) | public boolean addAll(final int[] source, final int fromIndex, final i...
method addAll (line 222) | public boolean addAll(final CountSet other) {
method contains (line 231) | public boolean contains(final int value) {
method ensureCapacity (line 242) | private void ensureCapacity(final int capacity) {
method size (line 249) | @Override
method isEmpty (line 254) | @Override
method contains (line 259) | @Override
method iterator (line 269) | @Override
method toArray (line 274) | @Override
method toArray (line 282) | @Override
method toIntArray (line 305) | public int[] toIntArray() {
method copyTo (line 317) | public void copyTo(final int[] dest, int offset) {
method copyTo (line 332) | public void copyTo(final int[] dest) {
method add (line 337) | @Override
method remove (line 342) | @Override
method remove (line 352) | public boolean remove(final int i) {
method containsAll (line 362) | @Override
method retainAll (line 371) | @Override
method removeIndices (line 407) | private void removeIndices(final int fromIdx, final int toIdx) {
method removeAll (line 412) | @Override
method removeIndex (line 420) | private void removeIndex(int idx) {
method clear (line 424) | @Override
method clone (line 433) | @SuppressWarnings("all")
method toString (line 438) | @Override
class MyIterator (line 453) | private class MyIterator implements Iterator<Integer> {
method hasNext (line 457) | @Override
method next (line 462) | @Override
method remove (line 469) | @Override
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/basic/DefaultHashMap.java
class DefaultHashMap (line 29) | public class DefaultHashMap<K,V> extends HashMap<K,V> {
method setDefaultValue (line 31) | public void setDefaultValue(V defaultValue) {
method DefaultHashMap (line 35) | public DefaultHashMap(V defaultValue) {
method get (line 38) | @Override
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/basic/IndexedSet.java
class IndexedSet (line 42) | public class IndexedSet<E> extends AbstractSet<E> implements Set<E> {
method IndexedSet (line 69) | public IndexedSet(final int initialCapacity) {
method IndexedSet (line 86) | @SuppressWarnings("unchecked")
method IndexedSet (line 117) | @SuppressWarnings("unchecked")
method asList (line 151) | public List<E> asList() {
method checkIndex (line 168) | protected void checkIndex(final int index) {
method iterator (line 175) | @Override
method size (line 184) | @Override
method contains (line 194) | @Override
method add (line 215) | @Override
method remove (line 242) | @Override
method clear (line 259) | @Override
method equals (line 270) | @Override
method equals (line 294) | public boolean equals(final IndexedSet<?> other) {
method hashCode (line 308) | @Override
method get (line 325) | public E get(final int index) {
method indexOf (line 339) | public int indexOf(final E o) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/basic/IntMaxHeap.java
class IntMaxHeap (line 29) | public class IntMaxHeap {
method IntMaxHeap (line 41) | public IntMaxHeap(final int initialCapacity) {
method add (line 56) | public void add(final int v) {
method addWithoutCheckingCapacity (line 66) | private void addWithoutCheckingCapacity(final int v) {
method add (line 88) | public void add(final int ... v) {
method ensureCapacity (line 96) | private void ensureCapacity(final int newSize) {
method peek (line 108) | public int peek() {
method remove (line 121) | public int remove() {
method removeUpdate (line 132) | private void removeUpdate() {
method isEmpty (line 185) | public boolean isEmpty() {
method size (line 194) | public int size() {
method clear (line 201) | public void clear() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/basic/NestedIntegerArray.java
class NestedIntegerArray (line 34) | public class NestedIntegerArray<T> {
method NestedIntegerArray (line 46) | public NestedIntegerArray(final int... dimensions) {
method getDimensions (line 66) | public int[] getDimensions() {
method preallocateArray (line 79) | private void preallocateArray( Object[] subarray, int dimension, int d...
method get (line 90) | public T get(final int... keys) {
method put (line 120) | public boolean put(final T value, final int... keys) { // WARNING! val...
method getAllValues (line 160) | public List<T> getAllValues() {
method fillAllValues (line 166) | private void fillAllValues(final Object[] array, final List<T> result) {
class Leaf (line 177) | public static class Leaf<T> {
method Leaf (line 181) | public Leaf(final int[] keys, final T value) {
method getAllLeaves (line 187) | public List<Leaf<T>> getAllLeaves() {
method fillAllLeaves (line 193) | private void fillAllLeaves(final Object[] array, final int[] path, fin...
method appendToPath (line 207) | private int[] appendToPath(final int[] path, final int newKey) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/basic/Pair.java
class Pair (line 27) | public class Pair<X,Y> {
method Pair (line 32) | public Pair(X x, Y y) { first = x; second = y; }
method set (line 34) | public void set(X x, Y y) { first = x; second = y; }
method getFirst (line 39) | public X getFirst() { return first; }
method getSecond (line 44) | public Y getSecond() { return second; }
method equals (line 51) | @Override
method hashCode (line 77) | @Override
method toString (line 88) | public String toString() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/basic/Permutation.java
type Permutation (line 31) | public interface Permutation<E> {
method isPartial (line 42) | public boolean isPartial();
method isNonPermuted (line 49) | public boolean isNonPermuted();
method toIndex (line 61) | public int toIndex(final int fromIndex);
method fromIndex (line 71) | public int fromIndex(final int toIndex);
method fromSize (line 78) | public int fromSize();
method toSize (line 85) | public int toSize();
method fromList (line 91) | public List<E> fromList();
method toList (line 98) | public List<E> toList();
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/basic/PrimitivePair.java
class PrimitivePair (line 27) | public class PrimitivePair {
class Int (line 30) | public static class Int {
method Int (line 35) | public Int(int x, int y) { first = x; second = y; }
method Int (line 36) | public Int() { first = second = 0; }
method set (line 38) | public void set(int x, int y) { first = x; second = y; }
method getFirst (line 43) | public int getFirst() { return first; }
method getSecond (line 48) | public int getSecond() { return second; }
method add (line 58) | public PrimitivePair.Int add(PrimitivePair.Int p) {
method subtract (line 72) | public PrimitivePair.Int subtract(PrimitivePair.Int p) {
method assignFrom (line 83) | public PrimitivePair.Int assignFrom(PrimitivePair.Int p ) {
class Long (line 92) | public static class Long {
method Long (line 97) | public Long(long x, long y) { first = x; second = y; }
method Long (line 98) | public Long() { first = second = 0; }
method set (line 100) | public void set(long x, long y) { first = x; second = y; }
method getFirst (line 105) | public long getFirst() { return first; }
method getSecond (line 110) | public long getSecond() { return second; }
method add (line 120) | public PrimitivePair.Long add(PrimitivePair.Int p) {
method add (line 134) | public PrimitivePair.Long add(PrimitivePair.Long p) {
method subtract (line 148) | public PrimitivePair.Long subtract(PrimitivePair.Int p) {
method subtract (line 162) | public PrimitivePair.Long subtract(PrimitivePair.Long p) {
method assignFrom (line 173) | public PrimitivePair.Long assignFrom(PrimitivePair.Long p ) {
method assignFrom (line 184) | public PrimitivePair.Long assignFrom(PrimitivePair.Int p ) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/reference/RefContentProvider.java
class RefContentProvider (line 33) | public class RefContentProvider {
method RefContentProvider (line 64) | public RefContentProvider(SAMSequenceDictionary samSequenceDictionary,
method getLocus (line 99) | public GenomeLoc getLocus() {
method getReferenceContext (line 109) | public ReferenceContext getReferenceContext(GenomeLoc locus) {
method getReferenceContext (line 133) | public ReferenceContext getReferenceContext(GenomeLoc locus, int overl...
method getSamSequenceDictionary (line 139) | public SAMSequenceDictionary getSamSequenceDictionary() {
method getOriginStartCoordinate (line 143) | public int getOriginStartCoordinate() {
method getOriginEndCoordinate (line 147) | public int getOriginEndCoordinate() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/reference/RefMetaDataTracker.java
class RefMetaDataTracker (line 44) | public class RefMetaDataTracker {
method RefMetaDataTracker (line 54) | public RefMetaDataTracker() {
method RefMetaDataTracker (line 58) | public RefMetaDataTracker(final Collection<RODRecordList> allBindings) {
method getValues (line 98) | public <T extends Feature> List<T> getValues(final Class<T> type) {
method getValues (line 111) | public <T extends Feature> List<T> getValues(final Class<T> type, fina...
method getFirstValue (line 129) | public <T extends Feature> T getFirstValue(final Class<T> type) {
method getFirstValue (line 143) | public <T extends Feature> T getFirstValue(final Class<T> type, final ...
method getPrioritizedValue (line 155) | public <T extends Feature> List<T> getPrioritizedValue(final Collectio...
method getValues (line 186) | public <T extends Feature> List<T> getValues(final RodBinding<T> rodBi...
method getValues (line 201) | public <T extends Feature> List<T> getValues(final Collection<RodBindi...
method getValues (line 208) | public <T extends Feature> List<T> getValues(String name) {
method getAllValues (line 218) | public <T extends Feature> List<T> getAllValues() {
method getValues (line 237) | public <T extends Feature> List<T> getValues(final RodBinding<T> rodBi...
method getValues (line 249) | public <T extends Feature> List<T> getValues(final Collection<RodBindi...
method getFirstValue (line 265) | public <T extends Feature> T getFirstValue(final RodBinding<T> rodBind...
method getFirstValue (line 279) | public <T extends Feature> T getFirstValue(final RodBinding<T> rodBind...
method getFirstValue (line 292) | public <T extends Feature> T getFirstValue(final Collection<RodBinding...
method getFirstValue (line 311) | public <T extends Feature> T getFirstValue(final Collection<RodBinding...
method hasValues (line 326) | public boolean hasValues(final RodBinding rodBinding) {
method getBoundRodTracks (line 336) | public List<RODRecordList> getBoundRodTracks() {
method getNTracksWithBoundFeatures (line 345) | public int getNTracksWithBoundFeatures() {
method hasValues (line 353) | protected boolean hasValues(final String name) {
method getValues (line 357) | protected <T extends Feature> List<T> getValues(final Class<T> type, f...
method getValues (line 361) | protected <T extends Feature> List<T> getValues(final Class<T> type, f...
method getFirstValue (line 365) | protected <T extends Feature> T getFirstValue(final Class<T> type, fin...
method getFirstValue (line 369) | protected <T extends Feature> T getFirstValue(final Class<T> type, fin...
method safeGetFirst (line 389) | private <T extends Feature> T safeGetFirst(final List<T> l) {
method addValues (line 393) | private <T extends Feature> List<T> addValues(final Collection<String>...
method addValues (line 410) | private <T extends Feature> List<T> addValues(final String name,
method getTrackDataByName (line 456) | private RODRecordList getTrackDataByName(final String name) {
method getTrackDataByName (line 462) | private RODRecordList getTrackDataByName(final RodBinding binding) {
method canonicalName (line 472) | private String canonicalName(final String name) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/reference/ReferenceContext.java
class ReferenceContext (line 29) | public class ReferenceContext {
method ReferenceContext (line 40) | public ReferenceContext(GenomeLoc locus, int contigId, byte[] bases) {
method ReferenceContext (line 47) | public ReferenceContext(GenomeLoc locus, GenomeLoc window, int contigI...
method getContigId (line 59) | public int getContigId() {
method getLocus (line 68) | public GenomeLoc getLocus() {
method getWindow (line 72) | public GenomeLoc getWindow() {
method getBase (line 81) | public byte getBase() {
method getBases (line 91) | public byte[] getBases() {
method getForwardBases (line 95) | public byte[] getForwardBases() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/AlignmentContext.java
class AlignmentContext (line 32) | public class AlignmentContext implements HasGenomeLocation {
method AlignmentContext (line 43) | public AlignmentContext(GenomeLoc loc, ReadBackedPileup basePileup) {
method AlignmentContext (line 47) | public AlignmentContext(GenomeLoc loc, ReadBackedPileup basePileup, lo...
method getBasePileup (line 67) | public ReadBackedPileup getBasePileup() {
method hasPileupBeenDownsampled (line 76) | public boolean hasPileupBeenDownsampled() {
method size (line 85) | public int size() {
method getContig (line 89) | public String getContig() {
method getPosition (line 93) | public long getPosition() {
method getLocation (line 97) | public GenomeLoc getLocation() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/AlignmentStateMachine.java
class AlignmentStateMachine (line 41) | public class AlignmentStateMachine {
method AlignmentStateMachine (line 70) | public AlignmentStateMachine(final GATKSAMRecord read) {
method initializeAsLeftEdge (line 82) | private void initializeAsLeftEdge() {
method getRead (line 91) | public GATKSAMRecord getRead() {
method getReferenceIndex (line 100) | public int getReferenceIndex() {
method isLeftEdge (line 108) | public boolean isLeftEdge() {
method isRightEdge (line 116) | public boolean isRightEdge() {
method getReadOffset (line 125) | public int getReadOffset() {
method getCurrentCigarElement (line 139) | public CigarElement getCurrentCigarElement() {
method getCurrentCigarElementOffset (line 155) | public int getCurrentCigarElementOffset() {
method getOffsetIntoCurrentCigarElement (line 170) | public int getOffsetIntoCurrentCigarElement() {
method getCigarOperator (line 182) | public CigarOperator getCigarOperator() {
method toString (line 186) | @Override
method stepForwardOnGenome (line 219) | public CigarOperator stepForwardOnGenome() {
method makePileupElement (line 300) | public final PileupElement makePileupElement() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/GATKSAMReadGroupRecord.java
class GATKSAMReadGroupRecord (line 30) | public class GATKSAMReadGroupRecord extends SAMReadGroupRecord {
method GATKSAMReadGroupRecord (line 41) | public GATKSAMReadGroupRecord(final String id) {
method GATKSAMReadGroupRecord (line 45) | public GATKSAMReadGroupRecord(SAMReadGroupRecord record) {
method getNGSPlatform (line 57) | public NGSPlatform getNGSPlatform() {
method toString (line 66) | @Override
method getSample (line 75) | @Override
method setSample (line 84) | @Override
method getPlatform (line 91) | @Override
method setPlatform (line 100) | @Override
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/GATKSAMRecord.java
class GATKSAMRecord (line 43) | public class GATKSAMRecord extends SAMRecord implements Cloneable{
method GATKSAMRecord (line 84) | public GATKSAMRecord(final SAMFileHeader header) {
method GATKSAMRecord (line 92) | public GATKSAMRecord(final SAMRecord read) {
method GATKSAMRecord (line 123) | public GATKSAMRecord(final SAMFileHeader header,
method isStrandless (line 171) | public boolean isStrandless() {
method setIsStrandless (line 179) | public void setIsStrandless(final boolean isStrandless) {
method getReadNegativeStrandFlag (line 183) | @Override
method setReadNegativeStrandFlag (line 188) | @Override
method getReadString (line 200) | @Override
method setReadString (line 207) | @Override
method getReadGroup (line 217) | @Override
method setReadGroup (line 236) | public void setReadGroup( final GATKSAMReadGroupRecord readGroup ) {
method hashCode (line 243) | @Override
method equals (line 248) | @Override
method setBaseQualities (line 261) | public void setBaseQualities( final byte[] quals, final EventType erro...
method getBaseQualities (line 277) | public byte[] getBaseQualities( final EventType errorModel ) {
method hasBaseIndelQualities (line 293) | public boolean hasBaseIndelQualities() {
method getExistingBaseInsertionQualities (line 300) | public byte[] getExistingBaseInsertionQualities() {
method getExistingBaseDeletionQualities (line 307) | public byte[] getExistingBaseDeletionQualities() {
method getBaseInsertionQualities (line 317) | public byte[] getBaseInsertionQualities() {
method getBaseDeletionQualities (line 333) | public byte[] getBaseDeletionQualities() {
method getNGSPlatform (line 347) | public NGSPlatform getNGSPlatform() {
method containsTemporaryAttribute (line 365) | public boolean containsTemporaryAttribute(Object key) {
method setTemporaryAttribute (line 381) | public Object setTemporaryAttribute(Object key, Object value) {
method getTemporaryAttribute (line 398) | public Object getTemporaryAttribute(Object key) {
method isEmpty (line 413) | public boolean isEmpty() {
method simplify (line 420) | public GATKSAMRecord simplify () {
method getSoftStart (line 440) | public int getSoftStart() {
method getSoftEnd (line 462) | public int getSoftEnd() {
method resetSoftStartAndEnd (line 490) | public void resetSoftStartAndEnd() {
method resetSoftStartAndEnd (line 499) | public void resetSoftStartAndEnd(int softStart, int softEnd) {
method getOriginalAlignmentStart (line 511) | public int getOriginalAlignmentStart() {
method getOriginalAlignmentEnd (line 522) | public int getOriginalAlignmentEnd() {
method emptyRead (line 539) | public static GATKSAMRecord emptyRead(GATKSAMRecord read) {
method createQualityModifiedRead (line 588) | public static GATKSAMRecord createQualityModifiedRead(final GATKSAMRec...
method clone (line 615) | @Override
method getAdaptorBoundary (line 642) | public int getAdaptorBoundary() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/IntervalLocusSamTraverser.java
class IntervalLocusSamTraverser (line 37) | public class IntervalLocusSamTraverser {
method IntervalLocusSamTraverser (line 43) | public IntervalLocusSamTraverser(SamContentProvider samContentProvider,
method IntervalLocusSamTraverser (line 49) | public IntervalLocusSamTraverser(SamContentProvider samContentProvider,
method getOverlappedIntervals (line 58) | private List<GenomeLoc> getOverlappedIntervals(GenomeLoc refLocus, Lis...
method rewind (line 103) | public void rewind() {
method hasNext (line 108) | public boolean hasNext() {
method next (line 113) | public AlignmentContext next() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/LocusSamTraverser.java
class LocusSamTraverser (line 37) | public class LocusSamTraverser {
method LocusSamTraverser (line 53) | public LocusSamTraverser(SamContentProvider samContentProvider, Genome...
method LocusSamTraverser (line 57) | public LocusSamTraverser(SamContentProvider samContentProvider, Genome...
method rewind (line 72) | public void rewind() {
method hasNext (line 81) | public boolean hasNext() {
method next (line 85) | public AlignmentContext next() {
class PileupTraker (line 146) | class PileupTraker {
method PileupTraker (line 151) | PileupTraker(GATKSAMRecord read) {
method stepForwardOnGenome (line 157) | void stepForwardOnGenome() {
method isBeforeEnd (line 161) | boolean isBeforeEnd(int coordinate) {
method isAfterStart (line 165) | boolean isAfterStart(int coordinate) {
method forwardToCoordinate (line 175) | public void forwardToCoordinate(int newCoordinate) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/MergingPileupElementIterator.java
class MergingPileupElementIterator (line 33) | class MergingPileupElementIterator<PE extends PileupElement> implements ...
method MergingPileupElementIterator (line 36) | public MergingPileupElementIterator(PerSamplePileupElementTracker<PE> ...
method hasNext (line 45) | public boolean hasNext() {
method next (line 49) | public PE next() {
method remove (line 57) | public void remove() {
class PileupElementIteratorComparator (line 64) | private class PileupElementIteratorComparator implements Comparator<Pe...
method compare (line 65) | public int compare(PeekableIterator<PE> lhs, PeekableIterator<PE> rh...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/PileupElement.java
class PileupElement (line 36) | public class PileupElement implements Comparable<PileupElement> {
method PileupElement (line 66) | public PileupElement(final GATKSAMRecord read, final int baseOffset,
method PileupElement (line 90) | public PileupElement(final PileupElement toCopy) {
method isDeletion (line 99) | public boolean isDeletion() {
method isBeforeDeletionStart (line 111) | public boolean isBeforeDeletionStart() {
method isAfterDeletionEnd (line 124) | public boolean isAfterDeletionEnd() {
method getRead (line 132) | public GATKSAMRecord getRead() {
method getOffset (line 143) | public int getOffset() {
method getBase (line 154) | public byte getBase() {
method getBaseIndex (line 158) | @Deprecated
method getQual (line 167) | public byte getQual() {
method getBaseInsertionQual (line 175) | public byte getBaseInsertionQual() {
method getBaseDeletionQual (line 183) | public byte getBaseDeletionQual() {
method getLengthOfImmediatelyFollowingIndel (line 200) | public int getLengthOfImmediatelyFollowingIndel() {
method getNextIndelCigarElement (line 214) | private CigarElement getNextIndelCigarElement() {
method getBasesOfImmediatelyFollowingInsertion (line 239) | public String getBasesOfImmediatelyFollowingInsertion() {
method getMappingQual (line 253) | public int getMappingQual() {
method toString (line 257) | public String toString() {
method compareTo (line 261) | @Override
method getCurrentCigarElement (line 285) | public CigarElement getCurrentCigarElement() {
method getCurrentCigarOffset (line 297) | public int getCurrentCigarOffset() {
method getOffsetInCurrentCigar (line 309) | public int getOffsetInCurrentCigar() {
method getBetweenPrevPosition (line 326) | public LinkedList<CigarElement> getBetweenPrevPosition() {
method getBetweenNextPosition (line 337) | public LinkedList<CigarElement> getBetweenNextPosition() {
type Direction (line 342) | private enum Direction { PREV, NEXT }
method getBetween (line 350) | private LinkedList<CigarElement> getBetween(final Direction direction) {
method getPreviousOnGenomeCigarElement (line 387) | public CigarElement getPreviousOnGenomeCigarElement() {
method getNextOnGenomeCigarElement (line 398) | public CigarElement getNextOnGenomeCigarElement() {
method getNeighboringOnGenomeCigarElement (line 407) | private CigarElement getNeighboringOnGenomeCigarElement(final Directio...
method hasOperator (line 428) | private boolean hasOperator(final CigarElement maybeCigarElement, fina...
method isAfterInsertion (line 437) | public boolean isAfterInsertion() { return isAfter(getBetweenPrevPosit...
method isBeforeInsertion (line 444) | public boolean isBeforeInsertion() { return isBefore(getBetweenNextPos...
method isAfterSoftClip (line 451) | public boolean isAfterSoftClip() { return isAfter(getBetweenPrevPositi...
method isBeforeSoftClip (line 458) | public boolean isBeforeSoftClip() { return isBefore(getBetweenNextPosi...
method isNextToSoftClip (line 465) | public boolean isNextToSoftClip() { return isAfterSoftClip() || isBefo...
method atEndOfCurrentCigar (line 475) | public boolean atEndOfCurrentCigar() {
method atStartOfCurrentCigar (line 487) | public boolean atStartOfCurrentCigar() {
method isAfter (line 498) | private boolean isAfter(final LinkedList<CigarElement> elements, final...
method isBefore (line 509) | private boolean isBefore(final List<CigarElement> elements, final Ciga...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/PileupElementTracker.java
class PileupElementTracker (line 36) | abstract class PileupElementTracker<PE extends PileupElement> implements...
method size (line 37) | public abstract int size();
method unorderedIterable (line 44) | public abstract Iterable<PE> unorderedIterable();
method unorderedIterator (line 50) | public Iterator<PE> unorderedIterator() { return unorderedIterable().i...
method copy (line 52) | public abstract PileupElementTracker<PE> copy();
class UnifiedPileupElementTracker (line 55) | class UnifiedPileupElementTracker<PE extends PileupElement> extends Pile...
method copy (line 58) | @Override
method UnifiedPileupElementTracker (line 66) | public UnifiedPileupElementTracker() { pileup = new LinkedList<PE>(); }
method UnifiedPileupElementTracker (line 67) | public UnifiedPileupElementTracker(List<PE> pileup) { this.pileup = pi...
method add (line 69) | public void add(PE element) {
method get (line 73) | public PE get(int index) {
method size (line 77) | public int size() {
method iterator (line 81) | public Iterator<PE> iterator() { return pileup.iterator(); }
method unorderedIterable (line 82) | public Iterable<PE> unorderedIterable() { return this; }
class PerSamplePileupElementTracker (line 85) | class PerSamplePileupElementTracker<PE extends PileupElement> extends Pi...
method PerSamplePileupElementTracker (line 89) | public PerSamplePileupElementTracker() {
method copy (line 93) | public PerSamplePileupElementTracker<PE> copy() {
method getSamples (line 105) | public Collection<String> getSamples() {
method getElements (line 109) | public PileupElementTracker<PE> getElements(final String sample) {
method getElements (line 113) | public PileupElementTracker<PE> getElements(final Collection<String> s...
method addElements (line 121) | public void addElements(final String sample, PileupElementTracker<PE> ...
method iterator (line 126) | public Iterator<PE> iterator() { return new MergingPileupElementIterat...
method size (line 128) | public int size() {
method unorderedIterable (line 133) | public Iterable<PE> unorderedIterable() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/ReadBackedPileup.java
type ReadBackedPileup (line 38) | public interface ReadBackedPileup extends Iterable<PileupElement>, HasGe...
method getPileupWithoutDeletions (line 46) | public ReadBackedPileup getPileupWithoutDeletions();
method getOverlappingFragmentFilteredPileup (line 56) | public ReadBackedPileup getOverlappingFragmentFilteredPileup();
method getOverlappingFragmentFilteredPileup (line 66) | public ReadBackedPileup getOverlappingFragmentFilteredPileup(boolean d...
method getPileupWithoutMappingQualityZeroReads (line 75) | public ReadBackedPileup getPileupWithoutMappingQualityZeroReads();
method getPositiveStrandPileup (line 81) | public ReadBackedPileup getPositiveStrandPileup();
method getNegativeStrandPileup (line 87) | public ReadBackedPileup getNegativeStrandPileup();
method getBaseAndMappingFilteredPileup (line 95) | public ReadBackedPileup getBaseAndMappingFilteredPileup( int minBaseQ,...
method getBaseFilteredPileup (line 102) | public ReadBackedPileup getBaseFilteredPileup( int minBaseQ );
method getMappingFilteredPileup (line 109) | public ReadBackedPileup getMappingFilteredPileup( int minMapQ );
method getDownsampledPileup (line 117) | public ReadBackedPileup getDownsampledPileup(int desiredCoverage);
method getReadGroups (line 123) | public Collection<String> getReadGroups();
method getPileupForReadGroup (line 130) | public ReadBackedPileup getPileupForReadGroup(String readGroupId);
method getPileupForReadGroups (line 137) | public ReadBackedPileup getPileupForReadGroups(final HashSet<String> r...
method getPileupForLane (line 145) | public ReadBackedPileup getPileupForLane(String laneID);
method getSamples (line 151) | public Collection<String> getSamples();
method getPileupForSamples (line 159) | public ReadBackedPileup getPileupForSamples(Collection<String> sampleN...
method getPileupsForSamples (line 169) | public Map<String, ReadBackedPileup> getPileupsForSamples(Collection<S...
method getPileupForSample (line 177) | public ReadBackedPileup getPileupForSample(String sampleName);
method getNumberOfDeletions (line 184) | public int getNumberOfDeletions();
method getNumberOfDeletionsAfterThisElement (line 191) | public int getNumberOfDeletionsAfterThisElement();
method getNumberOfInsertionsAfterThisElement (line 198) | public int getNumberOfInsertionsAfterThisElement();
method getNumberOfMappingQualityZeroReads (line 200) | public int getNumberOfMappingQualityZeroReads();
method getNumberOfElements (line 205) | public int getNumberOfElements();
method depthOfCoverage (line 210) | public int depthOfCoverage();
method isEmpty (line 215) | public boolean isEmpty();
method getLocation (line 220) | public GenomeLoc getLocation();
method getBaseCounts (line 228) | public int[] getBaseCounts();
method getPileupString (line 230) | public String getPileupString(Character ref);
method getReads (line 236) | public List<GATKSAMRecord> getReads();
method getOffsets (line 242) | public List<Integer> getOffsets();
method getBases (line 248) | public byte[] getBases();
method getQuals (line 254) | public byte[] getQuals();
method getMappingQuals (line 260) | public int[] getMappingQuals();
method getStartSortedPileup (line 267) | public ReadBackedPileup getStartSortedPileup();
method toFragments (line 273) | public FragmentCollection<PileupElement> toFragments();
method copy (line 280) | public ReadBackedPileup copy();
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/ReadBackedPileupImpl.java
class ReadBackedPileupImpl (line 45) | public class ReadBackedPileupImpl implements ReadBackedPileup {
method ReadBackedPileupImpl (line 61) | public ReadBackedPileupImpl(GenomeLoc loc) {
method ReadBackedPileupImpl (line 70) | public ReadBackedPileupImpl(GenomeLoc loc, List<PileupElement> pileup) {
method ReadBackedPileupImpl (line 84) | @Deprecated
method ReadBackedPileupImpl (line 89) | protected ReadBackedPileupImpl(GenomeLoc loc, PileupElementTracker<Pil...
method ReadBackedPileupImpl (line 94) | public ReadBackedPileupImpl(GenomeLoc loc, Map<String, ReadBackedPileu...
method createNewPileup (line 103) | protected ReadBackedPileupImpl createNewPileup(GenomeLoc loc, PileupEl...
method getPileupWithoutDeletions (line 120) | @Override
method getOverlappingFragmentFilteredPileup (line 158) | @Override
method getOverlappingFragmentFilteredPileup (line 171) | @Override
method getPileupWithoutMappingQualityZeroReads (line 228) | @Override
method getPositiveStrandPileup (line 258) | public ReadBackedPileupImpl getPositiveStrandPileup() {
method getNegativeStrandPileup (line 287) | public ReadBackedPileupImpl getNegativeStrandPileup() {
method getBaseAndMappingFilteredPileup (line 319) | @Override
method getBaseFilteredPileup (line 352) | @Override
method getMappingFilteredPileup (line 364) | @Override
method getReadGroups (line 374) | @Override
method getPileupForReadGroup (line 388) | @Override
method getPileupForReadGroups (line 423) | @Override
method getPileupForLane (line 452) | @Override
method getSamples (line 483) | public Collection<String> getSamples() {
method getDownsampledPileup (line 506) | @Override
method getPileupForSamples (line 553) | @Override
method getPileupsForSamples (line 576) | @Override
method getPileupForSample (line 609) | @Override
method iterator (line 646) | @Override
method getNumberOfDeletions (line 681) | @Override
method getNumberOfMappingQualityZeroReads (line 694) | @Override
method getNumberOfElements (line 712) | @Override
method depthOfCoverage (line 720) | @Override
method isEmpty (line 731) | @Override
method getLocation (line 740) | @Override
method getBaseCounts (line 751) | @Override
method getPileupString (line 777) | @Override
method getReads (line 799) | @Override
method getNumberOfDeletionsAfterThisElement (line 808) | @Override
method getNumberOfInsertionsAfterThisElement (line 818) | @Override
method getOffsets (line 833) | @Override
method getBases (line 847) | @Override
method getQuals (line 862) | @Override
method getMappingQuals (line 877) | @Override
method quals2String (line 887) | static String quals2String(byte[] quals) {
method getQualsString (line 898) | private String getQualsString() {
method getStartSortedPileup (line 907) | @Override
method toFragments (line 940) | @Override
method copy (line 945) | @Override
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/ReadSamTraverser.java
class ReadSamTraverser (line 32) | public class ReadSamTraverser {
method ReadSamTraverser (line 38) | public ReadSamTraverser(SamContentProvider samContentProvider) {
method ReadSamTraverser (line 42) | public ReadSamTraverser(SamContentProvider samContentProvider, FilterU...
method rewind (line 58) | public void rewind() {
method hasNext (line 62) | public boolean hasNext() {
method next (line 66) | public GATKSAMRecord next() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/RegionSamTraverser.java
class RegionSamTraverser (line 35) | public class RegionSamTraverser {
method RegionSamTraverser (line 44) | public RegionSamTraverser(SamContentProvider samContentProvider) {
method RegionSamTraverser (line 48) | public RegionSamTraverser(SamContentProvider samContentProvider, Filte...
method rewind (line 65) | public void rewind() {
method getOverlappedReads (line 79) | public List<GATKSAMRecord> getOverlappedReads(GenomeLoc loc) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/SamContentProvider.java
class SamContentProvider (line 38) | public class SamContentProvider {
method SamContentProvider (line 45) | public SamContentProvider(SamRecordPartition samRecordPartition) {
method SamContentProvider (line 66) | public SamContentProvider(List<GATKSAMRecord> gatksamRecords,
method SamContentProvider (line 71) | public SamContentProvider(List<GATKSAMRecord> gatksamRecords,
method getSamFileHeader (line 85) | public SAMFileHeader getSamFileHeader() {
method getGatksamRecords (line 89) | public ArrayList<GATKSAMRecord> getGatksamRecords() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/filter/BadCigarFilter.java
class BadCigarFilter (line 34) | public class BadCigarFilter extends Filter {
method filterOut (line 36) | public boolean filterOut(final SAMRecord rec) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/filter/BadMateFilter.java
class BadMateFilter (line 29) | public class BadMateFilter extends Filter {
method filterOut (line 31) | public boolean filterOut(final SAMRecord rec) {
method hasBadMate (line 35) | public static boolean hasBadMate(final SAMRecord rec) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/filter/DuplicateReadFilter.java
class DuplicateReadFilter (line 29) | public class DuplicateReadFilter extends Filter{
method filterOut (line 31) | @Override
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/filter/FailsVendorQualityCheckFilter.java
class FailsVendorQualityCheckFilter (line 29) | public class FailsVendorQualityCheckFilter extends Filter {
method filterOut (line 30) | @Override
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/filter/Filter.java
class Filter (line 29) | public abstract class Filter {
method filterOut (line 30) | public abstract boolean filterOut(SAMRecord read);
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/filter/FilterUtils.java
class FilterUtils (line 34) | public class FilterUtils {
method FilterUtils (line 47) | public FilterUtils() {
method FilterUtils (line 51) | public FilterUtils(String[] filterNames) {
method addFilter (line 56) | public void addFilter(Filter filter) {
method addFilter (line 62) | public void addFilter(String filterName) {
method addFilter (line 71) | public void addFilter(String[] filterNames) {
method filter (line 83) | public boolean filter(SAMRecord read) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/filter/HCMappingQualityFilter.java
class HCMappingQualityFilter (line 29) | public class HCMappingQualityFilter extends Filter{
method filterOut (line 32) | @Override
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/filter/InOriginIntervalFilter.java
class InOriginIntervalFilter (line 32) | public class InOriginIntervalFilter extends Filter {
method InOriginIntervalFilter (line 36) | public InOriginIntervalFilter(RefContentProvider refContentProvider) {
method filterOut (line 40) | @Override
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/filter/MappingQualityUnavailableFilter.java
class MappingQualityUnavailableFilter (line 30) | public class MappingQualityUnavailableFilter extends Filter{
method filterOut (line 31) | @Override
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/filter/MappingQualityZeroFilter.java
class MappingQualityZeroFilter (line 29) | public class MappingQualityZeroFilter extends Filter {
method filterOut (line 30) | public boolean filterOut(SAMRecord rec) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/filter/NegativeAlignmentStartFilter.java
class NegativeAlignmentStartFilter (line 30) | public class NegativeAlignmentStartFilter extends Filter {
method filterOut (line 32) | @Override
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/filter/NotPrimaryAlignmentFilter.java
class NotPrimaryAlignmentFilter (line 29) | public class NotPrimaryAlignmentFilter extends Filter{
method filterOut (line 31) | @Override
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/filter/SupplementaryReadFilter.java
class SupplementaryReadFilter (line 29) | public class SupplementaryReadFilter extends Filter {
method filterOut (line 31) | @Override
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/filter/UnmappedReadFilter.java
class UnmappedReadFilter (line 29) | public class UnmappedReadFilter extends Filter{
method filterOut (line 31) | @Override
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/vcf/GATKFeature.java
class GATKFeature (line 32) | public abstract class GATKFeature implements Feature, HasGenomeLocation {
method GATKFeature (line 34) | public GATKFeature(String name) {
method setName (line 40) | protected void setName(String name) {
method getName (line 44) | public String getName() {
method getLocation (line 48) | public abstract GenomeLoc getLocation();
method getUnderlyingObject (line 51) | public abstract Object getUnderlyingObject();
class TribbleGATKFeature (line 56) | public static class TribbleGATKFeature extends GATKFeature {
method TribbleGATKFeature (line 61) | public TribbleGATKFeature(GenomeLocParser genomeLocParser,Feature f,...
method getLocation (line 66) | public GenomeLoc getLocation() {
method getChr (line 72) | @Override
method getStart (line 78) | @Override
method getEnd (line 87) | @Override
method getUnderlyingObject (line 93) | public Object getUnderlyingObject() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/vcf/HomoSapiensConstants.java
class HomoSapiensConstants (line 27) | public class HomoSapiensConstants {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/vcf/RODContentProvider.java
class RODContentProvider (line 40) | public class RODContentProvider {
method RODContentProvider (line 47) | public RODContentProvider(String name, VcfRecordPartition partition, G...
method RODContentProvider (line 65) | public RODContentProvider(String name, VCFHeader vcfFileHeader,
method getVcfFileHeader (line 78) | public VCFHeader getVcfFileHeader() {
method getFeatures (line 82) | public ArrayList<GATKFeature> getFeatures() {
method getName (line 86) | public String getName() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/vcf/RODNames.java
class RODNames (line 27) | public class RODNames {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/vcf/RODRecordList.java
type RODRecordList (line 32) | public interface RODRecordList extends List<GATKFeature>, Comparable<ROD...
method getLocation (line 33) | GenomeLoc getLocation();
method getName (line 35) | String getName();
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/vcf/RODRecordListImpl.java
class RODRecordListImpl (line 37) | public class RODRecordListImpl extends AbstractList<GATKFeature>
method RODRecordListImpl (line 43) | public RODRecordListImpl(String name) {
method RODRecordListImpl (line 63) | public RODRecordListImpl(String name, Collection<GATKFeature> data, Ge...
method getLocation (line 81) | public GenomeLoc getLocation() {
method getName (line 85) | public String getName() {
method iterator (line 89) | public Iterator<GATKFeature> iterator() {
method clear (line 93) | public void clear() {
method isEmpty (line 97) | public boolean isEmpty() {
method add (line 101) | public boolean add(GATKFeature record) {
method get (line 106) | @Override
method add (line 111) | public void add(GATKFeature record, boolean allowNameMismatch) {
method add (line 119) | public void add(RODRecordList records) {
method add (line 123) | public void add(RODRecordList records, boolean allowNameMismatch) {
method size (line 128) | public int size() {
method compareTo (line 143) | public int compareTo(RODRecordList that) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/vcf/RODTraverser.java
class RODTraverser (line 34) | public class RODTraverser {
method RODTraverser (line 45) | public RODTraverser(RODContentProvider rodContentProvider) {
method init (line 53) | public void init() {
method getOverlap (line 59) | public RODRecordList getOverlap(GenomeLoc loc) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/vcf/RefMetaTrackerTraverser.java
class RefMetaTrackerTraverser (line 33) | public class RefMetaTrackerTraverser {
method RefMetaTrackerTraverser (line 37) | public RefMetaTrackerTraverser(List<RODContentProvider> providerList) {
method getOverlappedTracker (line 41) | public RefMetaDataTracker getOverlappedTracker(GenomeLoc loc) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/vcf/RodBinding.java
class RodBinding (line 32) | public class RodBinding<T extends Feature> {
method makeUnbound (line 51) | protected final static <T extends Feature> RodBinding<T> makeUnbound(C...
method resetNameCounter (line 91) | final public static void resetNameCounter() {
method countedVariableName (line 95) | final private static synchronized String countedVariableName(final Str...
method RodBinding (line 106) | public RodBinding(Class<T> type, final String rawName, final String so...
method RodBinding (line 121) | public RodBinding(Class<T> type, final String rawName) {
method RodBinding (line 130) | private RodBinding(Class<T> type) {
method isBound (line 143) | final public boolean isBound() {
method getName (line 150) | final public String getName() {
method getType (line 157) | final public Class<T> getType() {
method getSource (line 164) | final public String getSource() {
method getTags (line 172) | final public Tags getTags() {
method getTribbleType (line 179) | final public String getTribbleType() {
method toString (line 183) | @Override
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/vcf/Tags.java
class Tags (line 37) | public class Tags {
method equals (line 54) | @Override
method isEmpty (line 71) | public boolean isEmpty() {
method getPositionalTags (line 80) | public List<String> getPositionalTags() {
method getValue (line 90) | public String getValue(final String key) {
method containsKey (line 100) | public boolean containsKey(final String key) {
method addPositionalTag (line 109) | protected void addPositionalTag(final String... tags) {
method addKeyValueTag (line 119) | protected void addKeyValueTag(final String key, final String value) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/vcf/VCFHeaderLineIterable.java
class VCFHeaderLineIterable (line 38) | public class VCFHeaderLineIterable extends AbstractIterator<String> impl...
method VCFHeaderLineIterable (line 42) | public VCFHeaderLineIterable(final VcfHeaderInfo vcfHeaderInfo) {
method VCFHeaderLineIterable (line 46) | public VCFHeaderLineIterable(String[] vcfHeaderLines) {
method advance (line 50) | @Override
method close (line 59) | @Override
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/vcf/header/StandardWESVCFHeader.java
class StandardWESVCFHeader (line 31) | public class StandardWESVCFHeader {
method getValues (line 32) | protected static String[] getValues() {
method getHeader (line 140) | public static VCFHeader getHeader() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/vcf/header/StandardWGSVCFHeader.java
class StandardWGSVCFHeader (line 31) | public class StandardWGSVCFHeader {
method getValues (line 32) | private static String[] getValues() {
method getHeader (line 163) | public static VCFHeader getHeader() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/engine/ActiveRegionWalker.java
class ActiveRegionWalker (line 37) | public abstract class ActiveRegionWalker extends Walker {
method ActiveRegionWalker (line 41) | public ActiveRegionWalker(GenomeLocParser genomeLocParser,
method run (line 50) | public void run() {
method map (line 59) | protected abstract void map(ActiveRegionMapData activeRegionMapData);
method onTraversalDone (line 61) | protected abstract void onTraversalDone();
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/engine/IntervalLocusWalker.java
class IntervalLocusWalker (line 42) | public abstract class IntervalLocusWalker extends LocusWalker {
method IntervalLocusWalker (line 48) | public IntervalLocusWalker(GenomeLocParser genomeLocParser,
method run (line 57) | public void run() {
method getIntervalLocusSamTraverser (line 76) | protected IntervalLocusSamTraverser getIntervalLocusSamTraverser() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/engine/LocusWalker.java
class LocusWalker (line 46) | public abstract class LocusWalker extends Walker {
method LocusWalker (line 51) | public LocusWalker(GenomeLocParser genomeLocParser,
method run (line 58) | public void run() {
method getLocusSamTraverser (line 77) | protected LocusSamTraverser getLocusSamTraverser() {
method getLocusWalkerFilterUtils (line 92) | protected FilterUtils getLocusWalkerFilterUtils() {
method getFilter (line 101) | protected abstract List<Filter> getFilter();
method map (line 103) | protected abstract void map(RefMetaDataTracker tracker,
method onTraversalDone (line 107) | protected abstract void onTraversalDone();
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/engine/RODWalker.java
class RODWalker (line 38) | public abstract class RODWalker extends Walker {
method RODWalker (line 42) | public RODWalker(GenomeLocParser genomeLocParser,
method run (line 49) | public void run() {
method map (line 69) | protected abstract void map(final ReferenceContext ref,
method onTraversalDone (line 72) | protected abstract void onTraversalDone();
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/engine/ReadWalker.java
class ReadWalker (line 42) | public abstract class ReadWalker extends Walker {
method ReadWalker (line 47) | public ReadWalker(GenomeLocParser genomeLocParser,
method run (line 54) | public void run() {
method getReadSamTraverser (line 79) | private ReadSamTraverser getReadSamTraverser() {
method getReadWalkerFilterUtils (line 92) | private FilterUtils getReadWalkerFilterUtils() {
method getFilter (line 100) | protected abstract List<Filter> getFilter();
method map (line 102) | protected abstract void map(final ReferenceContext ref,
method onTraversalDone (line 106) | protected abstract void onTraversalDone();
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/engine/Walker.java
class Walker (line 36) | public abstract class Walker {
method Walker (line 45) | public Walker(GenomeLocParser genomeLocParser,
method initialize (line 55) | protected abstract void initialize();
method run (line 57) | public abstract void run();
method getSampleName (line 59) | public String getSampleName() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/AlignmentContextUtils.java
class AlignmentContextUtils (line 40) | public class AlignmentContextUtils {
type ReadOrientation (line 47) | public enum ReadOrientation { COMPLETE, FORWARD, REVERSE }
method AlignmentContextUtils (line 49) | private AlignmentContextUtils() {
method stratify (line 61) | public static AlignmentContext stratify(AlignmentContext context, Read...
method splitContextBySampleName (line 74) | public static Map<String, AlignmentContext> splitContextBySampleName(A...
method splitContextBySampleName (line 87) | public static Map<String, AlignmentContext> splitContextBySampleName(A...
method splitContextBySampleName (line 111) | public static Map<String, AlignmentContext> splitContextBySampleName(R...
method joinContexts (line 116) | public static AlignmentContext joinContexts(Collection<AlignmentContex...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/AlignmentUtils.java
class AlignmentUtils (line 43) | public class AlignmentUtils {
method AlignmentUtils (line 49) | private AlignmentUtils() { }
method startsOrEndsWithInsertionOrDeletion (line 57) | public static boolean startsOrEndsWithInsertionOrDeletion(final Cigar ...
method createReadAlignedToRef (line 82) | public static GATKSAMRecord createReadAlignedToRef(final GATKSAMRecord...
method getBasesCoveringRefInterval (line 151) | public static byte[] getBasesCoveringRefInterval(final int refStart, f...
method calcNumDifferentBases (line 211) | public static int calcNumDifferentBases(final Cigar cigar, final byte[...
class MismatchCount (line 242) | public static class MismatchCount {
method mismatchingQualities (line 247) | public static long mismatchingQualities(GATKSAMRecord r, byte[] refSeq...
method getMismatchCount (line 254) | public static MismatchCount getMismatchCount(GATKSAMRecord r, byte[] r...
method getMismatchCount (line 274) | public static MismatchCount getMismatchCount(GATKSAMRecord r, byte[] r...
method getNumAlignmentBlocks (line 352) | public static int getNumAlignmentBlocks(final SAMRecord r) {
method getNumAlignedBasesCountingSoftClips (line 375) | public static int getNumAlignedBasesCountingSoftClips(final GATKSAMRec...
method getNumHardClippedBases (line 395) | public static int getNumHardClippedBases(final SAMRecord r) {
method calcNumHighQualitySoftClips (line 418) | public static int calcNumHighQualitySoftClips( final GATKSAMRecord rea...
method calcAlignmentByteArrayOffset (line 451) | public static int calcAlignmentByteArrayOffset(final Cigar cigar, fina...
method calcAlignmentByteArrayOffset (line 465) | public static int calcAlignmentByteArrayOffset(final Cigar cigar, fina...
method readToAlignmentByteArray (line 539) | public static byte[] readToAlignmentByteArray(final Cigar cigar, final...
method isReadGenomeLocUnmapped (line 599) | public static boolean isReadGenomeLocUnmapped(final SAMRecord r) {
method isReadUnmapped (line 618) | public static boolean isReadUnmapped(final SAMRecord r) {
method consolidateCigar (line 639) | public static Cigar consolidateCigar( final Cigar c ) {
method needsConsolidation (line 676) | private static boolean needsConsolidation(final Cigar c) {
method leftAlignIndel (line 715) | public static Cigar leftAlignIndel(Cigar cigar, final byte[] refSeq, f...
method ensureLeftAlignmentHasGoodArguments (line 731) | private static void ensureLeftAlignmentHasGoodArguments(final Cigar ci...
method countIndelElements (line 745) | private static int countIndelElements(final Cigar cigar) {
method leftAlignSingleIndel (line 768) | public static Cigar leftAlignSingleIndel(Cigar cigar, final byte[] ref...
method cigarHasZeroSizeElement (line 823) | protected static boolean cigarHasZeroSizeElement(final Cigar c) {
method cleanUpCigar (line 840) | public static Cigar cleanUpCigar(final Cigar c) {
method removeTrailingDeletions (line 858) | public static Cigar removeTrailingDeletions(final Cigar c) {
method moveCigarLeft (line 874) | private static Cigar moveCigarLeft(Cigar cigar, int indexOfIndel) {
method createIndelString (line 908) | private static byte[] createIndelString(final Cigar cigar, final int i...
method trimCigarByReference (line 975) | public static Cigar trimCigarByReference(final Cigar cigar, final int ...
method trimCigarByBases (line 995) | public static Cigar trimCigarByBases(final Cigar cigar, final int star...
method trimCigar (line 1018) | private static Cigar trimCigar(final Cigar cigar, final int start, fin...
method addCigarElements (line 1069) | protected static int addCigarElements(final List<CigarElement> dest, i...
method calcFirstBaseMatchingReferenceInCigar (line 1088) | public static int calcFirstBaseMatchingReferenceInCigar(final Cigar ci...
method applyCigarToCigar (line 1150) | public static Cigar applyCigarToCigar(final Cigar firstToSecond, final...
method getTransformer (line 1184) | private static CigarPairTransform getTransformer(final CigarOperator o...
class CigarPairTransform (line 1221) | private static class CigarPairTransform {
method CigarPairTransform (line 1226) | private CigarPairTransform(CigarOperator op12, CigarOperator op23, C...
method getCigarSet (line 1234) | private static EnumSet<CigarOperator> getCigarSet(final CigarOperato...
method toString (line 1243) | @Override
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/AlleleListUtils.java
class AlleleListUtils (line 34) | public class AlleleListUtils {
method alleleCount (line 38) | @Override
method alleleIndex (line 43) | @Override
method alleleAt (line 48) | @Override
method equals (line 63) | public static <A extends Allele> boolean equals(final AlleleList<A> fi...
method indexOfReference (line 99) | public static <A extends Allele> int indexOfReference(final AlleleList...
method asList (line 118) | public static <A extends Allele> List<A> asList(final AlleleList<A> li...
method emptyList (line 129) | @SuppressWarnings("unchecked")
class AsList (line 137) | private static class AsList<A extends Allele> extends AbstractList<A> {
method AsList (line 141) | private AsList(final AlleleList<A> list) {
method get (line 146) | @Override
method size (line 151) | @Override
method permutation (line 169) | public static <A extends Allele> AlleleListPermutation<A> permutation(...
class NonPermutation (line 176) | private static class NonPermutation<A extends Allele> implements Allel...
method NonPermutation (line 180) | public NonPermutation(final AlleleList<A> original) {
method isPartial (line 184) | @Override
method isNonPermuted (line 189) | @Override
method toIndex (line 194) | @Override
method fromIndex (line 199) | @Override
method fromSize (line 204) | @Override
method toSize (line 209) | @Override
method fromList (line 214) | @Override
method toList (line 219) | @Override
method alleleCount (line 225) | @Override
method alleleIndex (line 230) | @Override
method alleleAt (line 235) | @Override
class ActualPermutation (line 241) | private static class ActualPermutation<A extends Allele> implements Al...
method ActualPermutation (line 253) | private ActualPermutation(final AlleleList<A> original, final Allele...
method isPartial (line 275) | @Override
method isNonPermuted (line 280) | @Override
method toIndex (line 285) | @Override
method fromIndex (line 290) | @Override
method fromSize (line 295) | @Override
method toSize (line 300) | @Override
method fromList (line 305) | @Override
method toList (line 310) | @Override
method alleleCount (line 315) | @Override
method alleleIndex (line 320) | @Override
method alleleAt (line 325) | @Override
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/ArtificialSAMUtils.java
class ArtificialSAMUtils (line 47) | public class ArtificialSAMUtils {
method createArtificialBamFile (line 59) | public static void createArtificialBamFile(String filename, int number...
method createArtificialSamFile (line 83) | public static void createArtificialSamFile(String filename, int number...
method createArtificialSamHeader (line 106) | public static SAMFileHeader createArtificialSamHeader(int numberOfChro...
method createArtificialSamHeader (line 125) | public static SAMFileHeader createArtificialSamHeader(final SAMSequenc...
method createArtificialSamHeader (line 137) | public static SAMFileHeader createArtificialSamHeader() {
method createDefaultReadGroup (line 149) | public static SAMFileHeader createDefaultReadGroup(SAMFileHeader heade...
method createEnumeratedReadGroups (line 166) | public static SAMFileHeader createEnumeratedReadGroups(SAMFileHeader h...
method createArtificialRead (line 194) | public static GATKSAMRecord createArtificialRead(SAMFileHeader header,...
method createArtificialRead (line 233) | public static GATKSAMRecord createArtificialRead(SAMFileHeader header,...
method createArtificialRead (line 260) | public static GATKSAMRecord createArtificialRead(SAMFileHeader header,...
method createArtificialRead (line 282) | public static GATKSAMRecord createArtificialRead(byte[] bases, byte[] ...
method createArtificialRead (line 287) | public static GATKSAMRecord createArtificialRead(Cigar cigar) {
method createPair (line 298) | public final static List<GATKSAMRecord> createPair(SAMFileHeader heade...
method ranIntInclusive (line 329) | private final static int ranIntInclusive(Random ran, int start, int st...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/BaseUtils.java
class BaseUtils (line 35) | public class BaseUtils {
type Base (line 37) | public enum Base {
method Base (line 47) | private Base(final char base) {
type BaseSubstitutionType (line 102) | public enum BaseSubstitutionType {
method SNPSubstitutionType (line 114) | public static BaseSubstitutionType SNPSubstitutionType(byte base1, byt...
method isTransition (line 120) | public static boolean isTransition(byte base1, byte base2) {
method isTransversion (line 127) | public static boolean isTransversion(byte base1, byte base2) {
method BaseUtils (line 134) | private BaseUtils() {
method basesAreEqual (line 137) | static public boolean basesAreEqual(byte base1, byte base2) {
method basesAreEqualIgnoreAmbiguous (line 148) | static public boolean basesAreEqualIgnoreAmbiguous(final byte base1, f...
method basesAreEqualIgnoreAmbiguous (line 176) | static public boolean basesAreEqualIgnoreAmbiguous(final byte[] bases1...
method extendedBasesAreEqual (line 183) | static public boolean extendedBasesAreEqual(byte base1, byte base2) {
method containsBase (line 190) | static public boolean containsBase(final byte[] bases, final byte base) {
method isUpperCase (line 198) | public static boolean isUpperCase(final byte[] bases) {
method isUpperCase (line 205) | public static boolean isUpperCase(final byte base) {
method convertIUPACtoN (line 209) | public static byte[] convertIUPACtoN(final byte[] bases, final boolean...
method iupacToBases (line 230) | @Deprecated
method basesToIUPAC (line 294) | static public byte basesToIUPAC(final byte base1, final byte base2) {
method simpleBaseToBaseIndex (line 323) | static public int simpleBaseToBaseIndex(final byte base) {
method simpleBaseToBaseIndex (line 335) | @Deprecated
method extendedBaseToBaseIndex (line 340) | static public int extendedBaseToBaseIndex(byte base) {
method isRegularBase (line 354) | @Deprecated
method isRegularBase (line 359) | static public boolean isRegularBase(final byte base) {
method isAllRegularBases (line 363) | static public boolean isAllRegularBases(final byte[] bases) {
method isNBase (line 372) | static public boolean isNBase(byte base) {
method baseIndexToSimpleBase (line 382) | static public byte baseIndexToSimpleBase(int baseIndex) {
method simpleComplement (line 403) | static public byte simpleComplement(byte base) {
method simpleComplement (line 422) | @Deprecated
method simpleReverseComplement (line 433) | static public byte[] simpleReverseComplement(byte[] bases) {
method simpleReverseComplement (line 449) | @Deprecated
method simpleReverseComplement (line 466) | @Deprecated
method convertToUpperCase (line 477) | static public void convertToUpperCase(final byte[] bases) {
method mostFrequentBaseIndex (line 488) | static public int mostFrequentBaseIndex(int[] baseCounts) {
method mostFrequentBaseIndexNotRef (line 498) | static public int mostFrequentBaseIndexNotRef(int[] baseCounts, int re...
method mostFrequentBaseIndexNotRef (line 506) | static public int mostFrequentBaseIndexNotRef(int[] baseCounts, byte r...
method mostFrequentSimpleBase (line 516) | static public byte mostFrequentSimpleBase(int[] baseCounts) {
method mostFrequentBaseFraction (line 526) | static public double mostFrequentBaseFraction(byte[] sequence) {
method getRandomBaseIndex (line 553) | static public int getRandomBaseIndex() {
method getRandomBases (line 564) | @SuppressWarnings("unused")
method fillWithRandomBases (line 579) | public static void fillWithRandomBases(final byte[] dest) {
method fillWithRandomBases (line 594) | public static void fillWithRandomBases(final byte[] dest, final int fr...
method getRandomBaseIndex (line 615) | static public int getRandomBaseIndex(int excludeBaseIndex) {
method getComplement (line 625) | public static byte getComplement(byte base) {
method compare (line 653) | @Override
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/CGAAlignmentUtils.java
class CGAAlignmentUtils (line 35) | public class CGAAlignmentUtils {
method mismatchesInRefWindow (line 45) | public static int mismatchesInRefWindow(PileupElement p, ReferenceCont...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/CigarUtils.java
class CigarUtils (line 39) | public class CigarUtils {
method combineAdjacentCigarElements (line 47) | public static Cigar combineAdjacentCigarElements(Cigar rawCigar) {
method invertCigar (line 72) | public static Cigar invertCigar (Cigar cigar) {
method readHasNonClippedBases (line 90) | public static boolean readHasNonClippedBases(GATKSAMRecord read) {
method isCigarValid (line 104) | public static boolean isCigarValid(Cigar cigar) {
method countRefBasesBasedOnCigar (line 138) | public static final int countRefBasesBasedOnCigar(final GATKSAMRecord ...
method calculateCigar (line 171) | public static Cigar calculateCigar(final byte[] refSeq, final byte[] a...
method isSWFailure (line 204) | private static boolean isSWFailure(final SmithWaterman alignment) {
method leftAlignCigarSequentially (line 232) | public static Cigar leftAlignCigarSequentially(final Cigar cigar, fina...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/DeprecatedToolChecks.java
class DeprecatedToolChecks (line 30) | public class DeprecatedToolChecks {
method isDeprecatedWalker (line 56) | public static boolean isDeprecatedWalker(final String walkerName) {
method isDeprecatedAnnotation (line 65) | public static boolean isDeprecatedAnnotation(final String annotationNa...
method getWalkerDeprecationInfo (line 74) | public static String getWalkerDeprecationInfo(final String walkerName) {
method getAnnotationDeprecationInfo (line 83) | public static String getAnnotationDeprecationInfo(final String annotat...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/EventType.java
type EventType (line 27) | public enum EventType {
method EventType (line 35) | private EventType(String representation, String longRepresentation) {
method eventFrom (line 46) | public static EventType eventFrom(int index) {
method eventFrom (line 57) | public static EventType eventFrom(String representation) {
method toString (line 65) | @Override
method prettyPrint (line 70) | public String prettyPrint() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/FragmentUtils.java
class FragmentUtils (line 48) | public final class FragmentUtils {
method FragmentUtils (line 55) | private FragmentUtils() {}
type ReadGetter (line 65) | public interface ReadGetter<T> {
method get (line 72) | public GATKSAMRecord get(T object);
method get (line 79) | @Override public GATKSAMRecord get(final GATKSAMRecord object) { retur...
method get (line 86) | @Override public GATKSAMRecord get(final PileupElement object) { retur...
method create (line 102) | private static <T> FragmentCollection<T> create(final Iterable<T> read...
method create (line 159) | public static FragmentCollection<PileupElement> create(final ReadBacke...
method create (line 170) | public static FragmentCollection<GATKSAMRecord> create(final List<GATK...
method adjustQualsOfOverlappingPairedFragments (line 175) | public static void adjustQualsOfOverlappingPairedFragments( final List...
method adjustQualsOfOverlappingPairedFragments (line 202) | public static void adjustQualsOfOverlappingPairedFragments(final GATKS...
method mergeOverlappingPairedFragments (line 239) | public static List<GATKSAMRecord> mergeOverlappingPairedFragments( fin...
method mergeOverlappingPairedFragments (line 269) | public static GATKSAMRecord mergeOverlappingPairedFragments(final GATK...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/GATKVariantContextUtils.java
class GATKVariantContextUtils (line 61) | public class GATKVariantContextUtils {
method overlapsRegion (line 96) | public static boolean overlapsRegion(final VariantContext variantConte...
method homozygousAlleleList (line 120) | public static List<Allele> homozygousAlleleList(final Allele allele, f...
method hasPLIncompatibleAlleles (line 128) | private static boolean hasPLIncompatibleAlleles(final Collection<Allel...
method determineReferenceAllele (line 153) | public static Allele determineReferenceAllele(final List<VariantContex...
method totalPloidy (line 175) | public static int totalPloidy(final VariantContext vc, final int defau...
type GenotypeMergeType (line 189) | public enum GenotypeMergeType {
type FilteredRecordMergeType (line 208) | public enum FilteredRecordMergeType {
type MultipleAllelesMergeType (line 223) | public enum MultipleAllelesMergeType {
method getMeanAltAlleleLength (line 239) | public static double getMeanAltAlleleLength(VariantContext vc) {
method getLocation (line 280) | public static final GenomeLoc getLocation(GenomeLocParser genomeLocPar...
method getSNPSubstitutionType (line 284) | public static BaseUtils.BaseSubstitutionType getSNPSubstitutionType(Va...
method isTransition (line 293) | public static boolean isTransition(VariantContext context) {
method isTransversion (line 300) | public static boolean isTransversion(VariantContext context) {
method isTransition (line 304) | public static boolean isTransition(Allele ref, Allele alt) {
method isTransversion (line 308) | public static boolean isTransversion(Allele ref, Allele alt) {
method reverseComplement (line 318) | public static VariantContext reverseComplement(VariantContext vc) {
method isTandemRepeat (line 371) | public static boolean isTandemRepeat(final VariantContext vc, final by...
method getNumTandemRepeatUnits (line 393) | public static Pair<List<Integer>,byte[]> getNumTandemRepeatUnits(final...
method getNumTandemRepeatUnits (line 430) | public static Pair<int[],byte[]> getNumTandemRepeatUnits(final byte[] ...
method findRepeatedSubstring (line 466) | public static int findRepeatedSubstring(byte[] bases) {
method findNumberOfRepetitions (line 495) | public static int findNumberOfRepetitions(byte[] repeatUnit, byte[] te...
method isRepeatAllele (line 530) | protected static boolean isRepeatAllele(final Allele ref, final Allele...
method basesAreRepeated (line 541) | protected static boolean basesAreRepeated(final String l, final String...
type GenotypeAssignmentMethod (line 557) | public enum GenotypeAssignmentMethod {
method subsetDiploidAlleles (line 601) | public static GenotypesContext subsetDiploidAlleles(final VariantConte...
method determineLikelihoodIndexesToUse (line 624) | private static List<Integer> determineLikelihoodIndexesToUse(final Var...
method getLikelihoodIndexes (line 644) | private static List<Integer> getLikelihoodIndexes(final VariantContext...
method getAlleleIndexBitset (line 669) | private static boolean[] getAlleleIndexBitset(final VariantContext ori...
method createGenotypesWithSubsettedLikelihoods (line 693) | private static GenotypesContext createGenotypesWithSubsettedLikelihood...
method likelihoodsAreUninformative (line 747) | private static boolean likelihoodsAreUninformative(final double[] like...
method updateGenotypeAfterSubsetting (line 760) | public static void updateGenotypeAfterSubsetting(final List<Allele> or...
method subsetToRefOnly (line 807) | public static GenotypesContext subsetToRefOnly(final VariantContext vc...
method assignDiploidGenotypes (line 842) | public static GenotypesContext assignDiploidGenotypes(final VariantCon...
method splitVariantContextToBiallelics (line 860) | public static List<VariantContext> splitVariantContextToBiallelics(fin...
method splitVariantContextToBiallelics (line 879) | public static List<VariantContext> splitVariantContextToBiallelics(fin...
method removePLsAndAD (line 900) | public static Genotype removePLsAndAD(final Genotype g) {
method simpleMerge (line 923) | public static VariantContext simpleMerge(final Collection<VariantConte...
method simpleMerge (line 956) | public static VariantContext simpleMerge(final Collection<VariantConte...
method stripPLsAndAD (line 1158) | public static GenotypesContext stripPLsAndAD(final GenotypesContext ge...
method updatePLsAndAD (line 1176) | public static GenotypesContext updatePLsAndAD(final VariantContext sel...
method fixGenotypesFromSubsettedAlleles (line 1201) | static private GenotypesContext fixGenotypesFromSubsettedAlleles(final...
method fixADFromSubsettedAlleles (line 1218) | static private GenotypesContext fixADFromSubsettedAlleles(final Genoty...
method fixAD (line 1246) | private static Genotype fixAD(final Genotype genotype, final boolean[]...
method determineReferenceAllele (line 1268) | private static Allele determineReferenceAllele(final List<VariantConte...
method contextMatchesLoc (line 1272) | public static boolean contextMatchesLoc(final VariantContext vc, final...
method resolveIncompatibleAlleles (line 1276) | static private AlleleMapper resolveIncompatibleAlleles(final Allele re...
method createAlleleMapping (line 1304) | private static Map<Allele, Allele> createAlleleMapping(final Allele re...
method isUsableAlternateAllele (line 1326) | static private boolean isUsableAlternateAllele(final Allele allele) {
method sortVariantContextsByPriority (line 1330) | public static List<VariantContext> sortVariantContextsByPriority(Colle...
method mergeGenotypes (line 1343) | private static void mergeGenotypes(GenotypesContext mergedGenotypes, V...
method ensureNoCallListsCapacity (line 1374) | private static synchronized void ensureNoCallListsCapacity(final int c...
method noCallAlleles (line 1391) | public static List<Allele> noCallAlleles(final int ploidy) {
method calculatePLindexFromUnorderedIndexes (line 1405) | protected static int calculatePLindexFromUnorderedIndexes(final int or...
method mergedSampleName (line 1410) | public static String mergedSampleName(String trackName, String sampleN...
method reverseTrimAlleles (line 1420) | public static VariantContext reverseTrimAlleles( final VariantContext ...
method forwardTrimAlleles (line 1430) | public static VariantContext forwardTrimAlleles( final VariantContext ...
method trimAlleles (line 1442) | public static VariantContext trimAlleles(final VariantContext inputVC,...
method trimAlleles (line 1465) | protected static VariantContext trimAlleles(final VariantContext inputVC,
method updateGenotypesWithMappedAlleles (line 1500) | protected static GenotypesContext updateGenotypesWithMappedAlleles(fin...
method computeReverseClipping (line 1511) | public static int computeReverseClipping(final List<Allele> unclippedA...
method computeForwardClipping (line 1563) | public static int computeForwardClipping(final List<Allele> unclippedA...
method computeHardyWeinbergPvalue (line 1594) | public static double computeHardyWeinbergPvalue(VariantContext vc) {
method requiresPaddingBase (line 1600) | public static boolean requiresPaddingBase(final List<String> alleles) {
method subsetAttributes (line 1629) | private final static Map<String, Object> subsetAttributes(final Common...
method pruneVariantContext (line 1644) | @Deprecated
method pruneVariantContext (line 1649) | public static VariantContextBuilder pruneVariantContext(final VariantC...
method allelesAreSubset (line 1668) | public static boolean allelesAreSubset(VariantContext vc1, VariantCont...
method separateVariantContextsByType (line 1681) | public static Map<VariantContext.Type, List<VariantContext>> separateV...
method purgeUnallowedGenotypeAttributes (line 1732) | public static VariantContext purgeUnallowedGenotypeAttributes(VariantC...
class AlleleMapper (line 1749) | protected static class AlleleMapper {
method AlleleMapper (line 1752) | public AlleleMapper(VariantContext vc) { this.vc = vc; }
method AlleleMapper (line 1753) | public AlleleMapper(Map<Allele, Allele> map) { this.map = map; }
method needsRemapping (line 1754) | public boolean needsRemapping() { return this.map !=...
method values (line 1755) | public Collection<Allele> values() { return map != null...
method remap (line 1756) | public Allele remap(Allele a) { return map != null...
method remap (line 1758) | public List<Allele> remap(List<Allele> as) {
method getUniqueMappedAlleles (line 1770) | public List<Allele> getUniqueMappedAlleles() {
class CompareByPriority (line 1777) | private static class CompareByPriority implements Comparator<VariantCo...
method CompareByPriority (line 1779) | public CompareByPriority(List<String> priorityListOfVCs) {
method getIndex (line 1783) | private int getIndex(VariantContext vc) {
method compare (line 1789) | public int compare(VariantContext vc1, VariantContext vc2) {
method makeFromAlleles (line 1804) | public static VariantContext makeFromAlleles(final String name, final ...
method splitIntoPrimitiveAlleles (line 1827) | public static List<VariantContext> splitIntoPrimitiveAlleles(final Var...
method equalSites (line 1880) | public static boolean equalSites(final VariantContext vc1, final Varia...
method indexOfAllele (line 1912) | public static int indexOfAllele(final VariantContext vc, final Allele ...
method indexOfAltAllele (line 1936) | public static int indexOfAltAllele(final VariantContext vc, final Alle...
method indexOfEqualAllele (line 1942) | private static int indexOfEqualAllele(final VariantContext vc, final A...
method indexOfSameAllele (line 1954) | private static int indexOfSameAllele(final VariantContext vc, final Al...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/GenomeLoc.java
class GenomeLoc (line 43) | public class GenomeLoc implements Comparable<GenomeLoc>, Serializable, H...
method isUnmapped (line 63) | public static final boolean isUnmapped(GenomeLoc loc) {
method GenomeLoc (line 73) | public GenomeLoc(final String contig, final int contigIndex, final int...
method GenomeLoc (line 83) | private GenomeLoc(final String contig) {
method getLocation (line 90) | public final GenomeLoc getLocation() {
method getStartLocation (line 94) | public final GenomeLoc getStartLocation() {
method getStopLocation (line 98) | public final GenomeLoc getStopLocation() {
method getContig (line 105) | public final String getContig() {
method getContigIndex (line 109) | public final int getContigIndex() {
method getStart (line 113) | public final int getStart() {
method getStop (line 117) | public final int getStop() {
method toString (line 121) | public final String toString() {
method throughEndOfContigP (line 131) | private boolean throughEndOfContigP() {
method atBeginningOfContigP (line 135) | private boolean atBeginningOfContigP() {
method disjointP (line 139) | public final boolean disjointP(GenomeLoc that) {
method discontinuousP (line 143) | public final boolean discontinuousP(GenomeLoc that) {
method overlapsP (line 147) | public final boolean overlapsP(GenomeLoc that) {
method contiguousP (line 151) | public final boolean contiguousP(GenomeLoc that) {
method isUnmapped (line 160) | public final boolean isUnmapped() {
method merge (line 169) | public GenomeLoc merge(GenomeLoc that) throws ReviewedGATKException {
method endpointSpan (line 189) | public GenomeLoc endpointSpan(GenomeLoc that) throws ReviewedGATKExcep...
method split (line 207) | public GenomeLoc[] split(final int splitPoint) {
method union (line 213) | public GenomeLoc union(GenomeLoc that) {
method intersect (line 217) | public GenomeLoc intersect(GenomeLoc that) throws ReviewedGATKException {
method subtract (line 233) | public final List<GenomeLoc> subtract(final GenomeLoc that) {
method containsP (line 305) | public final boolean containsP(GenomeLoc that) {
method onSameContig (line 309) | public final boolean onSameContig(GenomeLoc that) {
method distance (line 313) | public final int distance(final GenomeLoc that) {
method isBetween (line 320) | public final boolean isBetween(final GenomeLoc left, final GenomeLoc r...
method isBefore (line 330) | public final boolean isBefore(GenomeLoc that) {
method startsAt (line 343) | public final boolean startsAt(GenomeLoc that) {
method startsBefore (line 354) | public final boolean startsBefore(final GenomeLoc that) {
method isPast (line 365) | public final boolean isPast(GenomeLoc that) {
method minDistance (line 373) | public final int minDistance(final GenomeLoc that) {
method distanceFirstStopToSecondStart (line 388) | private static int distanceFirstStopToSecondStart(GenomeLoc locFirst, ...
method equals (line 399) | @Override
method hashCode (line 412) | @Override
method compareContigs (line 424) | public final int compareContigs(GenomeLoc that) {
method compareTo (line 432) | public int compareTo(GenomeLoc that) {
method endsAt (line 458) | public boolean endsAt(GenomeLoc that) {
method size (line 468) | public int size() {
method reciprocialOverlapFraction (line 487) | public final double reciprocialOverlapFraction(final GenomeLoc o) {
method overlapPercent (line 494) | private final static double overlapPercent(final GenomeLoc gl1, final ...
method sizeOfOverlap (line 498) | public long sizeOfOverlap(final GenomeLoc that) {
method max (line 508) | public GenomeLoc max(final GenomeLoc other) {
method setStart (line 522) | public GenomeLoc setStart(GenomeLoc loc, int start) {
method setStop (line 535) | public GenomeLoc setStop(GenomeLoc loc, int stop) {
method incPos (line 544) | public GenomeLoc incPos() {
method incPos (line 554) | public GenomeLoc incPos(int by) {
method merge (line 565) | public static <T extends GenomeLoc> GenomeLoc merge(final T a, final T...
method merge (line 583) | public static <T extends GenomeLoc> GenomeLoc merge(final SortedSet<T>...
method distanceAcrossContigs (line 612) | public long distanceAcrossContigs(GenomeLoc other, SAMFileHeader samFi...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/GenomeLocParser.java
class GenomeLocParser (line 36) | public final class GenomeLocParser {
type ValidationLevel (line 41) | public enum ValidationLevel {
method initialValue (line 69) | @Override
method getContigInfo (line 83) | private MRUCachingSAMSequenceDictionary getContigInfo() {
method GenomeLocParser (line 92) | public GenomeLocParser(final ReferenceSequenceFile refFile) {
method GenomeLocParser (line 101) | public GenomeLocParser(SAMSequenceDictionary seqDict) {
method GenomeLocParser (line 111) | protected GenomeLocParser(SAMSequenceDictionary seqDict, final Validat...
method contigIsInDictionary (line 130) | public final boolean contigIsInDictionary(final String contig) {
method getContigInfo (line 140) | public final SAMSequenceRecord getContigInfo(final String contig) {
method getContigIndex (line 152) | public final int getContigIndex(final String contig) {
method getContigIndexWithoutException (line 156) | protected int getContigIndexWithoutException(final String contig) {
method getContigs (line 167) | public final SAMSequenceDictionary getContigs() {
method createGenomeLoc (line 184) | public GenomeLoc createGenomeLoc(String contig, final int start, final...
method createGenomeLoc (line 194) | public GenomeLoc createGenomeLoc(final String contig, final int start,...
method createGenomeLoc (line 203) | public GenomeLoc createGenomeLoc(String contig, int index, final int s...
method createGenomeLoc (line 217) | public GenomeLoc createGenomeLoc(final String contig, int index, final...
method createGenomeLoc (line 233) | public GenomeLoc createGenomeLoc(final String contig, final int pos) {
method validateGenomeLoc (line 252) | protected String validateGenomeLoc(final String contig, final int cont...
method isValidGenomeLoc (line 289) | public boolean isValidGenomeLoc(String contig, int start, int stop, bo...
method isValidGenomeLoc (line 301) | public boolean isValidGenomeLoc(String contig, int start, int stop) {
method vglHelper (line 305) | private void vglHelper(final String msg) {
method parseGenomeLoc (line 325) | public GenomeLoc parseGenomeLoc(final String str) {
method parsePosition (line 374) | protected int parsePosition(final String pos) {
method createGenomeLoc (line 411) | public GenomeLoc createGenomeLoc(final SAMRecord read) {
method createGenomeLocUnclipped (line 429) | public GenomeLoc createGenomeLocUnclipped(final SAMRecord read) {
method createGenomeLoc (line 446) | public GenomeLoc createGenomeLoc(final Feature feature) {
method createOverEntireContig (line 457) | public GenomeLoc createOverEntireContig(final String contigName) {
method createGenomeLocAtStart (line 469) | public GenomeLoc createGenomeLocAtStart(final GenomeLoc loc, final int...
method createPaddedGenomeLoc (line 494) | public GenomeLoc createPaddedGenomeLoc(final GenomeLoc loc, final int ...
method createGenomeLocAtStop (line 508) | public GenomeLoc createGenomeLocAtStop(final GenomeLoc loc, final int ...
method createGenomeLocOnContig (line 530) | public GenomeLoc createGenomeLocOnContig(final String contig, final in...
method createGenomeLocOnContig (line 546) | public GenomeLoc createGenomeLocOnContig(final String contig, final in...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/GenomeLocSortedSet.java
class GenomeLocSortedSet (line 43) | public class GenomeLocSortedSet extends AbstractSet<GenomeLoc> {
method GenomeLocSortedSet (line 59) | public GenomeLocSortedSet(final GenomeLocParser parser) {
method GenomeLocSortedSet (line 70) | public GenomeLocSortedSet(final GenomeLocParser parser, final GenomeLo...
method GenomeLocSortedSet (line 84) | public GenomeLocSortedSet(final GenomeLocParser parser, final Collecti...
method getGenomeLocParser (line 96) | public GenomeLocParser getGenomeLocParser() {
method iterator (line 105) | public Iterator<GenomeLoc> iterator() {
method size (line 114) | public int size() {
method coveredSize (line 122) | public long coveredSize() {
method sizeBeforeLoc (line 135) | public long sizeBeforeLoc(GenomeLoc loc) {
method isEmpty (line 155) | public boolean isEmpty() {
method overlaps (line 165) | public boolean overlaps(final GenomeLoc loc) {
method overlapsAtOrImmediatelyAfterCachedIndex (line 186) | private boolean overlapsAtOrImmediatelyAfterCachedIndex(final GenomeLo...
method getOverlapping (line 208) | public List<GenomeLoc> getOverlapping(final GenomeLoc loc) {
method getOverlappingFullSearch (line 248) | protected List<GenomeLoc> getOverlappingFullSearch(final GenomeLoc loc) {
method add (line 268) | public boolean add(final GenomeLoc loc) {
method addRegion (line 280) | public boolean addRegion(final GenomeLoc loc) {
method add (line 292) | public boolean add(final GenomeLoc loc, final boolean mergeIfIntervalO...
method mergeOverlappingIntervalsFromAdd (line 331) | private boolean mergeOverlappingIntervalsFromAdd(final GenomeLoc loc, ...
method subtractRegions (line 351) | public GenomeLocSortedSet subtractRegions(GenomeLocSortedSet toRemoveS...
method remove (line 400) | public void remove(GenomeLoc location) {
method createSetFromSequenceDictionary (line 412) | public static GenomeLocSortedSet createSetFromSequenceDictionary(final...
method createSetFromList (line 428) | public static GenomeLocSortedSet createSetFromList(GenomeLocParser par...
method clone (line 440) | public GenomeLocSortedSet clone() {
method toList (line 453) | public List<GenomeLoc> toList() {
method toString (line 457) | public String toString() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/GenotypingGivenAllelesUtils.java
class GenotypingGivenAllelesUtils (line 39) | public class GenotypingGivenAllelesUtils {
method composeGivenAllelesVariantContextFromRod (line 50) | public static VariantContext composeGivenAllelesVariantContextFromRod(...
method composeGivenHaplotypes (line 85) | public static List<Haplotype> composeGivenHaplotypes(final Haplotype r...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/HasGenomeLocation.java
type HasGenomeLocation (line 29) | public interface HasGenomeLocation {
method getLocation (line 30) | public GenomeLoc getLocation();
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/HelpConstants.java
class HelpConstants (line 27) | public class HelpConstants {
method forumPost (line 59) | public static String forumPost(String post) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/LRUCache.java
class LRUCache (line 30) | public class LRUCache<K,V> extends LinkedHashMap<K,V> {
method LRUCache (line 33) | public LRUCache(int capacity) {
method removeEldestEntry (line 38) | protected boolean removeEldestEntry(final Map.Entry entry) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/MRUCachingSAMSequenceDictionary.java
class MRUCachingSAMSequenceDictionary (line 31) | final class MRUCachingSAMSequenceDictionary {
method MRUCachingSAMSequenceDictionary (line 46) | public MRUCachingSAMSequenceDictionary(final SAMSequenceDictionary dic...
method getDictionary (line 59) | public SAMSequenceDictionary getDictionary() {
method hasContig (line 69) | public final boolean hasContig(final String contig) {
method hasContigIndex (line 79) | public final boolean hasContigIndex(final int contigIndex) {
method getSequence (line 90) | public final SAMSequenceRecord getSequence(final String contig) {
method getSequence (line 104) | public final SAMSequenceRecord getSequence(final int index) {
method getSequenceIndex (line 118) | public final int getSequenceIndex(final String contig) {
method isCached (line 132) | protected boolean isCached(final String contig) {
method isCached (line 142) | protected boolean isCached(final int index) {
method updateCache (line 155) | private SAMSequenceRecord updateCache(final String contig, int index) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/MannWhitneyU.java
class MannWhitneyU (line 39) | public class MannWhitneyU {
method MannWhitneyU (line 50) | public MannWhitneyU(ExactMode mode, boolean dither) {
method MannWhitneyU (line 60) | public MannWhitneyU() {
method MannWhitneyU (line 64) | public MannWhitneyU(boolean dither) {
method MannWhitneyU (line 68) | public MannWhitneyU(ExactMode mode) {
method add (line 78) | public void add(Number n, USet set) {
method getR1R2 (line 87) | public Pair<Long, Long> getR1R2() {
method runOneSidedTest (line 105) | public Pair<Double, Double> runOneSidedTest(USet lessThanOther) {
method runTwoSidedTest (line 127) | public Pair<Double, Double> runTwoSidedTest() {
method calculateP (line 149) | protected static Pair<Double, Double> calculateP(int n, int m, long u,...
method calculatePFromTable (line 169) | public static Pair<Double, Double> calculatePFromTable(int n, int m, l...
method calculatePNormalApproximation (line 184) | public static Pair<Double, Double> calculatePNormalApproximation(int n...
method getZApprox (line 201) | private static double getZApprox(int n, int m, long u) {
method calculatePUniformApproximation (line 219) | public static double calculatePUniformApproximation(int n, int m, long...
method uniformSumHelper (line 246) | private static double uniformSumHelper(double z, int m, int n, int k) {
method calculateTwoSidedU (line 264) | public static Pair<Long, USet> calculateTwoSidedU(TreeSet<Pair<Number,...
method calculateOneSidedU (line 300) | public static long calculateOneSidedU(TreeSet<Pair<Number, USet>> obse...
method calculatePRecursively (line 326) | public static Pair<Double, Double> calculatePRecursively(int n, int m,...
method calculatePRecursivelyDoNotCheckValuesEvenThoughItIsSlow (line 367) | protected static double calculatePRecursivelyDoNotCheckValuesEvenThoug...
method countSequences (line 378) | protected static long countSequences(int n, int m, long u) {
method cpr (line 397) | private static double cpr(int n, int m, long u) {
method cumulativeCPR (line 411) | private static double cumulativeCPR(int n, int m, long u) {
method getObservations (line 431) | protected TreeSet<Pair<Number, USet>> getObservations() {
method getSetSizes (line 440) | protected Pair<Integer, Integer> getSetSizes() {
method validateObservations (line 450) | protected static boolean validateObservations(TreeSet<Pair<Number, USe...
class DitheringComparator (line 476) | private static class DitheringComparator implements Comparator<Pair<Nu...
method DitheringComparator (line 478) | public DitheringComparator() {
method equals (line 481) | @Override
method compare (line 486) | @Override
class NumberedPairComparator (line 502) | private static class NumberedPairComparator implements Comparator<Pair...
method NumberedPairComparator (line 504) | public NumberedPairComparator() {
method equals (line 507) | @Override
method compare (line 512) | @Override
type USet (line 518) | public enum USet {SET1, SET2}
type ExactMode (line 520) | public enum ExactMode {POINT, CUMULATIVE}
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/MathUtils.java
class MathUtils (line 37) | public class MathUtils {
method MathUtils (line 42) | private MathUtils() {
class Log10Cache (line 59) | public static class Log10Cache {
method get (line 65) | public static double get(final int n) {
method ensureCacheContains (line 84) | public static synchronized void ensureCacheContains(final int n) {
method randomIntegerInRange (line 105) | public static int randomIntegerInRange( final int min, final int max ) {
class JacobianLogTable (line 112) | private static class JacobianLogTable {
method get (line 116) | public static double get(final double difference) {
method initialize (line 123) | private static synchronized void initialize() {
method fastRound (line 140) | public static int fastRound(final double d) {
method approximateLog10SumLog10 (line 144) | public static double approximateLog10SumLog10(final double[] vals) {
method approximateLog10SumLog10 (line 158) | public static double approximateLog10SumLog10(final double[] vals, fin...
method approximateLog10SumLog10 (line 174) | public static double approximateLog10SumLog10(final double[] vals, fin...
method approximateLog10SumLog10 (line 193) | public static double approximateLog10SumLog10(final double a, final do...
method approximateLog10SumLog10 (line 197) | public static double approximateLog10SumLog10(double small, double big) {
method sum (line 221) | public static double sum(final double[] values) {
method sum (line 228) | public static long sum(final int[] x) {
method sum (line 235) | public static int sum(final byte[] x) {
method percentage (line 242) | public static double percentage(int x, int base) {
method ratio (line 246) | public static double ratio(final int num, final int denom) {
method ratio (line 258) | public static double ratio(final long num, final long denom) {
method toLog10 (line 276) | public static double[] toLog10(final double[] prRealSpace) {
method log10sumLog10 (line 284) | public static double log10sumLog10(final double[] log10p, final int st...
method log10sumLog10 (line 288) | public static double log10sumLog10(final double[] log10p, final int st...
method sumLog10 (line 313) | public static double sumLog10(final double[] log10values) {
method log10sumLog10 (line 317) | public static double log10sumLog10(final double[] log10values) {
method wellFormedDouble (line 321) | public static boolean wellFormedDouble(final double val) {
method bound (line 325) | public static double bound(final double value, final double minBoundar...
method isBounded (line 329) | public static boolean isBounded(final double val, final double lower, ...
method isPositive (line 333) | public static boolean isPositive(final double val) {
method isPositiveOrZero (line 337) | public static boolean isPositiveOrZero(final double val) {
method isNegativeOrZero (line 341) | public static boolean isNegativeOrZero(final double val) {
method isNegative (line 345) | public static boolean isNegative(final double val) {
method compareDoubles (line 356) | public static byte compareDoubles(final double a, final double b) {
method compareDoubles (line 368) | public static byte compareDoubles(final double a, final double b, fina...
method normalDistribution (line 385) | public static double normalDistribution(final double mean, final doubl...
method normalDistributionLog10 (line 403) | public static double normalDistributionLog10(final double mean, final ...
method square (line 418) | public static double square(final double x) {
method binomialCoefficient (line 430) | public static double binomialCoefficient(final int n, final int k) {
method log10BinomialCoefficient (line 437) | public static double log10BinomialCoefficient(final int n, final int k) {
method binomialProbability (line 460) | public static double binomialProbability(final int n, final int k, fin...
method log10BinomialProbability (line 467) | public static double log10BinomialProbability(final int n, final int k...
method binomialProbability (line 477) | public static double binomialProbability(final int n, final int k) {
method log10BinomialProbability (line 484) | public static double log10BinomialProbability(final int n, final int k) {
method fastGenerateUniqueHashFromThreeIntegers (line 497) | static Long fastGenerateUniqueHashFromThreeIntegers(final int one, fin...
method binomialCumulativeProbability (line 522) | public static double binomialCumulativeProbability(final int n, final ...
method log1mexp (line 583) | public static double log1mexp(final double a) {
method log10OneMinusPow10 (line 605) | public static double log10OneMinusPow10(final double a) {
method log10MultinomialCoefficient (line 620) | public static double log10MultinomialCoefficient(final int n, final in...
method log10MultinomialProbability (line 647) | public static double log10MultinomialProbability(final int n, final in...
method multinomialCoefficient (line 671) | public static double multinomialCoefficient(final int[] k) {
method multinomialProbability (line 694) | public static double multinomialProbability(final int[] k, final doubl...
method rms (line 713) | public static double rms(final byte[] x) {
method rms (line 730) | public static double rms(final int[] x) {
method rms (line 747) | public static double rms(final Double[] x) {
method rms (line 758) | public static double rms(final Collection<Integer> l) {
method distanceSquared (line 769) | public static double distanceSquared(final double[] x, final double[] ...
method round (line 777) | public static double round(final double num, final int digits) {
method normalizeFromLog10 (line 791) | public static double[] normalizeFromLog10(final double[] array, final ...
method normalizeFromLog10 (line 804) | public static double[] normalizeFromLog10(final double[] array, final ...
method normalizeFromLog10 (line 847) | public static double[] normalizeFromLog10(final double[] array) {
method normalizeFromRealSpace (line 860) | public static double[] normalizeFromRealSpace(final double[] array) {
method maxElementIndex (line 873) | public static int maxElementIndex(final double[] array) {
method maxElementIndex (line 877) | public static int maxElementIndex(final double[] array, final int star...
method maxElementIndex (line 893) | public static int maxElementIndex(final double[] array, final int endI...
method maxElementIndex (line 897) | public static int maxElementIndex(final int[] array) {
method maxElementIndex (line 901) | public static int maxElementIndex(final byte[] array) {
method maxElementIndex (line 905) | public static int maxElementIndex(final int[] array, final int endInde...
method maxElementIndex (line 917) | public static int maxElementIndex(final byte[] array, final int endInd...
method arrayMax (line 930) | public static int arrayMax(final int[] array) {
method arrayMax (line 935) | public static double arrayMax(final double[] array) {
method arrayMax (line 939) | public static double arrayMax(final double[] array, final int endIndex) {
method arrayMin (line 943) | public static double arrayMin(final double[] array) {
method arrayMin (line 947) | public static int arrayMin(final int[] array) {
method arrayMin (line 951) | public static byte arrayMin(final byte[] array) {
method arrayMin (line 960) | public static int arrayMin(final List<Integer> array) {
method median (line 973) | public static <T extends Comparable<? super T>> T median(final List<T>...
method minElementIndex (line 997) | public static int minElementIndex(final double[] array) {
method minElementIndex (line 1010) | public static int minElementIndex(final byte[] array) {
method minElementIndex (line 1023) | public static int minElementIndex(final int[] array) {
method arrayMaxInt (line 1036) | public static int arrayMaxInt(final List<Integer> array) {
method sum (line 1048) | public static int sum(final List<Integer> list ) {
method average (line 1056) | public static double average(final List<Long> vals, final int maxI) {
method average (line 1070) | public static double average(final List<Long> vals) {
method countOccurrences (line 1074) | public static int countOccurrences(final char c, final String s) {
method countOccurrences (line 1082) | public static <T> int countOccurrences(T x, List<T> l) {
method countOccurrences (line 1092) | public static int countOccurrences(byte element, byte[] array) {
method countOccurrences (line 1102) | public static int countOccurrences(final boolean element, final boolea...
method sampleIndicesWithReplacement (line 1120) | static public ArrayList<Integer> sampleIndicesWithReplacement(final in...
method sampleIndicesWithoutReplacement (line 1139) | static public ArrayList<Integer> sampleIndicesWithoutReplacement(final...
method sliceListByIndices (line 1160) | static public <T> ArrayList<T> sliceListByIndices(final List<Integer> ...
method logDotProduct (line 1177) | public static double logDotProduct(final double [] x, final double[] y) {
method goodLog10ProbVector (line 1202) | public static boolean goodLog10ProbVector(final double[] vector, final...
method goodLog10Probability (line 1223) | public static boolean goodLog10Probability(final double result) {
method goodLog10Probability (line 1234) | public static boolean goodLog10Probability(final double result, final ...
method goodProbability (line 1244) | public static boolean goodProbability(final double result) {
class RunningAverage (line 1257) | public static class RunningAverage {
method add (line 1262) | public void add(double obs) {
method addAll (line 1269) | public void addAll(Collection<Number> col) {
method mean (line 1275) | public double mean() {
method stddev (line 1279) | public double stddev() {
method var (line 1283) | public double var() {
method observationCount (line 1287) | public long observationCount() {
method clone (line 1291) | public RunningAverage clone() {
method merge (line 1299) | public void merge(RunningAverage other) {
method max (line 1312) | static public double max(double x0, double x1, double x2) {
method lnToLog10 (line 1323) | public static double lnToLog10(final double ln) {
method HI (line 1336) | private static final int HI(final double x) {
method LO (line 1344) | private static final int LO(final double x) {
method lnGamma (line 1352) | private static double lnGamma(final double x) {
method log10Gamma (line 1473) | public static double log10Gamma(final double x) {
method factorial (line 1477) | public static double factorial(final int x) {
method log10Factorial (line 1482) | public static double log10Factorial(final int x) {
class Log10FactorialCache (line 1492) | private static class Log10FactorialCache {
method size (line 1499) | public static int size() { return CACHE_SIZE; }
method get (line 1501) | public static double get(final int n) {
method initialize (line 1507) | private static synchronized void initialize() {
method addArrays (line 1527) | public static int[] addArrays(final int[] a, final int[] b) {
method vectorSum (line 1540) | public static double[] vectorSum(final double[]x, final double[] y) {
method vectorDiff (line 1557) | public static int[] vectorDiff(final int[]x, final int[] y) {
method log10LinearRange (line 1579) | public static List<Integer> log10LinearRange(final int start, final in...
method log10OneMinusX (line 1609) | public static double log10OneMinusX(final double x) {
method randomSubset (line 1625) | public static <T> List<T> randomSubset(final List<T> list, final int N) {
method randomSample (line 1638) | public static <T> List<T> randomSample(final List<T> list, final int N) {
method dirichletMultinomial (line 1654) | public static double dirichletMultinomial(final double[] dirichletPara...
method dirichletMultinomial (line 1671) | public static double dirichletMultinomial(double[] params, int[] count...
method exponentialDistribution (line 1675) | public static ExponentialDistribution exponentialDistribution( final d...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/NGSPlatform.java
type NGSPlatform (line 34) | public enum NGSPlatform {
method NGSPlatform (line 52) | NGSPlatform(final String... BAM_PL_NAMES) {
method getDefaultPlatform (line 67) | public final String getDefaultPlatform() {
method fromRead (line 80) | public static NGSPlatform fromRead(final GATKSAMRecord read) {
method fromReadGroupPL (line 92) | public static NGSPlatform fromReadGroupPL(final String plFromRG) {
method isKnown (line 115) | public static boolean isKnown(final String platform) {
method knownPlatformsString (line 124) | public static String knownPlatformsString() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/QualityUtils.java
class QualityUtils (line 29) | public class QualityUtils {
method QualityUtils (line 72) | private QualityUtils() {
method qualToProb (line 94) | public static double qualToProb(final byte qual) {
method qualToProb (line 108) | public static double qualToProb(final double qual) {
method qualToProbLog10 (line 126) | public static double qualToProbLog10(final byte qual) {
method qualToErrorProb (line 140) | public static double qualToErrorProb(final double qual) {
method qualToErrorProb (line 158) | public static double qualToErrorProb(final byte qual) {
method qualToErrorProbLog10 (line 176) | public static double qualToErrorProbLog10(final byte qual) {
method qualToErrorProbLog10 (line 190) | public static double qualToErrorProbLog10(final double qual) {
method errorProbToQual (line 210) | public static byte errorProbToQual(final double errorRate) {
method errorProbToQual (line 226) | public static byte errorProbToQual(final double errorRate, final byte ...
method trueProbToQual (line 251) | public static byte trueProbToQual(final double trueProb, final byte ma...
method phredScaleCorrectRate (line 268) | public static double phredScaleCorrectRate(final double trueRate) {
method phredScaleLog10CorrectRate (line 282) | public static double phredScaleLog10CorrectRate(final double trueRateL...
method phredScaleErrorRate (line 295) | public static double phredScaleErrorRate(final double errorRate) {
method phredScaleLog10ErrorRate (line 309) | public static double phredScaleLog10ErrorRate(final double errorRateLo...
method boundQual (line 334) | public static byte boundQual(final int qual, final byte maxQual) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/RandomGenerator.java
class RandomGenerator (line 29) | public class RandomGenerator {
method getRandomGenerator (line 34) | public static Random getRandomGenerator() {
method resetRandomGenerator (line 38) | public static void resetRandomGenerator() {
method resetRandomGenerator (line 42) | public static void resetRandomGenerator(long seed) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/ReadUtils.java
class ReadUtils (line 51) | public class ReadUtils {
method ReadUtils (line 57) | private ReadUtils() {
type ClippingTail (line 66) | public enum ClippingTail {
type ReadAndIntervalOverlap (line 134) | public enum ReadAndIntervalOverlap {NO_OVERLAP_CONTIG, NO_OVERLAP_LEFT...
method isBaseInsideAdaptor (line 150) | public static boolean isBaseInsideAdaptor(final GATKSAMRecord read, lo...
method getAdaptorBoundary (line 184) | public static int getAdaptorBoundary(final SAMRecord read) {
method hasWellDefinedFragmentSize (line 204) | public static boolean hasWellDefinedFragmentSize(final SAMRecord read) {
method is454Read (line 237) | public static boolean is454Read(GATKSAMRecord read) {
method isIonRead (line 247) | public static boolean isIonRead(GATKSAMRecord read) {
method isSOLiDRead (line 257) | public static boolean isSOLiDRead(GATKSAMRecord read) {
method isIlluminaRead (line 267) | public static boolean isIlluminaRead(GATKSAMRecord read) {
method isPlatformRead (line 279) | public static boolean isPlatformRead(GATKSAMRecord read, String name) {
method sortReadsByCoordinate (line 298) | public final static List<GATKSAMRecord> sortReadsByCoordinate(List<GAT...
method getFirstInsertionOffset (line 312) | public final static int getFirstInsertionOffset(SAMRecord read) {
method getLastInsertionOffset (line 328) | public final static int getLastInsertionOffset(SAMRecord read) {
method getReadAndIntervalOverlapType (line 343) | public static ReadAndIntervalOverlap getReadAndIntervalOverlapType(GAT...
method getReadCoordinateForReferenceCoordinate (line 397) | public static int getReadCoordinateForReferenceCoordinate(GATKSAMRecor...
method getReadCoordinateForReferenceCoordinateUpToEndOfRead (line 401) | public static int getReadCoordinateForReferenceCoordinateUpToEndOfRead...
method getReadCoordinateForReferenceCoordinate (line 406) | public static int getReadCoordinateForReferenceCoordinate(final int al...
method getReadCoordinateForReferenceCoordinate (line 443) | public static Pair<Integer, Boolean> getReadCoordinateForReferenceCoor...
method getReadCoordinateForReferenceCoordinate (line 447) | public static Pair<Integer, Boolean> getReadCoordinateForReferenceCoor...
method isInsideRead (line 563) | public static boolean isInsideRead(final GATKSAMRecord read, final int...
method readIsEntirelyInsertion (line 573) | public static boolean readIsEntirelyInsertion(GATKSAMRecord read) {
method readStartsWithInsertion (line 584) | public static CigarElement readStartsWithInsertion(final Cigar cigarFo...
method readStartsWithInsertion (line 595) | public static CigarElement readStartsWithInsertion(final Cigar cigarFo...
method getCoverageDistributionOfReads (line 616) | public static int [] getCoverageDistributionOfReads(List<GATKSAMRecord...
method getCoverageDistributionOfRead (line 638) | public static int [] getCoverageDistributionOfRead(GATKSAMRecord read,...
method getBothReadToLociMappings (line 685) | public static Pair<HashMap<Integer, HashSet<GATKSAMRecord>> , HashMap<...
method createRandomReadQuals (line 723) | public static byte[] createRandomReadQuals(int length) {
method createRandomReadBases (line 738) | public static byte[] createRandomReadBases(int length, boolean allowNs) {
method createRandomRead (line 766) | public static GATKSAMRecord createRandomRead(int length) {
method createRandomRead (line 770) | public static GATKSAMRecord createRandomRead(int length, boolean allow...
method prettyPrintSequenceRecords (line 777) | public static String prettyPrintSequenceRecords ( SAMSequenceDictionar...
method getReferenceCoordinateForReadCoordinate (line 792) | public static long getReferenceCoordinateForReadCoordinate(GATKSAMReco...
method getCigarOperatorForAllBases (line 824) | public static Map<CigarOperator, ArrayList<Integer>> getCigarOperatorF...
method convertReadBasesToString (line 857) | public static String convertReadBasesToString(GATKSAMRecord read) {
method convertReadQualToString (line 871) | public static String convertReadQualToString(byte[] quals) {
method convertReadQualToString (line 885) | public static String convertReadQualToString(GATKSAMRecord read) {
method getBasesReverseComplement (line 895) | public static String getBasesReverseComplement(byte[] bases) {
method getBasesReverseComplement (line 909) | public static String getBasesReverseComplement(GATKSAMRecord read) {
method getMaxReadLength (line 918) | public static int getMaxReadLength( final List<GATKSAMRecord> reads ) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/RecalUtils.java
class RecalUtils (line 52) | public class RecalUtils {
method initializeCovariates (line 98) | public static Pair<ArrayList<Covariate>, ArrayList<Covariate>> initial...
method addRequiredCovariatesToList (line 116) | private static ArrayList<Covariate> addRequiredCovariatesToList() {
type SOLID_RECAL_MODE (line 124) | public enum SOLID_RECAL_MODE {
method recalModeFromString (line 142) | public static SOLID_RECAL_MODE recalModeFromString(String recalMode) {
type SOLID_NOCALL_STRATEGY (line 156) | public enum SOLID_NOCALL_STRATEGY {
method nocallStrategyFromString (line 170) | public static SOLID_NOCALL_STRATEGY nocallStrategyFromString(String ...
method parsePlatformForRead (line 188) | public static void parsePlatformForRead(final GATKSAMRecord read, fina...
method isColorSpaceConsistent (line 220) | public static boolean isColorSpaceConsistent(final SOLID_NOCALL_STRATE...
method hasNoCallInColorSpace (line 267) | private static boolean hasNoCallInColorSpace(final byte[] colorSpace) {
method getNextBaseFromColor (line 287) | private static byte getNextBaseFromColor(GATKSAMRecord read, final byt...
method isColorSpaceConsistent (line 310) | public static boolean isColorSpaceConsistent(final GATKSAMRecord read,...
method computeCovariates (line 337) | public static ReadCovariates computeCovariates(final GATKSAMRecord rea...
method computeCovariates (line 355) | public static void computeCovariates(final GATKSAMRecord read, final C...
method performColorOne (line 369) | private static byte performColorOne(byte base) {
method performColorTwo (line 394) | private static byte performColorTwo(byte base) {
method performColorThree (line 419) | private static byte performColorThree(byte base) {
method combineTables (line 446) | public static void combineTables(final NestedIntegerArray<RecalDatum> ...
method incrementDatumOrPutIfNecessary (line 474) | public static void incrementDatumOrPutIfNecessary(final NestedIntegerA...
method createDatumObject (line 500) | private static RecalDatum createDatumObject(final byte reportedQual, f...
method generateReportTables (line 506) | private static List<GATKReportTable> generateReportTables(final Recali...
method parseCovariateName (line 582) | private static String parseCovariateName(final Covariate covariate) {
method covariateNames (line 592) | public static String covariateNames(final Covariate[] requestedCovaria...
method getRecalibrationReport (line 599) | public static GATKReport getRecalibrationReport(final RecalibrationArg...
method createRecalibrationGATKReport (line 618) | private static GATKReport createRecalibrationGATKReport(final GATKRepo...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/SampleListUtils.java
class SampleListUtils (line 36) | public class SampleListUtils {
method sampleCount (line 40) | @Override
method sampleIndex (line 45) | @Override
method sampleAt (line 50) | @Override
method emptyList (line 61) | public static SampleList emptyList() {
method equals (line 74) | public static boolean equals(final SampleList first, final SampleList ...
method asList (line 102) | public static List<String> asList(final SampleList list) {
method asSet (line 115) | public static Set<String> asSet(final SampleList list) {
method singletonList (line 127) | public static SampleList singletonList(final String sampleName) {
class AsList (line 154) | private static class AsList extends AbstractList<String> {
method AsList (line 158) | private AsList(final SampleList list) {
method get (line 163) | @Override
method size (line 168) | @Override
class AsSet (line 177) | private static class AsSet extends AbstractSet<String> {
method AsSet (line 181) | private AsSet(final SampleList list) {
method iterator (line 186) | @Override
method size (line 210) | @Override
method contains (line 215) | @Override
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/SequenceComplexity.java
class SequenceComplexity (line 27) | public class SequenceComplexity {
method findBasesInShortUnitRepeats (line 46) | public static boolean[] findBasesInShortUnitRepeats(final byte[] bases...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/TextFormattingUtils.java
class TextFormattingUtils (line 41) | public class TextFormattingUtils {
method wordWrap (line 60) | public static List<String> wordWrap(String text, int width ) {
class CaseInsensitiveComparator (line 78) | public static class CaseInsensitiveComparator implements Comparator<St...
method compare (line 85) | public int compare(String lhs, String rhs) {
method loadResourceBundle (line 99) | public static ResourceBundle loadResourceBundle(String bundleName) {
method getWordStarts (line 124) | public static List<Integer> getWordStarts(String line) {
method splitFixedWidth (line 142) | public static String[] splitFixedWidth(String line, List<Integer> colu...
method splitWhiteSpace (line 165) | public static String[] splitWhiteSpace(String line) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/Utils.java
class Utils (line 47) | public class Utils {
method xor (line 60) | public static boolean xor(final boolean x, final boolean y) {
method optimumHashSize (line 73) | public static int optimumHashSize ( int maxElements ) {
method equals (line 85) | public static boolean equals(Object lhs, Object rhs) {
method cons (line 89) | public static <T> List<T> cons(final T elt, final List<T> l) {
method warnUser (line 96) | public static void warnUser(final String msg) {
method warnUser (line 100) | public static void warnUser(final Logger logger, final String msg) {
method prettyPrintWarningMessage (line 114) | private static void prettyPrintWarningMessage(Logger logger, String me...
method joinMap (line 139) | public static <L,R> String joinMap(String keyValueSeperator, String re...
method split (line 156) | public static ArrayList<String> split(String str, String delimiter) {
method split (line 168) | public static ArrayList<String> split(String str, String delimiter, in...
method join (line 189) | public static String join(String separator, String[] strings) {
method join (line 193) | public static String join(String separator, String[] strings, int star...
method join (line 205) | public static String join(String separator, int[] ints) {
method list2Array (line 219) | public static int[] list2Array(List<Integer> list) {
method append (line 236) | public static <T> List<T> append(final List<T> left, T ... elts) {
method join (line 249) | public static String join(String separator, double[] doubles) {
method join (line 273) | public static <T> String join(final String separator, final Collection...
method asList (line 299) | public static List<Integer> asList(final int ... values) {
method asList (line 322) | public static List<Double> asList(final double ... values) {
method join (line 339) | public static <T> String join(final String separator, final T ... obje...
method dupString (line 349) | public static String dupString(final String s, int nCopies) {
method dupString (line 359) | public static String dupString(char c, int nCopies) {
method dupBytes (line 365) | public static byte[] dupBytes(byte b, int nCopies) {
method trim (line 372) | public static String trim(String str, char ch) {
method escapeExpressions (line 393) | public static String[] escapeExpressions(String args) {
method escapeExpressions (line 409) | private static String[] escapeExpressions(String args, String delimite...
method concatArrays (line 432) | public static String[] concatArrays(String[] A, String[] B) {
method concat (line 443) | public static byte[] concat(final byte[] ... allBytes) {
method appendArray (line 463) | public static String[] appendArray(String[] A, String... B) {
method sorted (line 467) | public static <T extends Comparable<T>> List<T> sorted(Collection<T> c) {
method sorted (line 471) | public static <T extends Comparable<T>> List<T> sorted(Collection<T> c...
method sorted (line 478) | public static <T extends Comparable<T>, V> List<V> sorted(Map<T,V> c) {
method sorted (line 482) | public static <T extends Comparable<T>, V> List<V> sorted(Map<T,V> c, ...
method reverse (line 500) | static public byte[] reverse(byte[] bases) {
method reverse (line 510) | static public <T> List<T> reverse(final List<T> l) {
method reverse (line 522) | static public int[] reverse(int[] bases) {
method reverse (line 538) | static public String reverse(String bases) {
method isFlagSet (line 542) | public static boolean isFlagSet(int value, int flag) {
method resolveHostname (line 550) | public static String resolveHostname() {
method arrayFromArrayWithLength (line 561) | public static byte [] arrayFromArrayWithLength(byte[] array, int lengt...
method fillArrayWithByte (line 568) | public static void fillArrayWithByte(byte[] array, byte value) {
method setupWriter (line 580) | public static SAMFileHeader setupWriter(final SAMFileHeader originalHe...
method nCombinations (line 601) | public static <T> int nCombinations(final Collection<T>[] options) {
method nCombinations (line 609) | public static <T> int nCombinations(final List<List<T>> options) {
method makePermutations (line 633) | public static <T> List<List<T>> makePermutations(final List<T> objects...
method formattedNoveltyRate (line 659) | public static String formattedNoveltyRate(final int known, final int a...
method formattedPercent (line 670) | public static String formattedPercent(final long x, final long total) {
method formattedRatio (line 681) | public static String formattedRatio(final long num, final long denom) {
method addAll (line 707) | public static <T> boolean addAll(Collection<T> dest, T ... elements) {
method makeIdentityFunctionMap (line 718) | public static <T> Map<T, T> makeIdentityFunctionMap(Collection<T> valu...
method groupList (line 733) | public static <T> List<List<T>> groupList(final List<T> list, final in...
method calcMD5 (line 747) | public static String calcMD5(final String s) {
method calcMD5 (line 757) | public static String calcMD5(final byte[] bytes) {
method endsWith (line 779) | public static boolean endsWith(final byte[] big, final byte[] suffix) {
method longestCommonPrefix (line 792) | public static int longestCommonPrefix(final byte[] seq1, final byte[] ...
method longestCommonSuffix (line 812) | public static int longestCommonSuffix(final byte[] seq1, final byte[] ...
method trimArray (line 833) | public static byte[] trimArray(final byte[] seq, final int trimFromFro...
method listFromPrimitives (line 846) | public static List<Integer> listFromPrimitives(final int[] ar) {
method equalRange (line 870) | public static boolean equalRange(final byte[] left, final int leftOffs...
method skimArray (line 899) | public static <T> T skimArray(final T original, final boolean[] remove) {
method skimArray (line 930) | public static <T> T skimArray(final T source, final int sourceOffset, ...
method skimArray (line 973) | public static <T> T skimArray(final T source, final int sourceOffset, ...
method skimArrayBuildResultArray (line 1045) | private static <T> T skimArrayBuildResultArray(final T dest, final int...
method skimArrayDetermineDestArrayClass (line 1059) | private static <T> Class<T> skimArrayDetermineDestArrayClass(final T d...
method deepCloneArray (line 1092) | public static <T> T deepCloneArray(final T array) {
method calculateArrayDimensions (line 1109) | private static int calculateArrayDimensions(final Class<?> clazz) {
method deepCloneArrayUnchecked (line 1116) | private static <T> T deepCloneArrayUnchecked(final T array, final Clas...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/clip/ClippingOp.java
class ClippingOp (line 46) | public class ClippingOp {
method ClippingOp (line 49) | public ClippingOp(int start, int stop) {
method getLength (line 55) | public int getLength() {
method apply (line 66) | public GATKSAMRecord apply(ClippingRepresentation algorithm, GATKSAMRe...
method revertSoftClippedBases (line 163) | private GATKSAMRecord revertSoftClippedBases(GATKSAMRecord read) {
method getNewAlignmentStartOffset (line 198) | private int getNewAlignmentStartOffset(final Cigar __cigar, final Ciga...
method softClip (line 245) | private Cigar softClip(final Cigar __cigar, final int __startClipEnd, ...
method hardClip (line 349) | private GATKSAMRecord hardClip(GATKSAMRecord read, int start, int stop) {
method hardClipCigar (line 386) | private CigarShift hardClipCigar(Cigar cigar, int start, int stop) {
method cleanHardClippedCigar (line 493) | private CigarShift cleanHardClippedCigar(final Cigar cigar) {
method calcHardSoftOffset (line 566) | private int calcHardSoftOffset(final Cigar cigar) {
method calculateAlignmentStartShift (line 583) | private int calculateAlignmentStartShift(Cigar oldCigar, Cigar newCiga...
method calculateHardClippingAlignmentShift (line 589) | private int calculateHardClippingAlignmentShift(CigarElement cigarElem...
class CigarShift (line 602) | private static class CigarShift {
method CigarShift (line 607) | private CigarShift(Cigar cigar, int shiftFromStart, int shiftFromEnd) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/clip/ClippingRepresentation.java
type ClippingRepresentation (line 27) | public enum ClippingRepresentation {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/clip/ReadClipper.java
class ReadClipper (line 68) | public class ReadClipper {
method ReadClipper (line 85) | public ReadClipper(final GATKSAMRecord read) {
method addOp (line 103) | public void addOp(ClippingOp op) {
method getOps (line 113) | public List<ClippingOp> getOps() {
method wasClipped (line 121) | public boolean wasClipped() {
method getRead (line 130) | public GATKSAMRecord getRead() {
method clipRead (line 140) | public GATKSAMRecord clipRead(ClippingRepresentation algorithm) {
method hardClipByReferenceCoordinatesLeftTail (line 171) | private GATKSAMRecord hardClipByReferenceCoordinatesLeftTail(int refSt...
method hardClipByReferenceCoordinatesLeftTail (line 174) | public static GATKSAMRecord hardClipByReferenceCoordinatesLeftTail(GAT...
method hardClipByReferenceCoordinatesRightTail (line 187) | private GATKSAMRecord hardClipByReferenceCoordinatesRightTail(int refS...
method hardClipByReferenceCoordinatesRightTail (line 190) | public static GATKSAMRecord hardClipByReferenceCoordinatesRightTail(GA...
method hardClipByReadCoordinates (line 201) | private GATKSAMRecord hardClipByReadCoordinates(int start, int stop) {
method hardClipByReadCoordinates (line 208) | public static GATKSAMRecord hardClipByReadCoordinates(GATKSAMRecord re...
method hardClipBothEndsByReferenceCoordinates (line 222) | private GATKSAMRecord hardClipBothEndsByReferenceCoordinates(int left,...
method hardClipBothEndsByReferenceCoordinates (line 235) | public static GATKSAMRecord hardClipBothEndsByReferenceCoordinates(GAT...
method clipLowQualEnds (line 250) | private GATKSAMRecord clipLowQualEnds(ClippingRepresentation algorithm...
method hardClipLowQualEnds (line 276) | private GATKSAMRecord hardClipLowQualEnds(byte lowQual) {
method hardClipLowQualEnds (line 279) | public static GATKSAMRecord hardClipLowQualEnds(GATKSAMRecord read, by...
method clipLowQualEnds (line 282) | public static GATKSAMRecord clipLowQualEnds(GATKSAMRecord read, byte l...
method hardClipSoftClippedBases (line 292) | private GATKSAMRecord hardClipSoftClippedBases () {
method hardClipSoftClippedBases (line 325) | public static GATKSAMRecord hardClipSoftClippedBases (GATKSAMRecord re...
method hardClipToRegion (line 338) | public static GATKSAMRecord hardClipToRegion( final GATKSAMRecord read...
method hardClipToRegionIncludingClippedBases (line 352) | public static GATKSAMRecord hardClipToRegionIncludingClippedBases( fin...
method hardClipToRegion (line 358) | private static GATKSAMRecord hardClipToRegion( final GATKSAMRecord rea...
method hardClipToRegion (line 373) | public static List<GATKSAMRecord> hardClipToRegion( final List<GATKSAM...
method hardClipAdaptorSequence (line 391) | private GATKSAMRecord hardClipAdaptorSequence () {
method hardClipAdaptorSequence (line 399) | public static GATKSAMRecord hardClipAdaptorSequence (GATKSAMRecord rea...
method hardClipLeadingInsertions (line 409) | private GATKSAMRecord hardClipLeadingInsertions() {
method hardClipLeadingInsertions (line 424) | public static GATKSAMRecord hardClipLeadingInsertions(GATKSAMRecord re...
method revertSoftClippedBases (line 433) | private GATKSAMRecord revertSoftClippedBases() {
method revertSoftClippedBases (line 447) | public static GATKSAMRecord revertSoftClippedBases(GATKSAMRecord read) {
method revertSoftClippedBases (line 460) | public static GATKSAMRecord revertSoftClippedBases(GATKSAMRecord read,...
method hardClipLowQualitySoftClips (line 471) | public static GATKSAMRecord hardClipLowQualitySoftClips(GATKSAMRecord ...
method hardClipByReferenceCoordinates (line 519) | protected GATKSAMRecord hardClipByReferenceCoordinates(int refStart, i...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/downsampling/AlleleBiasedDownsamplingUtils.java
class AlleleBiasedDownsamplingUtils (line 43) | public class AlleleBiasedDownsamplingUtils {
class PileupElementList (line 46) | private final static class PileupElementList extends ArrayList<PileupE...
method createAlleleBiasedBasePileup (line 55) | public static ReadBackedPileup createAlleleBiasedBasePileup(final Read...
method calculateAlleleCounts (line 106) | private static int[] calculateAlleleCounts(final PileupElementList[] a...
method scoreAlleleCounts (line 114) | private static int scoreAlleleCounts(final int[] alleleCounts) {
method runSmartDownsampling (line 142) | protected static int[] runSmartDownsampling(final int[] alleleCounts, ...
method downsampleElements (line 182) | protected static List<PileupElement> downsampleElements(final List<Pil...
method selectAlleleBiasedReads (line 218) | public static <A extends Allele> List<GATKSAMRecord> selectAlleleBiase...
method downsampleElements (line 254) | protected static List<GATKSAMRecord> downsampleElements(final List<GAT...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/downsampling/Downsampler.java
class Downsampler (line 30) | public abstract class Downsampler<T> {
method submit (line 44) | public abstract void submit( final T item );
method submit (line 52) | public void submit( final Collection<T> items ) {
method hasFinalizedItems (line 67) | public abstract boolean hasFinalizedItems();
method consumeFinalizedItems (line 74) | public abstract List<T> consumeFinalizedItems();
method hasPendingItems (line 82) | public abstract boolean hasPendingItems();
method peekFinalized (line 90) | public abstract T peekFinalized();
method peekPending (line 98) | public abstract T peekPending();
method size (line 109) | public abstract int size();
method getNumberOfDiscardedItems (line 117) | public int getNumberOfDiscardedItems() {
method signalEndOfInput (line 125) | public abstract void signalEndOfInput();
method clearItems (line 130) | public abstract void clearItems();
method resetStats (line 135) | public void resetStats() {
method doNotDiscardItem (line 148) | protected boolean doNotDiscardItem( final Object item ) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/downsampling/DownsamplingUtils.java
class DownsamplingUtils (line 36) | public class DownsamplingUtils {
method DownsamplingUtils (line 37) | private DownsamplingUtils() { }
method levelCoverageByPosition (line 56) | public static List<GATKSAMRecord> levelCoverageByPosition(final List<G...
method partitionReadsBySampleAndStart (line 81) | private static Map<String, Map<Integer, List<GATKSAMRecord>>> partitio...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/downsampling/LIBSDownsamplingInfo.java
class LIBSDownsamplingInfo (line 27) | public class LIBSDownsamplingInfo {
method LIBSDownsamplingInfo (line 31) | public LIBSDownsamplingInfo(boolean performDownsampling, int toCoverag...
method isPerformDownsampling (line 36) | public boolean isPerformDownsampling() {
method getToCoverage (line 40) | public int getToCoverage() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/downsampling/LevelingDownsampler.java
class LevelingDownsampler (line 36) | public class LevelingDownsampler<T extends List<E>, E> extends Downsampl...
method LevelingDownsampler (line 54) | public LevelingDownsampler( final int targetSize ) {
method LevelingDownsampler (line 68) | public LevelingDownsampler( final int targetSize, final int minElement...
method submit (line 78) | @Override
method submit (line 83) | @Override
method hasFinalizedItems (line 88) | @Override
method consumeFinalizedItems (line 93) | @Override
method hasPendingItems (line 105) | @Override
method peekFinalized (line 110) | @Override
method peekPending (line 115) | @Override
method size (line 120) | @Override
method signalEndOfInput (line 129) | @Override
method clearItems (line 135) | @Override
method levelGroups (line 141) | private void levelGroups() {
method downsampleOneGroup (line 187) | private void downsampleOneGroup( final T group, final int numItemsToKe...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/fragments/FragmentCollection.java
class FragmentCollection (line 31) | public class FragmentCollection<T> {
method FragmentCollection (line 35) | public FragmentCollection(final Collection<T> singletons, final Collec...
method getSingletonReads (line 45) | public Collection<T> getSingletonReads() {
method getOverlappingPairs (line 54) | public Collection<List<T>> getOverlappingPairs() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/haplotype/EventMap.java
class EventMap (line 49) | public class EventMap extends TreeMap<Integer, VariantContext> {
method EventMap (line 61) | public EventMap(final Haplotype haplotype, final byte[] ref, final Gen...
method EventMap (line 76) | public EventMap(final Collection<VariantContext> stateForTesting) {
method processCigarForInitialEvents (line 85) | protected void processCigarForInitialEvents() {
method addVC (line 183) | protected void addVC(final VariantContext vc) {
method addVC (line 193) | public void addVC(final VariantContext vc, final boolean merge) {
method makeBlock (line 217) | protected VariantContext makeBlock(final VariantContext vc1, final Var...
method replaceClumpedEventsWithBlockSubstitutions (line 254) | protected void replaceClumpedEventsWithBlockSubstitutions() {
method updateToBlockSubstitutionIfBetter (line 273) | protected boolean updateToBlockSubstitutionIfBetter(final List<Variant...
method getNeighborhood (line 311) | protected List<VariantContext> getNeighborhood(final VariantContext le...
method getStartPositions (line 334) | public Set<Integer> getStartPositions() {
method getVariantContexts (line 343) | public Collection<VariantContext> getVariantContexts() {
method getNumberOfEvents (line 352) | public int getNumberOfEvents() {
method toString (line 356) | @Override
method buildEventMapsForHaplotypes (line 375) | public static TreeSet<Integer> buildEventMapsForHaplotypes(final List<...
class VariantContextComparator (line 399) | private static class VariantContextComparator implements Comparator<Va...
method compare (line 400) | @Override
method getAllVariantContexts (line 412) | public static TreeSet<VariantContext> getAllVariantContexts(final List...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/haplotype/Haplotype.java
class Haplotype (line 43) | public class Haplotype extends Allele {
method Haplotype (line 58) | public Haplotype(final byte[] bases, final boolean isRef) {
method Haplotype (line 67) | public Haplotype(final byte[] bases) {
method Haplotype (line 81) | public Haplotype(final byte[] bases, final boolean isRef, final int al...
method Haplotype (line 92) | public Haplotype(final Allele allele) {
method Haplotype (line 96) | public Haplotype(final byte[] bases, final GenomeLoc loc) {
method trim (line 113) | public Haplotype trim(final GenomeLoc loc) {
method equals (line 138) | @Override
method hashCode (line 143) | @Override
method getEventMap (line 148) | public EventMap getEventMap() {
method setEventMap (line 152) | public void setEventMap(final EventMap eventMap) {
method toString (line 156) | @Override
method getGenomeLocation (line 166) | public GenomeLoc getGenomeLocation() {
method setGenomeLocation (line 170) | public void setGenomeLocation(GenomeLoc genomeLocation) {
method getStartPosition (line 174) | public long getStartPosition() {
method getStopPosition (line 178) | public long getStopPosition() {
method getAlignmentStartHapwrtRef (line 182) | public int getAlignmentStartHapwrtRef() {
method setAlignmentStartHapwrtRef (line 186) | public void setAlignmentStartHapwrtRef(final int alignmentStartHapwrtR...
method getCigar (line 196) | public Cigar getCigar() {
method getConsolidatedPaddedCigar (line 206) | public Cigar getConsolidatedPaddedCigar(final int padSize) {
method setCigar (line 221) | public void setCigar(final Cigar cigar) {
method insertAllele (line 227) | public Haplotype insertAllele(final Allele refAllele, final Allele alt...
class Event (line 242) | private static class Event {
method Event (line 247) | public Event(final Allele ref, final Allele alt, final int pos) {
method getScore (line 259) | public double getScore() {
method setScore (line 270) | public void setScore(double score) {
method compare (line 283) | @Override
method makeHaplotypeListFromAlleles (line 299) | public static LinkedHashMap<Allele, Haplotype> makeHaplotypeListFromAl...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/interval/IntervalMergingRule.java
type IntervalMergingRule (line 27) | public enum IntervalMergingRule {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/interval/IntervalSetRule.java
type IntervalSetRule (line 27) | public enum IntervalSetRule {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/interval/IntervalUtils.java
class IntervalUtils (line 39) | public class IntervalUtils {
method isUnmapped (line 46) | public static boolean isUnmapped(String interval) {
method mergeListsBySetOperator (line 57) | public static List<GenomeLoc> mergeListsBySetOperator(List<GenomeLoc> ...
method sortAndMergeIntervals (line 109) | public static GenomeLocSortedSet sortAndMergeIntervals(GenomeLocParser...
method equateIntervals (line 134) | public static String equateIntervals(List<GenomeLoc> masterArg, List<G...
method toInterval (line 167) | private static htsjdk.samtools.util.Interval toInterval(GenomeLoc loc,...
method mergeIntervalLocations (line 179) | public static List<GenomeLoc> mergeIntervalLocations(final List<Genome...
method intervalSize (line 202) | public static long intervalSize(final List<GenomeLoc> locs) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/pairhmm/ArrayLoglessPairHMM.java
class ArrayLoglessPairHMM (line 32) | public class ArrayLoglessPairHMM extends PairHMM {
method initialize (line 70) | @Override
method subComputeReadLikelihoodGivenHaplotypeLog10 (line 105) | @Override
method initializePriors (line 197) | public void initializePriors(final byte[] haplotypeBases, final byte[]...
method initializeProbabilities (line 220) | protected static void initializeProbabilities(final double[][] transit...
method padMatchAndInsertArrays (line 230) | private void padMatchAndInsertArrays(final int padPosition) {
method padDeleteArrays (line 250) | private void padDeleteArrays(final int haplotypeLength, final int padP...
method clearArraySolutionPosition (line 265) | private void clearArraySolutionPosition() {
method clearPreviouslyCachedInfo (line 280) | private void clearPreviouslyCachedInfo(final int fillLength) {
method applyPreviouslyCachedInfo (line 294) | private void applyPreviouslyCachedInfo(int indK) {
method recordNewCacheInfo (line 311) | private void recordNewCacheInfo(int indK) {
method updateArrays (line 327) | private void updateArrays(final int readLength,
method updateArrayCell (line 361) | private void updateArrayCell( final int indK, final double prior, fina...
method rotateArrayReferences (line 373) | private void rotateArrayReferences() {
method rotateCacheArrays (line 395) | private void rotateCacheArrays() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/pairhmm/Log10PairHMM.java
class Log10PairHMM (line 35) | public class Log10PairHMM extends N2MemoryPairHMM {
method Log10PairHMM (line 50) | public Log10PairHMM(final boolean doExactLog10) {
method isDoingExactLog10Calculations (line 58) | public boolean isDoingExactLog10Calculations() {
method initialize (line 65) | @Override
method subComputeReadLikelihoodGivenHaplotypeLog10 (line 79) | @Override
method initializeMatrixValues (line 112) | protected void initializeMatrixValues(final byte[] haplotypeBases) {
method finalLikelihoodCalculation (line 119) | protected double finalLikelihoodCalculation() {
method initializePriors (line 137) | public void initializePriors(final byte[] haplotypeBases, final byte[]...
method initializeProbabilities (line 160) | protected void initializeProbabilities(final byte[] insertionGOP, fina...
method myLog10SumLog10 (line 180) | protected double myLog10SumLog10(final double[] values) {
method updateCell (line 195) | protected void updateCell( final int indI, final int indJ, final doubl...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/pairhmm/LoglessPairHMM.java
class LoglessPairHMM (line 30) | public class LoglessPairHMM extends N2MemoryPairHMM {
method subComputeReadLikelihoodGivenHaplotypeLog10 (line 40) | @Override
method initializePriors (line 100) | protected void initializePriors(final byte[] haplotypeBases, final byt...
method initializeProbabilities (line 123) | protected static void initializeProbabilities(final double[][] transit...
method updateCell (line 138) | protected void updateCell( final int indI, final int indJ, final doubl...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/pairhmm/N2MemoryPairHMM.java
class N2MemoryPairHMM (line 27) | abstract class N2MemoryPairHMM extends PairHMM {
method doNotUseTristateCorrection (line 37) | public void doNotUseTristateCorrection() {
method initialize (line 49) | @Override
method dumpMatrices (line 64) | protected void dumpMatrices() {
method dumpMatrix (line 75) | private void dumpMatrix(final String name, final double[][] matrix) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/pairhmm/PairHMM.java
class PairHMM (line 39) | public abstract class PairHMM {
type HMM_IMPLEMENTATION (line 47) | public enum HMM_IMPLEMENTATION {
method doNotUseTristateCorrection (line 70) | protected void doNotUseTristateCorrection() {
method initialize (line 91) | public void initialize(final int readMaxLength, final int haplotypeMax...
method finalizeRegion (line 113) | public void finalizeRegion() {
method initialize (line 126) | public void initialize(final List<Haplotype> haplotypes, final Map<Str...
method findMaxReadLength (line 130) | private int findMaxReadLength(final GATKSAMRecord... reads) {
method findMaxAlleleLength (line 140) | private int findMaxAlleleLength(final List<? extends Allele> alleles) {
method findMaxReadLength (line 150) | protected int findMaxReadLength(final List<GATKSAMRecord> reads) {
method findMaxHaplotypeLength (line 161) | protected int findMaxHaplotypeLength(final Collection<Haplotype> haplo...
method computeLikelihoods (line 183) | public void computeLikelihoods(final ReadLikelihoods.Matrix<Haplotype>...
method computeReadLikelihoodGivenHaplotypeLog10 (line 251) | protected final double computeReadLikelihoodGivenHaplotypeLog10(final ...
method subComputeReadLikelihoodGivenHaplotypeLog10 (line 308) | protected abstract double subComputeReadLikelihoodGivenHaplotypeLog10(...
method findFirstPositionWhereHaplotypesDiffer (line 327) | public static int findFirstPositionWhereHaplotypesDiffer(final byte[] ...
method setNumberOfThreads (line 346) | public static void setNumberOfThreads(final int numThreads) {
method getLikelihoodArray (line 355) | public double[] getLikelihoodArray() {
method close (line 362) | public void close() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/pairhmm/PairHMMIndelErrorModel.java
class PairHMMIndelErrorModel (line 50) | public class PairHMMIndelErrorModel {
method PairHMMIndelErrorModel (line 88) | public PairHMMIndelErrorModel(byte indelGOP, byte indelGCP, boolean de...
method getContextHomopolymerLength (line 138) | static private void getContextHomopolymerLength(final byte[] refBytes,...
method fillGapProbabilities (line 170) | private void fillGapProbabilities(final int[] hrunProfile,
method trimHaplotypes (line 195) | protected static Map<Allele, Haplotype> trimHaplotypes(final Map<Allel...
method mustClipDownstream (line 240) | protected static boolean mustClipDownstream(final GATKSAMRecord read, ...
method mustClipUpstream (line 251) | protected static boolean mustClipUpstream(final GATKSAMRecord read, fi...
method computeGeneralReadHaplotypeLikelihoods (line 255) | public synchronized double[][] computeGeneralReadHaplotypeLikelihoods(...
method useSoftClippedBases (line 447) | private boolean useSoftClippedBases(GATKSAMRecord read, long eventStar...
method getDiploidHaplotypeLikelihoods (line 462) | private static double[] getDiploidHaplotypeLikelihoods(final int numHa...
method computeDiploidReadHaplotypeLikelihoods (line 495) | public synchronized double[] computeDiploidReadHaplotypeLikelihoods(fi...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/pairhmm/PairHMMModel.java
class PairHMMModel (line 30) | public class PairHMMModel {
method PairHMMModel (line 36) | private PairHMMModel() {
method qualToTransProbs (line 129) | public static void qualToTransProbs(final double[] dest, final byte in...
method qualToTransProbs (line 153) | @SuppressWarnings("unused")
method qualToTransProbs (line 180) | @SuppressWarnings("unused")
method qualToTransProbs (line 211) | @SuppressWarnings("unused")
method qualToTransProbsLog10 (line 229) | public static void qualToTransProbsLog10(final double[] dest, final by...
method qualToTransProbsLog10 (line 253) | @SuppressWarnings("unused")
method qualToTransProbsLog10 (line 279) | @SuppressWarnings("unused")
method qualToTransProbsLog10 (line 309) | @SuppressWarnings("unused")
method createTransitionMatrix (line 323) | public static double[][] createTransitionMatrix(final int maxReadLengt...
method matchToMatchProb (line 344) | public static double matchToMatchProb(final byte insQual, final byte d...
method matchToMatchProbLog10 (line 361) | public static double matchToMatchProbLog10(final byte insQual, final b...
method matchToMatchProb (line 381) | public static double matchToMatchProb(final int insQual, final int del...
method matchToMatchProbLog10 (line 414) | public static double matchToMatchProbLog10(final int insQual, final in...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/reports/GATKReport.java
class GATKReport (line 41) | public class GATKReport {
method GATKReport (line 52) | public GATKReport() {
method GATKReport (line 60) | public GATKReport(String filename) {
method GATKReport (line 69) | public GATKReport(File file) {
method GATKReport (line 77) | public GATKReport(GATKReportTable... tables) {
method loadReport (line 87) | private void loadReport(File file) {
method addTable (line 121) | public void addTable(final String tableName, final String tableDescrip...
method addTable (line 133) | public void addTable(final String tableName, final String tableDescrip...
method addTable (line 143) | public void addTable(GATKReportTable table) {
method addTables (line 147) | public void addTables(List<GATKReportTable> gatkReportTableV2s) {
method hasTable (line 158) | public boolean hasTable(String tableName) {
method getTable (line 168) | public GATKReportTable getTable(String tableName) {
method print (line 180) | public void print(PrintStream out) {
method getTables (line 186) | public Collection<GATKReportTable> getTables() {
method concat (line 196) | public void concat(GATKReport input) {
method setVersion (line 207) | public void setVersion(GATKReportVersion version) {
method getVersion (line 211) | public GATKReportVersion getVersion() {
method isSameFormat (line 223) | public boolean isSameFormat(GATKReport report) {
method equals (line 243) | public boolean equals(GATKReport report) {
method newSimpleReport (line 279) | public static GATKReport newSimpleReport(final String tableName, final...
method newSimpleReportWithDescription (line 290) | public static GATKReport newSimpleReportWithDescription(final String t...
method newSimpleReport (line 325) | public static GATKReport newSimpleReport(final String tableName, final...
method addRow (line 345) | public void addRow(final Object... values) {
method addRowList (line 366) | public void addRowList(final List<Object> values) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/reports/GATKReportColumn.java
class GATKReportColumn (line 32) | public class GATKReportColumn {
method GATKReportColumn (line 48) | public GATKReportColumn(final String columnName, final String format) {
method getColumnFormat (line 67) | public GATKReportColumnFormat getColumnFormat() {
method isRightAlign (line 89) | protected static boolean isRightAlign(final String value) {
method formatValue (line 99) | private String formatValue(final Object obj) {
method getDataType (line 113) | public GATKReportDataType getDataType() {
method getColumnName (line 117) | public String getColumnName() {
method getFormat (line 121) | public String getFormat() {
method updateFormatting (line 125) | public void updateFormatting(final Object value) {
method updateMaxWidth (line 135) | private void updateMaxWidth(final String formatted) {
method updateFormat (line 139) | private void updateFormat(final String formatted) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/reports/GATKReportColumnFormat.java
class GATKReportColumnFormat (line 27) | public class GATKReportColumnFormat {
type Alignment (line 28) | public static enum Alignment { LEFT, RIGHT }
method GATKReportColumnFormat (line 32) | public GATKReportColumnFormat(int width, Alignment alignment) {
method getWidth (line 37) | public int getWidth() {
method getAlignment (line 41) | public Alignment getAlignment() {
method getNameFormat (line 45) | public String getNameFormat() {
method getValueFormat (line 49) | public String getValueFormat() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/reports/GATKReportDataType.java
type GATKReportDataType (line 31) | public enum GATKReportDataType {
method GATKReportDataType (line 69) | private GATKReportDataType(String dataTypeString) {
method toString (line 81) | @Override
method fromObject (line 93) | public static GATKReportDataType fromObject(Object object) {
method fromFormatString (line 128) | public static GATKReportDataType fromFormatString(String format) {
method getDefaultValue (line 143) | public Object getDefaultValue() {
method isEqual (line 167) | public boolean isEqual(Object a, Object b) {
method Parse (line 189) | Object Parse(Object obj) {
method getDefaultFormatString (line 215) | public String getDefaultFormatString() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/reports/GATKReportTable.java
class GATKReportTable (line 47) | public class GATKReportTable {
type TableDataHeaderFields (line 75) | public enum TableDataHeaderFields {
method TableDataHeaderFields (line 82) | TableDataHeaderFields(int index) {
method index (line 86) | public int index() {
type TableSortingWay (line 91) | public enum TableSortingWay {
type TableNameHeaderFields (line 97) | public enum TableNameHeaderFields {
method TableNameHeaderFields (line 103) | TableNameHeaderFields(int index) {
method index (line 107) | public int index() {
method GATKReportTable (line 119) | public GATKReportTable(BufferedReader reader, GATKReportVersion versio...
method GATKReportTable (line 207) | public GATKReportTable(Iterator<String> lineIter, GATKReportVersion ve...
method GATKReportTable (line 281) | public GATKReportTable(final String tableName, final String tableDescr...
method GATKReportTable (line 293) | public GATKReportTable(final String tableName, final String tableDescr...
method GATKReportTable (line 317) | public GATKReportTable(final GATKReportTable tableToCopy, final boolea...
method isValidName (line 331) | private boolean isValidName(String name) {
method isValidDescription (line 344) | private boolean isValidDescription(String description) {
method addRowID (line 356) | public void addRowID(final String ID) {
method addRowID (line 366) | public void addRowID(final String ID, final boolean populateFirstColum...
method addRowIDMapping (line 376) | public void addRowIDMapping(final String ID, final int index) {
method addRowIDMapping (line 387) | public void addRowIDMapping(final Object ID, final int index, final bo...
method removeRowIDMapping (line 400) | public void removeRowIDMapping(final Object ID) {
method addColumn (line 409) | public void addColumn(String columnName) {
method addColumn (line 419) | public void addColumn(String columnName, String format) {
method verifyEntry (line 430) | private void verifyEntry(final int rowIndex, final int colIndex) {
method expandTo (line 441) | private void expandTo(final int rowIndex, final boolean updateRowIdMap) {
method set (line 462) | public void set(final Object rowID, final String columnName, final Obj...
method set (line 478) | public void set(final int rowIndex, final int colIndex, Object value) {
method containsRowID (line 502) | public boolean containsRowID(final Object rowID) {
method getRowIDs (line 509) | public Collection<Object> getRowIDs() {
method increment (line 520) | public void increment(final Object rowID, final String columnName) {
method findRowByData (line 543) | public int findRowByData(final Object... columnValues) {
method fixType (line 566) | private Object fixType(final Object value, final GATKReportColumn colu...
method get (line 603) | public Object get(final Object rowID, final String columnName) {
method get (line 614) | public Object get(final int rowIndex, final String columnName) {
method get (line 625) | public Object get(int rowIndex, int columnIndex) {
method write (line 635) | void write(final PrintStream out) {
method writeRow (line 718) | private void writeRow(final PrintStream out, final Object[] row) {
method transIntoLines (line 743) | public String[] transIntoLines() {
method writeRowIntoBuffer (line 828) | private void writeRowIntoBuffer(final StringBuilder sBuilder, final Ob...
method getNumRows (line 853) | public int getNumRows() {
method getNumColumns (line 857) | public int getNumColumns() {
method getColumnInfo (line 861) | public List<GATKReportColumn> getColumnInfo() {
method getTableName (line 865) | public String getTableName() {
method getTableDescription (line 869) | public String getTableDescription() {
method concat (line 878) | public void concat(final GATKReportTable table) {
method isSameFormat (line 899) | public boolean isSameFormat(final GATKReportTable table) {
method equals (line 920) | public boolean equals(final GATKReportTable table) {
method getOrderedRows (line 940) | private List<Object[]> getOrderedRows() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/reports/GATKReportVersion.java
type GATKReportVersion (line 29) | public enum GATKReportVersion {
method GATKReportVersion (line 62) | private GATKReportVersion(String versionString) {
method toString (line 66) | @Override
method equals (line 71) | public boolean equals(GATKReportVersion that) {
method fromHeader (line 81) | public static GATKReportVersion fromHeader(String header) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/smithwaterman/GlobalEdgeGreedySWPairwiseAlignment.java
class GlobalEdgeGreedySWPairwiseAlignment (line 36) | public final class GlobalEdgeGreedySWPairwiseAlignment extends SWPairwis...
method GlobalEdgeGreedySWPairwiseAlignment (line 47) | public GlobalEdgeGreedySWPairwiseAlignment(final byte[] reference, fin...
method GlobalEdgeGreedySWPairwiseAlignment (line 60) | public GlobalEdgeGreedySWPairwiseAlignment(final byte[] reference, fin...
method GlobalEdgeGreedySWPairwiseAlignment (line 67) | public GlobalEdgeGreedySWPairwiseAlignment(byte[] reference, byte[] al...
method align (line 77) | @Override
method debugMatrix (line 133) | private void debugMatrix(final int[][] matrix) {
method makeCigarForStrictPrefixAndSuffix (line 151) | private Cigar makeCigarForStrictPrefixAndSuffix(final byte[] reference...
method calculateCigar (line 186) | protected SWPairwiseAlignmentResult calculateCigar(final int matchingP...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/smithwaterman/Parameters.java
class Parameters (line 27) | public final class Parameters {
method Parameters (line 41) | public Parameters(final int w_match, final int w_mismatch, final int w...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/smithwaterman/SWPairwiseAlignment.java
class SWPairwiseAlignment (line 38) | public class SWPairwiseAlignment implements SmithWaterman {
type State (line 47) | protected enum State {
type OVERHANG_STRATEGY (line 57) | public enum OVERHANG_STRATEGY {
method SWPairwiseAlignment (line 102) | @Deprecated
method SWPairwiseAlignment (line 116) | public SWPairwiseAlignment(byte[] seq1, byte[] seq2, Parameters parame...
method SWPairwiseAlignment (line 131) | public SWPairwiseAlignment(final byte[] seq1, final byte[] seq2, final...
method SWPairwiseAlignment (line 142) | protected SWPairwiseAlignment(final Parameters parameters) {
method SWPairwiseAlignment (line 155) | public SWPairwiseAlignment(byte[] seq1, byte[] seq2, SWParameterSet na...
method SWPairwiseAlignment (line 159) | public SWPairwiseAlignment(byte[] seq1, byte[] seq2) {
method getCigar (line 163) | @Override
method getAlignmentStart2wrt1 (line 166) | @Override
method align (line 175) | protected void align(final byte[] reference, final byte[] alternate) {
method calculateMatrix (line 197) | protected void calculateMatrix(final byte[] reference, final byte[] al...
method calculateMatrix (line 210) | protected void calculateMatrix(final byte[] reference, final byte[] al...
class SWPairwiseAlignmentResult (line 324) | protected final class SWPairwiseAlignmentResult {
method SWPairwiseAlignmentResult (line 327) | public SWPairwiseAlignmentResult(final Cigar cigar, final int alignm...
method calculateCigar (line 341) | protected SWPairwiseAlignmentResult calculateCigar(final int[][] sw, f...
method makeElement (line 459) | protected CigarElement makeElement(final State state, final int length) {
method wd (line 471) | private int wd(final byte x, final byte y) {
method printAlignment (line 475) | public void printAlignment(byte[] ref, byte[] read) {
method printAlignment (line 479) | public void printAlignment(byte[] ref, byte[] read, int width) {
method print_cautiously (line 578) | private static void print_cautiously(StringBuilder s, int start, int w...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/smithwaterman/SWParameterSet.java
type SWParameterSet (line 27) | public enum SWParameterSet {
method SWParameterSet (line 38) | SWParameterSet(final Parameters parameters) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/smithwaterman/SmithWaterman.java
type SmithWaterman (line 29) | public interface SmithWaterman {
method getCigar (line 35) | public Cigar getCigar();
method getAlignmentStart2wrt1 (line 41) | public int getAlignmentStart2wrt1();
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/transformers/BQSRReadTransformer.java
class BQSRReadTransformer (line 35) | public class BQSRReadTransformer extends ReadTransformer {
method BQSRReadTransformer (line 41) | public BQSRReadTransformer(GATKReport recalTable) {
method getOrderingConstraint (line 45) | @Override
method initializeSub (line 50) | @Override
method enabled (line 68) | @Override
method apply (line 76) | @Override
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/transformers/MisencodedBaseQualityReadTransformer.java
class MisencodedBaseQualityReadTransformer (line 34) | public class MisencodedBaseQualityReadTransformer extends ReadTransformer {
method initializeSub (line 44) | @Override
method enabled (line 51) | @Override
method apply (line 56) | @Override
method fixMisencodedQuals (line 65) | protected static GATKSAMRecord fixMisencodedQuals(final GATKSAMRecord ...
method checkForMisencodedQuals (line 76) | protected static void checkForMisencodedQuals(final GATKSAMRecord read) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/transformers/ReadTransformer.java
class ReadTransformer (line 51) | abstract public class ReadTransformer {
method ReadTransformer (line 62) | protected ReadTransformer() {
method getOrderingConstraint (line 68) | public OrderingConstraint getOrderingConstraint() {
method initialize (line 79) | public final void initialize(final ApplicationTime overrideTime,
method initializeSub (line 96) | protected abstract void initializeSub(Map<String, Object> args, final ...
method enabled (line 105) | public boolean enabled() {
method isInitialized (line 114) | public final boolean isInitialized() {
method getApplicationTime (line 123) | public final ApplicationTime getApplicationTime() {
method apply (line 137) | abstract public GATKSAMRecord apply(final GATKSAMRecord read);
method toString (line 139) | @Override
type ApplicationTime (line 147) | public static enum ApplicationTime {
type OrderingConstraint (line 172) | public enum OrderingConstraint {
class ReadTransformerComparator (line 189) | public static class ReadTransformerComparator implements Comparator<Re...
method compare (line 191) | public int compare(final ReadTransformer r1, final ReadTransformer r...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/vcfWriter/GVCFWriter.java
class GVCFWriter (line 42) | public class GVCFWriter implements VariantContextWriter {
method parsePartitions (line 65) | protected static List<HomRefBlock> parsePartitions(final List<Integer>...
method GVCFWriter (line 100) | public GVCFWriter(final List<Integer> GQPartitions, final int defaultP...
method writeHeader (line 112) | @Override
method close (line 120) | @Override
method close (line 133) | public void close(final boolean closeUnderlyingWriter) {
method addHomRefSite (line 144) | protected VariantContext addHomRefSite(final VariantContext vc, final ...
method genotypeCanBeMergedInCurrentBlock (line 166) | private boolean genotypeCanBeMergedInCurrentBlock(final Genotype g) {
method emitCurrentBlock (line 174) | private void emitCurrentBlock() {
method blockToVCF (line 190) | private VariantContext blockToVCF(final HomRefBlock block) {
method createNewBlock (line 219) | private HomRefBlock createNewBlock(final VariantContext vc, final Geno...
method add (line 245) | @Override
method getResultGVCFWriter (line 277) | public List<VariantContext> getResultGVCFWriter() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/vcfWriter/HomRefBlock.java
class HomRefBlock (line 36) | final class HomRefBlock {
method HomRefBlock (line 53) | public HomRefBlock(final VariantContext startingVC, final int minGQ, f...
method HomRefBlock (line 71) | public HomRefBlock(final int minGQ, final int maxGQ, final int ploidy) {
method add (line 86) | public void add(final int pos, final Genotype g) {
method withinBounds (line 114) | public boolean withinBounds(final int GQ) {
method getMinGQ (line 119) | public int getMinGQ() { return MathUtils.arrayMin(GQs); }
method getMedianGQ (line 121) | public int getMedianGQ() { return MathUtils.median(GQs); }
method getMinDP (line 123) | public int getMinDP() { return MathUtils.arrayMin(DPs); }
method getMedianDP (line 125) | public int getMedianDP() { return MathUtils.median(DPs); }
method getMinPLs (line 127) | public int[] getMinPLs() { return minPLs; }
method getGQUpperBound (line 129) | protected int getGQUpperBound() { return maxGQ; }
method getGQLowerBound (line 130) | protected int getGQLowerBound() { return minGQ; }
method isContiguous (line 132) | public boolean isContiguous(final VariantContext vc) {
method getStartingVC (line 136) | public VariantContext getStartingVC() { return startingVC; }
method getStart (line 137) | public int getStart() { return startingVC.getStart(); }
method getStop (line 138) | public int getStop() { return stop; }
method getRef (line 139) | public Allele getRef() { return ref; }
method getSize (line 140) | public int getSize() { return getStop() - getStart() + 1; }
method toString (line 142) | @Override
method toVCFHeaderLine (line 150) | public VCFHeaderLine toVCFHeaderLine() {
method getPloidy (line 158) | public int getPloidy() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/SerializableActiveRegionMapData.java
class SerializableActiveRegionMapData (line 49) | public class SerializableActiveRegionMapData implements Serializable {
method SerializableActiveRegionMapData (line 57) | public SerializableActiveRegionMapData(ActiveRegionMapData activeRegio...
method getVCInTrackerInLocus (line 77) | private List<VariantContext> getVCInTrackerInLocus(final RefMetaDataTr...
method toActiveRegionMapData (line 86) | public ActiveRegionMapData toActiveRegionMapData(GenomeLocParser parser,
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/BAQ.java
class BAQ (line 63) | public class BAQ {
type CalculationMode (line 67) | public enum CalculationMode {
type QualityMode (line 74) | public enum QualityMode {
method convertFromPhredScale (line 99) | private double convertFromPhredScale(double x) { return (Math.pow(10,(...
method getMinBaseQual (line 106) | public byte getMinBaseQual() {
method getGapOpenProb (line 115) | public double getGapOpenProb() {
method getGapExtensionProb (line 119) | public double getGapExtensionProb() {
method getBandWidth (line 123) | public int getBandWidth() {
method BAQ (line 130) | public BAQ() {
method BAQ (line 137) | public BAQ(final double gapOpenPenalty) {
method BAQ (line 152) | public BAQ(final double d, final double e, final int b, final byte min...
method initializeCachedData (line 164) | private void initializeCachedData() {
method calcEpsilon (line 182) | protected double calcEpsilon( byte ref, byte read, byte qualB ) {
method hmm_glocal (line 192) | public int hmm_glocal(final byte[] ref, final byte[] query, int qstart...
method stateIsIndel (line 368) | public static boolean stateIsIndel(int state) {
method stateAlignedPosition (line 373) | public static int stateAlignedPosition(int state) {
method set_u (line 385) | private static int set_u(final int b, final int i, final int k) {
method getBAQTag (line 402) | public static byte[] getBAQTag(SAMRecord read) {
method encodeBQTag (line 407) | public static String encodeBQTag(SAMRecord read, byte[] baq) {
method addBAQTag (line 427) | public static void addBAQTag(SAMRecord read, byte[] baq) {
method hasBAQTag (line 437) | public static boolean hasBAQTag(SAMRecord read) {
method calcBAQFromTag (line 449) | public static byte[] calcBAQFromTag(SAMRecord read, boolean overwriteO...
method calcBAQFromTag (line 481) | public static byte calcBAQFromTag(SAMRecord read, int offset, boolean ...
class BAQCalculationResult (line 502) | public static class BAQCalculationResult {
method BAQCalculationResult (line 506) | public BAQCalculationResult(SAMRecord read, byte[] ref) {
method BAQCalculationResult (line 510) | public BAQCalculationResult(byte[] bases, byte[] quals, byte[] ref) {
method calcBAQFromHMM (line 522) | public BAQCalculationResult calcBAQFromHMM(SAMRecord read, RefContentP...
method calcBAQFromHMM (line 542) | public BAQCalculationResult calcBAQFromHMM(byte[] ref, byte[] query, b...
method calculateQueryRange (line 566) | private final Pair<Integer,Integer> calculateQueryRange(SAMRecord read) {
method calcBAQFromHMM (line 601) | public BAQCalculationResult calcBAQFromHMM(SAMRecord read, byte[] ref,...
method capBaseByBAQ (line 644) | public byte capBaseByBAQ( byte oq, byte bq, int state, int expectedPos...
method baqRead (line 666) | public byte[] baqRead(SAMRecord read, RefContentProvider refContentPro...
method excludeReadFromBAQ (line 708) | public boolean excludeReadFromBAQ(SAMRecord read) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/BaseRecalibrator.java
class BaseRecalibrator (line 62) | public class BaseRecalibrator extends ReadWalker {
method BaseRecalibrator (line 95) | public BaseRecalibrator(GenomeLocParser genomeLocParser,
method initialize (line 102) | @Override
method initializeRecalibrationEngine (line 127) | private void initializeRecalibrationEngine() {
method isLowQualityBase (line 135) | private boolean isLowQualityBase( final GATKSAMRecord read, final int ...
method getFilter (line 139) | @Override
method map (line 152) | @Override
method nEvents (line 198) | protected static int nEvents(final int[]... hasEvents) {
method calculateSkipArray (line 206) | protected boolean[] calculateSkipArray( final GATKSAMRecord read, fina...
method badSolidOffset (line 216) | protected boolean badSolidOffset( final GATKSAMRecord read, final int ...
method calculateKnownSites (line 220) | protected static boolean[] calculateKnownSites( final GATKSAMRecord re...
method calculateIsSNP (line 245) | protected static int[] calculateIsSNP( final GATKSAMRecord read, final...
method calculateIsIndel (line 281) | protected static int[] calculateIsIndel( final GATKSAMRecord read, fin...
method updateIndel (line 324) | private static void updateIndel(final int[] indel, final int index, fi...
method calculateFractionalErrorArray (line 330) | protected static double[] calculateFractionalErrorArray( final int[] e...
method calculateAndStoreErrorsInBlock (line 365) | private static void calculateAndStoreErrorsInBlock( final int iii,
method flatBAQArray (line 384) | protected static byte[] flatBAQArray(final GATKSAMRecord read) {
method calculateBAQArray (line 395) | private byte[] calculateBAQArray( final GATKSAMRecord read ) {
method onTraversalDone (line 400) | @Override
method getReport (line 410) | public GATKReport getReport() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/QualQuantizer.java
class QualQuantizer (line 42) | public class QualQuantizer {
method QualQuantizer (line 69) | protected QualQuantizer(final int minInterestingQual) {
method QualQuantizer (line 94) | public QualQuantizer(final List<Long> nObservationsPerQual, final int ...
class QualInterval (line 116) | protected final class QualInterval implements Comparable<QualInterval> {
method QualInterval (line 124) | protected QualInterval(final int qStart, final int qEnd, final long ...
method QualInterval (line 128) | protected QualInterval(final int qStart, final int qEnd, final long ...
method QualInterval (line 132) | protected QualInterval(final int qStart, final int qEnd, final long ...
method QualInterval (line 136) | public QualInterval(final int qStart, final int qEnd, final long nOb...
method getName (line 150) | public String getName() {
method toString (line 154) | @Override
method getErrorRate (line 162) | public double getErrorRate() {
method getQual (line 174) | public byte getQual() {
method hasFixedQual (line 184) | public boolean hasFixedQual() {
method compareTo (line 188) | @Override
method merge (line 204) | public QualInterval merge(final QualInterval toMerge) {
method getPenalty (line 221) | public double getPenalty() {
method calcPenalty (line 239) | private double calcPenalty(final double globalErrorRate) {
method quantize (line 272) | private TreeSet<QualInterval> quantize() {
method mergeLowestPenaltyIntervals (line 298) | private void mergeLowestPenaltyIntervals(final TreeSet<QualInterval> i...
method intervalsToMap (line 337) | private List<Byte> intervalsToMap(final TreeSet<QualInterval> interval...
method getNQualsInHistogram (line 352) | private final int getNQualsInHistogram() {
method getOriginalToQuantizedMap (line 356) | public List<Byte> getOriginalToQuantizedMap() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/QuantizationInfo.java
class QuantizationInfo (line 36) | public class QuantizationInfo {
method QuantizationInfo (line 41) | private QuantizationInfo(List<Byte> quantizedQuals, List<Long> empiric...
method QuantizationInfo (line 47) | public QuantizationInfo(List<Byte> quantizedQuals, List<Long> empirica...
method QuantizationInfo (line 51) | public QuantizationInfo(final RecalibrationTables recalibrationTables,...
method quantizeQualityScores (line 70) | public void quantizeQualityScores(int nLevels) {
method noQuantization (line 75) | public void noQuantization() {
method getQuantizedQuals (line 81) | public List<Byte> getQuantizedQuals() {
method getQuantizationLevels (line 85) | public int getQuantizationLevels() {
method calculateQuantizationLevels (line 89) | private static int calculateQuantizationLevels(List<Byte> quantizedQua...
method generateReportTable (line 101) | public GATKReportTable generateReportTable(boolean sortByCols) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/ReadCovariates.java
class ReadCovariates (line 35) | public class ReadCovariates {
method initialValue (line 51) | @Override protected LRUCache<Integer, int[][][]> initialValue() {
method clearKeysCache (line 60) | public static void clearKeysCache() {
method ReadCovariates (line 74) | public ReadCovariates(final int readLength, final int numberOfCovariat...
method setCovariateIndex (line 87) | public void setCovariateIndex(final int index) {
method addCovariate (line 103) | public void addCovariate(final int mismatch, final int insertion, fina...
method getKeySet (line 116) | public int[] getKeySet(final int readPosition, final EventType errorMo...
method getKeySet (line 120) | public int[][] getKeySet(final EventType errorModel) {
method getMismatchesKeySet (line 130) | protected int[][] getMismatchesKeySet() { return getKeySet(EventType.B...
method getInsertionsKeySet (line 131) | protected int[][] getInsertionsKeySet() { return getKeySet(EventType.B...
method getDeletionsKeySet (line 132) | protected int[][] getDeletionsKeySet() { return getKeySet(EventType.BA...
method getMismatchesKeySet (line 134) | protected int[] getMismatchesKeySet(final int readPosition) {
method getInsertionsKeySet (line 138) | protected int[] getInsertionsKeySet(final int readPosition) {
method getDeletionsKeySet (line 142) | protected int[] getDeletionsKeySet(final int readPosition) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/ReadRecalibrationInfo.java
class ReadRecalibrationInfo (line 31) | public final class ReadRecalibrationInfo {
method ReadRecalibrationInfo (line 39) | public ReadRecalibrationInfo(final GATKSAMRecord read,
method getQual (line 76) | public byte getQual(final EventType eventType, final int offset) {
method getErrorFraction (line 98) | public double getErrorFraction(final EventType eventType, final int of...
method getRead (line 111) | public GATKSAMRecord getRead() {
method skip (line 120) | public boolean skip(final int offset) {
method getCovariatesValues (line 128) | public ReadCovariates getCovariatesValues() {
method validOffset (line 137) | private boolean validOffset(final int offset) {
method validQual (line 141) | private boolean validQual(final byte result) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/RecalDatum.java
class RecalDatum (line 32) | public class RecalDatum {
method RecalDatum (line 74) | public RecalDatum(final long _numObservations, final double _numMismat...
method RecalDatum (line 89) | public RecalDatum(final RecalDatum copy) {
method combine (line 102) | public synchronized void combine(final RecalDatum other) {
method setEstimatedQReported (line 109) | public synchronized void setEstimatedQReported(final double estimatedQ...
method getEstimatedQReported (line 118) | public final double getEstimatedQReported() {
method getEstimatedQReportedAsByte (line 121) | public final byte getEstimatedQReportedAsByte() {
method getEmpiricalErrorRate (line 135) | public double getEmpiricalErrorRate() {
method setEmpiricalQuality (line 147) | public synchronized void setEmpiricalQuality(final double empiricalQua...
method getEmpiricalQuality (line 155) | public final double getEmpiricalQuality() {
method getEmpiricalQuality (line 159) | public synchronized final double getEmpiricalQuality(final double cond...
method getEmpiricalQualityAsByte (line 166) | public final byte getEmpiricalQualityAsByte() {
method toString (line 176) | @Override
method stringForCSV (line 181) | public String stringForCSV() {
method getNumObservations (line 191) | public final long getNumObservations() {
method setNumObservations (line 195) | public final synchronized void setNumObservations(final long numObserv...
method getNumMismatches (line 201) | public final double getNumMismatches() {
method setNumMismatches (line 205) | public final synchronized void setNumMismatches(final double numMismat...
method incrementNumObservations (line 211) | public final synchronized void incrementNumObservations(final long by) {
method incrementNumMismatches (line 216) | public final synchronized void incrementNumMismatches(final double by) {
method increment (line 221) | public final synchronized void increment(final long incObservations, f...
method increment (line 227) | public final synchronized void increment(final boolean isError) {
method calcExpectedErrors (line 243) | private double calcExpectedErrors() {
method calcEmpiricalQuality (line 250) | private synchronized void calcEmpiricalQuality(final double conditiona...
method bayesianEstimateOfEmpiricalQuality (line 267) | static public double bayesianEstimateOfEmpiricalQuality(final long nOb...
method log10QempPrior (line 316) | static protected double log10QempPrior(final double Qempirical, final ...
method log10QempLikelihood (line 325) | static protected double log10QempLikelihood(final double Qempirical, l...
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/RecalibrationArgumentCollection.java
class RecalibrationArgumentCollection (line 39) | public class RecalibrationArgumentCollection {
method generateReportTable (line 147) | public GATKReportTable generateReportTable(final String covariateNames) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/RecalibrationEngine.java
class RecalibrationEngine (line 36) | public class RecalibrationEngine {
method makeAndCaptureTable (line 54) | private synchronized RecalibrationTables makeAndCaptureTable() {
method initialValue (line 60) | @Override
method getUpdatableRecalibrationTables (line 78) | protected RecalibrationTables getUpdatableRecalibrationTables() {
method RecalibrationEngine (line 94) | public RecalibrationEngine(final Covariate[] covariates, final int num...
method updateDataForRead (line 107) | public void updateDataForRead( final ReadRecalibrationInfo recalInfo ) {
method finalizeData (line 144) | public void finalizeData() {
method mergeThreadLocalRecalibrationTables (line 180) | private RecalibrationTables mergeThreadLocalRecalibrationTables() {
method getFinalRecalibrationTables (line 207) | public RecalibrationTables getFinalRecalibrationTables() {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/RecalibrationTables.java
class RecalibrationTables (line 34) | public final class RecalibrationTables {
type TableType (line 35) | public enum TableType {
method RecalibrationTables (line 46) | public RecalibrationTables(final Covariate[] covariates) {
method RecalibrationTables (line 50) | public RecalibrationTables(final Covariate[] covariates, final int num...
method getReadGroupTable (line 68) | public NestedIntegerArray<RecalDatum> getReadGroupTable() {
method getQualityScoreTable (line 72) | public NestedIntegerArray<RecalDatum> getQualityScoreTable() {
method getTable (line 76) | public NestedIntegerArray<RecalDatum> getTable(final int index) {
method numTables (line 80) | public int numTables() {
method isEmpty (line 87) | public boolean isEmpty() {
method makeQualityScoreTable (line 104) | public NestedIntegerArray<RecalDatum> makeQualityScoreTable() {
method combine (line 111) | public void combine(final RecalibrationTables toMerge) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/covariate/ContextCovariate.java
class ContextCovariate (line 39) | public class ContextCovariate implements StandardCovariate {
method initialize (line 57) | @Override
method recordValues (line 78) | @Override
method getValue (line 117) | @Override
method formatKey (line 122) | @Override
method keyFromValue (line 130) | @Override
method createMask (line 135) | private static int createMask(final int contextSize) {
method contextWith (line 151) | private static ArrayList<Integer> contextWith(final byte[] bases, fina...
method keyFromContext (line 206) | public static int keyFromContext(final String dna) {
method keyFromContext (line 218) | private static int keyFromContext(final byte[] dna, final int start, f...
method contextFromKey (line 238) | public static String contextFromKey(final int key) {
method maximumKeyValue (line 257) | @Override
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/covariate/Covariate.java
type Covariate (line 35) | public interface Covariate {
method initialize (line 42) | public void initialize(final RecalibrationArgumentCollection RAC);
method recordValues (line 50) | public void recordValues(final GATKSAMRecord read, final ReadCovariate...
method getValue (line 58) | public Object getValue(final String str);
method formatKey (line 66) | public String formatKey(final int key);
method keyFromValue (line 77) | public int keyFromValue(final Object value);
method maximumKeyValue (line 84) | public int maximumKeyValue();
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/covariate/CycleCovariate.java
class CycleCovariate (line 36) | public class CycleCovariate implements StandardCovariate {
method initialize (line 46) | @Override
method recordValues (line 55) | @Override
method getValue (line 184) | @Override
method formatKey (line 189) | @Override
method keyFromValue (line 197) | @Override
method maximumKeyValue (line 202) | @Override
method keyFromCycle (line 207) | private int keyFromCycle(final int cycle) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/covariate/ExperimentalCovariate.java
type ExperimentalCovariate (line 27) | public interface ExperimentalCovariate extends Covariate {}
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/covariate/QualityScoreCovariate.java
class QualityScoreCovariate (line 32) | public class QualityScoreCovariate implements RequiredCovariate {
method initialize (line 35) | @Override
method recordValues (line 38) | @Override
method getValue (line 50) | @Override
method formatKey (line 55) | @Override
method keyFromValue (line 60) | @Override
method maximumKeyValue (line 65) | @Override
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/covariate/ReadGroupCovariate.java
class ReadGroupCovariate (line 36) | public class ReadGroupCovariate implements RequiredCovariate {
method initialize (line 44) | @Override
method recordValues (line 49) | @Override
method getValue (line 59) | @Override
method formatKey (line 64) | @Override
method keyFromValue (line 71) | @Override
method getKeyMap (line 80) | public Set<Map.Entry<String, Integer>> getKeyMap() {
method keyForReadGroup (line 84) | private int keyForReadGroup(final String readGroupId) {
method maximumKeyValue (line 108) | @Override
method readGroupValueFromRG (line 120) | private String readGroupValueFromRG(final GATKSAMReadGroupRecord rg) {
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/covariate/RepeatCovariate.java
class RepeatCovariate (line 39) | public abstract class RepeatCovariate implements ExperimentalCovariate {
method initialize (line 47) | @Override
method initialize (line 53) | public void initialize(final int MAX_STR_UNIT_LENGTH, final int MAX_RE...
method recordValues (line 58) | @Override
method findTandemRepeatUnits (line 87) | public Pair<byte[], Integer> findTandemRepeatUnits(byte[] readBases, i...
method getValue (line 150) | @Override
method formatKey (line 155) | @Override
method getCovariateValueFromUnitAndLength (line 162) | protected abstract String getCovariateValueFromUnitAndLength(final byt...
method keyFromValue (line 165) | @Override
method getKeyMap (line 174) | public Set<Map.Entry<String, Integer>> getKeyMap() {
method keyForRepeat (line 178) | private int keyForRepeat(final String repeatID) {
method getRUandNRfromCovariate (line 209) | public static Pair<String,Integer> getRUandNRfromCovariate(final Strin...
method getBasesFromRUandNR (line 230) | public static String getBasesFromRUandNR(final String repeatUnit, fina...
method getBasesFromRUandNR (line 240) | public static String getBasesFromRUandNR(final String covariateValue) {
method maximumKeyValue (line 245) | @Override
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/covariate/RepeatLengthCovariate.java
class RepeatLengthCovariate (line 27) | public class RepeatLengthCovariate extends RepeatCovariate {
method getCovariateValueFromUnitAndLength (line 29) | protected String getCovariateValueFromUnitAndLength(final byte[] repea...
method maximumKeyValue (line 33) | @Override
FILE: src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/covariate/RepeatUnitAndLengthCovariate.java
class RepeatUnitAndLengthCovariate (line 27) | public class RepeatUnitAndLengthCovariate extends RepeatCovariate {
method getCovariateValueFromUnitAndLength (line 29) | protected String getCovariateValueFromUnitAndLength(final byte[] repea...
method maximumKeyValue (line 33) | @Override
FILE: src/main/j
Copy disabled (too large)
Download .json
Condensed preview — 523 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (45,202K chars).
[
{
"path": ".gitignore",
"chars": 35,
"preview": ".idea/*\ntarget/*\ntest_result/*\nbk/*"
},
{
"path": "LICENSE",
"chars": 11333,
"preview": " Apache License\n Version 2.0, January 2004\n "
},
{
"path": "README.md",
"chars": 3330,
"preview": "SparkSeq\n====\n\n# Introduction\n\nSparkSeq is a programming framework for big genome data analysis process based on [Apache"
},
{
"path": "bin/config.properties",
"chars": 152,
"preview": "processOptimize = True\nshuffleCompress = True\npartitonLength = 2000000\nsplitPartitionThres = 4\nbqsrGatherThreads = 24\nac"
},
{
"path": "bin/runSparkWGS.sh",
"chars": 711,
"preview": "spark_master=spark://master:7077\ndriver_memory=30G\nexecutor_memory=30G\ntotal_executor_cores=1024\n\nspark-submit --class o"
},
{
"path": "pom.xml",
"chars": 7173,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\"\n xmlns:xsi=\"http://www"
},
{
"path": "src/main/java/com/github/lindenb/jbwa/jni/AlnRgn.java",
"chars": 12659,
"preview": "/*\n\n Apache License\n Version 2.0, January 2004\n "
},
{
"path": "src/main/java/com/github/lindenb/jbwa/jni/BwaFrame.java",
"chars": 19356,
"preview": "/*\n\n Apache License\n Version 2.0, January 2004\n "
},
{
"path": "src/main/java/com/github/lindenb/jbwa/jni/BwaIndex.java",
"chars": 11773,
"preview": "/*\n\n Apache License\n Version 2.0, January 2004\n "
},
{
"path": "src/main/java/com/github/lindenb/jbwa/jni/BwaMem.java",
"chars": 14119,
"preview": "/*\n\n Apache License\n Version 2.0, January 2004\n "
},
{
"path": "src/main/java/com/github/lindenb/jbwa/jni/KSeq.java",
"chars": 11889,
"preview": "/*\n\n Apache License\n Version 2.0, January 2004\n "
},
{
"path": "src/main/java/com/github/lindenb/jbwa/jni/ShortRead.java",
"chars": 11971,
"preview": "/*\n\n Apache License\n Version 2.0, January 2004\n "
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/adapters/ApplyBQSRAdaptor.java",
"chars": 4331,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/adapters/BQSRTableGather.java",
"chars": 6396,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/adapters/BaseRecalibratorAdapter.java",
"chars": 3664,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/adapters/BwaMemAdapter.java",
"chars": 5347,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/adapters/HaplotypeCallerAdapter.java",
"chars": 9328,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/adapters/IndelRealignAdapter.java",
"chars": 4543,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/adapters/MutectAdapter.java",
"chars": 4817,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/basic/CountSet.java",
"chars": 15924,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/basic/DefaultHashMap.java",
"chars": 1716,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/basic/IndexedSet.java",
"chars": 11724,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/basic/IntMaxHeap.java",
"chars": 6472,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/basic/NestedIntegerArray.java",
"chars": 8519,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/basic/Pair.java",
"chars": 3312,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/basic/Permutation.java",
"chars": 3472,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/basic/PrimitivePair.java",
"chars": 7314,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/reference/RefContentProvider.java",
"chars": 5083,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/reference/RefMetaDataTracker.java",
"chars": 22023,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/reference/ReferenceContext.java",
"chars": 3130,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/AlignmentContext.java",
"chars": 3696,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/AlignmentStateMachine.java",
"chars": 13387,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/GATKSAMReadGroupRecord.java",
"chars": 3682,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/GATKSAMRecord.java",
"chars": 25948,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/IntervalLocusSamTraverser.java",
"chars": 5695,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/LocusSamTraverser.java",
"chars": 6587,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/MergingPileupElementIterator.java",
"chars": 2907,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/PileupElement.java",
"chars": 20963,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/PileupElementTracker.java",
"chars": 5579,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/ReadBackedPileup.java",
"chars": 10305,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/ReadBackedPileupImpl.java",
"chars": 42182,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/ReadSamTraverser.java",
"chars": 2428,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/RegionSamTraverser.java",
"chars": 3655,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/SamContentProvider.java",
"chars": 3787,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/filter/BadCigarFilter.java",
"chars": 4066,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/filter/BadMateFilter.java",
"chars": 1634,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/filter/DuplicateReadFilter.java",
"chars": 1457,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/filter/FailsVendorQualityCheckFilter.java",
"chars": 1480,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/filter/Filter.java",
"chars": 1383,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/filter/FilterUtils.java",
"chars": 3350,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/filter/HCMappingQualityFilter.java",
"chars": 1532,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/filter/InOriginIntervalFilter.java",
"chars": 1946,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/filter/MappingQualityUnavailableFilter.java",
"chars": 1572,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/filter/MappingQualityZeroFilter.java",
"chars": 1451,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/filter/NegativeAlignmentStartFilter.java",
"chars": 1582,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/filter/NotPrimaryAlignmentFilter.java",
"chars": 1470,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/filter/SupplementaryReadFilter.java",
"chars": 1471,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/sam/filter/UnmappedReadFilter.java",
"chars": 1515,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/vcf/GATKFeature.java",
"chars": 3379,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/vcf/HomoSapiensConstants.java",
"chars": 1669,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/vcf/RODContentProvider.java",
"chars": 3459,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/vcf/RODNames.java",
"chars": 1772,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/vcf/RODRecordList.java",
"chars": 1566,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/vcf/RODRecordListImpl.java",
"chars": 6046,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/vcf/RODTraverser.java",
"chars": 3388,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/vcf/RefMetaTrackerTraverser.java",
"chars": 2016,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/vcf/RodBinding.java",
"chars": 6442,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/vcf/Tags.java",
"chars": 4025,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/vcf/VCFHeaderLineIterable.java",
"chars": 2378,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/vcf/header/StandardWESVCFHeader.java",
"chars": 12664,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/data/vcf/header/StandardWGSVCFHeader.java",
"chars": 19456,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/engine/ActiveRegionWalker.java",
"chars": 2782,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/engine/IntervalLocusWalker.java",
"chars": 4211,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/engine/LocusWalker.java",
"chars": 4926,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/engine/RODWalker.java",
"chars": 3263,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/engine/ReadWalker.java",
"chars": 4852,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/engine/Walker.java",
"chars": 2744,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/AlignmentContextUtils.java",
"chars": 5394,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/AlignmentUtils.java",
"chars": 62639,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/AlleleListUtils.java",
"chars": 10045,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/ArtificialSAMUtils.java",
"chars": 14636,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/BaseUtils.java",
"chars": 23186,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/CGAAlignmentUtils.java",
"chars": 4764,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/CigarUtils.java",
"chars": 12402,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/DeprecatedToolChecks.java",
"chars": 4262,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/DocumentedGATKFeature.java",
"chars": 2316,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/EventType.java",
"chars": 2719,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/FragmentUtils.java",
"chars": 19532,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/GATKVariantContextUtils.java",
"chars": 91768,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/GenomeLoc.java",
"chars": 23344,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/GenomeLocParser.java",
"chars": 23903,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/GenomeLocSortedSet.java",
"chars": 18218,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/GenotypingGivenAllelesUtils.java",
"chars": 5723,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/HasGenomeLocation.java",
"chars": 1426,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/HelpConstants.java",
"chars": 4274,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/LRUCache.java",
"chars": 1690,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/MRUCachingSAMSequenceDictionary.java",
"chars": 6088,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/MannWhitneyU.java",
"chars": 21572,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/MathUtils.java",
"chars": 63530,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/NGSPlatform.java",
"chars": 5120,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/QualityUtils.java",
"chars": 15091,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/RandomGenerator.java",
"chars": 1724,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/ReadUtils.java",
"chars": 40811,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/RecalUtils.java",
"chars": 31784,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/SampleListUtils.java",
"chars": 6971,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/SequenceComplexity.java",
"chars": 3708,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/TextFormattingUtils.java",
"chars": 6866,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/Utils.java",
"chars": 45281,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/clip/ClippingOp.java",
"chars": 26938,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/clip/ClippingRepresentation.java",
"chars": 2371,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/clip/ReadClipper.java",
"chars": 24025,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/downsampling/AlleleBiasedDownsamplingUtils.java",
"chars": 12606,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/downsampling/Downsampler.java",
"chars": 5921,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/downsampling/DownsamplingUtils.java",
"chars": 5143,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/downsampling/LIBSDownsamplingInfo.java",
"chars": 1716,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/downsampling/LevelingDownsampler.java",
"chars": 8011,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/fragments/FragmentCollection.java",
"chars": 2190,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/haplotype/EventMap.java",
"chars": 19401,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/haplotype/Haplotype.java",
"chars": 13955,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/interval/IntervalMergingRule.java",
"chars": 1469,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/interval/IntervalSetRule.java",
"chars": 1459,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/interval/IntervalUtils.java",
"chars": 9747,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/pairhmm/ArrayLoglessPairHMM.java",
"chars": 19548,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/pairhmm/Log10PairHMM.java",
"chars": 9496,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/pairhmm/LoglessPairHMM.java",
"chars": 8136,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/pairhmm/N2MemoryPairHMM.java",
"chars": 3838,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/pairhmm/PairHMM.java",
"chars": 19658,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/pairhmm/PairHMMIndelErrorModel.java",
"chars": 28359,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/pairhmm/PairHMMModel.java",
"chars": 20355,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/reports/GATKReport.java",
"chars": 13904,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/reports/GATKReportColumn.java",
"chars": 5185,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/reports/GATKReportColumnFormat.java",
"chars": 2087,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/reports/GATKReportDataType.java",
"chars": 7295,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/reports/GATKReportTable.java",
"chars": 39166,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/reports/GATKReportVersion.java",
"chars": 3524,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/smithwaterman/GlobalEdgeGreedySWPairwiseAlignment.java",
"chars": 8997,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/smithwaterman/Parameters.java",
"chars": 2223,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/smithwaterman/SWPairwiseAlignment.java",
"chars": 25620,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/smithwaterman/SWParameterSet.java",
"chars": 1744,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/smithwaterman/SmithWaterman.java",
"chars": 1658,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/transformers/BQSRReadTransformer.java",
"chars": 3890,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/transformers/MisencodedBaseQualityReadTransformer.java",
"chars": 3702,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/transformers/ReadTransformer.java",
"chars": 7057,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/vcfWriter/GVCFWriter.java",
"chars": 11499,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/utils/vcfWriter/HomRefBlock.java",
"chars": 6677,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/SerializableActiveRegionMapData.java",
"chars": 5438,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/BAQ.java",
"chars": 32064,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/BaseRecalibrator.java",
"chars": 19246,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/QualQuantizer.java",
"chars": 15050,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/QuantizationInfo.java",
"chars": 5637,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/ReadCovariates.java",
"chars": 6340,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/ReadRecalibrationInfo.java",
"chars": 6888,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/RecalDatum.java",
"chars": 15096,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/RecalibrationArgumentCollection.java",
"chars": 10802,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/RecalibrationEngine.java",
"chars": 9152,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/RecalibrationTables.java",
"chars": 4943,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/covariate/ContextCovariate.java",
"chars": 11648,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/covariate/Covariate.java",
"chars": 3837,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/covariate/CycleCovariate.java",
"chars": 10421,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/covariate/ExperimentalCovariate.java",
"chars": 1336,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/covariate/QualityScoreCovariate.java",
"chars": 2946,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/covariate/ReadGroupCovariate.java",
"chars": 5276,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/covariate/RepeatCovariate.java",
"chars": 10720,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/covariate/RepeatLengthCovariate.java",
"chars": 1943,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/covariate/RepeatUnitAndLengthCovariate.java",
"chars": 2018,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/covariate/RepeatUnitCovariate.java",
"chars": 1957,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/covariate/RequiredCovariate.java",
"chars": 1332,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/baserecalibrator/covariate/StandardCovariate.java",
"chars": 1332,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/genotypegvcfs/GenotypeGVCFs.java",
"chars": 14962,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/genotypegvcfs/ReferenceConfidenceVariantContextMerger.java",
"chars": 20493,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/haplotypecaller/ActiveRegion.java",
"chars": 22722,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/haplotypecaller/ActiveRegionFinder.java",
"chars": 17154,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/haplotypecaller/ActiveRegionMapData.java",
"chars": 2524,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/haplotypecaller/ActiveRegionTrimmer.java",
"chars": 22300,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/haplotypecaller/ActivityProfile.java",
"chars": 23930,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/haplotypecaller/ActivityProfileState.java",
"chars": 4140,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/haplotypecaller/AlleleList.java",
"chars": 1481,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/haplotypecaller/AlleleListPermutation.java",
"chars": 1479,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/haplotypecaller/AssemblyResult.java",
"chars": 3053,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/haplotypecaller/AssemblyResultSet.java",
"chars": 20420,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/haplotypecaller/BandPassActivityProfile.java",
"chars": 7486,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/haplotypecaller/ConsensusAlleleCounter.java",
"chars": 13932,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/haplotypecaller/DiploidGenotype.java",
"chars": 4581,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/haplotypecaller/DiploidSNPGenotypeLikelihoods.java",
"chars": 20765,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/haplotypecaller/ExactACcounts.java",
"chars": 2164,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/haplotypecaller/GeneralPloidyGenotypeLikelihoods.java",
"chars": 27150,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/haplotypecaller/GenotypeAlleleCounts.java",
"chars": 32332,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/haplotypecaller/GenotypeLikelihoodCalculator.java",
"chars": 30355,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/haplotypecaller/GenotypeLikelihoodCalculators.java",
"chars": 18539,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/haplotypecaller/GenotypingData.java",
"chars": 3826,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/haplotypecaller/GenotypingLikelihoods.java",
"chars": 4986,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/haplotypecaller/GenotypingOutputMode.java",
"chars": 1510,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/haplotypecaller/HaplotypeCaller.java",
"chars": 46877,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/haplotypecaller/HaplotypeSizeAndBaseComparator.java",
"chars": 1796,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/haplotypecaller/HeterogeneousKmerSizeResolution.java",
"chars": 2841,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/haplotypecaller/IndexedAlleleList.java",
"chars": 3275,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/haplotypecaller/IndexedSampleList.java",
"chars": 3068,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/haplotypecaller/MostLikelyAllele.java",
"chars": 5433,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/haplotypecaller/OutputMode.java",
"chars": 1783,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
},
{
"path": "src/main/java/org/ncic/bioinfo/sparkseq/algorithms/walker/haplotypecaller/PerReadAlleleLikelihoodMap.java",
"chars": 19156,
"preview": "/*\n * Copyright (c) 2017 NCIC, Institute of Computing Technology, Chinese Academy of Sciences\n *\n * Permission is hereby"
}
]
// ... and 323 more files (download for full content)
About this extraction
This page contains the full source code of the ncic-sugon/SparkSeq GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 523 files (114.2 MB), approximately 10.9M tokens, and a symbol index with 4516 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.