package org.genedb.crawl.dao;
import java.util.Date;
import java.util.List;
import org.genedb.crawl.CrawlException;
import org.genedb.crawl.annotations.ListType;
import org.genedb.crawl.model.BlastPair;
import org.genedb.crawl.model.Feature;
import org.genedb.crawl.model.Gene;
import org.genedb.crawl.model.HierarchicalFeature;
import org.genedb.crawl.model.Statistic;
public interface FeaturesDAO {
@ListType("org.genedb.crawl.model.Feature")
public abstract List<Feature> genes(List<String> features);
@ListType("org.genedb.crawl.model.HierarchicalFeature")
public abstract List<HierarchicalFeature> hierarchy(List<String> features, Boolean root_on_genes, String[] relationships) throws CrawlException;
@ListType("org.genedb.crawl.model.Feature")
public abstract List<Feature> coordinates(List<String> features, String region);
@ListType("org.genedb.crawl.model.Feature")
public abstract List<Feature> synonyms(List<String> features, List<String> types);
@ListType("org.genedb.crawl.model.Feature")
public abstract List<Feature> withnamelike(String term, boolean regex, String region);
@ListType("org.genedb.crawl.model.Feature")
public abstract List<Feature> properties(List<String> features, List<String> types);
@ListType("org.genedb.crawl.model.Feature")
public abstract List<Feature> withproperty(String value, boolean regex, String region, String type);
@ListType("org.genedb.crawl.model.Feature")
public abstract List<Feature> pubs(List<String> features);
@ListType("org.genedb.crawl.model.Feature")
public abstract List<Feature> dbxrefs(List<String> features);
@ListType("org.genedb.crawl.model.Feature")
public abstract List<Feature> terms(List<String> features, List<String> cvs);
@ListType("org.genedb.crawl.model.Feature")
public abstract List<Feature> withterm(String term, String cv, boolean regex, String region);
@ListType("org.genedb.crawl.model.Feature")
public abstract List<Feature> orthologues(List<String> features);
@ListType("org.genedb.crawl.model.Feature")
public abstract List<Feature> clusters(List<String> features);
@ListType("org.genedb.crawl.model.Feature")
public abstract List<Feature> annotationModified(Date date, String organism, String region) throws CrawlException;
@ListType("org.genedb.crawl.model.Statistic")
public abstract List<Statistic> annotationModifiedStatistics(Date date, String organism, String region) throws CrawlException;
@ListType("org.genedb.crawl.model.Blastpair")
public abstract List<BlastPair> blastpair(String f1, int start1, int end1, String f2, int start2, int end2, Integer length, Double score);
@ListType("org.genedb.crawl.model.Gene")
public abstract List<Gene> transcripts(String gene, boolean exons);
}