001/* 002 * BioJava development code 003 * 004 * This code may be freely distributed and modified under the 005 * terms of the GNU Lesser General Public Licence. This should 006 * be distributed with the code. If you do not have a copy, 007 * see: 008 * 009 * http://www.gnu.org/copyleft/lesser.html 010 * 011 * Copyright for this code is held jointly by the individual 012 * authors. These should be listed in @author doc comments. 013 * 014 * For more information on the BioJava project and its aims, 015 * or to join the biojava-l mailing list, visit the home page 016 * at: 017 * 018 * http://www.biojava.org/ 019 * 020 */ 021package org.biojava.bio.seq.io.agave; 022import org.biojava.bio.Annotation; 023 024/** 025 * <p>This interface defines mapping from BioJava into AGAVE format. 026 * As data from different sources is stored differently in BioJava 027 * it is impossible to define universal mapping from BioJava to Agave. 028 * Currently I implemented two mappings:</p> 029 * 030 * <p>( embl -> )biojava -> agave</p> 031 * <p>( agave -> )biojava -> agave</p> 032 * 033 * @author Hanning Ni Doubletwist Inc 034 */ 035public interface AGAVEAnnotFilter 036{ 037 public static final int FORWARD = 1 ; 038 public static final int COMPLEMENT = -1 ; 039 public static final int BOTH_FORWARD_COMPLEMENT = 0 ; 040 041 public String getAccession(Annotation annot); 042 public String getLabel(Annotation annot); 043 public String getElementId(Annotation annot); 044 public String getSequenceId(Annotation annot); 045 public String getKeyword(Annotation annot); 046 public String getOrganism(Annotation annot); 047 public String getDescription(Annotation annot); 048 public String getNote (Annotation annot); 049 public String getVersion(Annotation annot); 050 public String getOS(Annotation annot); 051 public String getMolType(Annotation annot); 052 public String getTaxonId(Annotation annot); 053 public String getCloneId(Annotation annot); 054 public String getCloneLibrary(Annotation annot); 055 public String getChromosome(Annotation annot); 056 public String getMapPosition(Annotation annot); 057 public String getEcNumber(Annotation annot); 058 public String getCreateDate(Annotation annot); 059 public String getUpdateDate(Annotation annot); 060 public AGAVEDbId[] getAltIds(Annotation annot); 061 public AGAVEXrefs[] getXrefs(Annotation annot); 062 public AGAVEMapLocation[] getMapLocation(Annotation annot); 063 public AGAVERelatedAnnot[] getRelatedAnnot(Annotation annot); 064 public String[] getElementIds(Annotation annot) ; 065 public String[] getExonIds(Annotation annot) ; 066 public String getChromNum(Annotation annot); 067 public AGAVEProperty[] getProperty(Annotation annot, String type); 068 public AGAVEDbId getDbId(Annotation annot) ; 069 public String getGroupOrder(Annotation annot) ; 070 public String getFeatureType(Annotation annot) ; 071 public String getResultType(Annotation annot) ; 072 public String getConfidence(Annotation annot) ; 073 public String getAlignLength(Annotation annot) ; 074 public String getAlignUnits(Annotation annot) ; 075 public String getMatchDesc(Annotation annot) ; 076 public String getMatchAlign(Annotation annot) ; 077 public AGAVEQueryRegion getQueryRegion(Annotation annot ); 078 public AGAVEMatchRegion getMatchRegion(Annotation annot ); 079 public AGAVEIdAlias[] getIdAlias(Annotation annot); 080 public String getClassifySystem(Annotation annot); 081 public String getClassifyId(Annotation annot); 082 public String getClassifyType(Annotation annot); 083}