Class RestrictionEnzymeManager


  • public final class RestrictionEnzymeManager
    extends Object

    RestrictionEnzymeManager manages collections of static RestrictionEnzyme instances. A properties file should be placed in the CLASSPATH containing a key "rebase.data.file" and a corresponding value of a REBASE file (standard REBASE format #31 conventionally named withrefm.### where ### is the version number). This file will be loaded by the RestrictionEnzymeManager ClassLoader. The properties are loaded as a ResourceBundle, so the file should be named "RestrictionEnzymeManager.properties".

    Since 1.5, a format #31 REBASE file can be loaded at anytime using the method loadEnzymeFile and optionally filtered for commercially available enzymes.

    Since:
    1.3
    Author:
    Keith James, George Waldon
    • Method Detail

      • loadEnzymeFile

        public static void loadEnzymeFile​(InputStream is,
                                          boolean commercialOnly)
        loadEnzymeFile loads a new REBASE file (or any file using REBASE format #31).
        Parameters:
        is - an InputStream over the file to load.
        commercialOnly - indicates whether or not only commercially available enzymes are loaded.
        Since:
        1.5
      • getAllEnzymes

        public static Set getAllEnzymes()
        getAllEnzymes returns an unmodifable set of all available enzymes.
        Returns:
        a Set of RestrictionEnzymes.
      • getEnzyme

        public static RestrictionEnzyme getEnzyme​(String name)
        getEnzyme returns an enzyme by name.
        Parameters:
        name - a String such as EcoRI, case sensitive.
        Returns:
        a RestrictionEnzyme.
      • getIsoschizomers

        public static Set getIsoschizomers​(String name)
        getIsoschizomers returns an unmodifable set of the isoschizomers of this enzyme.
        Parameters:
        name - a String such as EcoRI, case sensitive.
        Returns:
        a Set of RestrictionEnzymes.
      • getRecognitionSequence

        public static String getRecognitionSequence​(String name)
        getRecognitionSequence returns a string that describes the recognition site of this enzyme. It corresponds to the field <3> of the REBASE file.
        Parameters:
        name - a String such as EcoRI, case sensitive.
        Returns:
        a String describing the recognition sequence, e.g. "G^AATTC" for EcoRI.
        Since:
        1.5
      • getNCutters

        public static Set getNCutters​(int n)
        getNCutters returns an unmodifable set of all enzymes with a cut site of size n.
        Parameters:
        n - an int cut site size.
        Returns:
        a Set of RestrictionEnzymes.
      • getPatterns

        public static Pattern[] getPatterns​(RestrictionEnzyme enzyme)
        getPatterns returns two Pattern objects for an enzyme, one matches the forward strand and one the reverse. This enables searching of both strands of a sequence without reverse-complementing it. As Pattern objects are thread-safe these may be used for all searches.
        Parameters:
        enzyme - a RestrictionEnzyme.
        Returns:
        a Pattern [] array with the forward strand Pattern at index 0 and the reverse at index 1.
      • getAnnotation

        public static Annotation getAnnotation​(RestrictionEnzyme enzyme)
        getAnnotation returns an immutable, static annotation describing the enzyme. This is suitable for adding to Features which represent restriction sites. The annotation produced currently contains one key "dbxref" in line with the GenBank/EMBL qualifier for the "misc_binding" feature key. The key has a corresponding value "REBASE:<enzyme name>".
        Parameters:
        enzyme - a RestrictionEnzyme.
        Returns:
        an Annotation.
      • getSuppliers

        public static String getSuppliers​(RestrictionEnzyme enzyme)
        getSuppliers returns a string describing the suppliers of this enzyme according to REBASE encoding for commercial sources or an empty String if the enzyme is not commecially available.

        REBASE #31 version 604 code:

        A GE Healthcare (8/05)
        B Invitrogen Corporation(8/05)
        C Minotech Biotechnology (9/05)
        E Stratagene (9/05)
        F Fermentas International Inc. (2/06)
        G Qbiogene (9/05)
        H American Allied Biochemical, Inc. (9/05)
        I SibEnzyme Ltd. (2/06)
        J Nippon Gene Co., Ltd. (8/05)
        K Takara Bio Inc. (9/05)
        M Roche Applied Science (8/05)
        N New England Biolabs (2/06)
        O Toyobo Biochemicals (9/05)
        Q Molecular Biology Resources (8/05)
        R Promega Corporation (9/05)
        S Sigma Chemical Corporation (9/05)
        U Bangalore Genei (9/05)
        V Vivantis Technologies (1/06)
        X EURx Ltd. (9/05)
        Y CinnaGen Inc. (9/05)

        Parameters:
        enzyme - a RestrictionEnzyme.
        Returns:
        a String.
        Since:
        1.5
      • register

        public static void register​(RestrictionEnzyme enzyme,
                                    Set isoschizomers)
        register regisiters a new RestrictionEnzyme with the manager. It does not check that the isoschizomers are known to the manager. If there are custom isoschizomers in the Set, they should be also be registered.
        Parameters:
        enzyme - a RestrictionEnzyme to register.
        isoschizomers - a Set of RestrictionEnzymes which are isoschizomers.