|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Object | +--org.biojava.bio.program.ssaha.MappedDataStoreFactory
Builder for a data store that is backed by a java.nio.MappedByteBuffer. This has a limitation that the total size of the mapped buffer and therefore the hash table can not exceed 2 gigs.
The data store file has the following structure.
file: header, hash table, nameArray, nameTable, hitTable
header:
int hashTablePos, // byte offset in file
int hitTablePos, // byte offset in file
int nameArrayPos, // byte offset in file
int nameTablePos, // byte offset in file
int wordLength,
int serializedPackingLength,
byte[] serializedPacking
hash table:
int hashTableLength,
int[hashTableLength] hits // index into hitTable
nameArray:
int nameArrayLength,
int[nameArrayLength] nameArray // byte offset into nameTable
nameTable:
int nameTableSize, // size in bytes
(short nameLength, char[nameLength] name)[nameTableSize] names
hitTable:
int hitTableSize, // size in bytes
hitTableRecord[hitTableSize] hits
hitTableRecord:
int hitCount,
hitRecord[hitCount] hit
hit:
int seqIndex, // index into nameArray
int offset // offset into the sequence
| Constructor Summary | |
MappedDataStoreFactory()
|
|
| Method Summary | |
DataStore |
buildDataStore(java.io.File storeFile,
SequenceDB seqDB,
Packing packing,
int wordLength,
int threshold)
Build a new DataStore. |
DataStore |
getDataStore(java.io.File storeFile)
Get a pre-built data store associated with a file. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public MappedDataStoreFactory()
| Method Detail |
public DataStore getDataStore(java.io.File storeFile)
throws java.io.IOException
DataStoreFactory
getDataStore in interface DataStoreFactorystoreFile - the File to map in as a data store
java.io.IOException - if the file could not be mapped
public DataStore buildDataStore(java.io.File storeFile,
SequenceDB seqDB,
Packing packing,
int wordLength,
int threshold)
throws IllegalAlphabetException,
java.io.IOException,
BioException
DataStoreFactory
buildDataStore in interface DataStoreFactorystoreFile - the file to store the data storeseqDB - the SequenceDB to store in the data storepacking - the Packing used to bit-encode the sequenceswordLength - the number of symbols per wordthreshold - the number of times a word must appear to be ignored
BioException - if there is a problem building the data store
IllegalAlphabetException - if the packing does not agree with
the sequences
java.io.IOException
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||