
org.bdgenomics.convert.htsjdk.HtsjdkModule Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of convert-htsjdk Show documentation
Show all versions of convert-htsjdk Show documentation
Conversions between HTSJDK and Big Data Genomics Avro Formats
The newest version!
/**
* Licensed to Big Data Genomics (BDG) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The BDG licenses this file
* to you 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 org.bdgenomics.convert.htsjdk;
import java.util.List;
import htsjdk.samtools.SAMFileHeader;
import htsjdk.samtools.SAMProgramRecord;
import htsjdk.samtools.SAMReadGroupRecord;
import htsjdk.samtools.SAMRecord;
import htsjdk.samtools.SAMSequenceRecord;
import htsjdk.samtools.ValidationStringency;
import htsjdk.variant.variantcontext.VariantContext;
import htsjdk.variant.vcf.VCFHeader;
import htsjdk.variant.vcf.VCFHeaderLine;
import com.google.inject.AbstractModule;
import com.google.inject.Provides;
import com.google.inject.Singleton;
import com.google.inject.TypeLiteral;
import com.google.inject.assistedinject.FactoryModuleBuilder;
import org.bdgenomics.convert.Converter;
import org.bdgenomics.convert.ConversionStringency;
import org.bdgenomics.formats.avro.Alignment;
import org.bdgenomics.formats.avro.Genotype;
import org.bdgenomics.formats.avro.ProcessingStep;
import org.bdgenomics.formats.avro.ReadGroup;
import org.bdgenomics.formats.avro.Reference;
import org.bdgenomics.formats.avro.Sample;
import org.bdgenomics.formats.avro.Variant;
/**
* Guice module for the org.bdgenomics.convert.htsjdk package.
*/
public final class HtsjdkModule extends AbstractModule {
@Override
protected void configure() {
install(new FactoryModuleBuilder()
.implement(new TypeLiteral>() {}, AlignmentToSamRecord.class)
.build(AlignmentToSamRecordFactory.class));
install(new FactoryModuleBuilder()
.implement(new TypeLiteral, VariantContext>>() {}, GenotypesToVariantContext.class)
.build(GenotypesToVariantContextFactory.class));
install(new FactoryModuleBuilder()
.implement(new TypeLiteral>() {}, VariantToVariantContext.class)
.build(VariantToVariantContextFactory.class));
install(new FactoryModuleBuilder()
.implement(new TypeLiteral>>() {}, VariantContextToGenotypes.class)
.build(VariantContextToGenotypesFactory.class));
install(new FactoryModuleBuilder()
.implement(new TypeLiteral>>() {}, VariantContextToVariants.class)
.build(VariantContextToVariantsFactory.class));
}
@Provides @Singleton
Converter createConversionStringencyToValidationStringency() {
return new ConversionStringencyToValidationStringency();
}
@Provides @Singleton
Converter createValidationStringencyToConversionStringency() {
return new ValidationStringencyToConversionStringency();
}
@Provides @Singleton
Converter createSamRecordToAlignment() {
return new SamRecordToAlignment();
}
@Provides @Singleton
Converter createSamSequenceRecordToReference() {
return new SamSequenceRecordToReference();
}
@Provides @Singleton
Converter> createSamHeaderToReferences(final Converter referenceConverter) {
return new SamHeaderToReferences(referenceConverter);
}
@Provides @Singleton
Converter createSamReadGroupRecordToReadGroups() {
return new SamReadGroupRecordToReadGroup();
}
@Provides @Singleton
Converter> createSamHeaderToReadGroups(final Converter readGroupConverter) {
return new SamHeaderToReadGroups(readGroupConverter);
}
@Provides @Singleton
Converter createSamProgramRecordToProcessingStep() {
return new SamProgramRecordToProcessingStep();
}
@Provides @Singleton
Converter> createSamHeaderToProcessingSteps(final Converter processingStepConverter) {
return new SamHeaderToProcessingSteps(processingStepConverter);
}
@Provides @Singleton
Converter> createVcfHeaderToReferences(final Converter referenceConverter) {
return new VcfHeaderToReferences(referenceConverter);
}
@Provides @Singleton
Converter> createVcfHeaderToSamples() {
return new VcfHeaderToSamples();
}
@Provides @Singleton
Converter> createVcfHeaderToVcfHeaderLines() {
return new VcfHeaderToVcfHeaderLines();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy