Skip to content

Commit

Permalink
fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
fcunial committed Aug 28, 2023
1 parent acbb03b commit 48e10ec
Show file tree
Hide file tree
Showing 7 changed files with 254 additions and 149 deletions.
34 changes: 28 additions & 6 deletions scripts/6-repeatAlphabet/2-fixEndBlocks.sh
Original file line number Diff line number Diff line change
Expand Up @@ -44,13 +44,26 @@ READS_DISAMBIGUATED_FILE="${INPUT_DIR}/reads-translated-disambiguated.txt"
ALPHABET_FILE="${INPUT_DIR}/alphabet-cleaned.txt"
rm -f ${TMPFILE_PATH}*

function kmersThread() {
function enumerateKmersThread() {
local LOCAL_K=$1
local LOCAL_TRANSLATED_READS_FILE=$2
local LOCAL_BOUNDARIES_FILE=$3
local LOCAL_READ_LENGTHS_FILE=$4
local LOCAL_KMERS_FILE=$5
java ${JAVA_RUNTIME_FLAGS} -classpath "${REVANT_BINARIES}" de.mpi_cbg.revant.apps.CollectKmers ${LOCAL_K} ${LOCAL_TRANSLATED_READS_FILE} ${LOCAL_BOUNDARIES_FILE} ${LOCAL_READ_LENGTHS_FILE} ${ALPHABET_FILE} null ${LOCAL_KMERS_FILE}
java ${JAVA_RUNTIME_FLAGS} -classpath "${REVANT_BINARIES}" de.mpi_cbg.revant.apps.CollectKmers 0 ${LOCAL_K} ${LOCAL_TRANSLATED_READS_FILE} ${LOCAL_BOUNDARIES_FILE} ${LOCAL_READ_LENGTHS_FILE} ${ALPHABET_FILE} null null ${LOCAL_KMERS_FILE}
if [ $? -ne 0 ]; then
exit
fi
}

function countKmersThread() {
local LOCAL_K=$1
local LOCAL_TRANSLATED_READS_FILE=$2
local LOCAL_BOUNDARIES_FILE=$3
local LOCAL_READ_LENGTHS_FILE=$4
local LOCAL_KMERS_FILE_INPUT=$5
local LOCAL_KMERS_FILE_OUTPUT=$6
java ${JAVA_RUNTIME_FLAGS} -classpath "${REVANT_BINARIES}" de.mpi_cbg.revant.apps.CollectKmers 1 ${LOCAL_K} ${LOCAL_TRANSLATED_READS_FILE} ${LOCAL_BOUNDARIES_FILE} ${LOCAL_READ_LENGTHS_FILE} ${ALPHABET_FILE} null ${LOCAL_KMERS_FILE_INPUT} ${LOCAL_KMERS_FILE_OUTPUT}
if [ $? -ne 0 ]; then
exit
fi
Expand Down Expand Up @@ -79,17 +92,26 @@ for K in $(seq ${MIN_K} ${MAX_K}); do
for i in $(seq 1 ${K}); do
SORT_OPTIONS_KMERS="${SORT_OPTIONS_KMERS} -k ${i},${i}n"
done
echo "Collecting ${K}-mers..."
echo "Enumerating distinct ${K}-mers..."
for FILE in $(find -s ${INPUT_DIR} -name "${TMPFILE_NAME}-1-*"); do
THREAD_ID=${FILE#${INPUT_DIR}/${TMPFILE_NAME}-1-}
kmersThread ${K} ${FILE} ${TMPFILE_PATH}-z1-${THREAD_ID} ${TMPFILE_PATH}-z2-${THREAD_ID} ${TMPFILE_PATH}-kmers-${K}-${THREAD_ID} &
enumerateKmersThread ${K} ${FILE} ${TMPFILE_PATH}-z1-${THREAD_ID} ${TMPFILE_PATH}-z2-${THREAD_ID} ${TMPFILE_PATH}-kmers-${K}-${THREAD_ID} &
done
wait
sort --parallel=${N_THREADS} -m -t , ${SORT_OPTIONS_KMERS} ${TMPFILE_PATH}-kmers-${K}-* > ${TMPFILE_PATH}-${K}.txt
if [ ! -s ${TMPFILE_PATH}-${K}.txt ]; then
sort --parallel=${N_THREADS} -m -t , ${SORT_OPTIONS_KMERS} ${TMPFILE_PATH}-kmers-${K}-* > ${TMPFILE_PATH}-${K}-distinct.txt
if [ ! -s ${TMPFILE_PATH}-${K}-distinct.txt ]; then
MAX_K=$((${K}-1))
break
fi
echo "Counting ${K}-mer occurrences..."
for FILE in $(find -s ${INPUT_DIR} -name "${TMPFILE_NAME}-1-*"); do
THREAD_ID=${FILE#${INPUT_DIR}/${TMPFILE_NAME}-1-}
rm -f ${TMPFILE_PATH}-kmers-${K}-${THREAD_ID}
countKmersThread ${K} ${FILE} ${TMPFILE_PATH}-z1-${THREAD_ID} ${TMPFILE_PATH}-z2-${THREAD_ID} ${TMPFILE_PATH}-${K}-distinct.txt ${TMPFILE_PATH}-kmers-${K}-${THREAD_ID} &
done
wait
sort --parallel=${N_THREADS} -m -t , ${SORT_OPTIONS_KMERS} ${TMPFILE_PATH}-kmers-${K}-* > ${TMPFILE_PATH}-${K}.txt
rm -f ${TMPFILE_PATH}-${K}-distinct.txt
FREQUENT_KMERS_FILE="${INPUT_DIR}/frequent-k${K}.txt"
OUTPUT_FILE_HISTOGRAM="${INPUT_DIR}/histogram-k${K}.txt"
echo "Finding frequent ${K}-mers..."
Expand Down
40 changes: 34 additions & 6 deletions scripts/6-repeatAlphabet/3-getUniqueSubstrings.sh
Original file line number Diff line number Diff line change
Expand Up @@ -51,14 +51,28 @@ rm -f ${TMPFILE_PATH}*
rm -f ${INPUT_DIR}/unique-*
rm -f ${INPUT_DIR}/histogram-*

function kmersThread() {
function enumerateKmersThread() {
local LOCAL_K=$1
local LOCAL_TRANSLATED_READS_FILE=$2
local LOCAL_BOUNDARIES_FILE=$3
local LOCAL_READ_LENGTHS_FILE=$4
local LOCAL_K_MINUS_ONE_INTERVALS_FILE=$5
local LOCAL_KMERS_FILE=$6
java ${JAVA_RUNTIME_FLAGS} -classpath "${REVANT_BINARIES}" de.mpi_cbg.revant.apps.CollectKmers ${LOCAL_K} ${LOCAL_TRANSLATED_READS_FILE} ${LOCAL_BOUNDARIES_FILE} ${LOCAL_READ_LENGTHS_FILE} ${ALPHABET_FILE} ${LOCAL_K_MINUS_ONE_INTERVALS_FILE} ${LOCAL_KMERS_FILE}
java ${JAVA_RUNTIME_FLAGS} -classpath "${REVANT_BINARIES}" de.mpi_cbg.revant.apps.CollectKmers 0 ${LOCAL_K} ${LOCAL_TRANSLATED_READS_FILE} ${LOCAL_BOUNDARIES_FILE} ${LOCAL_READ_LENGTHS_FILE} ${ALPHABET_FILE} ${LOCAL_K_MINUS_ONE_INTERVALS_FILE} null ${LOCAL_KMERS_FILE}
if [ $? -ne 0 ]; then
exit
fi
}

function countKmersThread() {
local LOCAL_K=$1
local LOCAL_TRANSLATED_READS_FILE=$2
local LOCAL_BOUNDARIES_FILE=$3
local LOCAL_READ_LENGTHS_FILE=$4
local LOCAL_K_MINUS_ONE_INTERVALS_FILE=$5
local LOCAL_KMERS_FILE_INPUT=$6
local LOCAL_KMERS_FILE_OUTPUT=$7
java ${JAVA_RUNTIME_FLAGS} -classpath "${REVANT_BINARIES}" de.mpi_cbg.revant.apps.CollectKmers 1 ${LOCAL_K} ${LOCAL_TRANSLATED_READS_FILE} ${LOCAL_BOUNDARIES_FILE} ${LOCAL_READ_LENGTHS_FILE} ${ALPHABET_FILE} ${LOCAL_K_MINUS_ONE_INTERVALS_FILE} ${LOCAL_KMERS_FILE_INPUT} ${LOCAL_KMERS_FILE_OUTPUT}
if [ $? -ne 0 ]; then
exit
fi
Expand Down Expand Up @@ -87,22 +101,36 @@ for K in $(seq 1 ${MAX_K}); do
for i in $(seq 1 ${K}); do
SORT_OPTIONS_KMERS="${SORT_OPTIONS_KMERS} -k ${i},${i}n"
done
echo "Collecting ${K}-mers..."
echo "Enumerating distinct ${K}-mers..."
for FILE in $(find -s ${INPUT_DIR} -name "${TMPFILE_NAME}-0-*"); do
THREAD_ID=${FILE#${INPUT_DIR}/${TMPFILE_NAME}-0-}
if [ ${K} -le 1 ]; then
PREVIOUS_INTERVALS="null"
else
PREVIOUS_INTERVALS="${TMPFILE_PATH}-$((${K}-1))-intervals-${THREAD_ID}"
fi
kmersThread ${K} ${FILE} ${TMPFILE_PATH}-1-${THREAD_ID} ${TMPFILE_PATH}-2-${THREAD_ID} ${PREVIOUS_INTERVALS} ${TMPFILE_PATH}-${K}-kmers-${THREAD_ID} &
enumerateKmersThread ${K} ${FILE} ${TMPFILE_PATH}-1-${THREAD_ID} ${TMPFILE_PATH}-2-${THREAD_ID} ${PREVIOUS_INTERVALS} ${TMPFILE_PATH}-${K}-kmers-${THREAD_ID} &
done
wait
sort --parallel=${N_THREADS} -m -t , ${SORT_OPTIONS_KMERS} ${TMPFILE_PATH}-${K}-kmers-* > ${TMPFILE_PATH}-${K}.txt
if [ ! -s ${TMPFILE_PATH}-${K}.txt ]; then
sort --parallel=${N_THREADS} -m -t , ${SORT_OPTIONS_KMERS} ${TMPFILE_PATH}-${K}-kmers-* > ${TMPFILE_PATH}-${K}-distinct.txt
if [ ! -s ${TMPFILE_PATH}-${K}-distinct.txt ]; then
MAX_K=$((${K}-1))
break
fi
echo "Counting ${K}-mer occurrences..."
for FILE in $(find -s ${INPUT_DIR} -name "${TMPFILE_NAME}-0-*"); do
THREAD_ID=${FILE#${INPUT_DIR}/${TMPFILE_NAME}-0-}
if [ ${K} -le 1 ]; then
PREVIOUS_INTERVALS="null"
else
PREVIOUS_INTERVALS="${TMPFILE_PATH}-$((${K}-1))-intervals-${THREAD_ID}"
fi
rm -f ${TMPFILE_PATH}-${K}-kmers-${THREAD_ID}
countKmersThread ${K} ${FILE} ${TMPFILE_PATH}-1-${THREAD_ID} ${TMPFILE_PATH}-2-${THREAD_ID} ${PREVIOUS_INTERVALS} ${TMPFILE_PATH}-${K}-distinct.txt ${TMPFILE_PATH}-${K}-kmers-${THREAD_ID} &
done
wait
sort --parallel=${N_THREADS} -m -t , ${SORT_OPTIONS_KMERS} ${TMPFILE_PATH}-${K}-kmers-* > ${TMPFILE_PATH}-${K}.txt
rm -f ${TMPFILE_PATH}-${K}-distinct.txt
UNIQUE_KMERS_FILE="${INPUT_DIR}/unique-k${K}.txt"
OUTPUT_FILE_HISTOGRAM="${INPUT_DIR}/histogram-k${K}.txt"
echo "Finding unique ${K}-mers..."
Expand Down
54 changes: 41 additions & 13 deletions src/de/mpi_cbg/revant/apps/CollectKmers.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,19 @@
* sequence of blocks that contains an interval.
*/
public class CollectKmers {

/**
* @param args 0: 0 (enumerating) or 1 (counting): see $RepeatAlphabet.getKmers()$.
*/
public static void main(String[] args) throws IOException {
final int K = Integer.parseInt(args[0]);
final String TRANSLATED_FILE = args[1];
final String BOUNDARIES_FILE = args[2];
final String READ_LENGTHS_FILE = args[3];
final String ALPHABET_FILE = args[4];
final String AVOIDED_INTERVALS_FILE = args[5]; // NULL to discard it
final String KMERS_FILE = args[6]; // Output file
final int MODE = Integer.parseInt(args[0]);
final int K = Integer.parseInt(args[1]);
final String TRANSLATED_FILE = args[2];
final String BOUNDARIES_FILE = args[3];
final String READ_LENGTHS_FILE = args[4];
final String ALPHABET_FILE = args[5];
final String AVOIDED_INTERVALS_FILE = args[6]; // NULL to discard it
final String KMERS_FILE_INPUT = args[7]; // NULL to discard it
final String KMERS_FILE_OUTPUT = args[8]; // Output file

boolean INTERVALS_FILE_EXISTS = !AVOIDED_INTERVALS_FILE.equalsIgnoreCase("null");

Expand All @@ -38,8 +42,9 @@ public static void main(String[] args) throws IOException {

// Collecting k-mers
RepeatAlphabet.deserializeAlphabet(ALPHABET_FILE,2);
if (!KMERS_FILE_INPUT.equalsIgnoreCase("null")) kmers=deserializeKmers(KMERS_FILE_INPUT,K);
else kmers = new HashMap<RepeatAlphabet.Kmer,RepeatAlphabet.Kmer>();
RepeatAlphabet.kmerPool_init(K);
kmers = new HashMap<RepeatAlphabet.Kmer,RepeatAlphabet.Kmer>();
tmpMap = new HashMap<RepeatAlphabet.Kmer,RepeatAlphabet.Kmer>();
br1 = new BufferedReader(new FileReader(TRANSLATED_FILE));
if (INTERVALS_FILE_EXISTS) {
Expand All @@ -64,7 +69,7 @@ public static void main(String[] args) throws IOException {
else lastAvoidedInterval=-1;
RepeatAlphabet.loadBoundaries(str3);
readLength=Integer.parseInt(str4);
RepeatAlphabet.getKmers(str1,K,kmers,null,avoidedIntervals,lastAvoidedInterval,readLength,-1/*argument not used*/,-1/*argument not used*/,-1/*argument not used*/,-1/*argument not used*/,-1/*argument not used*/,-1/*argument not used*/,RepeatAlphabet.boundaries,-1/*argument not used*/,-1/*argument not used*/,-1.0/*argument not used*/,tmpKmer,tmpArray2,tmpArray3,tmpMap,tmpChar);
RepeatAlphabet.getKmers(MODE,str1,K,kmers,null,avoidedIntervals,lastAvoidedInterval,readLength,-1/*argument not used*/,-1/*argument not used*/,-1/*argument not used*/,-1/*argument not used*/,-1/*argument not used*/,-1/*argument not used*/,RepeatAlphabet.boundaries,-1/*argument not used*/,-1/*argument not used*/,-1.0/*argument not used*/,tmpKmer,tmpArray2,tmpArray3,tmpMap,tmpChar);
str1=br1.readLine(); str2=INTERVALS_FILE_EXISTS?br2.readLine():null;
str3=br3.readLine(); str4=br4.readLine(); row++;
}
Expand All @@ -76,9 +81,32 @@ public static void main(String[] args) throws IOException {
keys = new RepeatAlphabet.Kmer[nKmers];
kmers.keySet().toArray(keys);
if (nKmers>1) Arrays.sort(keys,0,nKmers);
bw = new BufferedWriter(new FileWriter(KMERS_FILE));
for (i=0; i<nKmers; i++) bw.write(keys[i].toString()+(RepeatAlphabet.SEPARATOR_MINOR+"")+keys[i].count+(RepeatAlphabet.SEPARATOR_MINOR+"")+keys[i].countPartial+(RepeatAlphabet.SEPARATOR_MINOR+"")+keys[i].sameReadCount+"\n");
bw = new BufferedWriter(new FileWriter(KMERS_FILE_OUTPUT));
for (i=0; i<nKmers; i++) {
bw.write(keys[i].toString());
if (MODE==1) bw.write((RepeatAlphabet.SEPARATOR_MINOR+"")+keys[i].count+(RepeatAlphabet.SEPARATOR_MINOR+"")+keys[i].countPartial+(RepeatAlphabet.SEPARATOR_MINOR+"")+keys[i].sameReadCount);
bw.newLine();
}
bw.close();
}



private static final HashMap<RepeatAlphabet.Kmer,RepeatAlphabet.Kmer> deserializeKmers(String path, int k) throws IOException {
String str;
BufferedReader br;
RepeatAlphabet.Kmer kmer;
HashMap<RepeatAlphabet.Kmer,RepeatAlphabet.Kmer> out;

out = new HashMap<RepeatAlphabet.Kmer,RepeatAlphabet.Kmer>();
br = new BufferedReader(new FileReader(path));
str=br.readLine();
while (str!=null) {
kmer = new RepeatAlphabet.Kmer(str,k);
out.put(kmer,kmer);
str=br.readLine();
}
br.close();
return out;
}

}
13 changes: 7 additions & 6 deletions src/de/mpi_cbg/revant/apps/CompactKmers.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,9 @@ public static void main(String[] args) throws IOException {
final String SEPARATOR = ",";

boolean equal;
short sameReadCount, previousSameReadCount;
int i;
int count, countPartial, previousCount, previousCountPartial, sameReadCount, previousSameReadCount;
int count, countPartial, previousCount, previousCountPartial;
String str;
BufferedReader br;
BufferedWriter bw;
Expand Down Expand Up @@ -66,7 +67,7 @@ public static void main(String[] args) throws IOException {
for (i=0; i<K; i++) previous[i]=Integer.parseInt(tokens[i]);
previousCount=Integer.parseInt(tokens[K]);
previousCountPartial=Integer.parseInt(tokens[K+1]);
previousSameReadCount=Integer.parseInt(tokens[K+2]);
previousSameReadCount=Short.parseShort(tokens[K+2]);
current = new int[K];
str=br.readLine();
while (str!=null) {
Expand All @@ -78,16 +79,16 @@ public static void main(String[] args) throws IOException {
}
count=Integer.parseInt(tokens[K]);
countPartial=Integer.parseInt(tokens[K+1]);
sameReadCount=Integer.parseInt(tokens[K+2]);
sameReadCount=Short.parseShort(tokens[K+2]);
if (equal) {
previousCount+=count;
previousCountPartial+=countPartial;
previousSameReadCount=Math.max(previousSameReadCount,sameReadCount);
previousSameReadCount=(short)Math.max(previousSameReadCount,sameReadCount);
}
else {
kmer.set(previous,K,previousCount,previousCountPartial,previousSameReadCount);
if ( (DISCARD_SAME_READ_KMERS?previousSameReadCount==1:true) &&
(KEEP_ALL_FREQUENT?kmer.isFrequent(K,N_READS,AVG_READ_LENGTH,SPANNING_BPS,GENOME_LENGTH,N_HAPLOTYPES,SIGNIFICANCE_LEVEL):(kmer.isUnique(K,N_READS,AVG_READ_LENGTH,SPANNING_BPS,GENOME_LENGTH,N_HAPLOTYPES,MIN_ALIGNMENT_LENGTH,MIN_MISSING_LENGTH,SIGNIFICANCE_LEVEL)!=-1))
(KEEP_ALL_FREQUENT?kmer.isFrequent(K,N_READS,AVG_READ_LENGTH,SPANNING_BPS,GENOME_LENGTH,N_HAPLOTYPES,MIN_ALIGNMENT_LENGTH,MIN_MISSING_LENGTH,SIGNIFICANCE_LEVEL):(kmer.isUnique(K,N_READS,AVG_READ_LENGTH,SPANNING_BPS,GENOME_LENGTH,N_HAPLOTYPES,MIN_ALIGNMENT_LENGTH,MIN_MISSING_LENGTH,SIGNIFICANCE_LEVEL)!=-1))
) {
for (i=0; i<K; i++) bw.write(previous[i]+SEPARATOR);
bw.write(previousCount+SEPARATOR+previousCountPartial+SEPARATOR+previousSameReadCount+"\n");
Expand All @@ -101,7 +102,7 @@ public static void main(String[] args) throws IOException {
br.close();
kmer.set(previous,K,previousCount,previousCountPartial,previousSameReadCount);
if ( (DISCARD_SAME_READ_KMERS?previousSameReadCount==1:true) &&
(KEEP_ALL_FREQUENT?kmer.isFrequent(K,N_READS,AVG_READ_LENGTH,SPANNING_BPS,GENOME_LENGTH,N_HAPLOTYPES,SIGNIFICANCE_LEVEL):(kmer.isUnique(K,N_READS,AVG_READ_LENGTH,SPANNING_BPS,GENOME_LENGTH,N_HAPLOTYPES,MIN_ALIGNMENT_LENGTH,MIN_MISSING_LENGTH,SIGNIFICANCE_LEVEL)!=-1))
(KEEP_ALL_FREQUENT?kmer.isFrequent(K,N_READS,AVG_READ_LENGTH,SPANNING_BPS,GENOME_LENGTH,N_HAPLOTYPES,MIN_ALIGNMENT_LENGTH,MIN_MISSING_LENGTH,SIGNIFICANCE_LEVEL):(kmer.isUnique(K,N_READS,AVG_READ_LENGTH,SPANNING_BPS,GENOME_LENGTH,N_HAPLOTYPES,MIN_ALIGNMENT_LENGTH,MIN_MISSING_LENGTH,SIGNIFICANCE_LEVEL)!=-1))
) {
for (i=0; i<K; i++) bw.write(previous[i]+SEPARATOR);
bw.write(previousCount+SEPARATOR+previousCountPartial+SEPARATOR+previousSameReadCount+"\n");
Expand Down
34 changes: 3 additions & 31 deletions src/de/mpi_cbg/revant/apps/FixTandemSpacers1.java
Original file line number Diff line number Diff line change
Expand Up @@ -51,39 +51,11 @@ public static void main(String[] args) throws IOException {
RepeatAlphabet.loadReadsFully(FULLY_UNIQUE_FILE,N_FULLY_UNIQUE,FULLY_CONTAINED_FILE,N_FULLY_CONTAINED);
RepeatAlphabet.loadTandemIntervals(TANDEMS_FILE,N_READS);
RepeatAlphabet.loadTandemSpacers(NONREPETITIVE_BLOCKS_MODE);


for (int x=0; x<=RepeatAlphabet.lastSpacer; x++) {
if (RepeatAlphabet.spacers[x].read==767) System.err.println("VITTU> 1 "+RepeatAlphabet.spacers[x]);
}

RepeatAlphabet.loadTandemSpacers_blocks(READ_READ_ALIGNMENTS_FILE,DISTANCE_THRESHOLD,LONG_SPACER_LENGTH,NONREPETITIVE_BLOCKS_MODE,tmpArray);


for (int x=0; x<=RepeatAlphabet.lastSpacer; x++) {
if (RepeatAlphabet.spacers[x].read==767) System.err.println("VITTU> 2 "+RepeatAlphabet.spacers[x]);
}


RepeatAlphabet.loadTandemSpacers_blocks(READ_READ_ALIGNMENTS_FILE,DISTANCE_THRESHOLD,LONG_SPACER_LENGTH,NONREPETITIVE_BLOCKS_MODE,tmpArray);
if (RepeatAlphabet.lastSpacer==-1) { System.out.println("1"); return; }
RepeatAlphabet.loadFullyContainedTranslation(TRANSLATED_READS_CHARACTERS_FILE,N_FULLY_CONTAINED);
if (RepeatAlphabet.loadTandemSpacerNeighbors(READ_READ_ALIGNMENTS_FILE,NONREPETITIVE_BLOCKS_MODE,tmpArray)==0) { System.out.println("2"); return; }


for (int x=0; x<=RepeatAlphabet.lastSpacer; x++) {
if (RepeatAlphabet.spacers[x].read==767) System.err.println("VITTU> 3 "+RepeatAlphabet.spacers[x]+" lastSpacerNeighbor="+RepeatAlphabet.lastSpacerNeighbor[x]);
}



if (!RepeatAlphabet.propagateSolutions(DISTANCE_THRESHOLD_CONSISTENCY)) { System.out.println("3"); return; }

for (int x=0; x<=RepeatAlphabet.lastSpacer; x++) {
if (RepeatAlphabet.spacers[x].read==767) System.err.println("VITTU> 4 "+RepeatAlphabet.spacers[x]);
}



if (RepeatAlphabet.loadTandemSpacerNeighbors(READ_READ_ALIGNMENTS_FILE,NONREPETITIVE_BLOCKS_MODE,tmpArray)==0) { System.out.println("2"); return; }
if (!RepeatAlphabet.propagateSolutions(DISTANCE_THRESHOLD_CONSISTENCY)) { System.out.println("3"); return; }
RepeatAlphabet.serializeSpacers(OUTPUT_FILE);
System.out.println("0");
}
Expand Down
2 changes: 1 addition & 1 deletion src/de/mpi_cbg/revant/apps/GetShortestUniqueIntervals.java
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ public static void main(String[] args) throws IOException {
else lastUniqueInterval=-1;
RepeatAlphabet.loadBoundaries(str3);
readLength=Integer.parseInt(str4);
lastUniqueInterval=RepeatAlphabet.getKmers(str1,K,null,kmers,uniqueIntervals,lastUniqueInterval,readLength,N_READS,AVG_READ_LENGTH,GENOME_LENGTH,N_HAPLOTYPES,MIN_ALIGNMENT_LENGTH,MIN_MISSING_LENGTH,RepeatAlphabet.boundaries,IDENTITY_THRESHOLD,DISTANCE_THRESHOLD,CHARACTER_FRACTION,tmpKmer,tmpArray2,tmpArray3,null,tmpChar);
lastUniqueInterval=RepeatAlphabet.getKmers(2,str1,K,null,kmers,uniqueIntervals,lastUniqueInterval,readLength,N_READS,AVG_READ_LENGTH,GENOME_LENGTH,N_HAPLOTYPES,MIN_ALIGNMENT_LENGTH,MIN_MISSING_LENGTH,RepeatAlphabet.boundaries,IDENTITY_THRESHOLD,DISTANCE_THRESHOLD,CHARACTER_FRACTION,tmpKmer,tmpArray2,tmpArray3,null,tmpChar);
if (lastUniqueInterval>0) {
nPairs=(lastUniqueInterval+1)/3;
if (pairs.length<nPairs) {
Expand Down
Loading

0 comments on commit 48e10ec

Please sign in to comment.