understanding a protein s structure 
 is fundamental to understanding 
 that protein s function . identifying interaction partners , 
 sites of interaction , and
the structural architecture of multiprotein 
 complexes is fundamental to determining their role in cellular processes . 

protein cross - linking coupled with bottom - up mass spectrometry ( xl - ms 
 or cx - ms or clms ) has been gaining ground in recent years as a tool 
 for elucidating the structure , architecture , and dynamics of large 
 multiprotein complexes .
xl - ms differs from traditional bottom - up tandem mass spectrometry 
 ( ms / ms ) in that the protein mixture is subjected to a chemical cross - linker 
 prior to digestion and analysis by mass spectrometry ( for reviews , 
 see refs ( 1214 ) ) .
the chemical cross - linker binds 
 protein residues on both ends and has a spacer arm of known length 
 in between . after analysis and identification of linked peptides by 
 mass spectrometry , the linked peptides and positions may be mapped 
 to proteins and indicate which residues in those proteins are near 
 one another in solution . these known distances within and between 
 specific positions in proteins
may serve as unique distance restraints 
 ( udrs ) when used in conjunction with molecular modeling , protein structure 
 prediction , or other structure - based methods .
although xl - ms promises a wealth of structural 
 information , the 
 automated identification of cross - linked peptides from tandem mass 
 spectra has been a difficult computational problem .
the cross - linking 
 reaction and digestion may produce different species of peptides ( cross - linked , 
 loop - linked , and unlinked ) ( figure 1 ) that have different scoring characteristics .
moreover , 
 the search space for candidate pairs of cross - linked peptides matching 
 a precursor ion s m / z is 
 prohibitively large for sequence databases typically used in proteomics 
 analysis .
several algorithms have made significant progress toward 
 addressing this complexity and have been widely adopted for automated 
 xl - ms analysis , including kojak , plink , crux , xquest , stavrox , protein 
 prospector , sim - xl , and hekate . while these software 
 packages enable many researchers to identify cross - linked peptides 
 and proteins , the visual interfaces to the data and results are limited . 
 because each software package produces its own proprietary scores 
 and reads and writes its own file formats , the data are usually not 
 portable or compatible with interfaces provided by other software . 

direct comparison of results from separate software packages ( or even 
 different versions of the same software ) is difficult .
depiction of the b- and 
 y - ion series generated from bottom - up xl - ms 
 peptide fragmentation and supported by proxl .
proxl treats monolinks 
 ( where only one end of a cross - linker has reacted with a peptide residue ) 
 as a special case of a post - translational modification ( ptm ) .
the ion series is typical of those found in non - xl - ms experiments . 

there are separate b- and y - ion series for each of the linked 
 peptides , where the mass of the other peptide is considered as a modification 
 of the mass of the linked residue , as if it were a ptm .
several visualization tools have been developed 
 to extend the data 
 visualization capabilities provided by the native xl - ms search software . 

xlink analyzer is a software extension 
 to the ucsf chimera molecular modeling 
 software package that enables import , visualization , and structural 
 analysis of reported udrs .
xinet is a 
 dynamic web application and javascript library that provides dynamic 
 and compelling two - dimensional views of xl - ms search results .
protein 
 interactions found in tools like cytoscape with scaled horizontal bars representing the lengths of individual 
 proteins found in protein sequence annotation tools .
xvis is a web application that provides elegant two - dimensional 
 network topology visualization of xl - ms results , including a topology 
 display similar to xinet and circos - style displays of the data . unlike xlink analyzer
, xvis does not depend 
 on third - party software for visualization , and unlike both xlink analyzer 
 and xinet , xvis provides direct access to the underlying proteomics 
 data ( e.g. , mass spectra ) .
however , this functionality depends on 
 xquest for data analysis and the availability of a local xquest server . 

xlink - db is a web application and database 
 for storing , viewing , and disseminating xl - ms results .
it includes 
 two - dimensional ( 2d ) and three - dimensional ( 3d ) visualization and 
 analysis tools .
while its emphasis on public dissemination and visualization 
 of data from any pipeline is a step in the right direction , it depends 
 on third - party plugins to function , depends on the use of the uniprot database for protein sequence annotation , and 
 is ( at the time of this writing ) limited to experiments from escherichia coli , homo sapiens , saccharomyces cerevisiae , and arabidopsis thaliana . here
we present proxl , 
 a web application and database for storing , 
 visualizing , and sharing xl - ms data that is cross - platform and independent 
 of search software and protein sequence annotation database , does 
 not require third - party software , provides integrated access to all 
 underlying proteomics data , and functions equally well for any organism . 

proxl provides dynamic 2d and 3d visualization , reporting , and analysis 
 tools , including quality control tools and data downloads for optional 
 integration into third - party software for more advanced analysis . 

proxl includes advanced data sharing tools , both public and private , 
 and is designed to enable collaboration among project researchers .
proxl consists of a web 
 application , relational 
 database , and data import program .
the web application was developed 
 using java , html , css , svg , and javascript and was designed to run 
 on the apache tomcat ( http://tomcat.apache.org/ ) java servlet 
 container and the struts application framework ( http://struts.apache.org/ ) .
the built - in protein data bank ( pdb ) structure viewer uses the 
 pv structure viewer ( https://github.com/biasmv/pv ) , which is pure javascript , and requires no third - party 
 plugins to run .
spectra are visualized by a version of the lorikeet 
 spectrum viewer ( http://uwpr.github.io/lorikeet/ ) that we have modified to view loop - linked and 
 cross - linked ion series .
real - time protein sequence annotations for 
 disordered regions and secondary structure prediction are provided 
 by disopred3 and psipred3 and are executed in response to user requests 
 by the jobcenter job management system running on the authors servers .
the relational database 
 was developed using the mysql ( https://www.mysql.com/ ) 
 relational database management system .
the import program was developed 
 using java and xml ( see below for more information on the xml schema ) . 

all of the components of proxl are cross - platform and will run on 
 any platform for which java is available . on 
 the client side , there is no installation 
 required for users of proxl ( other than using a current web browser ) . 

all viewers and functionality are written using standard worldwide 
 web technologies and do not require any external programs or web browser 
 plugins . on the server side , proxl makes use of multiple database 
 and web application components and will require basic knowledge of 
 mysql and system administration to install and configure . specifically , 
 apache tomcat and mysql will need to be installed ( if not already 
 installed ) , sql scripts executed to set up the database , and values 
 changed in the database to configure the web application .
proxl s data design is 
 independent of any particular software pipeline that generates cross - link 
 search results ( figure 2 ) .
this is accomplished by abstracting types of data common to all 
 cross - linking pipelines into a common set of core tables that describe 
 items such as the identified udrs ( i.e. , which protein loci were found 
 to be linked to one another ) , the scan data , and the identified peptide 
 sequences .
the scores assigned to peptide spectrum matches ( psms ) 
 and peptides from individual software pipelines are stored in score 
 tables that describe which search program was used , which scoring 
 attributes were present , how to treat those scoring attributes , and 
 what score for which attribute each psm or peptide received .
a diagram 
 of the proxl database schema is shown in figure s-1 in the supporting information .
( a ) different 
 software pipelines produce data files using their own disparate formats . 

writing and maintaining programs to import this native data directly 
 into the complex proxl database schema would be complex , error - prone , 
 and difficult for developers of new pipelines .
instead , simple scripts 
 are used to convert native data into the simple and well - documented 
 proxl xml format , which is a generalized format for representing xl - ms 
 data and includes descriptions of which scores are present and how 
 the scores are to be treated by proxl .
a central program , maintained 
 by the proxl developers , is used to import proxl xml files into the 
 database .
( b ) this cartoon overview of the database schema illustrates 
 how proxl generalizes the association of scores from any pipeline 
 with xl - ms data .
score types described by proxl xml files are stored 
 in score - type tables , where the names , descriptions , and properties 
 of scores present in the xml are stored .
scores for psms and peptides 
 are associated with both this score type and a generalized abstraction 
 of psms and peptides applicable to all search programs ( e.g. , sequence 
 for peptides ) .
psms are associated with scans , psms and peptides with 
 searches , and searches with udr information , lookup tables , and other 
 generalized attributes .
importing data into the proxl database is accomplished by 
 converting 
 the native output of the respective software pipelines into an xml 
 file adhering to the proxl xml schema ( figure s-2 ) . like the proxl database schema ,
this xml schema is independent 
 of any particular software pipeline . which psm - level and peptide - level 
 scoring attributes are present for the respective software pipeline 
 are included and described in the xml , including how to label it , 
 how to sort it , and default filter values .
this design allows the 
 output of nearly any conceivable pipeline , regardless of the type 
 of numeric scores generated , to be represented in this xml format 
 and imported into proxl for visualization , analysis , and comparison . 

additionally , using this xml schema as a common standard for importing 
 data dramatically simplifies the process of developing and maintaining 
 importers for new software pipelines , as developers are shielded from 
 the complexity of the database schema itself .
the schema includes 
 xml schema validation rules designed to help ensure the integrity 
 of the data in the file .
the schema xml schema definition ( xsd ) file , 
 documentation , and programs for converting kojak ( with and without 
 the percolator postsearch analysis ) , 
 crux , plink , stavrox , and xquest output to proxl xml are available 
 at https://github.com/yeastrc/proxl-import-api .
proxl 
 is also designed to be independent of the specific fasta 
 file or sequence database used to search peptides .
the fasta data 
 files are preprocessed before the data is uploaded to proxl so that 
 the strings representing proteins are mapped back to a nonredundant 
 protein sequence database .
proteins identified 
 in different experiments using different search databases data can 
 be directly compared .
usage and installation documentation 
 for this application are available at our documentation site ( http://yeastrc.org/proxl_docs/ ) .
proxl includes html 
 tables and dynamic , graphical views of the data . in all cases ,
for example , a table of identified udrs in a given run shows 
 which positions in which proteins were found to be linked to one another . 
 if additional information about the identification is required , the 
 row may be expanded to view all of the underlying peptides .
this may 
 be further expanded to view all of the underlying psms and associated 
 spectra .
for all graphical views , the current state of the viewer 
 ( i.e. , all selected options and protein positions ) is encoded in the 
 current url for the web page .
because of the breadth of options and 
 complexity of the data , significant time may be invested in achieving 
 the desired view of the data .
whenever an option changes , the url 
 is automatically updated to reflect the change in state . as such , 
 this url may be bookmarked or shared with other users who have access 
 to the project to simplify collaboration and sharing of specific views 
 of the data .
additionally , for all views , the current view of the 
 data ( including all options ) may be saved as the default view of a 
 given search s data for the viewer , allowing the desired view 
 of the data to be shared with other users .
detailed documentation 
 of all features is available at the proxl documentation site ( http://yeastrc.org/proxl_docs/ ) or by clicking the help icon 
 near the top right of any page in proxl . proxl s
3d structure viewer 
 allows cross - links , loop - links , and monolinks to be visualized on 
 interactive graphical representations of protein structures ( figure 3b ) .
this is accomplished 
 by providing tools for users to upload a pdb file ( whether their own 
 or from the pdb ) and then automatically perform pairwise sequence 
 alignment between protein sequences from their search s fasta 
 file to sequences present for chains in the pdb .
this alignment is 
 used to map identified link locations for proteins in the fasta file 
 to specific locations in the pdb structure , enabling 3d visualization 
 and distance measurements of observed links ( figure 3a ) .
this design does not require that the 
 exact sequence from a pdb chain be present in the fasta file used 
 to search the data and allows for the use of pdb files containing 
 single proteins or multiprotein complexes  where all of the 
 proteins in the complex may be mapped to proteins from the experiment .
( a ) proxl allows users 
 to map proteins identified in the experiment to the sequences present 
 in any pdb - formatted file .
this is accomplished by an automated ( and 
 user - validated ) pairwise sequence alignment , which may result in gaps 
 or shifts in the respective alignments .
positions in the experimental 
 protein use this alignment to map to positions in the pdb sequence , 
 which are then used to map the position to 3d space .
positions in 
 the experimental protein that do not map to the pdb sequence are considered 
  unmappable  and are not represented on the structure 
 or used for distance reports .
( b ) screenshot from proxl illustrating 
 a mapping of three s. cerevisiae proteins 
 ( spc97p , spc98p , and tub4p ) to a dimer of the yeast small -tubulin 
 complex .
two copies each of spc97p and spc98p and four copies of tub4p 
 are present in the structure .
the right panel shows a distance report for 
 the currently displayed data , which is color - coded to match the links 
 on the structure .
all of the links ( in either panel ) may be clicked 
 to view underlying proteomics data or spectra ; the pdb file , ucsf 
 chimera script , or pymol script may be downloaded , and distance reports 
 may be downloaded via links at the bottom of the report .
all visualized 
 links may be clicked to view the underlying peptide- and psm - level 
 data , including annotated mass spectra .
distances for all represented 
 links are calculated and available for viewing as a table or downloaded 
 as a text file .
the pdb file and link locations may be downloaded 
 as pymol or ucsf chimera scripts for 
 visualization and analysis in the respective software .
features 
 of note include ( 1 ) the ability to pop the structure out 
 into a separate window for high - resolution viewing and figure generation , 
 ( 2 ) the ability to shade the displayed links by spectrum counts , and 
 ( 3 ) the ability to color the observed links on the basis of their 
 calculated distance , their type ( cross - link or loop - link ) , or ( in 
 the case of merging of multiple searches ) the search(es ) in which 
 that link was observed at the current cutoff values .
this enables 
 quick side - by - side structure - based comparison of multiple searches 
 ( including different search programs ) .
all of the observed links and 
 distances are also displayed as a table , and these data may be downloaded 
 as a tab - delimited text report .
multiple searches can be combined 
 by selecting multiple searches and clicking the  view merged 
 structure  button .
proxl provides 
 an interactive , 
 customizable , and dynamic 2d view of the data .
proteins are displayed 
 as horizontal bars scaled to their relative lengths ( figure 4 ) .
proteins found in the experiment 
 may be added or removed from the display by the user .
interprotein 
 cross - links are presented as line segments connecting the linked locations 
 in each protein .
intraprotein cross - links and loop - links are presented 
 as loops on the top and bottom of the protein bars , respectively , 
 and monolinks are presented as short line segments . by default ,
links 
 are colored according to protein to ease interpretation . when data 
 from multiple searches are merged , the links may be colored according 
 to the originating search to ease comparison of the searches .
the 
 links may be shaded according to spectrum counts to perform basic 
 relative quantitative estimations . to aid in the interpretation of 
 complex diagrams , a single protein
may be clicked to highlight only 
 links involving that protein , or multiple proteins may be clicked 
 to highlight only the links on and between those proteins .
the black bars , from top to bottom , represent respective sequence 
 lengths for tub4p , spc97p , and spc98p from the s. cerevisiae small -tubulin complex .
the lines between bars represent 
 interprotein cross - links , the arcs above the bars represent intraprotein 
 cross - links , the arcs beneath the bars represent loop - links , and the 
 balls and sticks on the bottom represent monolinks .
the white vertical 
 lines on the bars represent sites that may react with the cross - linker 
 used in the experiment .
the colors are unique to each protein , with 
 cross - links between proteins being colored according to the protein 
 above it in the diagram .
the user may click on all of the links to 
 view underlying proteomics data and spectra .
the interface includes 
 many customization options , which are fully documented at http://yeastrc.org / proxl_docs/. the protein bars may be moved 
 horizontally , rescaled , and flipped . 

in addition , protein bars may be annotated by sequence coverage , predicted 
 disordered regions , and predicted secondary structure  with 
 the latter two options being run in real time for proteins without 
 these annotations in the database .
section 
 of the project page by clicking the  [ image ]  link associated 
 with a given search .
multiple searches can be combined by selecting 
 multiple searches and clicking the  view merged image  

quality control for cross - linking proteomics 
 experiments is complex because cross - linked and loop - linked peptides 
 are evaluated in addition to the unlinked peptides found in traditional 
 proteomics experiments .
differences in experimental design , mass spectrometry 
 performance , or search software may affect the behavior and identification 
 of cross - linked , loop - linked , or unlinked peptides differently . proxl 
 provides two quality control visualizations for assessing the relative 
 performance of these different classes of peptides ( figure s-3 ) .
one visualization assesses the performance of 
 peptide identifications as a function of retention time .
total scans 
 and the number of scans resulting in quality identifications are plotted 
 versus retention time .
the user may select the score to be used for 
 analysis and the cutoff value for the  quality score  . 

the other visualization assesses the performance of peptide identifications 
 as a function of psm quality scores ( e.g. , q - value or xcorr ) by showing 
 the cumulative total of identified psms as a function of score .
explore 
 data  section of the project page by expanding a given search 
 and clicking either the  [ retention time ]  or  [ psm 
 scores ]  links next to  qc plots .  in addition to the visual 
 display of data presented above , proxl provides the data in table 
 form , including all observed cross - links and loop - links ( udrs ) , all 
 identified peptides , and all psms . in all cases ,
rows in tables may 
 be expanded to view the supporting proteomics data and scores from 
 the search .
for example , rows in the cross - link table may be expanded 
 to view all of the identified peptides and scores from the search 
 that indicated that udr .
these peptides may themselves be expanded 
 to view all of the underlying psms and scores for each peptide , and 
 the spectrum associated with each psm may be viewed . as with the graphical 
 views ,
multiple searches may be combined and compared in table form 
 ( figure s-4 ) .
the specific search(es ) that 
 identified the respective udr , peptide , or psm are indicated , and 
 all levels of data ( protein , peptide , and psm ) are clearly differentiated 
 by search to simplify comparison .
additionally , all levels of data 
 may be downloaded as tab - delimited text for use in other types of 
 analysis , such as modeling .
these visualizations are available 
 in the proxl interface in the  explore data  section 
 of the project page by clicking either the  [ peptides ]  
 or  [ proteins ]  link associated with a given run .
a project 
 may be created by any user of proxl , and a title , an abstract , users , 
 and data can then be associated with that project .
to associate researchers 
 with the project , users may refer directly to existing users or supply 
 e - mail addresses for new users .
existing users are immediately added 
 to the project , and new users are invited by e - mail and may use a 
 link to register and access the project .
researchers may leave notes 
 or comments about the data that are visible to other researchers on 
 the project .
most critically , a project serves to limit access 
 to the data . by default ,
public access is disabled and access to the 
 data is limited to those users associated with that project .
this 
 ensures that only researchers associated with the given collaboration 
 may access the data .
data may be optionally shared with researchers 
 who do not have proxl accounts by enabling public access on the project . 

the most restrictive form of public access requires that external 
 users use a specially formatted url containing an unguessable key 
 that provides access to the project and its data .
this ensures that 
 only individuals who have been given this url may access the data . 

the least restrictive form of public access does not require the unguessable 
 key in the url , making the url much shorter and more appropriate for 
 referencing in articles .
public access may be enabled and disabled 
 by the project owner through the project overview page in the proxl 
 web interface . because each project has a unique url , public 
 project pages
may 
 be used as landing pages for sharing data associated with published 
 articles . to facilitate this ,
projects may be locked by the project 
 owner , which prohibits any further changes to that project , including 
 uploading data , changing public access levels , or altering the title 
 or abstract .
proxl has been in 
 production use with numerous collaborators , who 
 have driven its development and helped identify and resolve issues . 
 as of this writing
, the authors installation of proxl contains 
 24 cross - linking projects comprising 135 mass spectrometry runs ( searches ) . 

these searches found 8  099  216 psms from 6  800  113 
 distinct scans , identifying 1  385  093 distinct udrs 
 from cross - links and 22  862 distinct udrs from loop - links .
an example of how proxl may be used and of its impact is illustrated 
 by the study by zelter et al . , in which 
 cross - linking mass spectrometry was combined with computational structural 
 modeling to determine the molecular architecture of the s. cerevisiae dam1 kinetochore complex .
proxl s 
 visualization tools , search comparison , and data download tools were 
 critical tools for the authors to evaluate the quality of cross - linking 
 experiments .
it was used to visualize the differences of observed 
 cross - links across different experimental conditions and to export 
 data for use by external analysis tools and the integrative modeling 
 platform ( imp ) , the software platform 
 used by the authors to predict the structure of the dam1 complex from 
 the cross - linking data .
finally , proxl s data sharing tools 
 were used to publically disseminate the data ( including raw , postprocessed , 
 and cross - linking visualization ) as a companion to the published article . 

new features are regularly 
 added and are driven by the needs of collaborators and users . features 
 and
directions currently under development include new visual displays 
 ( including dynamic network topologies and circos - style views ) , support 
 for other structural formats ( including nmr or output from 3d modeling 
 platforms ) , and quantification tools .
we expect that the proxl xml 
 format will be extended to support new types of cross - linking data 
 ( e.g. , quantification data ) , and we hope to work directly with the 
 community to develop proxl xml conversion tools for more software 
 platforms .
proxl is a web application and database 
 designed to store , visualize , 
 compare , and share cross - linking mass spectrometry data .
proxl is 
 independent of any software analysis pipeline or fasta sequence naming 
 database .
it has been designed to simplify the development of import 
 tools for new pipelines and includes tools to combine and compare 
 data generated from disparate pipelines .
proxl provides visualization 
 tools particularly suited to structural analysis and quality control , 
 tools for exporting the data , and data sharing tools designed for 
 both private collaboration and public data dissemination . for demonstration 
 purposes ,
a public proxl project has been set up at http://yeastrc.org / proxl_demo/. proxl is thoroughly documented , open - source , and freely available 
 at https://github.com / yeastrc / proxl - web - app/.
 proxl 
 is a web application and accompanying database designed for 
 sharing , visualizing , and analyzing bottom - up protein cross - linking 
 mass spectrometry data with an emphasis on structural analysis and 
 quality control . 
 proxl is designed to be independent of any particular 
 software pipeline . 
 the import process is simplified by the use of 
 the proxl xml data format , which shields developers of data importers 
 from the relative complexity of the relational database schema . 
 the 
 database and web interfaces function equally well for any software 
 pipeline and allow data from disparate pipelines to be merged and 
 contrasted . 
 proxl includes robust public and private data sharing 
 capabilities , including a project - based interface designed to ensure 
 security and facilitate collaboration among multiple researchers . 
 
 proxl provides multiple interactive and highly dynamic data visualizations 
 that facilitate structural - based analysis of the observed cross - links 
 as well as quality control . 
 proxl is open - source , well - documented , 
 and freely available at https://github.com/yeastrc/proxl-web-app . 
Introduction
Design
and Implementation
Use and Impact
Future Directions
Conclusions