Class UnigeneTools


  • public class UnigeneTools
    extends Object

    Usefull tools for working with Unigene.

    This class is the main port-of-call for users of the Unigene package. It provides the core APIs for finding a Unigene database as well as registering your own Unigene drivers. Additionaly, it contains methods to return parsers for each of the main Unigene flat-file types. If you wish to bypass the biojava object model entirely, you can choose to use these parsers instead.

    Example use

    Creating a Unigene instance from your local Unigene directory (assuming that you have read/write privileges to the directory)

     UnigeneDB unigene = UnigeneTools.createUnigene(
       new URL("file:///usr/local/biodata/unigene") );
     

    Fetch a unigene cluster

     UnigeneDB unigene = UnigeneTools.loadUnigene(
       new URL("file:///usr/local/biodata/unigene") );
     UnigeneCluster cluster = unigenge.getCluster("Aga001");
     System.out.println("Title: " + cluster.getTitle());
     

    Parse a data file yourself

     BufferedReader br = new BufferedReader(new FileReader(unigeneFile));
     Parser = new Parser();
     TagValueListener echo = new Echo();
     ParserListener pl = UnigeneTools.buildDataParser(echo);
    
     while(parser.read(br, pl.getParser(), pl.getListener())) {
       // read an entry
     }
     
    Author:
    Matthew Pocock
    • Field Detail

      • UNIGENE_ANNOTATION

        public static final AnnotationType UNIGENE_ANNOTATION

        Annotation schema for all UnigeneCluster instances. This states what propperties can be expected to be associated with a cluster and how many values they may have.

      • LIBRARY_ANNOTATION

        public static final AnnotationType LIBRARY_ANNOTATION

        Annotation schema for all Unigene libraries. This states what propperties can be expected to be associated with a library and how many values they may have.

    • Method Detail

      • getSpeciesForShortName

        public static String getSpeciesForShortName​(String name)
        Converts short species names (like Hs) to long species names (like Homo Sapiens).
        Parameters:
        name - the short name
        Returns:
        the long name
      • buildDataParser

        public static ParserListener buildDataParser​(TagValueListener listener)
                                              throws ParserException
        Generate a tag-value parser for unigene data files that will pass all parsing events on to your listener.
        Parameters:
        listener - the TagValueListener to pass events onto
        Returns:
        a ParserListener that is ready to consume unigene data documents
        Throws:
        ParserException
      • registerFactory

        public static void registerFactory​(UnigeneFactory factory)

        Register a UnigeneFactory.

        This method is for developers who have written their own UnigeneFactory implementations. By default, jdbc and file URLs are handled by built-in factories.

        When you register a factory, it will be used for all URLs that is can accept. If a factory is registered afterwards that can accept the same URL, the first factory registered will be used.

        Parameters:
        factory - the UnigeneFactory to register
      • unregisterFactory

        public static void unregisterFactory​(UnigeneFactory factory)

        Register a UnigeneFactory.

        This method is for developers who wish to unregister a factory.

        Parameters:
        factory - the UnigeneFactory to unregister
      • loadUnigene

        public static UnigeneDB loadUnigene​(URL dbURL)
                                     throws BioException
        Load a UnigeneDB instance referred to by a URL.
        Parameters:
        dbURL - the URL location the database
        Returns:
        a UnigeneDB instance
        Throws:
        BioException - if there was no UnigeneFactory able to process that URL or if there was some error connecting
      • createUnigene

        public static UnigeneDB createUnigene​(URL dbURL)
                                       throws BioException
        Create a new UnigeneDB instance referred to by a URL.
        Parameters:
        dbURL - the URL location the database
        Returns:
        a UnigeneDB instance
        Throws:
        BioException - if there was no UnigeneFactory able to process that URL or if there was some error creating it
      • findFactory

        public static UnigeneFactory findFactory​(URL dbURL)
                                          throws BioException
        Find the UnigeneFactory that can accept a URL.

        This method is for developers only. The normal way to interact with factories is to call UnigeneTools.loadUnigene() and UnigeneTools.createUnigene()

        Parameters:
        dbURL - the URL to find a factory for
        Returns:
        the UnigeneFactory that accepts that URL
        Throws:
        BioException - if there is no factory for that type of URL