Statistiques
| Branche: | Révision :

root / doc / index.rst @ 38e8e479

Historique | Voir | Annoter | Télécharger (13,02 ko)

1 68670b96 Florent Chuffart
*****************************************
2 68670b96 Florent Chuffart
Readme / Documentation for `MyLabStocks`
3 68670b96 Florent Chuffart
*****************************************
4 68670b96 Florent Chuffart
5 68670b96 Florent Chuffart
6 68670b96 Florent Chuffart
`MyLabStocks` is a web application allowing to easily store, share and retrieve 
7 68670b96 Florent Chuffart
information about molecular biology materials stored in a laboratory. 
8 68670b96 Florent Chuffart
9 68670b96 Florent Chuffart
License
10 68670b96 Florent Chuffart
=======
11 68670b96 Florent Chuffart
12 68670b96 Florent Chuffart
Copyright CNRS 2012-2013                                                 
13 68670b96 Florent Chuffart
                                                                          
14 68670b96 Florent Chuffart
- Florent CHUFFART                                                         
15 68670b96 Florent Chuffart
- Gael YVERT                                                               
16 68670b96 Florent Chuffart
                                                                          
17 68670b96 Florent Chuffart
The Software is provided “as is” without warranty of any kind, either express or implied, including without limitation any implied warranties of condition, uninterrupted use, merchantability, fitness for a particular purpose, or non-infringement. You use this software at your own risk.
18 68670b96 Florent Chuffart
19 68670b96 Florent Chuffart
This software is governed by the CeCILL license under French law and abiding by the rules of distribution of free software.  You can  use, modify and/ or redistribute the software under the terms of the CeCILL license as circulated by CEA, CNRS and INRIA at the following URL "http://www.cecill.info".                                                
20 68670b96 Florent Chuffart
                                                                          
21 68670b96 Florent Chuffart
As a counterpart to the access to the source code and  rights to copy, modify and redistribute granted by the license, users are provided only  with a limited warranty  and the software's author,  the holder of the economic rights,  and the successive licensors  have only  limited liability.                                                               
22 68670b96 Florent Chuffart
                                                                          
23 68670b96 Florent Chuffart
In this respect, the user's attention is drawn to the risks associated with loading,  using,  modifying and/or developing or reproducing the software by the user in light of its specific status of free software, that may mean  that it is complicated to manipulate,  and  that  also therefore means  that it is reserved for developers  and  experienced professionals having in-depth computer knowledge. Users are therefore encouraged to load and test the software's suitability as regards their requirements in conditions enabling the security of their systems and/or data to be ensured and,  more generally, to use and operate it in the same conditions as regards security.                                     
24 68670b96 Florent Chuffart
                                                                          
25 68670b96 Florent Chuffart
The fact that you are presently reading this means that you have had knowledge of the CeCILL license and that you accept its terms.           
26 68670b96 Florent Chuffart
27 68670b96 Florent Chuffart
Installation Instructions
28 68670b96 Florent Chuffart
=========================
29 68670b96 Florent Chuffart
30 68670b96 Florent Chuffart
This installation has been fully tested on:
31 68670b96 Florent Chuffart
  -  Debian 7.2.0 amd64 netinst [1], running on virtual machine using Oracle VM VirtualBox [2] for macosx (dev)
32 68670b96 Florent Chuffart
  -  Ubuntu Server 12.04.3 LTSUbuntu server LTS [3], running on physical machine (prod)
33 68670b96 Florent Chuffart
  
34 68670b96 Florent Chuffart
[1] http://cdimage.debian.org/debian-cd/7.2.0/amd64/iso-cd/debian-7.2.0-amd64-netinst.iso
35 68670b96 Florent Chuffart
36 68670b96 Florent Chuffart
[2] https://www.virtualbox.org
37 68670b96 Florent Chuffart
38 68670b96 Florent Chuffart
[3] http://www.ubuntu.com/download/server
39 68670b96 Florent Chuffart
40 68670b96 Florent Chuffart
Prerequisites
41 68670b96 Florent Chuffart
-------------
42 68670b96 Florent Chuffart
43 8f867a4e Florent Chuffart
Prior to installing MyLabStocks, a number of packages must be installed on your system. Git is used to retrieve MyLabStocks sources. MySQL, Apache and phpMyAdmin ensure web and database services, it needs php5 and php5-curl packages. Tomcat6 will support advanced plasmid visualisation services (PlasMapper), it needs openjdk-6-jdk and ant. Finally, Blast is used to analyse sequences, it needs csh.
44 949b8a56 Florent Chuffart
45 8f867a4e Florent Chuffart
On the targeted server, you can install these packages by typing the following command in a terminal.
46 949b8a56 Florent Chuffart
47 68670b96 Florent Chuffart
.. code:: bash
48 68670b96 Florent Chuffart
49 8f867a4e Florent Chuffart
  sudo apt-get install git apache2 mysql-server php5 php5-curl phpmyadmin tomcat6 ant openjdk-6-jdk blast2 csh  
50 68670b96 Florent Chuffart
..
51 68670b96 Florent Chuffart
52 68670b96 Florent Chuffart
53 68670b96 Florent Chuffart
Get MyLabStocks Sources
54 68670b96 Florent Chuffart
------------------------
55 68670b96 Florent Chuffart
56 8f867a4e Florent Chuffart
The first installation step is to retrieve the source code of MyLabStocks. You can do this by typing the following command in a terminal.
57 949b8a56 Florent Chuffart
58 68670b96 Florent Chuffart
.. code:: bash
59 68670b96 Florent Chuffart
60 68670b96 Florent Chuffart
  git clone http://forge.cbp.ens-lyon.fr/git/mylabstocks
61 68670b96 Florent Chuffart
..
62 68670b96 Florent Chuffart
63 68670b96 Florent Chuffart
64 949b8a56 Florent Chuffart
Install wwwblast
65 68670b96 Florent Chuffart
----------------
66 68670b96 Florent Chuffart
67 8f867a4e Florent Chuffart
MyLabStocks uses Blast queries for several of its features, wwwblast is a web interface which provides access to this feature in a user-friendly way.
68 949b8a56 Florent Chuffart
69 68670b96 Florent Chuffart
MyLabStocks is distributed with wwwblast working on a x64 architecture.
70 8f867a4e Florent Chuffart
For other architectures, please refer to the NCBI repositories
71 68670b96 Florent Chuffart
http://mirrors.vbi.vt.edu/mirrors/ftp.ncbi.nih.gov/blast/executables/release/LATEST
72 68670b96 Florent Chuffart
73 8f867a4e Florent Chuffart
On the targeted server type the following commands in a terminal.
74 68670b96 Florent Chuffart
75 68670b96 Florent Chuffart
.. code:: bash
76 68670b96 Florent Chuffart
77 68670b96 Florent Chuffart
  cd mylabstocks/opts/
78 68670b96 Florent Chuffart
  tar xfvz wwwblast-2.2.26-x64-linux.tar.gz
79 68670b96 Florent Chuffart
  sudo cp -r blast /var/www/.
80 68670b96 Florent Chuffart
  sudo chown www-data:www-data /var/www/blast/TmpGifs /var/www/blast/*.log /var/www/blast/db/
81 68670b96 Florent Chuffart
  echo "<Directory /var/www/blast/>" > /tmp/blast.conf 
82 68670b96 Florent Chuffart
  echo "   Options +ExecCGI" >> /tmp/blast.conf 
83 68670b96 Florent Chuffart
  echo "</Directory>" >> /tmp/blast.conf 
84 68670b96 Florent Chuffart
  echo "AddHandler cgi-script .cgi" >> /tmp/blast.conf 
85 68670b96 Florent Chuffart
  sudo cp /tmp/blast.conf /etc/apache2/conf.d/blast.conf 
86 68670b96 Florent Chuffart
  rm /tmp/blast.conf
87 68670b96 Florent Chuffart
  sudo /etc/init.d/apache2 restart
88 68670b96 Florent Chuffart
  sudo sed -i 's/<option VALUE.*test_na_db/<option VALUE=oligostock_db>oligostock_db<option VALUE=plasmidstock_db>plasmidstock_db<option VALUE=plfeatstock_db>plfeatstock_db/g' /var/www/blast/blast.html
89 68670b96 Florent Chuffart
  sudo sed -i 's/<option VALUE.*test_aa_db//g' /var/www/blast/blast.html
90 68670b96 Florent Chuffart
  cat /var/www/blast/blast.rc > /tmp/blast.rc
91 68670b96 Florent Chuffart
  echo "blastn oligostock_db" >> /tmp/blast.rc
92 68670b96 Florent Chuffart
  echo "tblastn oligostock_db" >> /tmp/blast.rc
93 68670b96 Florent Chuffart
  echo "tblastx oligostock_db" >> /tmp/blast.rc
94 68670b96 Florent Chuffart
  echo "blastn plasmidstock_db" >> /tmp/blast.rc
95 68670b96 Florent Chuffart
  echo "tblastn plasmidstock_db" >> /tmp/blast.rc
96 68670b96 Florent Chuffart
  echo "tblastx plasmidstock_db" >> /tmp/blast.rc
97 68670b96 Florent Chuffart
  echo "blastn plfeatstock_db" >> /tmp/blast.rc
98 68670b96 Florent Chuffart
  echo "tblastn plfeatstock_db" >> /tmp/blast.rc
99 68670b96 Florent Chuffart
  echo "tblastx plfeatstock_db" >> /tmp/blast.rc
100 68670b96 Florent Chuffart
  sudo cp /tmp/blast.rc /var/www/blast/blast.rc
101 68670b96 Florent Chuffart
  rm /tmp/blast.rc
102 68670b96 Florent Chuffart
  cd ../..
103 68670b96 Florent Chuffart
..
104 68670b96 Florent Chuffart
105 f78441a4 Florent Chuffart
106 949b8a56 Florent Chuffart
Now you have a wwwblast instance available here: http://your_server/blast.
107 f78441a4 Florent Chuffart
108 f78441a4 Florent Chuffart
109 68670b96 Florent Chuffart
Install PlasMapper
110 68670b96 Florent Chuffart
------------------
111 68670b96 Florent Chuffart
112 949b8a56 Florent Chuffart
PlasMapper provides advanced plasmid visualisation features. We use it to produced annoted plasmid maps. To install it, type the following command under a targeted server terminal.
113 949b8a56 Florent Chuffart
114 68670b96 Florent Chuffart
.. code:: bash
115 68670b96 Florent Chuffart
116 68670b96 Florent Chuffart
  cd mylabstocks/opts/
117 68670b96 Florent Chuffart
  tar xfvz PlasMapper_download.tar.gz
118 68670b96 Florent Chuffart
  cd PlasMapper
119 68670b96 Florent Chuffart
  # modify installdir as /var/lib/tomcat6
120 68670b96 Florent Chuffart
  sed -i 's/\/home\/tomcat/\/var\/lib\/tomcat6/g' build.xml 
121 68670b96 Florent Chuffart
  # modify servletjar as /usr/share/tomcat6/lib/servlet-api.jar
122 68670b96 Florent Chuffart
  sed -i 's/${installdir}\/common\/lib\/servlet-api.jar/\/usr\/share\/tomcat6\/lib\/servlet-api.jar/g' build.xml 
123 68670b96 Florent Chuffart
  # change /home/tomcat for /var/lib/tomcat6
124 68670b96 Florent Chuffart
  sed -i 's/\/home\/tomcat/\/var\/lib\/tomcat6/g' src/ca/ualberta/xdong/plasMapper/annotate/plasMapConfiguration_en_CA.properties
125 68670b96 Florent Chuffart
  # and set blastallDir=/usr/bin/
126 68670b96 Florent Chuffart
  sed -i 's/\/usr\/local\/bin\//\/usr\/bin\//g' src/ca/ualberta/xdong/plasMapper/annotate/plasMapConfiguration_en_CA.properties
127 8f867a4e Florent Chuffart
  # After these steps, PlasMapper is ready to be configured
128 68670b96 Florent Chuffart
  ant clean
129 68670b96 Florent Chuffart
  ant build 
130 68670b96 Florent Chuffart
  sudo ant install 
131 68670b96 Florent Chuffart
  sudo rm -Rf /var/lib/tomcat6/webapps/PlasMapper/tmp
132 68670b96 Florent Chuffart
  sudo ln -s /tmp/tomcat6-tomcat6-tmp/ /var/lib/tomcat6/webapps/PlasMapper/tmp
133 68670b96 Florent Chuffart
  echo '<?xml version="1.0" encoding="UTF-8"?><Context path="/myapp" allowLinking="true"></Context>' > context.xml
134 68670b96 Florent Chuffart
  sudo mv context.xml /var/lib/tomcat6/webapps/PlasMapper/META-INF/
135 68670b96 Florent Chuffart
  sudo /etc/init.d/tomcat6 restart
136 8f867a4e Florent Chuffart
  # After these steps, PlasMapper works on your server at the url http://myserver:8080/PlasMapper
137 68670b96 Florent Chuffart
  sudo chown root:www-data /var/lib/tomcat6/webapps/PlasMapper/dataBase/db_vectorFeature/*.*
138 68670b96 Florent Chuffart
  sudo chmod 664 /var/lib/tomcat6/webapps/PlasMapper/dataBase/db_vectorFeature/*.*
139 68670b96 Florent Chuffart
  sudo chown root:www-data /var/lib/tomcat6/webapps/PlasMapper/dataBase/db_vectorFeature/
140 68670b96 Florent Chuffart
  sudo chmod 775 /var/lib/tomcat6/webapps/PlasMapper/dataBase/db_vectorFeature/
141 68670b96 Florent Chuffart
  sudo chown root:www-data /var/lib/tomcat6/webapps/PlasMapper/html/feature.html
142 68670b96 Florent Chuffart
  sudo chmod 664 /var/lib/tomcat6/webapps/PlasMapper/html/feature.html
143 8f867a4e Florent Chuffart
  #  Now, plasmid features are ready to be searched by MyLabStocks via Blast queries.
144 68670b96 Florent Chuffart
  cd ../../..
145 68670b96 Florent Chuffart
..
146 68670b96 Florent Chuffart
147 f78441a4 Florent Chuffart
Now you have a PlasMapper instance available here: http://your_server:8080/PlasMapper.
148 f78441a4 Florent Chuffart
149 68670b96 Florent Chuffart
150 68670b96 Florent Chuffart
Install MyLabStocks
151 68670b96 Florent Chuffart
-------------------
152 68670b96 Florent Chuffart
153 8f867a4e Florent Chuffart
Now your are ready to install the core of MyLabStocks. It consists of a set of php scripts that you have to deploy on your apache server. To do that, type the following commands in a targeted server terminal.
154 949b8a56 Florent Chuffart
155 68670b96 Florent Chuffart
.. code:: bash
156 68670b96 Florent Chuffart
157 47b3bfd6 Florent Chuffart
  sudo rsync -cauvz mylabstocks/src/ /var/www/labstocks/
158 f78441a4 Florent Chuffart
  sudo rm /var/www/labstocks/install_db.phpsh
159 68670b96 Florent Chuffart
  sudo touch /var/www/labstocks/formatdb.log
160 68670b96 Florent Chuffart
  sudo chmod 440 /var/www/labstocks/connect_entry.php 
161 68670b96 Florent Chuffart
  sudo mkdir /var/www/labstocks/plasmid_files 
162 68670b96 Florent Chuffart
  sudo mkdir /var/www/labstocks/raw_dirs
163 68670b96 Florent Chuffart
  sudo mkdir /var/www/labstocks/collections
164 68670b96 Florent Chuffart
  sudo chown -R www-data:www-data /var/www/labstocks/connect_entry.php /var/www/labstocks/formatdb.log  /var/www/labstocks/plasmid_files /var/www/labstocks/raw_dirs
165 68670b96 Florent Chuffart
..
166 68670b96 Florent Chuffart
167 f78441a4 Florent Chuffart
Configure MyLabStocks
168 f78441a4 Florent Chuffart
---------------------
169 68670b96 Florent Chuffart
170 949b8a56 Florent Chuffart
For obvious security reasons, it is essential that you now update connexion parameters by editing the script: /var/www/labstocks/connect_entry.php
171 949b8a56 Florent Chuffart
172 949b8a56 Florent Chuffart
In this script you have to update the following constants: 
173 949b8a56 Florent Chuffart
174 949b8a56 Florent Chuffart
  - SERVEUR
175 949b8a56 Florent Chuffart
  - NOM
176 949b8a56 Florent Chuffart
  - BASE
177 949b8a56 Florent Chuffart
  - PASSE
178 949b8a56 Florent Chuffart
  - LABNAME
179 949b8a56 Florent Chuffart
  
180 68670b96 Florent Chuffart
181 68670b96 Florent Chuffart
.. code:: bash
182 68670b96 Florent Chuffart
183 68670b96 Florent Chuffart
  sudo vi /var/www/labstocks/connect_entry.php 
184 68670b96 Florent Chuffart
..
185 68670b96 Florent Chuffart
186 8f867a4e Florent Chuffart
We have prepared the following script to help you define passwords and instantiate the database. This script will ask you to choose a password for basic and administrative access. To use this script, simply type the following command line:
187 68670b96 Florent Chuffart
188 68670b96 Florent Chuffart
.. code:: bash
189 68670b96 Florent Chuffart
190 4fcefb60 Florent Chuffart
  sudo php mylabstocks/src/install_db.phpsh 
191 68670b96 Florent Chuffart
..
192 68670b96 Florent Chuffart
193 949b8a56 Florent Chuffart
Congratulations! Your MyLabStocks instance is now available here: http://your_server/labstocks.
194 68670b96 Florent Chuffart
195 949b8a56 Florent Chuffart
Go to http://your_server/labstocks/wwwblast.php to initialize blast databases.
196 68670b96 Florent Chuffart
197 68670b96 Florent Chuffart
Links
198 68670b96 Florent Chuffart
-----
199 68670b96 Florent Chuffart
200 68670b96 Florent Chuffart
`MyLabStocks` home, repository and documentation: http://forge.cbp.ens-lyon.fr/redmine/projects/mylabstocks
201 68670b96 Florent Chuffart
202 68670b96 Florent Chuffart
Gael Yvert lab: http://www.ens-lyon.fr/LBMC/gisv/
203 68670b96 Florent Chuffart
204 68670b96 Florent Chuffart
205 68670b96 Florent Chuffart
206 68670b96 Florent Chuffart
207 68670b96 Florent Chuffart
208 68670b96 Florent Chuffart
Usage
209 68670b96 Florent Chuffart
=====
210 68670b96 Florent Chuffart
211 68670b96 Florent Chuffart
Advanced Search
212 68670b96 Florent Chuffart
---------------
213 68670b96 Florent Chuffart
214 68670b96 Florent Chuffart
In the strain section, the form `Search in genotype` filters strains where the 
215 4fcefb60 Florent Chuffart
fields `locus1`, `locus2`, `locus3`, `locus4`, `locus5`, `ADE2`, `HIS3`, `LE  U2`, 
216 68670b96 Florent Chuffart
`LYS2`, `MET15`, `TRP1`, `URA3`, `HO_`, `Cytoplasmic_Character` or 
217 68670b96 Florent Chuffart
`extrachromosomal_plasmid` contain the given expression. This filter is case 
218 68670b96 Florent Chuffart
insensitive.
219 68670b96 Florent Chuffart
220 68670b96 Florent Chuffart
Plasmids Sequences Management
221 68670b96 Florent Chuffart
-----------------------------
222 68670b96 Florent Chuffart
223 68670b96 Florent Chuffart
Even in edit mode, users are not granted permission to directly edit a plasmid 
224 68670b96 Florent Chuffart
sequence, nor the URL to the plasmid sequence file. If a new sequence must be 
225 68670b96 Florent Chuffart
entered instead of the current one, users must upload a new sequence file, in 
226 68670b96 Florent Chuffart
.gb or .gb.gz format. MyLabStocks then automatically reads the file and update 
227 68670b96 Florent Chuffart
the sequence field and the URL. This ensures consistency between URL, sequence 
228 68670b96 Florent Chuffart
and the file itself.
229 68670b96 Florent Chuffart
230 68670b96 Florent Chuffart
231 38e8e479 Florent Chuffart
Reporting Bugs
232 38e8e479 Florent Chuffart
--------------
233 38e8e479 Florent Chuffart
234 38e8e479 Florent Chuffart
If you think you have found a bug and would like to report the problem, then please ensure you have applied all applicable updates. If this is the case, send a description of your problem and some screenshot to florent.chuffart on its ens-lyon.fr email. Thank you for your contribution.
235 38e8e479 Florent Chuffart
236 38e8e479 Florent Chuffart
237 38e8e479 Florent Chuffart
238 47b3bfd6 Florent Chuffart
Backing up the Mysql Database and Stored Files
239 47b3bfd6 Florent Chuffart
----------------------------------------------
240 47b3bfd6 Florent Chuffart
241 38e8e479 Florent Chuffart
We HIGHLY RECOMMEND THAT YOU REGULARLY BACKUP you MyLabStocks database. We provide two levels of backup. The first only dump the mySQL database and the second also add the uploaded files (plasmid_files raw_dirs directories in your /var/www/labstocks directory). These two features are available on the *home* page. The two links in the sentence *Backup the entire system or only the database NOW!* allow any user to download the requested backups. It could be useful for an administrator to integrate it in a robust file backup system using for example a cron that regularly pull the archives (*wget http://.../labstocks/backup.php?FULL_BACK=1*). 
242 47b3bfd6 Florent Chuffart
243 38e8e479 Florent Chuffart
How To Restore System From Backup
244 38e8e479 Florent Chuffart
---------------------------------
245 47b3bfd6 Florent Chuffart
246 38e8e479 Florent Chuffart
On the targeted server, you can restore database from the last backup (file ''labstocks_db.sql'') by typing the following command in a terminal. It drops existing tables, creates new one and restore data. You have to adapt user password and database name according to your setting.
247 47b3bfd6 Florent Chuffart
248 38e8e479 Florent Chuffart
.. code:: bash
249 47b3bfd6 Florent Chuffart
250 38e8e479 Florent Chuffart
  sudo mysql --user=root --password=root labstocks_db < labstocks_db.sql 
251 38e8e479 Florent Chuffart
..
252 38e8e479 Florent Chuffart
253 38e8e479 Florent Chuffart
254 38e8e479 Florent Chuffart
To restore uploaded file, you have to copy backuped directories (''plasmid_files'' and ''raw_dirs'') to your labstocks directory. To do that, on the targeted server type the following commands in a terminal.
255 38e8e479 Florent Chuffart
256 38e8e479 Florent Chuffart
.. code:: bash
257 38e8e479 Florent Chuffart
258 38e8e479 Florent Chuffart
  sudo cp -r plasmid_files raw_dirs /var/www/labstocks/. 
259 38e8e479 Florent Chuffart
..
260 68670b96 Florent Chuffart
261 68670b96 Florent Chuffart
262 38e8e479 Florent Chuffart
Extend Database
263 38e8e479 Florent Chuffart
---------------
264 68670b96 Florent Chuffart
265 38e8e479 Florent Chuffart
MyLabstock is delivrer under a free licence. Feel free to modify and extend it as to adapt it to your your own lab. To do that you could easily create new table using phpMyAdmin (http://your_server/phpmyadmin) http://http://your_server/yourserver)ou mysql command line tool (documentation here http://dev.mysql.com/doc/refman/5.6/en/mysql.html). MyLabStocks uses the  framework phpMyEdit to manaeg the user interface. Use the provided tool http://your_server/phpMyEditSetup.php to generate code. For any question please refer to the embeded documention (http://your_server/labstocks/doc/html/).