Repackage the aligner for better partitioning. The C aligner, for example, is now

partitioned from the Java aligner, and both are partitioned from the more general-
purpose BWT reader.


git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@2045 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
hanna 2009-11-13 22:55:27 +00:00
parent b7097a8db9
commit 15c14add4d
29 changed files with 74 additions and 61 deletions

View File

@ -4,8 +4,7 @@ CXXFLAGS=-g -Wall -O2 -m64 -fPIC
.cpp.o:
$(CXX) -c $(CXXFLAGS) -I$(BWA_HOME) -I$(JAVA_INCLUDE) $< -o $@
all: init org_broadinstitute_sting_alignment_bwa_BWACAligner.o bwa_gateway.o
$(LIBTOOL_COMMAND) org_broadinstitute_sting_alignment_bwa_BWACAligner.o bwa_gateway.o -o $(TARGET_LIB) -L$(BWA_HOME) -lbwacore $(EXTRA_LIBS)
all: init lib
init:
@echo Please make sure the following platforms are set correctly on your machine.
@ -13,7 +12,10 @@ init:
@echo JAVA_INCLUDE=$(JAVA_INCLUDE)
@echo TARGET_LIB=$(TARGET_LIB)
@echo EXTRA_LIBS=$(EXTRA_LIBS)
@echo LIBTOOL_COMMAND=$(LIBTOOL_COMMAND)x
@echo LIBTOOL_COMMAND=$(LIBTOOL_COMMAND)
lib: org_broadinstitute_sting_alignment_bwa_c_BWACAligner.o bwa_gateway.o
$(LIBTOOL_COMMAND) $? -o $(TARGET_LIB) -L$(BWA_HOME) -lbwacore $(EXTRA_LIBS)
clean:
rm *.o libbwa.*

View File

@ -6,7 +6,7 @@
#include "bwt.h"
#include "bwtaln.h"
#include "bwa_gateway.h"
#include "org_broadinstitute_sting_alignment_bwa_BWACAligner.h"
#include "org_broadinstitute_sting_alignment_bwa_c_BWACAligner.h"
static jclass java_alignment_array_class = NULL;
static jclass java_alignment_class = NULL;
@ -20,7 +20,7 @@ static jstring get_configuration_string(JNIEnv* env, jobject configuration, cons
static void set_int_configuration_param(JNIEnv* env, jobject configuration, const char* field_name, BWA* bwa, int_setter setter);
static void set_float_configuration_param(JNIEnv* env, jobject configuration, const char* field_name, BWA* bwa, float_setter setter);
JNIEXPORT jlong JNICALL Java_org_broadinstitute_sting_alignment_bwa_BWACAligner_create(JNIEnv* env, jobject instance, jobject configuration)
JNIEXPORT jlong JNICALL Java_org_broadinstitute_sting_alignment_bwa_c_BWACAligner_create(JNIEnv* env, jobject instance, jobject configuration)
{
jstring java_ann = get_configuration_string(env,configuration,"annFileName");
jstring java_amb = get_configuration_string(env,configuration,"ambFileName");
@ -70,13 +70,13 @@ JNIEXPORT jlong JNICALL Java_org_broadinstitute_sting_alignment_bwa_BWACAligner_
return (jlong)bwa;
}
JNIEXPORT void JNICALL Java_org_broadinstitute_sting_alignment_bwa_BWACAligner_destroy(JNIEnv* env, jobject instance, jlong java_bwa)
JNIEXPORT void JNICALL Java_org_broadinstitute_sting_alignment_bwa_c_BWACAligner_destroy(JNIEnv* env, jobject instance, jlong java_bwa)
{
BWA* bwa = (BWA*)java_bwa;
delete bwa;
}
JNIEXPORT jobjectArray JNICALL Java_org_broadinstitute_sting_alignment_bwa_BWACAligner_getAlignments(JNIEnv* env, jobject object, jlong java_bwa, jbyteArray java_bases) {
JNIEXPORT jobjectArray JNICALL Java_org_broadinstitute_sting_alignment_bwa_c_BWACAligner_getAlignments(JNIEnv* env, jobject object, jlong java_bwa, jbyteArray java_bases) {
BWA* bwa = (BWA*)java_bwa;
const jsize read_length = env->GetArrayLength(java_bases);

View File

@ -1,34 +1,34 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_broadinstitute_sting_alignment_bwa_BWACAligner */
/* Header for class org_broadinstitute_sting_alignment_bwa_c_BWACAligner */
#ifndef _Included_org_broadinstitute_sting_alignment_bwa_BWACAligner
#define _Included_org_broadinstitute_sting_alignment_bwa_BWACAligner
#ifndef _Included_org_broadinstitute_sting_alignment_bwa_c_BWACAligner
#define _Included_org_broadinstitute_sting_alignment_bwa_c_BWACAligner
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_broadinstitute_sting_alignment_bwa_BWACAligner
* Class: org_broadinstitute_sting_alignment_bwa_c_BWACAligner
* Method: create
* Signature: (Lorg/broadinstitute/sting/alignment/bwa/BWACConfiguration;)J
* Signature: (Lorg/broadinstitute/sting/alignment/bwa/c/BWACConfiguration;)J
*/
JNIEXPORT jlong JNICALL Java_org_broadinstitute_sting_alignment_bwa_BWACAligner_create
JNIEXPORT jlong JNICALL Java_org_broadinstitute_sting_alignment_bwa_c_BWACAligner_create
(JNIEnv *, jobject, jobject);
/*
* Class: org_broadinstitute_sting_alignment_bwa_BWACAligner
* Class: org_broadinstitute_sting_alignment_bwa_c_BWACAligner
* Method: destroy
* Signature: (J)V
*/
JNIEXPORT void JNICALL Java_org_broadinstitute_sting_alignment_bwa_BWACAligner_destroy
JNIEXPORT void JNICALL Java_org_broadinstitute_sting_alignment_bwa_c_BWACAligner_destroy
(JNIEnv *, jobject, jlong);
/*
* Class: org_broadinstitute_sting_alignment_bwa_BWACAligner
* Class: org_broadinstitute_sting_alignment_bwa_c_BWACAligner
* Method: getAlignments
* Signature: (J[B)[Lorg/broadinstitute/sting/alignment/Alignment;
*/
JNIEXPORT jobjectArray JNICALL Java_org_broadinstitute_sting_alignment_bwa_BWACAligner_getAlignments
JNIEXPORT jobjectArray JNICALL Java_org_broadinstitute_sting_alignment_bwa_c_BWACAligner_getAlignments
(JNIEnv *, jobject, jlong, jbyteArray);
#ifdef __cplusplus

View File

@ -1,10 +1,12 @@
package org.broadinstitute.sting.alignment.bwa;
package org.broadinstitute.sting.alignment;
import org.broadinstitute.sting.gatk.walkers.ReadWalker;
import org.broadinstitute.sting.utils.BaseUtils;
import org.broadinstitute.sting.utils.StingException;
import org.broadinstitute.sting.utils.cmdLine.Argument;
import org.broadinstitute.sting.alignment.Alignment;
import org.broadinstitute.sting.alignment.bwa.c.BWACAligner;
import org.broadinstitute.sting.alignment.bwa.c.BWACConfiguration;
import net.sf.samtools.SAMRecord;
/**
@ -41,7 +43,7 @@ public class AlignmentValidationWalker extends ReadWalker<Integer,Integer> {
@Override
public void initialize() {
BWACConfiguration configuration = new BWACConfiguration(prefix);
aligner = new BWACAligner(configuration);
aligner = new BWACAligner(configuration);
}
/** Must return true for reads that need to be processed. Reads, for which this method return false will

View File

@ -1,7 +1,9 @@
package org.broadinstitute.sting.alignment.bwa;
package org.broadinstitute.sting.alignment;
import org.broadinstitute.sting.utils.cmdLine.Argument;
import org.broadinstitute.sting.gatk.walkers.ReadWalker;
import org.broadinstitute.sting.alignment.bwa.c.BWACAligner;
import org.broadinstitute.sting.alignment.bwa.c.BWACConfiguration;
import net.sf.samtools.SAMRecord;
import java.util.Random;
@ -32,7 +34,7 @@ public class AlignmentWalker extends ReadWalker<Integer,Integer> {
@Override
public void initialize() {
BWACConfiguration configuration = new BWACConfiguration(prefix);
aligner = new BWACAligner(configuration);
aligner = new BWACAligner(configuration);
}
/**

View File

@ -1,13 +1,10 @@
package org.broadinstitute.sting.alignment.bwa;
package org.broadinstitute.sting.alignment.bwa.c;
import net.sf.samtools.SAMFileReader;
import net.sf.samtools.SAMRecord;
import org.broadinstitute.sting.utils.StingException;
import org.broadinstitute.sting.utils.BaseUtils;
import org.broadinstitute.sting.alignment.Alignment;
import java.io.File;
import java.util.Scanner;
import org.broadinstitute.sting.alignment.bwa.c.BWACConfiguration;
/**
* An aligner using the BWA/C implementation.

View File

@ -1,4 +1,4 @@
package org.broadinstitute.sting.alignment.bwa;
package org.broadinstitute.sting.alignment.bwa.c;
import org.broadinstitute.sting.utils.StingException;

View File

@ -1,7 +1,10 @@
package org.broadinstitute.sting.alignment.bwa;
package org.broadinstitute.sting.alignment.bwa.java;
import org.broadinstitute.sting.alignment.Aligner;
import org.broadinstitute.sting.alignment.Alignment;
import org.broadinstitute.sting.alignment.bwa.java.BWAAligner;
import org.broadinstitute.sting.alignment.bwa.java.BWAAlignment;
import org.broadinstitute.sting.alignment.bwa.java.AlignmentState;
import org.broadinstitute.sting.utils.StingException;
import org.broadinstitute.sting.utils.BaseUtils;
import org.broadinstitute.sting.utils.fasta.IndexedFastaSequenceFile;

View File

@ -1,5 +1,6 @@
package org.broadinstitute.sting.alignment.bwa;
package org.broadinstitute.sting.alignment.bwa.java;
import org.broadinstitute.sting.alignment.bwa.java.AlignmentState;
import org.broadinstitute.sting.utils.StingException;
import java.util.Deque;

View File

@ -1,4 +1,4 @@
package org.broadinstitute.sting.alignment.bwa;
package org.broadinstitute.sting.alignment.bwa.java;
/**
* The state of a given base in the alignment.

View File

@ -1,6 +1,9 @@
package org.broadinstitute.sting.alignment.bwa;
package org.broadinstitute.sting.alignment.bwa.java;
import org.broadinstitute.sting.alignment.bwa.bwt.*;
import org.broadinstitute.sting.alignment.reference.bwt.*;
import org.broadinstitute.sting.alignment.bwa.java.LowerBound;
import org.broadinstitute.sting.alignment.bwa.java.BWAAlignment;
import org.broadinstitute.sting.alignment.bwa.java.AlignmentState;
import org.broadinstitute.sting.alignment.Alignment;
import org.broadinstitute.sting.alignment.Aligner;
import org.broadinstitute.sting.utils.BaseUtils;

View File

@ -1,6 +1,9 @@
package org.broadinstitute.sting.alignment.bwa;
package org.broadinstitute.sting.alignment.bwa.java;
import org.broadinstitute.sting.alignment.Alignment;
import org.broadinstitute.sting.alignment.bwa.java.BWAAligner;
import org.broadinstitute.sting.alignment.bwa.java.AlignmentMatchSequence;
import org.broadinstitute.sting.alignment.bwa.java.AlignmentState;
import org.broadinstitute.sting.utils.StingException;
import net.sf.samtools.Cigar;

View File

@ -1,9 +1,9 @@
package org.broadinstitute.sting.alignment.bwa;
package org.broadinstitute.sting.alignment.bwa.java;
import java.util.List;
import java.util.ArrayList;
import org.broadinstitute.sting.alignment.bwa.bwt.BWT;
import org.broadinstitute.sting.alignment.reference.bwt.BWT;
/**
* At any point along the given read, what is a good lower bound for the

View File

@ -1,6 +1,6 @@
package org.broadinstitute.sting.alignment.bwa.bwt;
package org.broadinstitute.sting.alignment.reference.bwt;
import org.broadinstitute.sting.alignment.bwa.packing.PackUtils;
import org.broadinstitute.sting.alignment.reference.packing.PackUtils;
import org.broadinstitute.sting.utils.StingException;
/**

View File

@ -1,9 +1,9 @@
package org.broadinstitute.sting.alignment.bwa.bwt;
package org.broadinstitute.sting.alignment.reference.bwt;
import org.broadinstitute.sting.utils.StingException;
import org.broadinstitute.sting.alignment.bwa.packing.UnsignedIntPackedInputStream;
import org.broadinstitute.sting.alignment.bwa.packing.BasePackedInputStream;
import org.broadinstitute.sting.alignment.bwa.packing.PackUtils;
import org.broadinstitute.sting.alignment.reference.packing.UnsignedIntPackedInputStream;
import org.broadinstitute.sting.alignment.reference.packing.BasePackedInputStream;
import org.broadinstitute.sting.alignment.reference.packing.PackUtils;
import java.io.*;
import java.nio.ByteOrder;

View File

@ -1,8 +1,8 @@
package org.broadinstitute.sting.alignment.bwa.bwt;
package org.broadinstitute.sting.alignment.reference.bwt;
import org.broadinstitute.sting.utils.StingException;
import org.broadinstitute.sting.alignment.bwa.packing.UnsignedIntPackedOutputStream;
import org.broadinstitute.sting.alignment.bwa.packing.BasePackedOutputStream;
import org.broadinstitute.sting.alignment.reference.packing.UnsignedIntPackedOutputStream;
import org.broadinstitute.sting.alignment.reference.packing.BasePackedOutputStream;
import java.io.*;
import java.nio.ByteOrder;

View File

@ -1,4 +1,4 @@
package org.broadinstitute.sting.alignment.bwa.bwt;
package org.broadinstitute.sting.alignment.reference.bwt;
import org.broadinstitute.sting.utils.StingException;

View File

@ -1,4 +1,4 @@
package org.broadinstitute.sting.alignment.bwa.bwt;
package org.broadinstitute.sting.alignment.reference.bwt;
import org.broadinstitute.sting.utils.StingException;

View File

@ -23,7 +23,7 @@
* OTHER DEALINGS IN THE SOFTWARE.
*/
package org.broadinstitute.sting.alignment.bwa.bwt;
package org.broadinstitute.sting.alignment.reference.bwt;
import net.sf.picard.reference.ReferenceSequenceFile;
import net.sf.picard.reference.ReferenceSequenceFileFactory;
@ -35,7 +35,7 @@ import java.util.TreeSet;
import java.util.Comparator;
import org.broadinstitute.sting.utils.StingException;
import org.broadinstitute.sting.alignment.bwa.packing.PackUtils;
import org.broadinstitute.sting.alignment.reference.packing.PackUtils;
/**
* Create a suffix array data structure.

View File

@ -1,4 +1,4 @@
package org.broadinstitute.sting.alignment.bwa.bwt;
package org.broadinstitute.sting.alignment.reference.bwt;
/**
* Models a block of bases within the BWT.

View File

@ -1,4 +1,4 @@
package org.broadinstitute.sting.alignment.bwa.bwt;
package org.broadinstitute.sting.alignment.reference.bwt;
import org.broadinstitute.sting.utils.StingException;

View File

@ -1,8 +1,8 @@
package org.broadinstitute.sting.alignment.bwa.bwt;
package org.broadinstitute.sting.alignment.reference.bwt;
import org.broadinstitute.sting.utils.StingException;
import org.broadinstitute.sting.alignment.bwa.packing.UnsignedIntPackedInputStream;
import org.broadinstitute.sting.alignment.bwa.packing.PackUtils;
import org.broadinstitute.sting.alignment.reference.packing.UnsignedIntPackedInputStream;
import org.broadinstitute.sting.alignment.reference.packing.PackUtils;
import java.io.*;
import java.nio.ByteOrder;

View File

@ -1,7 +1,7 @@
package org.broadinstitute.sting.alignment.bwa.bwt;
package org.broadinstitute.sting.alignment.reference.bwt;
import org.broadinstitute.sting.utils.StingException;
import org.broadinstitute.sting.alignment.bwa.packing.UnsignedIntPackedOutputStream;
import org.broadinstitute.sting.alignment.reference.packing.UnsignedIntPackedOutputStream;
import java.io.*;
import java.nio.ByteOrder;

View File

@ -1,4 +1,4 @@
package org.broadinstitute.sting.alignment.bwa.packing;
package org.broadinstitute.sting.alignment.reference.packing;
import org.broadinstitute.sting.utils.StingException;

View File

@ -1,4 +1,4 @@
package org.broadinstitute.sting.alignment.bwa.packing;
package org.broadinstitute.sting.alignment.reference.packing;
import org.broadinstitute.sting.utils.StingException;

View File

@ -23,7 +23,7 @@
* OTHER DEALINGS IN THE SOFTWARE.
*/
package org.broadinstitute.sting.alignment.bwa.packing;
package org.broadinstitute.sting.alignment.reference.packing;
import net.sf.picard.reference.ReferenceSequenceFile;
import net.sf.picard.reference.ReferenceSequenceFileFactory;

View File

@ -1,4 +1,4 @@
package org.broadinstitute.sting.alignment.bwa.packing;
package org.broadinstitute.sting.alignment.reference.packing;
import org.broadinstitute.sting.utils.StingException;

View File

@ -1,4 +1,4 @@
package org.broadinstitute.sting.alignment.bwa.packing;
package org.broadinstitute.sting.alignment.reference.packing;
import java.io.*;
import java.nio.ByteBuffer;

View File

@ -23,7 +23,7 @@
* OTHER DEALINGS IN THE SOFTWARE.
*/
package org.broadinstitute.sting.alignment.bwa.packing;
package org.broadinstitute.sting.alignment.reference.packing;
import java.io.*;
import java.nio.ByteBuffer;