00001 /***************************************************************************** 00002 * Copyright (C) 2000 Jim Kent. This source code may be freely used * 00003 * for personal, academic, and non-profit purposes. Commercial use * 00004 * permitted only by explicit agreement with Jim Kent (jim_kent@pacbell.net) * 00005 *****************************************************************************/ 00006 /* patSpace - a homology finding algorithm that occurs mostly in 00007 * pattern space (as opposed to offset space). */ 00008 00009 #ifndef PATSPACE_H 00010 #define PATSPACE_H 00011 00012 #ifndef DNASEQ_H 00013 #include "dnaseq.h" 00014 #endif 00015 00016 struct patSpace *makePatSpace( 00017 struct dnaSeq **seqArray, /* Array of sequence lists. */ 00018 int seqArrayCount, /* Size of above array. */ 00019 int seedSize, /* Alignment seed size - 10 or 11. Must match oocFileName */ 00020 char *oocFileName, /* File with tiles to filter out, may be NULL. */ 00021 int minMatch, /* Minimum # of matching tiles. 4 is good. */ 00022 int maxGap /* Maximum gap size - 32k is good for 00023 cDNA (introns), 500 is good for DNA assembly. */ 00024 ); 00025 /* Allocate a pattern space and fill from sequences. (Each element of 00026 seqArray is a list of sequences. */ 00027 00028 void freePatSpace(struct patSpace **pPatSpace); 00029 /* Free up a pattern space. */ 00030 00031 struct patClump 00032 /* This holds pattern space output - a list of homologous clumps. */ 00033 { 00034 struct patClump *next; /* Link to next in list. */ 00035 int bacIx; /* Index of .fa file where hit occurs. */ 00036 int seqIx; /* Index of contig where hit occurs. */ 00037 struct dnaSeq *seq; /* Sequence in which hit occurs. */ 00038 int start; /* Start offset within sequence. */ 00039 int size; /* Size of block within sequence. */ 00040 }; 00041 00042 struct patClump *patSpaceFindOne(struct patSpace *ps, DNA *dna, int dnaSize); 00043 /* Find occurrences of DNA in patSpace. The resulting list can be 00044 * freed with slFreeList. */ 00045 00046 00047 #endif /* PATSPACE_H */ 00048
1.5.2