|
8 | 8 |
|
9 | 9 | import org.biojava.nbio.structure.Atom; |
10 | 10 | import org.biojava.nbio.structure.StructureException; |
11 | | -import org.biojava.nbio.structure.align.ce.CeCPMain; |
| 11 | +import org.biojava.nbio.structure.align.ce.CeMain; |
12 | 12 | import org.biojava.nbio.structure.align.multiple.MultipleAlignment; |
13 | 13 | import org.biojava.nbio.structure.align.multiple.mc.MultipleMcMain; |
14 | 14 | import org.biojava.nbio.structure.align.multiple.mc.MultipleMcParameters; |
|
27 | 27 | public class DemoMultipleMC { |
28 | 28 |
|
29 | 29 | public static void main(String[] args) throws IOException, StructureException, InterruptedException, ExecutionException { |
30 | | - |
| 30 | + |
31 | 31 | //Specify the structures to align |
32 | 32 | //ASP-proteinases (CEMC paper) |
33 | 33 | //List<String> names = Arrays.asList("3app", "4ape", "2apr", "5pep", "1psn", "4cms", "1bbs.A", "1smr.A", "2jxr.A", "1mpp", "2asi", "1am5"); |
34 | 34 | //Protein Kinases (CEMC paper) |
35 | 35 | //List<String> names = Arrays.asList("1cdk.A", "1cja.A", "1csn", "1b6c.B", "1ir3.A", "1fgk.A", "1byg.A", "1hck", "1blx.A", "3erk", "1bmk.A", "1kob.A", "1tki.A", "1phk", "1a06"); |
36 | 36 | //DHFR (Gerstein 1998 paper) |
37 | | - List<String> names = Arrays.asList("d1dhfa_", "8dfr", "d4dfra_", "3dfr"); |
| 37 | + //List<String> names = Arrays.asList("d1dhfa_", "8dfr", "d4dfra_", "3dfr"); |
| 38 | + //Beta-propeller (MATT paper) |
| 39 | + //List<String> names = Arrays.asList("d1nr0a1", "d1nr0a2", "d1p22a2", "d1tbga_"); |
| 40 | + //Beta-helix (MATT paper) |
| 41 | + List<String> names = Arrays.asList("d1hm9a1", "d1kk6a_", "d1krra_", "d1lxaa_", "d1ocxa_", "d1qrea_", "d1xata_", "d3tdta_"); |
38 | 42 | //TIM barrels (MUSTA paper) |
39 | 43 | //List<String> names = Arrays.asList("1tim.A", "1vzw", "1nsj", "3tha.A", "4enl", "2mnr", "7tim.A", "1tml", "1btc", "a1piia1", "6xia", "5rub.A", "2taa.B"); |
40 | 44 | //Calcium Binding (MUSTA paper) |
@@ -63,27 +67,27 @@ public static void main(String[] args) throws IOException, StructureException, I |
63 | 67 | //List<String> names = Arrays.asList("3b8e.A","2zxe.A", "3tlm.A","1iwo.A"); |
64 | 68 | //Ankyrin Repeats |
65 | 69 | //List<String> names = Arrays.asList("d1n0ra_", "3ehq.A", "1awc.B"); //ankyrin |
66 | | - |
| 70 | + |
67 | 71 | //Load the CA atoms of the structures |
68 | 72 | AtomCache cache = new AtomCache(); |
69 | 73 | List<Atom[]> atomArrays = new ArrayList<Atom[]>(); |
70 | 74 | for (String name:names) { |
71 | 75 | atomArrays.add(cache.getAtoms(name)); |
72 | 76 | } |
73 | | - |
| 77 | + |
74 | 78 | //Here the multiple structural alignment algorithm comes in place to generate the alignment object |
75 | | - MultipleMcMain algorithm = new MultipleMcMain(new CeCPMain()); |
| 79 | + MultipleMcMain algorithm = new MultipleMcMain(new CeMain()); |
76 | 80 | MultipleMcParameters params = (MultipleMcParameters) algorithm.getParameters(); |
77 | 81 | params.setMinBlockLen(15); |
78 | 82 | params.setMinAlignedStructures(10); |
79 | | - |
| 83 | + |
80 | 84 | MultipleAlignment result = algorithm.align(atomArrays); |
81 | 85 | result.getEnsemble().setStructureNames(names); |
82 | | - |
| 86 | + |
83 | 87 | //Information about the alignment |
84 | 88 | result.getEnsemble().setAlgorithmName(algorithm.getAlgorithmName()); |
85 | 89 | result.getEnsemble().setVersion(algorithm.getVersion()); |
86 | | - |
| 90 | + |
87 | 91 | //Output the sequence alignment + transformations |
88 | 92 | System.out.println(MultipleAlignmentWriter.toFatCat(result)); |
89 | 93 | //System.out.println(MultipleAlignmentWriter.toFASTA(result)); |
|
0 commit comments