| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,14 +1,14 @@ | |||
| 1 | 1 | Protein Symmetry using BioJava | |
| 2 | 2 | ================================================================ | |
| 3 | 3 | ||
| 4 | - BioJava can be used to detect, analyze, and visualize **symmetry** and | ||
| 5 | - **pseudo-symmetry** in the **quaternary** (biological assembly) and tertiary | ||
| 4 | + BioJava can be used to detect, analyze, and visualize **symmetry** and | ||
| 5 | + **pseudo-symmetry** in the **quaternary** (biological assembly) and tertiary | ||
| 6 | 6 | (**internal**) structural levels. | |
| 7 | 7 | ||
| 8 | 8 | ## Quaternary Symmetry | |
| 9 | 9 | ||
| 10 | - The **quaternary symmetry** of a structure defines the relations between | ||
| 11 | - its individual chains or groups of chains. For a more extensive explanation | ||
| 10 | + The **quaternary symmetry** of a structure defines the relations between | ||
| 11 | + its individual chains or groups of chains. For a more extensive explanation | ||
| 12 | 12 | about symmetery visit the [PDB help page](http://www.rcsb.org/pdb/staticHelp.do?p=help/viewers/jmol_symmetry_view.html). | |
| 13 | 13 | ||
| 14 | 14 | In the **quaternary symmetry** detection problem, we are given a set of chains | |
@@ -19,7 +19,7 @@ relates them. The solution is divided into the following steps: | |||
| 19 | 19 | in the pseudo-symmetry case). For that, we perform a pairwise alignment of all | |
| 20 | 20 | chains and determine **clusters of identical chains**. | |
| 21 | 21 | 2. Next, we reduce the each chains to a single point, its **centroid** (center of mass). | |
| 22 | - 3. After that, we try different **symmetry relations** to superimpose the chain centroids | ||
| 22 | + 3. After that, we try different **symmetry relations** to superimpose the chain centroids | ||
| 23 | 23 | and obtain their RMSD. | |
| 24 | 24 | 4. At last, based on the parameters (cutoffs), we determine the **overall symmetry** of the | |
| 25 | 25 | structure, with the symmetry relations obtained in the previous step. | |
@@ -36,16 +36,20 @@ Structure s; | |||
| 36 | 36 | ||
| 37 | 37 | //Set some parameters if needed different than DEFAULT - see descriptions | |
| 38 | 38 | QuatSymmetryParameters parameters = new QuatSymmetryParameters(); | |
| 39 | - parameters.setVerbose(true); //print information | ||
| 39 | + SubunitClustererParameters clusterParams = new SubunitClustererParameters(); | ||
| 40 | 40 | ||
| 41 | 41 | //Instantiate the detector | |
| 42 | - QuatSymmetryDetector detector = QuatSymmetryDetector(structure, parameters); | ||
| 42 | + QuatSymmetryDetector detector = QuatSymmetryDetector(s, parameters, clusterParams); | ||
| 43 | 43 | ||
| 44 | - //The getters calculate the quaternary symmetry automatically | ||
| 45 | - List<QuatSymmetryResults> globalResults = detector.getGlobalSymmetry(); | ||
| 46 | - List<List<QuatSymmetryResults>> localResults = detector.getLocalSymmetries(); | ||
| 44 | + //Static methods in QuatSymmetryDetector perform the calculation | ||
| 45 | + QuatSymmetryResults globalResults = QuatSymmetryDetector.getGlobalSymmetry(s, parameters, clusterParams); | ||
| 46 | + List<QuatSymmetryResults> localResults = QuatSymmetryDetector.getLocalSymmetries(s, parameters, clusterParams); | ||
| 47 | 47 | ||
| 48 | 48 | ``` | |
| 49 | + See also the demo in the BioJava repo: | ||
| 50 | + | ||
| 51 | + https://github.com/biojava/biojava/blob/885600670be75b7f6bc5216bff52a93f43fff09e/biojava-structure/src/main/java/demo/DemoSymmetry.java#L37-L59 | ||
| 52 | + | ||
| 49 | 53 | The return type are `List` because there can be multiple valid options for the | |
| 50 | 54 | quaternary symmetry. The local results `List` is empty if there exist no local | |
| 51 | 55 | symmetry in the structure, and the global results `List` has always size bigger | |
@@ -83,35 +87,35 @@ only applies to a subset of chains. | |||
| 83 | 87 | ### Pseudo-Symmetry | |
| 84 | 88 | ||
| 85 | 89 | In **pseudo-symmetry** the chains related by the symmetry are not completely | |
| 86 | - identical, but they share a sequence similarity above the pseudo-symmetry | ||
| 90 | + identical, but they share a sequence similarity above the pseudo-symmetry | ||
| 87 | 91 | similarity threshold. | |
| 88 | 92 | ||
| 89 | - If we consider hemoglobin, at a 95% sequence identity threshold the alpha and | ||
| 90 | - beta subunits are considered different, which correspond to an A2B2 stoichiometry | ||
| 91 | - and a C2 point group. At the structural similarity level, all four chains are | ||
| 92 | - considered homologous (~45% sequence identity) with an A4 pseudostoichiometry and | ||
| 93 | - D2 pseudosymmetry. | ||
| 93 | + If we consider hemoglobin, at a 95% sequence identity threshold the alpha and | ||
| 94 | + beta subunits are considered different, which correspond to an A2B2 stoichiometry | ||
| 95 | + and a C2 point group. At the structural similarity level, all four chains are | ||
| 96 | + considered homologous (~45% sequence identity) with an A4 pseudostoichiometry and | ||
| 97 | + D2 pseudosymmetry. | ||
| 94 | 98 | ||
| 95 | 99 |  | |
| 96 | 100 | ||
| 97 | 101 | ## Internal Symmetry | |
| 98 | 102 | ||
| 99 | - **Internal symmetry** refers to the symmetry present in a single chain, that is, | ||
| 100 | - the tertiary structure. The algorithm implemented in biojava to detect internal | ||
| 103 | + **Internal symmetry** refers to the symmetry present in a single chain, that is, | ||
| 104 | + the tertiary structure. The algorithm implemented in biojava to detect internal | ||
| 101 | 105 | symmetry is called **CE-Symm**. | |
| 102 | 106 | ||
| 103 | 107 | ### CE-Symm | |
| 104 | 108 | ||
| 105 | - The **CE-Symm** algorithm was originally developed by [Myers-Turnbull D., Bliven SE., | ||
| 109 | + The **CE-Symm** algorithm was originally developed by [Myers-Turnbull D., Bliven SE., | ||
| 106 | 110 | Rose PW., Aziz ZK., Youkharibache P., Bourne PE. & Prlić A. in 2014] | |
| 107 | 111 | (http://www.sciencedirect.com/science/article/pii/S0022283614001557) [](http://www.ncbi.nlm.nih.gov/pubmed/24681267). | |
| 108 | 112 | As the name of the algorithm explicitly states, **CE-Symm** uses the Combinatorial | |
| 109 | - Extension (**CE**) algorithm to generate an alignment of the structure chain to itself, | ||
| 110 | - disabling the identity alignment (the diagonal of the **DotPlot** representation of a | ||
| 111 | - structure alignment). This allows the identification of alternative self-alignments, | ||
| 113 | + Extension (**CE**) algorithm to generate an alignment of the structure chain to itself, | ||
| 114 | + disabling the identity alignment (the diagonal of the **DotPlot** representation of a | ||
| 115 | + structure alignment). This allows the identification of alternative self-alignments, | ||
| 112 | 116 | which are related to symmetry and/or structural repeats inside the chain. | |
| 113 | 117 | ||
| 114 | - By a procedure called **refinement**, the subunits of the chain that are part of the symmetry | ||
| 118 | + By a procedure called **refinement**, the subunits of the chain that are part of the symmetry | ||
| 115 | 119 | are defined and a **multiple alignment** is created. This process can be thought as to | |
| 116 | 120 | divide the chain into other subchains, and then superimposing each subchain to each other to | |
| 117 | 121 | create a multiple alignment of the subunits, respecting the symmetry axes. | |
@@ -156,7 +160,7 @@ System.out.println(pg.getSymmetry()); | |||
| 156 | 160 | ||
| 157 | 161 | To enable some extra features in the display, a `SymmetryDisplay` | |
| 158 | 162 | class has been created, although the `MultipleAlignmentDisplay` method | |
| 159 | - can also be used for that purpose (it will not show symmetry axes or | ||
| 163 | + can also be used for that purpose (it will not show symmetry axes or | ||
| 160 | 164 | symmetry menus). | |
| 161 | 165 | ||
| 162 | 166 | Lastly, the `SymmetryGUI` class in the **structure-gui** package | |
@@ -166,7 +170,7 @@ to the GUI to trigger structure alignments. | |||
| 166 | 170 | ### Symmetry Display | |
| 167 | 171 | ||
| 168 | 172 | The symmetry display is similar to the **quaternary symmetry**, because | |
| 169 | - part of the code is shared. See for example this beta-propeller (1U6D), | ||
| 173 | + part of the code is shared. See for example this beta-propeller (1U6D), | ||
| 170 | 174 | where the repeated beta-sheets are connected by a linker forming a C6 | |
| 171 | 175 | point group internal symmetry: | |
| 172 | 176 | ||
@@ -175,10 +179,10 @@ point group internal symmetry: | |||
| 175 | 179 | #### Hierarchical Symmetry | |
| 176 | 180 | ||
| 177 | 181 | One additional feature of the **internal symmetry** display is the representation | |
| 178 | - of hierarchical symmetries and repeats. Contrary to point groups, some structures | ||
| 179 | - have different **levels** of symmetry. That is, the whole strucutre has, e.g. C2 | ||
| 180 | - symmetry and, at the same time, each of the two parts has C2 symmetry, but the axes | ||
| 181 | - of both levels are not related by a point group (i.e. they do not cross to a single | ||
| 182 | + of hierarchical symmetries and repeats. Contrary to point groups, some structures | ||
| 183 | + have different **levels** of symmetry. That is, the whole strucutre has, e.g. C2 | ||
| 184 | + symmetry and, at the same time, each of the two parts has C2 symmetry, but the axes | ||
| 185 | + of both levels are not related by a point group (i.e. they do not cross to a single | ||
| 182 | 186 | point). | |
| 183 | 187 | ||
| 184 | 188 | A very clear example are the beta-gamma-crystallins, like 4GCR: | |
@@ -187,24 +191,24 @@ A very clear example are the beta-gamma-crystallins, like 4GCR: | |||
| 187 | 191 | ||
| 188 | 192 | #### Subunit Multiple Alignment | |
| 189 | 193 | ||
| 190 | - Another feature of the display is the option to show the **multiple alignment** of | ||
| 194 | + Another feature of the display is the option to show the **multiple alignment** of | ||
| 191 | 195 | the symmetry related subunits created during the **refinement** process. Search for | |
| 192 | - the option *Subunit Superposition* in the *symmetry* menu of the Jmol window. For | ||
| 196 | + the option *Subunit Superposition* in the *symmetry* menu of the Jmol window. For | ||
| 193 | 197 | the previous example the display looks like that: | |
| 194 | 198 | ||
| 195 | 199 |  | |
| 196 | 200 | ||
| 197 | - The subunit display highlights the differences and similarities between the symmetry | ||
| 201 | + The subunit display highlights the differences and similarities between the symmetry | ||
| 198 | 202 | related subunits of the chain, and helps the user to identify conseved and divergent | |
| 199 | 203 | regions, with the help of the *Sequence Alignment Panel*. | |
| 200 | 204 | ||
| 201 | 205 | ## Combined Global Symmetry | |
| 202 | 206 | ||
| 203 | 207 | Finally, the internal and quaternary symmetries can be combined to obtain the global | |
| 204 | 208 | overall combined symmetry. As we have seen before, the protein 1VYM is a DNA-clamp that | |
| 205 | - has three chains relates by C3 symmetry. Each chain is internally C2 symmetric, and each | ||
| 206 | - part of the C2 internal symmetry is C2 symmetric, so a case of **hierarchical symmetry** | ||
| 207 | - (C2 + C2). Once we have divided the whole structure into its asymmetric parts, we can | ||
| 209 | + has three chains relates by C3 symmetry. Each chain is internally C2 symmetric, and each | ||
| 210 | + part of the C2 internal symmetry is C2 symmetric, so a case of **hierarchical symmetry** | ||
| 211 | + (C2 + C2). Once we have divided the whole structure into its asymmetric parts, we can | ||
| 208 | 212 | analyze the global symmetry that related each one of them. The interesting result is that | |
| 209 | 213 | in some cases, the internal symmetry **multiplies** the point group of the quaternary symmetry. | |
| 210 | 214 | What seemed a C3 + C2 + C2 is combined into a D6 overall symmetry, as we can see in the figure | |
| Back | FazBrowse Home | New Git URL |
0 commit comments