package org.genedb.crawl.dao; import java.io.IOException; import java.util.List; import org.genedb.crawl.CrawlException; import org.genedb.crawl.annotations.ListType; import org.genedb.crawl.model.MappedSAMSequence; import org.genedb.crawl.model.MappedVCFRecord; import org.genedb.crawl.model.Variant; import uk.ac.sanger.artemis.util.OutOfRangeException; public interface VariantDAO { @ListType("org.genedb.crawl.model.Variant") public abstract List<Variant> list() throws IOException; @ListType("org.genedb.crawl.model.MappedVCFSequence") public abstract List<MappedSAMSequence> sequences(int fileID) throws IOException; @ListType("org.genedb.crawl.model.Variant") public abstract List<Variant> listfororganism(String organism) throws IOException; @ListType("org.genedb.crawl.model.Variant") public abstract List<Variant> listforsequence(String sequence) throws Exception; @ListType("org.genedb.crawl.model.MappedVCFRecord") public abstract List<MappedVCFRecord> query(int fileID, String sequence, int start, int end, Integer filter, List<String> filters) throws IOException, CrawlException, OutOfRangeException; }