Rosetta

Version 17 (Anton Vasetenkov, 27.02.2015 19:18)

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 16 Anton Vasetenkov
# Пишем программу с названием <название_программы>, автор <автор>:
95 17 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 17 Anton Vasetenkov
Изменить в файле rosetta-3.5/rosetta-source/src/pilot_apps.src.settings.all:
114 17 Anton Vasetenkov
<pre>
115 17 Anton Vasetenkov
sources = {
116 17 Anton Vasetenkov
    "pilot/<автор>" : [
117 17 Anton Vasetenkov
        "<название_программы>",
118 17 Anton Vasetenkov
        ],
119 16 Anton Vasetenkov
}
120 16 Anton Vasetenkov
</pre>