the prosite database uses two kinds of signatures or descriptors to identify conserved regions , i.e. patterns and generalized profiles , both having their own strengths and weaknesses defining their area of optimum application . each prosite signature is linked to an annotation document where the user can find information on the protein family or domain detected by the signature , such as the origin of its name , taxonomic occurrence , domain architecture , function , 3d structure , main characteristics of the sequence , domain size and literature references ( 1 ) . prosite signatures are also associated with corresponding prorules ( 2 ) , which contain information for the automated annotation of domains in the uniprotkb / swiss - prot database . some of the information stored in prorule can be accessed via scanprosite , which provides additional features such as active sites or disulfide bonds associated with a particular domain ( 3 ) . since the latest nar database issue paper ( 4 ) , prosite has increased its number of signatures to 1559 documentation entries , 1308 patterns , 863 profiles and 869 prorules . most of the newly integrated profiles were constructed with a new method , apsimake , which makes use of an annotated multiple sequence alignment ( amsa ) and will be described elsewhere . the number of patterns has decreased since some patterns had too many false positive matches and have been replaced by a profile covering the same domain . the list of deleted prosite signatures as well as the ones which replace them is available in the psdelac.txt file . while other protein domain databases such as pfam ( 5 ) aim to be comprehensive and to a maximum sequence coverage , prosite concentrates on precise functional characterization , which can be used for protein database annotation . these efforts are time consuming , which is reflected by a reduced number of protein domains as compared with pfam . some prosite profiles might also be less sensitive as they are intended to cover domains over their entire length with the best possible alignment . partial matches are strongly penalized , which allows full length detection of domain but decreases the sensitivity . truncated domains due to mispredicted protein sequences might be missed . in collaboration with peroxibase ( 6 ) , prosite has developed a strategy to construct profiles specific for the different subfamilies of the peroxidase family . this strategy has been improved and applied to other complex families such as the small gtpases . this approach will be pursued in the future to provide the scientific community with a large number of subfamily profiles for more accurate function inference . more specific profiles for subfamilies allow better functional prediction , as different subfamilies can have various , although related , functions . prosite is extensively used by uniprotkb / swiss - prot curators to annotate domains with the help of prorule , which provides functional annotation associated with a specific domain in a uniprotkb / swiss - prot format ( 2 ) . among the 983 different types of ( dna - binding ) domain , repeat or zinc finger found in uniprotkb / swiss - prot , 696 ( 70% ) are annotated with the help of prosite descriptors using information from prorule . the usage of prosite and prorule during the annotation process facilitates the transfer of the positions of biologically meaningful sites , such as active or binding sites and disulfide bonds , and ensures that all useful information that can be associated with a domain will be added to uniprotkb / swiss - prot entries . scanprosite  http://www.expasy.org / tools / scanprosite/is a web - based tool for detecting prosite signature matches in protein sequences ( 3 ) . for many prosite profiles , the tool makes use of prorules to detect functional and structural intra - domain residues . the increase of data in uniprotkb and the analyses of subfamilies by searching these data with several profiles simultaneously have incited us to speed up the scanprosite performance . to do so , scanprosite was migrated to the vital - it center for high - performance computing ( cluster of 633 cpus ) of the swiss institute of bioinformatics ( 7 ) . to increase the reliability of scanprosite , the old infrastructure has been kept as a fallback in case of failure of the vital - it cluster . with the advent of high - throughput sequencing , users need to analyze large sets of proteins . to respond to these requests , we make use of vital - it to allow prosite users to submit large sets of proteins to scanprosite . we are currently building the tools and procedures that will allow the analysis of full proteomes with prosite . additionally to the use of a new cluster , we want to improve the speed of scanprosite by using a heuristic approach to perform a fast prescan to detect protein sequences to which the usual scan should be applied . this way , we might get the usual alignment necessary to apply prorule to detect functional residues . we are currently evaluating different heuristic methods such as blast ( 8) or hmmer3 ( 9 ) . manual modifications of generalized profiles are normally performed within prosite to improve the models generated by the pftools software ( 1 ) . , these adjustments are understandable only to experts with good knowledge of the generalized profile syntax , and tracking of modifications by different users can be difficult . ideally , the model adjustment should be done directly in the input multiple sequence alignment ( msa ) in the form of annotation . additionally , there is an increasing need to produce profile models not only to detect distant homologs but also to classify subfamily sequences and to transfer annotation at the residue level automatically . thus we need profile models tuned for classification and for high quality alignments . to achieve this , we need to explicitly change parameters used for the construction of the profile in a position - dependent manner , e.g. change the substitution matrix used for pseudocounts in one region of the alignment , give different weight to the pseudocounts with respect to the observed residues , change gap penalties , etc . the position specific parameters should be explicitly included in the msa used to build the profile . to fulfill all our requirements , we have developed a strategy to clearly distinguish between the amsa , containing all the information needed to build the profile , and the final numerical prediction model , usually a scoring matrix ( generalized profiles in our case ) . we have defined a data structure to store amsa . the grammar and recommendations of amsa ( v1.0 ) annotation is added as standard fasta - like sequences that we refer to as annotation layers , with symbols from an ad hoc alphabet . #  and in the description field of the fasta format each symbol of the annotation alphabet is paired to its value ( symbol  value ) ( see figures 1 and 2 ) . we opted for this representation and not the stockholm format ( 7 ) because it is compact and any pair symbol  value ( except for a few symbols , see figure 1a legend ) can be defined in the description field and any annotation layer can be added without restrictions . the amsa format is also simple to parse by standard programs and easy to edit by hand or using the jalview msa editor , which in its latest version supports the amsa syntax ( see figure 2b ) ( 8,9 ) . =  assign operator ;  ( )  grouping operator ;  [ ]  optional ( 0 or 1 occurrence ) ;  { }  repetition ( 0 or more occurrences ) ;  - exclude following symbol ; note that any visible symbol is accepted for sequence and annotation alphabets , except the special symbols =  ,   and  > . ( b ) recommendations for the amsa 1.0 format . an amsa file consists of aligned sequences and annotation represented in fasta format . is possible to precede the sequence and annotation block with a version header followed by general comments ( lines starting with ' # ' ) and global annotation ( lines starting with  # #  followed by a key = text ) ; in this case , we must terminate the sequence and annotation block using symbols  # //. any ad hoc alphabet can be used to describe sequences and annotation . the meaning of the alphabet used by an annotation layer can be explicitly represented as pairs value  symbol in its description field . sequence- ( or annotation)-specific annotation is added after the i d field using key = value ( or key =  text with white - spaces ) . sequence residues are annotated using a cross - reference to an annotation layer ( key = # residue_annotation_id ) . though not required by the specification , we suggest to include the reference sequence i d in the residue_annotation_id to facilitate the visual mapping from annotation to sequence . columns of the msa are annotated using annotation layers not linked to one or multiple sequences ( see figure 2 for an example ) . default is used to set a default value for the  - symbol of the annotation sequence ; the sym_len = digits permits to extend the format of sequences and annotations to any alphabet , e.g. codons ( sym_len = 3 ) , to store pdb coordinates ( sym_len = 8 to store up to 6 digits , dot and sign ) , etc . if sym_len is not specified , its default value should be 1 ( one character per symbol ) . note that we can achieve the same result by encoding multi - character symbols on a corresponding number of layers , this having the advantage that standard msa editors can accept the format . protein sequences containing symbols from the amino acid alphabet and  - to represent gaps are represented in the standard msa format at the beginning of the file . annotation layers ( layers beginning with  #  ) are in the second part of the amsa file and they contain any ad hoc alphabet . the meaning of each symbol of the alphabet is described by the symbol  value pairs in the description field of each layer . note that the symbol  - in annotation denotes a default value described by the default key . annotation attached to the individual sequences is represented as key = value pairs ( e.g. weight of the sequence ) . annotation attached to individual residues of a sequence is described in a cross - referenced layer : in the example the ss_layer cross - reference of thm1_thada points to the secondary structure of the protein in layer # _ ss_thm1_thada . msa column annotation is used to label disulfide bridges ( # _ site_disulfide ) where numbers represent the cysteine couple and values represent the expected symbol ( c for cysteine in this example ) . the remaining layers represent parameters of the profile : the topology of the model ( # _ label _ ) , the two matrices used to generate pseudocounts ( layers # _ matrix _ and # _ matrix_2 ) with the respective position - specific weights of the pseudocounts . ( a ) amsa 1.0 grammar in extended backus - naur form . explanation of the grammar symbols : =  assign operator ;  ( )  grouping operator ;  [ ]  optional ( 0 or 1 occurrence ) ;  { }  repetition ( 0 or more occurrences ) ;  - exclude following symbol ;  | alternation ( or ) ,  ? ? note that any visible symbol is accepted for sequence and annotation alphabets , except the special symbols  #  , =  ,   and  > . ( b ) recommendations for the amsa 1.0 format . an amsa file consists of aligned sequences and annotation represented in fasta format . is possible to precede the sequence and annotation block with a version header followed by general comments ( lines starting with ' # ' ) and global annotation ( lines starting with  # #  followed by a key = text ) ; in this case , we must terminate the sequence and annotation block using symbols  # //. any ad hoc alphabet can be used to describe sequences and annotation . the meaning of the alphabet used by an annotation layer can be explicitly represented as pairs value  symbol in its description field . sequence- ( or annotation)-specific annotation is added after the i d field using key = value ( or key =  text with white - spaces ) . sequence residues are annotated using a cross - reference to an annotation layer ( key = # residue_annotation_id ) . though not required by the specification , we suggest to include the reference sequence i d in the residue_annotation_id to facilitate the visual mapping from annotation to sequence . columns of the msa are annotated using annotation layers not linked to one or multiple sequences ( see figure 2 for an example ) . default is used to set a default value for the  - symbol of the annotation sequence ; the sym_len = digits permits to extend the format of sequences and annotations to any alphabet , e.g. codons ( sym_len = 3 ) , to store pdb coordinates ( sym_len = 8 to store up to 6 digits , dot and sign ) , etc . if sym_len is not specified , its default value should be 1 ( one character per symbol ) . note that we can achieve the same result by encoding multi - character symbols on a corresponding number of layers , this having the advantage that standard msa editors can accept the format . protein sequences containing symbols from the amino acid alphabet and  - to represent gaps are represented in the standard msa format at the beginning of the file . annotation layers ( layers beginning with  #  ) are in the second part of the amsa file and they contain any ad hoc alphabet . the meaning of each symbol of the alphabet is described by the symbol  value pairs in the description field of each layer . note that the symbol  - in annotation denotes a default value described by the default key . annotation attached to the individual sequences is represented as key = value pairs ( e.g. weight of the sequence ) . annotation attached to individual residues of a sequence is described in a cross - referenced layer : in the example the ss_layer cross - reference of thm1_thada points to the secondary structure of the protein in layer # _ ss_thm1_thada . msa column annotation is used to label disulfide bridges ( # _ site_disulfide ) where numbers represent the cysteine couple and values represent the expected symbol ( c for cysteine in this example ) . the remaining layers represent parameters of the profile : the topology of the model ( # _ label _ ) , the two matrices used to generate pseudocounts ( layers # _ matrix _ and # _ matrix_2 ) with the respective position - specific weights of the pseudocounts . ( i ) per - sequence : e.g. sequence weight , cross - references , etc . using the pair key = value , e.g. weight = 0.2 . ( ii ) per - column : features are stored in an annotation layer where each position contains a symbol associated with a value as defined in the description field . this annotation refers to biological information , such as active sites or post - transcriptional modification , or information used for the construction of the profile model , as the scoring system associated with each column . ( iii ) per - residue : annotation layers can be associated with a single sequence using a cross - reference ; each position contains a symbol associated with annotation for the corresponding residue in the sequence , e.g. the secondary structure of the sequence . ( iv ) global : global alignment annotation can be added at the beginning of the amsa using the characters  # #  followed by the pair key = text , e.g. to incorporate phylogenetic information . #  are considered as free text comment lines ( see figure 1 for the full specifications ) . note that the amsa v1.0 specifications permit to convert the interleaved stockholm format to the noninterleaved amsa format without any loss of information by using the same keywords . we have developed msa2amsa , a program to add annotation to an msa file to build an amsa containing all information required for the construction of the final profile scoring matrix . the program parameters can be adjusted to produce amsa annotation to build profiles for distant homologous sequence discovery , subfamily classification and to produce alignments for automatic annotation . a second program , apsimake , reads an amsa file and produces the final scoring matrices ( generalized profiles in prosite ) . the profiles constructed using this new method generally perform better than linear profiles built using such classical methods as pftools and hmmer ( results will be published in a separate article ) . within prosite , we now use amsa to store msas combined with annotation and msa2amsa / apsimake to build generalized profiles fine - tuned for classification and automatic residue annotation . in order to facilitate data integration by the interpro consortium and data exchange between members of the consortium ( 13 ) , prosite has adopted the distributed annotation system ( das ) ( 14 ) . das is a lightweight decentralized system for exchanging and aggregating data from a number of heterogenous databases using a common biological data exchange standard ( das xml specification ) . we created a prosite das annotation server providing features ( prosite matches on a specific uniprotkb entry ) , and msas ( alignment of match regions on uniprotkb entries for a specific prosite motif ) using the proserver ( http://www.sanger.ac.uk/software/analysis/proserver/ ) perl framework ( 15 ) . in order for our service to be easily discoverable , we registered it on the central das registry ( http://www.dasregistry.org ) ( 16 ) . it can be monitored through http://www.dasregistry.org/listservices.jsp?keyword=prosite&cmd=keyword the implemented das commands are : - alignment ( e.g. http://proserver.vital-it.ch/das/prositealign/alignment?query=ps50808 ) ; ( ii )  for multiple sequence features : - features ( e.g. http://proserver.vital-it.ch/das/prositefeature/features?segment=p08487 ) . prosite matches , including low confidence ones ( not shown in interpro ) , within a specific uniprotkb entry ( optional : start , end of a range within the protein sequence ) ; - types ( e.g. http://proserver.vital-it.ch/das/prositefeature/types ) ; - sequence ( e.g. http://proserver.vital-it.ch/das/prositefeature/sequence?segment=p08487 ) . in addition to its use within the interpro consortium , the prosite das service can be accessed by other users who want to make use of prosite data and integrate them ( with other sources ) with their own personal data in a convenient and standardized way as several independent annotation servers can be connected to a reference sequence . the dasty viewer ( http://www.ebi.ac.uk/dasty/ ) is a popular proteins feature viewer ( 17 ) that uses the das protocol and which can be accessed from uniprotkb entries ( third - party data ) . polypeptide_domain and  polypeptide_repeat ( including low confidence matches ) features on uniprotkb protein p08487 , aggregated with data from other sources . the database behind the prosite das service is updated synchronously with prosite releases ; therefore , the das service will stay up - to - date . fns project grant ( 315230 - 116864 ) and european union grant ( 213037 ) . prosite activities were also supported by the swiss federal government through the federal office of education and science .
prosite consists of documentation entries describing protein domains , families and functional sites , as well as associated patterns and profiles to identify them . 
 it is complemented by prorule , a collection of rules based on profiles and patterns , which increases the discriminatory power of these profiles and patterns by providing additional information about functionally and/or structurally critical amino acids . 
 prosite is largely used for the annotation of domain features of uniprotkb / swiss - prot entries . among the 983 ( dna - binding ) domains , repeats and zinc fingers present in swiss - prot ( 
 release 57.8 of 22 september 2009 ) , 696 ( 70% ) are annotated with prosite descriptors using information from prorule . in order to allow better functional characterization of domains , prosite developments focus on subfamily specific profiles and a new profile building method giving more weight to functionally important residues . here , we describe amsa , an annotated multiple sequence alignment format used to build a new generation of generalized profiles , the migration of scanprosite to vital - it , a cluster of 633 cpus , and the adoption of the distributed annotation system ( das ) to facilitate prosite data integration and interchange with other sources . 
 the latest version of prosite ( release 20.54 , of 22 
 september 2009 ) contains 1308 patterns , 863 profiles and 869 prorules . 
 prosite is accessible at : http://www.expasy.org / prosite/.