it performs iterative profile searching similar to psi - blast ( 1 ) , but with full dynamic programing on each cycle and on - the - fly estimation of significance .
the scanps web server has been developed to simplify the running and analysis of scanps searches .
an innovative aspect of the server is its novel tree - based presentation of results for searches against the scop domain database ( 2 ) .
a comparison of a protein domain to the domains in scop can be of considerable value in elucidating its structure and function .
facilities for comparing a query sequence to scop sequences are also provided by fps ( http://fps.sdsc.edu/ ) , gtop ( http://spock.genes.nig.ac.jp/~genome/grpsblt.html ) and cascadeblast ( http://crick.mbu.iisc.ernet.in/~cascade/cascadeblast.html ) , all of which use psi - blast as the search algorithm . however , interpreting the results of scop searches in the context of the classification is hampered by the fact that search methods typically produce a linear table of hits ; understanding the relationships between hits to the scop database usually requires a manual mapping of the results table onto the scop hierarchy .
this procedure is tedious and error prone and therefore a browser interface has been developed that maps hits onto the scop hierarchy for viewing using a tree - based framework .
the new interface allows the user to perform a search of the complete non - redundant scop sequence database and view results in a form that allows the information inherent in the scop classification to be exploited in interpreting those results .
although scanps has been available for over 15 years and has been accessible as a service at the european bioinformatics institute ( ebi ) for 10 years , it has not previously been described in the literature .
accordingly , as background to the new web server , a brief overview of the motivation , novel features and performance of the program is given here .
waterman algorithm ( 3 ) comparison of a protein sequence to a protein sequence database with either length dependent or affine gap penalties ( 4 ) .
the program is written in c and effort was put into coding for performance on conventional workstation hardware .
this enabled the program to be used routinely for searching large databases on modest computer hardware in contrast to the belief in the early 1990s that smith 
parallel processing by dynamically splitting the database across multiple processors was demonstrated on a network of five loosely coupled workstations ( 6 ) , then refined to exploit symmetric multi processing ( smp ) hardware via openmp ( 7 ) .
the smp implementation gave near linear speedup on a 24 processor silicon graphics challenge . with the move to commodity pc hardware in the late 1990s ,
fourway onchip parallelism was implemented on intel and amd chips with a speedup over linear code of at least 3 depending on the query and database size .
in addition to the onchip parallelism , multiprocessor parallelism was implemented through mpi ( 8,9 ) .
the mpi implementation gave parallel efficiency of over 90% on 16 processors on an intel piii cluster connected by 100 mb network .
the speed obtained by parallel processing , coupled with the on - the - fly statistics described below , permitted the implementation of iterative searching . in this mode ,
a multiple sequence alignment is constructed for sequences that score above a preset significance threshold in the initial search .
the multiple alignment is built up by aligning to the query sequence as a template , but using a position specific scoring matrix ( pssm ) as appropriate at each iteration .
alignment columns which contain gaps in the query sequence are deleted ; as a result , the alignment is always the same length as the query sequence .
a pssm ( 10,11 ) is derived from this alignment and used to re - search the database . since sequences that are very similar to the query sequence contribute little information to the pssm , a percentage identity threshold ( pidt )
is employed which excludes all sequences from the alignment whose similarity to the query sequence exceeds the threshold .
the contributions of each sequence to the pssm are weighted according to the method of henikoff and henikoff ( 12 ) .
the scoring matrix is then constructed at each alignment position similarly to standard log odds matrices ( 12,13 ) .
the process of constructing a pssm and searching the database is repeated until convergence , or until a preset number of iterations has been completed . in each database search , the statistical significance of a score between the query and any sequence in the database is assessed by on - the - fly modeling the distribution of query database sequence pair scores .
scores are binned according to the log of the product of the query and database sequence lengths ( lpl ) . within each lpl bin
the extreme - value location and scale parameters are then fitted to exponential and linear equations respectively with respect to the lpl .
the resulting extreme - value equations are applied back to all query sequence pairs and the resulting probabilities converted to e - values for ranking and display .
this method of estimating significance is similar to those implemented in fasta / ssearch ( 14 ) ; for a full discussion of the similarities and differences between the different fitting schemes and the effect on performance in benchmarks see ( 15 ) .
the search performance of scanps was compared with that of psi - blast using a benchmark based on scop ( 2 ) .
the benchmark dataset comprises 1113 sequences taken from the pdb40d - b dataset constructed by brenner et al .
single - segment domains whose structure had been determined by x - ray crystallography were selected , representing 479 scop superfamilies across 343 scop folds .
true positives were defined as pairs of sequences belonging to the same scop superfamily ; true negatives were defined as those pairs in which the sequences belong to different scop folds .
the resulting set of sequence pairs contain 2528 true positives and 616 923 true negatives , resulting in a total of 618 821 pairs .
benchmarking was performed by searching the benchmark set with each of the benchmark sequences in turn . since scanps and psi - blast use sequence profiles to enhance search sensitivity , it is necessary to embed the benchmark set in a larger sequence database in order to ensure that there is an adequate set of related sequences to construct the search profile for each benchmark sequence .
accordingly , the benchmark set was embedded in swall ( 17 ) to create the search database .
both scanps version 2.3.9 and psi - blast version 2.2 - 17 were run for a maximum of 10 iterations .
search parameters were chosen to reflect the typical use case where a low rate of false positives is acceptable in return for a high rate of true positives found .
scanps was run with a profile e - value inclusion value of 0.015 , a pidt of 97% and using the blosum50 scoring matrix .
gap penalties for opening and extending gaps were set to 12 and 2 , respectively .
these parameters have previously been established to provide the optimal combination of good sequence coverage and low error rate ( 15 ) . to allow direct comparison with psi - blast defaults ,
psi - blast scans were performed with the default blosum62 scoring matrix and profile e - value cutoff of 0.002 .
the e - values for the pairs in the benchmark were collected and ranked in order from lowest to highest and used to calculate coverage versus error - per - query plots .
figure 1 shows plots of percentage true positive pairs versus percentage errors - per - query ( epq ) for scanps and psi - blast . scanps offers significantly increased coverage versus psi - blast for a given rate of epq .
for example , at 1% epq , scanps using the blosum 62 scoring matrix finds 27% of true positives , while psi - blast finds 24.4% .
scanps when run with the optimal blosum 50 scoring matrix finds 28.6% of true pairs at 1% epq . 

the vertical axis ( coverage ) represents the number of true positives found divided by the total number of true positives in the benchmark , expressed as a percentage .
true positives are those pairs in which the domains belong to the same scop superfamily .
the horizontal axis ( epq ) represents the number of false positives found divided by the total number of true positives , expressed as a percentage .
the black line show results for scanps run with the blosum50 scoring matrix ; profile inclusion e - value = 0.015 , gap opening penalty = 12 , gap extension penalty = 2 and profile identity threshold = 97% .
the green line show results for scanps run with the blosum62 scoring matrix ; profile inclusion e - value = 0.015 , gap opening penalty = 12 , gap extension penalty = 2 and profile identity threshold = 97% .
the blue line show results for psi - blast run with the blosum62 matrix ; profile inclusion value = 0.002 , gap opening penalty = 11 and gap extension penalty = 1 .
all runs were for a maximum of 10 iterations and pairs were collected from the final iteration of each search .
the vertical axis ( coverage ) represents the number of true positives found divided by the total number of true positives in the benchmark , expressed as a percentage .
true positives are those pairs in which the domains belong to the same scop superfamily .
the horizontal axis ( epq ) represents the number of false positives found divided by the total number of true positives , expressed as a percentage .
the black line show results for scanps run with the blosum50 scoring matrix ; profile inclusion e - value = 0.015 , gap opening penalty = 12 , gap extension penalty = 2 and profile identity threshold = 97% .
the green line show results for scanps run with the blosum62 scoring matrix ; profile inclusion e - value = 0.015 , gap opening penalty = 12 , gap extension penalty = 2 and profile identity threshold = 97% .
the blue line show results for psi - blast run with the blosum62 matrix ; profile inclusion value = 0.002 , gap opening penalty = 11 and gap extension penalty = 1 .
all runs were for a maximum of 10 iterations and pairs were collected from the final iteration of each search .
the output from scanps consists of tables of hits for each iteration , together with associated pairwise alignments and multiple alignments for all of the hits in a given iteration .
this output is usually voluminous , so a major advantage of transforming the raw output into a browsable format is that it becomes much easier to navigate through the results .
the web interface also permits crossreferencing to sequence databases and integration of the jalview viewer ( 18 ) for viewing alignments and further analysis .
the web interface allows the possibility of more sophisticated representations for scop search results as described below .
the server input page ( figure 2 ) allows the user either to upload a sequence file or paste a sequence directly into a text box .
the search database is selected from a pulldown menu , with the current options of uniref100 , uniref90 , uniref50 ( 19 ) , pdb ( 20 ) and scop ( 2 ) .
the uniref and pdb databases are updated automatically on biweekly and weekly schedules , respectively .
the scop sequences used are generated by astral ( http://astral.berkeley.edu ) ( 21 ) from the seqres records of the corresponding pdb entries and are non - redundant at the level of 100% sequence identity .
the user can set all of the search parameters or use the defaults , which , with the exception of iteration number , are those found to be optimum in benchmarking on scop superfamily data .
each parameter is documented by a link to the corresponding section of the help documentation .
the search is run non - interactively and an email message provides the user with the url where the results can be viewed .
the search time required depends on the inputs , parameters and the load on the server .
searches of scop and pdb are typically returned in within 5 min ; uniref searches may require several hours .
the server does not at present use the mpi implementation of scanps but it is planned to do so to take full advantage of the large computing cluster that is available to the server . 

the default output format is a linear presentation of the hits and corresponding pairwise and multiple alignments for each iteration .
hits for each iteration are listed in a table which displays the hit rank , the identifier assigned to the hit in the source database , a descriptive string , the e - value , the raw score and a button to display the pairwise alignment of the query and the hit in jalview ( 18 ) .
this is followed by a multiple alignment of the query with all of the hits found in the iteration and then the pairwise alignments . for each pairwise and multiple alignment ,
when searching against the pdb and scop , jalview uses secondary structure assignments from dssp ( 22 ) to display the secondary structure elements in the database sequences .
if a scop search has been performed , the results can also be viewed in a hierarchical viewer that maps the results onto the scop hierarchy ( figure 3 ) . a separate mapping
is generated for each search iteration and can be displayed by clicking a button in the linear interface .
the  tree frame displays a tree - like representation of the scop hierarchy , the branches of which may be expanded or collapsed to display particular branches at more fine - grained levels of classification .
the nodes in the tree frame are annotated with the number of scanps hits at that node and the lowest e - value found for a hit at that node , allowing the viewer to quickly identify those parts of the scop hierarchy in which hits are clustered .
clicking on a scop node in the tree frame displays the corresponding node page in the node frame .
node frame displays , for a given scop node , a page ( the  node page ) , which contains a table of the domains in the node and summary information about the node . for each domain
, the table lists the domain 's scop classification and the data returned by the search method . 

figure 3.result of a scanps search of the scop database displayed in the tree - based scop results interface , with a pairwise alignment displayed in jalview in the foreground .
the tree frame on the left displays the scop hierarchy ; the node frame on the right on displays the page for a particular node .
this is followed by summary data from scanps and then the domain table . for each domain
, the table lists its scop classification below the current node , followed by the data for the domain returned by scanps .
pairwise alignments for each hit are listed below the domain table ; these can also be displayed in jalview by clicking the appropriate button .
the alignment in jalview is shaded to indicate the positions of strands ( blue ) and helices ( red ) in the database structure .
result of a scanps search of the scop database displayed in the tree - based scop results interface , with a pairwise alignment displayed in jalview in the foreground .
the tree frame on the left displays the scop hierarchy ; the node frame on the right on displays the page for a particular node .
this is followed by summary data from scanps and then the domain table . for each domain
, the table lists its scop classification below the current node , followed by the data for the domain returned by scanps .
pairwise alignments for each hit are listed below the domain table ; these can also be displayed in jalview by clicking the appropriate button .
the alignment in jalview is shaded to indicate the positions of strands ( blue ) and helices ( red ) in the database structure .
although scanps has been available for over 15 years and has been accessible as a service at the european bioinformatics institute ( ebi ) for 10 years , it has not previously been described in the literature .
accordingly , as background to the new web server , a brief overview of the motivation , novel features and performance of the program is given here .
waterman algorithm ( 3 ) comparison of a protein sequence to a protein sequence database with either length dependent or affine gap penalties ( 4 ) .
the program is written in c and effort was put into coding for performance on conventional workstation hardware .
this enabled the program to be used routinely for searching large databases on modest computer hardware in contrast to the belief in the early 1990s that smith 
parallel processing by dynamically splitting the database across multiple processors was demonstrated on a network of five loosely coupled workstations ( 6 ) , then refined to exploit symmetric multi processing ( smp ) hardware via openmp ( 7 ) .
the smp implementation gave near linear speedup on a 24 processor silicon graphics challenge . with the move to commodity pc hardware in the late 1990s ,
fourway onchip parallelism was implemented on intel and amd chips with a speedup over linear code of at least 3 depending on the query and database size .
in addition to the onchip parallelism , multiprocessor parallelism was implemented through mpi ( 8,9 ) .
the mpi implementation gave parallel efficiency of over 90% on 16 processors on an intel piii cluster connected by 100 mb network .
the speed obtained by parallel processing , coupled with the on - the - fly statistics described below , permitted the implementation of iterative searching . in this mode ,
a multiple sequence alignment is constructed for sequences that score above a preset significance threshold in the initial search .
the multiple alignment is built up by aligning to the query sequence as a template , but using a position specific scoring matrix ( pssm ) as appropriate at each iteration .
alignment columns which contain gaps in the query sequence are deleted ; as a result , the alignment is always the same length as the query sequence .
a pssm ( 10,11 ) is derived from this alignment and used to re - search the database . since sequences that are very similar to the query sequence contribute little information to the pssm , a percentage identity threshold ( pidt )
is employed which excludes all sequences from the alignment whose similarity to the query sequence exceeds the threshold .
the contributions of each sequence to the pssm are weighted according to the method of henikoff and henikoff ( 12 ) .
the scoring matrix is then constructed at each alignment position similarly to standard log odds matrices ( 12,13 ) .
the process of constructing a pssm and searching the database is repeated until convergence , or until a preset number of iterations has been completed . in each database search , the statistical significance of a score between the query and any sequence in the database is assessed by on - the - fly modeling the distribution of query database sequence pair scores .
scores are binned according to the log of the product of the query and database sequence lengths ( lpl ) . within each lpl bin
the extreme - value location and scale parameters are then fitted to exponential and linear equations respectively with respect to the lpl .
the resulting extreme - value equations are applied back to all query sequence pairs and the resulting probabilities converted to e - values for ranking and display .
this method of estimating significance is similar to those implemented in fasta / ssearch ( 14 ) ; for a full discussion of the similarities and differences between the different fitting schemes and the effect on performance in benchmarks see ( 15 ) .
the search performance of scanps was compared with that of psi - blast using a benchmark based on scop ( 2 ) .
the benchmark dataset comprises 1113 sequences taken from the pdb40d - b dataset constructed by brenner et al .
single - segment domains whose structure had been determined by x - ray crystallography were selected , representing 479 scop superfamilies across 343 scop folds .
true positives were defined as pairs of sequences belonging to the same scop superfamily ; true negatives were defined as those pairs in which the sequences belong to different scop folds .
the resulting set of sequence pairs contain 2528 true positives and 616 923 true negatives , resulting in a total of 618 821 pairs .
benchmarking was performed by searching the benchmark set with each of the benchmark sequences in turn . since scanps and psi - blast use sequence profiles to enhance search sensitivity , it is necessary to embed the benchmark set in a larger sequence database in order to ensure that there is an adequate set of related sequences to construct the search profile for each benchmark sequence .
accordingly , the benchmark set was embedded in swall ( 17 ) to create the search database .
both scanps version 2.3.9 and psi - blast version 2.2 - 17 were run for a maximum of 10 iterations .
search parameters were chosen to reflect the typical use case where a low rate of false positives is acceptable in return for a high rate of true positives found .
scanps was run with a profile e - value inclusion value of 0.015 , a pidt of 97% and using the blosum50 scoring matrix .
gap penalties for opening and extending gaps were set to 12 and 2 , respectively .
these parameters have previously been established to provide the optimal combination of good sequence coverage and low error rate ( 15 ) . to allow direct comparison with psi - blast defaults ,
psi - blast scans were performed with the default blosum62 scoring matrix and profile e - value cutoff of 0.002 . the gap opening and extension penalties were set to 11 and 1 , respectively .
the e - values for the pairs in the benchmark were collected and ranked in order from lowest to highest and used to calculate coverage versus error - per - query plots .
figure 1 shows plots of percentage true positive pairs versus percentage errors - per - query ( epq ) for scanps and psi - blast . scanps offers significantly increased coverage versus psi - blast for a given rate of epq .
for example , at 1% epq , scanps using the blosum 62 scoring matrix finds 27% of true positives , while psi - blast finds 24.4% .
scanps when run with the optimal blosum 50 scoring matrix finds 28.6% of true pairs at 1% epq . 

the vertical axis ( coverage ) represents the number of true positives found divided by the total number of true positives in the benchmark , expressed as a percentage .
true positives are those pairs in which the domains belong to the same scop superfamily .
the horizontal axis ( epq ) represents the number of false positives found divided by the total number of true positives , expressed as a percentage .
the black line show results for scanps run with the blosum50 scoring matrix ; profile inclusion e - value = 0.015 , gap opening penalty = 12 , gap extension penalty = 2 and profile identity threshold = 97% .
the green line show results for scanps run with the blosum62 scoring matrix ; profile inclusion e - value = 0.015 , gap opening penalty = 12 , gap extension penalty = 2 and profile identity threshold = 97% .
the blue line show results for psi - blast run with the blosum62 matrix ; profile inclusion value = 0.002 , gap opening penalty = 11 and gap extension penalty = 1 .
all runs were for a maximum of 10 iterations and pairs were collected from the final iteration of each search .
the vertical axis ( coverage ) represents the number of true positives found divided by the total number of true positives in the benchmark , expressed as a percentage .
true positives are those pairs in which the domains belong to the same scop superfamily .
the horizontal axis ( epq ) represents the number of false positives found divided by the total number of true positives , expressed as a percentage .
the black line show results for scanps run with the blosum50 scoring matrix ; profile inclusion e - value = 0.015 , gap opening penalty = 12 , gap extension penalty = 2 and profile identity threshold = 97% .
the green line show results for scanps run with the blosum62 scoring matrix ; profile inclusion e - value = 0.015 , gap opening penalty = 12 , gap extension penalty = 2 and profile identity threshold = 97% . the blue line show results for psi - blast run with the blosum62 matrix ; profile inclusion value = 0.002 , gap opening penalty = 11 and gap extension penalty = 1 .
all runs were for a maximum of 10 iterations and pairs were collected from the final iteration of each search .
the output from scanps consists of tables of hits for each iteration , together with associated pairwise alignments and multiple alignments for all of the hits in a given iteration .
this output is usually voluminous , so a major advantage of transforming the raw output into a browsable format is that it becomes much easier to navigate through the results .
the web interface also permits crossreferencing to sequence databases and integration of the jalview viewer ( 18 ) for viewing alignments and further analysis .
the web interface allows the possibility of more sophisticated representations for scop search results as described below .
the server input page ( figure 2 ) allows the user either to upload a sequence file or paste a sequence directly into a text box .
the search database is selected from a pulldown menu , with the current options of uniref100 , uniref90 , uniref50 ( 19 ) , pdb ( 20 ) and scop ( 2 ) .
the uniref and pdb databases are updated automatically on biweekly and weekly schedules , respectively .
the scop sequences used are generated by astral ( http://astral.berkeley.edu ) ( 21 ) from the seqres records of the corresponding pdb entries and are non - redundant at the level of 100% sequence identity .
the user can set all of the search parameters or use the defaults , which , with the exception of iteration number , are those found to be optimum in benchmarking on scop superfamily data .
each parameter is documented by a link to the corresponding section of the help documentation .
the search is run non - interactively and an email message provides the user with the url where the results can be viewed .
the search time required depends on the inputs , parameters and the load on the server .
searches of scop and pdb are typically returned in within 5 min ; uniref searches may require several hours .
the server does not at present use the mpi implementation of scanps but it is planned to do so to take full advantage of the large computing cluster that is available to the server
the default output format is a linear presentation of the hits and corresponding pairwise and multiple alignments for each iteration .
hits for each iteration are listed in a table which displays the hit rank , the identifier assigned to the hit in the source database , a descriptive string , the e - value , the raw score and a button to display the pairwise alignment of the query and the hit in jalview ( 18 ) .
this is followed by a multiple alignment of the query with all of the hits found in the iteration and then the pairwise alignments .
for each pairwise and multiple alignment , a button is provided to view the alignment in the jalview alignment tool .
when searching against the pdb and scop , jalview uses secondary structure assignments from dssp ( 22 ) to display the secondary structure elements in the database sequences .
if a scop search has been performed , the results can also be viewed in a hierarchical viewer that maps the results onto the scop hierarchy ( figure 3 ) . a separate mapping
is generated for each search iteration and can be displayed by clicking a button in the linear interface .
the  tree frame displays a tree - like representation of the scop hierarchy , the branches of which may be expanded or collapsed to display particular branches at more fine - grained levels of classification .
the nodes in the tree frame are annotated with the number of scanps hits at that node and the lowest e - value found for a hit at that node , allowing the viewer to quickly identify those parts of the scop hierarchy in which hits are clustered .
clicking on a scop node in the tree frame displays the corresponding node page in the node frame .
node frame displays , for a given scop node , a page ( the  node page ) , which contains a table of the domains in the node and summary information about the node . for each domain , the table lists the domain 's scop classification and the data returned by the search method . 

figure 3.result of a scanps search of the scop database displayed in the tree - based scop results interface , with a pairwise alignment displayed in jalview in the foreground .
the tree frame on the left displays the scop hierarchy ; the node frame on the right on displays the page for a particular node .
this is followed by summary data from scanps and then the domain table . for each domain
, the table lists its scop classification below the current node , followed by the data for the domain returned by scanps .
pairwise alignments for each hit are listed below the domain table ; these can also be displayed in jalview by clicking the appropriate button .
the alignment in jalview is shaded to indicate the positions of strands ( blue ) and helices ( red ) in the database structure .
result of a scanps search of the scop database displayed in the tree - based scop results interface , with a pairwise alignment displayed in jalview in the foreground .
the tree frame on the left displays the scop hierarchy ; the node frame on the right on displays the page for a particular node .
this is followed by summary data from scanps and then the domain table . for each domain
, the table lists its scop classification below the current node , followed by the data for the domain returned by scanps .
pairwise alignments for each hit are listed below the domain table ; these can also be displayed in jalview by clicking the appropriate button . the alignment in jalview
is shaded to indicate the positions of strands ( blue ) and helices ( red ) in the database structure .
the server is implemented as a set of perl cgi scripts but most of the functionality is contained in a set of common perl modules used by all the scripts .
the scop interface is built using an object - oriented perl library that is designed to facilitate building interfaces for any program that searches scop .
the scanps web server ( http://www.compbio.dundee.ac.uk/www-scanps ) provides access to scanps in the form of a user - friendly web interface with regularly updated databases and postprocessing of results to present them in a form that facilitates analysis and interpretation .
the server provides the facility to search the complete scop database with a query sequence and display the results in a tree view .
this maps hits directly onto the scop hierarchy with links to the scop database website .
it also integrates the jalview alignment editor for viewing alignments between the hits and the query sequence .
planned enhancements to the server include deploying the mpi implementation of scanps to reduce search times further , as well as allowing search of scop embedded in uniref to improve sensitivity for iterative searches .
 scanps performs iterative profile searching similar to psi - blast but with full dynamic programing on each cycle and on - the - fly estimation of significance . 
 this combination gives good sensitivity and selectivity that outperforms psi - blast in domain - searching benchmarks . although computationally expensive , scanps exploits onchip parallelism ( mmx and sse2 instructions on intel chips ) as well as mpi parallelism to give acceptable turnround times even for large databases . a web server developed to run scanps searches 
 is now available at http://www.compbio.dundee.ac.uk/www-scanps . 
 the server interface allows a range of different protein sequence databases to be searched including the scop database of protein domains . 
 the server provides the user with regularly updated versions of the main protein sequence databases and is backed up by significant computing resources which ensure that searches are performed rapidly . for scop searches , the results may be viewed in a new tree - based representation that reflects the structure of the scop hierarchy ; this aids the user in placing each hit in the context of its scop classification and understanding its relationship to other domains in scop . 
INTRODUCTION
MATERIALS AND METHODS
Overview of SCANPS
Benchmarking of SCANPS
The SCANPS web interface
IMPLEMENTATION
CONCLUSION