Rosetta
Version 25 (Anton Vasetenkov, 27.02.2015 19:53)
1 | 1 | Andrey Golovin | h1. Rosetta-Tips |
---|---|---|---|
2 | 1 | Andrey Golovin | |
3 | 2 | Andrey Golovin | {{toc}} |
4 | 2 | Andrey Golovin | |
5 | 3 | Andrey Golovin | h3. Installation |
6 | 3 | Andrey Golovin | |
7 | 9 | Anton Vasetenkov | При компиляции в Ubuntu 14.10 c OpenMpi возникает ошибка: |
8 | 3 | Andrey Golovin | <pre> |
9 | 3 | Andrey Golovin | src/protocols/wum2/EndPoint.cc:21:42: error: a function call cannot appear in a constant-expression |
10 | 3 | Andrey Golovin | src/protocols/wum2/EndPoint.cc:21:44: error: template argument 1 is invalid |
11 | 3 | Andrey Golovin | </pre> |
12 | 4 | Anton Vasetenkov | Антон Васетенков предлагает: |
13 | 15 | Anton Vasetenkov | <pre> |
14 | 5 | Anton Vasetenkov | // -*- mode:c++;tab-width:2;indent-tabs-mode:t;show-trailing-whitespace:t;rm-trailing-spaces:t -*- |
15 | 5 | Anton Vasetenkov | // vi: set ts=2 noet: |
16 | 5 | Anton Vasetenkov | // |
17 | 5 | Anton Vasetenkov | // (c) Copyright Rosetta Commons Member Institutions. |
18 | 5 | Anton Vasetenkov | // (c) This file is part of the Rosetta software suite and is made available under license. |
19 | 5 | Anton Vasetenkov | // (c) The Rosetta software is developed by the contributing members of the Rosetta Commons. |
20 | 5 | Anton Vasetenkov | // (c) For more information, see http://www.rosettacommons.org. Questions about this can be |
21 | 5 | Anton Vasetenkov | // (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu. |
22 | 5 | Anton Vasetenkov | |
23 | 5 | Anton Vasetenkov | /// @file protocols/wum2/EndPoint.cc |
24 | 5 | Anton Vasetenkov | /// @brief Non MPI version of EndPoint |
25 | 5 | Anton Vasetenkov | /// @details This class is required because SingleNode role needs to use an EndPoint that is not MPI dependent (ie just a wrapper for 2 queues) |
26 | 5 | Anton Vasetenkov | /// @author Ken Jung |
27 | 5 | Anton Vasetenkov | |
28 | 5 | Anton Vasetenkov | //anton added this |
29 | 5 | Anton Vasetenkov | #include <boost/cstdint.hpp> |
30 | 5 | Anton Vasetenkov | |
31 | 5 | Anton Vasetenkov | #include <protocols/wum2/EndPoint.hh> |
32 | 5 | Anton Vasetenkov | #include <protocols/wum2/WorkUnit.hh> |
33 | 5 | Anton Vasetenkov | |
34 | 5 | Anton Vasetenkov | namespace protocols { |
35 | 5 | Anton Vasetenkov | namespace wum2 { |
36 | 5 | Anton Vasetenkov | |
37 | 3 | Andrey Golovin | //anton commented this |
38 | 3 | Andrey Golovin | //EndPoint::EndPoint( boost::function < uint64_t () > role_available_mem ) : role_available_mem_( role_available_mem) {} |
39 | 3 | Andrey Golovin | |
40 | 3 | Andrey Golovin | //anton added this |
41 | 1 | Andrey Golovin | EndPoint::EndPoint( boost::function < boost::uint64_t () > role_available_mem ) : role_available_mem_( role_available_mem) {} |
42 | 5 | Anton Vasetenkov | |
43 | 5 | Anton Vasetenkov | } // wum2 |
44 | 5 | Anton Vasetenkov | } // protocols |
45 | 5 | Anton Vasetenkov | |
46 | 15 | Anton Vasetenkov | </pre> |
47 | 3 | Andrey Golovin | |
48 | 1 | Andrey Golovin | |
49 | 6 | Andrey Golovin | |
50 | 6 | Andrey Golovin | h3. Fragments |
51 | 6 | Andrey Golovin | |
52 | 1 | Andrey Golovin | Генерация |
53 | 1 | Andrey Golovin | |
54 | 1 | Andrey Golovin | <pre> |
55 | 1 | Andrey Golovin | /home/domain/anur/progs/rosseta/main/source/bin/fragment_picker.default.linuxgccrelease -in:file:fasta 1.fasta -in:file:vall /home/domain/anur/progs/rosseta/tools/fragment_tools/vall.apr24.2008.extended.gz -out::file::frag_prefix pep-1 -frags::frag_sizes 9 5 3 |
56 | 1 | Andrey Golovin | </pre> |
57 | 1 | Andrey Golovin | |
58 | 1 | Andrey Golovin | Если последовательность вашего белка идёт не первой цепью, то надо сдвинуть остатки в файле фрагментов: |
59 | 1 | Andrey Golovin | <pre> |
60 | 1 | Andrey Golovin | cp ~/progs/rosseta/demos/protocol_capture/2010/FlexPepDock_AbInitio/scripts/frags/shift.sh . |
61 | 1 | Andrey Golovin | ./shift.sh pep-1.200.3mers 276 > pep-1.200.shift.3mers |
62 | 1 | Andrey Golovin | </pre> |
63 | 6 | Andrey Golovin | |
64 | 6 | Andrey Golovin | h3. Запуск MPI версии на Lomonosv |
65 | 7 | Andrey Golovin | |
66 | 7 | Andrey Golovin | Тут используется 48 ядер и module openmpi |
67 | 7 | Andrey Golovin | <pre> |
68 | 7 | Andrey Golovin | sbatch -n 48 -o log.abinitio.n48 -t 3000 ompi /home/users/golovin/progs/rosetta_2013wk40_bundle/main/source/bin/FlexPepDocking.mpi.linuxgccrelease @flags.abinitiore |
69 | 7 | Andrey Golovin | </pre> |
70 | 8 | Anton Vasetenkov | |
71 | 8 | Anton Vasetenkov | h3. Опции запуска |
72 | 8 | Anton Vasetenkov | |
73 | 8 | Anton Vasetenkov | https://www.rosettacommons.org/docs/latest/full-options-list.html |
74 | 16 | Anton Vasetenkov | |
75 | 16 | Anton Vasetenkov | |
76 | 16 | Anton Vasetenkov | |
77 | 16 | Anton Vasetenkov | |
78 | 16 | Anton Vasetenkov | h3. Создание программы на C++ с использованием функций Rosetta |
79 | 16 | Anton Vasetenkov | |
80 | 16 | Anton Vasetenkov | # Скачать rosetta-3.5. |
81 | 16 | Anton Vasetenkov | # Попробовать скомпилировать: |
82 | 16 | Anton Vasetenkov | Из папки rosetta-3.5/rosetta_source: |
83 | 16 | Anton Vasetenkov | <pre> |
84 | 16 | Anton Vasetenkov | ./scons.py -j8 bin |
85 | 16 | Anton Vasetenkov | </pre> |
86 | 16 | Anton Vasetenkov | Вариант release: |
87 | 16 | Anton Vasetenkov | <pre> |
88 | 16 | Anton Vasetenkov | ./scons.py -j8 bin mode=release |
89 | 16 | Anton Vasetenkov | </pre> |
90 | 16 | Anton Vasetenkov | Вариант с MPI: |
91 | 16 | Anton Vasetenkov | <pre> |
92 | 16 | Anton Vasetenkov | ./scons.py -j8 bin extras=mpi |
93 | 16 | Anton Vasetenkov | </pre> |
94 | 23 | Anton Vasetenkov | # Пишем программу с названием <название программы>, автор <автор>: |
95 | 23 | Anton Vasetenkov | Создать файл rosetta-3.5/rosetta_source/src/apps/pilot/<автор>/<название программы>.cc: |
96 | 16 | Anton Vasetenkov | <pre> |
97 | 16 | Anton Vasetenkov | // -*- mode:c++;tab-width:2;indent-tabs-mode:t;show-trailing-whitespace:t;rm-trailing-spaces:t -*- |
98 | 16 | Anton Vasetenkov | // vi: set ts=2 noet: |
99 | 16 | Anton Vasetenkov | // |
100 | 16 | Anton Vasetenkov | |
101 | 16 | Anton Vasetenkov | #include <iostream> |
102 | 16 | Anton Vasetenkov | #include <devel/init.hh> |
103 | 16 | Anton Vasetenkov | #include <basic/Tracer.hh> |
104 | 16 | Anton Vasetenkov | |
105 | 16 | Anton Vasetenkov | |
106 | 16 | Anton Vasetenkov | |
107 | 16 | Anton Vasetenkov | int main(int argc, char *argv []) { |
108 | 16 | Anton Vasetenkov | devel::init( argc, argv ); |
109 | 16 | Anton Vasetenkov | std::cout << "Hello World!" << std::endl; |
110 | 1 | Andrey Golovin | return 0; |
111 | 17 | Anton Vasetenkov | } |
112 | 17 | Anton Vasetenkov | </pre> |
113 | 18 | Anton Vasetenkov | В файле rosetta-3.5/rosetta-source/src/pilot_apps.src.settings.all вместо |
114 | 18 | Anton Vasetenkov | <pre> |
115 | 18 | Anton Vasetenkov | sources = { |
116 | 18 | Anton Vasetenkov | } |
117 | 18 | Anton Vasetenkov | </pre> |
118 | 18 | Anton Vasetenkov | вписать: |
119 | 17 | Anton Vasetenkov | <pre> |
120 | 17 | Anton Vasetenkov | sources = { |
121 | 17 | Anton Vasetenkov | "pilot/<автор>" : [ |
122 | 23 | Anton Vasetenkov | "<название программы>", |
123 | 17 | Anton Vasetenkov | ], |
124 | 16 | Anton Vasetenkov | } |
125 | 16 | Anton Vasetenkov | </pre> |
126 | 19 | Anton Vasetenkov | # Компилируем |
127 | 19 | Anton Vasetenkov | Из папки rosetta-3.5/rosetta_source |
128 | 19 | Anton Vasetenkov | <pre> |
129 | 23 | Anton Vasetenkov | ./scons.py <название программы> -j8 |
130 | 19 | Anton Vasetenkov | </pre> |
131 | 21 | Anton Vasetenkov | |
132 | 21 | Anton Vasetenkov | |
133 | 21 | Anton Vasetenkov | |
134 | 21 | Anton Vasetenkov | |
135 | 21 | Anton Vasetenkov | |
136 | 21 | Anton Vasetenkov | h3. Некоторые муверы |
137 | 21 | Anton Vasetenkov | |
138 | 21 | Anton Vasetenkov | |
139 | 22 | Anton Vasetenkov | h4. MonteCarlo |
140 | 22 | Anton Vasetenkov | |
141 | 1 | Andrey Golovin | Конструируем: |
142 | 1 | Andrey Golovin | <pre> |
143 | 1 | Andrey Golovin | protocols::moves::MonteCarloOP mc = new protocols::moves::MonteCarlo(<поза>, <скоринг-функция>, 1.0); |
144 | 1 | Andrey Golovin | </pre> |
145 | 22 | Anton Vasetenkov | |
146 | 23 | Anton Vasetenkov | |
147 | 25 | Anton Vasetenkov | При конструировании в новом Монте-Карло-объекте сохраняются в качестве "текущей" и в качестве "позы с наименьшим скором" КОПИИ <позы>. |
148 | 23 | Anton Vasetenkov | |
149 | 23 | Anton Vasetenkov | Теперь при вызове |
150 | 23 | Anton Vasetenkov | <pre> |
151 | 23 | Anton Vasetenkov | mc->boltzmann(<поза>); |
152 | 1 | Andrey Golovin | </pre> |
153 | 24 | Anton Vasetenkov | если <поза> принимается, в "текущую" позу в объекте записывается КОПИЯ <позы> (и если нужно обновляется "поза с наименьшим скором"), если не принимается --- ничего не происходит. |
154 | 24 | Anton Vasetenkov | |
155 | 24 | Anton Vasetenkov | Чтобы записать в <позу> "позу с наименьшим скором": |
156 | 24 | Anton Vasetenkov | <pre> |
157 | 24 | Anton Vasetenkov | mc->recover_low(<поза>); |
158 | 24 | Anton Vasetenkov | </pre> |
159 | 24 | Anton Vasetenkov | |
160 | 24 | Anton Vasetenkov | Итог: |
161 | 24 | Anton Vasetenkov | <pre> |
162 | 24 | Anton Vasetenkov | protocols::moves::MonteCarloOP mc = new protocols::moves::MonteCarlo(pose, sfxn, 1.0); |
163 | 24 | Anton Vasetenkov | for (...) { |
164 | 24 | Anton Vasetenkov | Применяем муверы к pose; |
165 | 24 | Anton Vasetenkov | mc->boltzmann(pose); |
166 | 24 | Anton Vasetenkov | } |
167 | 24 | Anton Vasetenkov | mc->recover_low(pose); |
168 | 24 | Anton Vasetenkov | </pre> |