00001 /* dnaLoad - Load dna from a variaty of file formats. */ 00002 00003 #ifndef DNALOAD_H 00004 #define DNALOAD_H 00005 00006 struct dnaLoad; /* Structure we keep private. */ 00007 00008 struct dnaLoad *dnaLoadOpen(char *fileName); 00009 /* Return new DNA loader. Call dnaLoadNext() on this until 00010 * you get a NULL return, then dnaLoadClose(). */ 00011 00012 struct dnaSeq *dnaLoadNext(struct dnaLoad *dl); 00013 /* Return next dna sequence. */ 00014 00015 int dnaLoadCurStart(struct dnaLoad *dl); 00016 /* Returns the start offset of current sequence within a larger 00017 * sequence. Useful for programs that want to auto-lift 00018 * nib and 2bit fragments. Please call only after a 00019 * sucessful dnaLoadNext. */ 00020 00021 int dnaLoadCurEnd(struct dnaLoad *dl); 00022 /* Returns the end offset of current sequence within a larger 00023 * sequence. Useful for programs that want to auto-lift 00024 * nib and 2bit fragments. Please call only after a 00025 * sucessful dnaLoadNext. */ 00026 00027 int dnaLoadCurSize(struct dnaLoad *dl); 00028 /* Returns the size of the parent sequence. Useful for 00029 * auto-lift programs. Please call only after dnaLoadNext. */ 00030 00031 void dnaLoadClose(struct dnaLoad **pDl); 00032 /* Free up resources associated with dnaLoad. */ 00033 00034 struct dnaSeq *dnaLoadAll(char *fileName); 00035 /* Return list of all DNA referenced in file. File 00036 * can be either a single fasta file, a single .2bit 00037 * file, a .nib file, or a text file containing 00038 * a list of the above files. DNA is mixed case. */ 00039 00040 #endif /* DNALOAD_H */
1.5.2