Once you have downloaded the scripts for PHP 4 (here), or for PHP5 (here). you can follow this instructions to make EST-PAC working on your machine.
Step 1:
Installation of Mysql, PHP and Apache:
One of the easiest way of installing these three application is to use a so called LAMP (Linux, Apache, MySQL and PHP) package.
But in our case it will be XAMPP from the Apache friends organisation.
Download the correct package at this address. The version 1.5.3a contains PHP5, MySQL5 and a
bunch of others programs.
Once the archive is downloaded follow this instructions.
This archive is self extracting, I would recommend to extract it directly in the C:\ directory.
Double click on setup_xampp.bat where you expand xampp
Double click on xampp-control.exe to get the xampp control panel
If you wish to use PHP4 double click on the php-switch.bat in the xampp directory.
Start Apache and Mysql with the controller.
Test your xampp by going to this URL: http://127.0.0.1/xampp/
As recommended by the Apache Friends test all tools in the tools section and more importantly check the security by clicking "Security" link in the XAMPP menu.
Apache and MySQL should now be running on your computer!
Installation of Cygwin:
Cygwin allows to run Unix applications on a windows machine and allows to run the HMMER package and hopefully soon ESTScan on windows.
One can download and install Cygwin from here
Download the setup application and then follow the instructions
In order to completely secure your MySQL installation one should run the shell script "mysql_secure_installation" from MySQL:
You should use this version as the original script did not update the root password with the
OLD_PASSWORD function.
To do so, we will need to use Cygwin shell as I don't know how to run a shell script in windows.
download the file, move it to C:\xampp\mysql\scripts , start a Cygwin shell and type
$ cd /cygdrive/c/xampp/mysql/scripts/
$ ./mysql_secure_installation_old
Follow the instructions appearing on the screen
____________________________________________________________________________________
MySQL
Xampp provides a configuration file (my.cnf), but to make one need to make some changes. Don't forget to use a neutral text editor (Notepad or better SciTE)
To edit the file open it with your preferred text editor and modify the file in order to make the innodb table type working.
The file is located here C:\xampp\mysql\bin\
Then scroll down until you found these lines:
skip-innodb # Uncomment the following if you are using InnoDB tables #innodb_data_home_dir = /xampp/mysql/data/ #innodb_data_file_path = ibdata1:10M:autoextend #innodb_log_group_home_dir = /xampp/mysql/data/ #innodb_log_arch_dir = /xampp/mysql/data/ # You can set .._buffer_pool_size up to 50 - 80 % # of RAM but beware of setting memory usage too high #set-variable = innodb_buffer_pool_size=16M #set-variable = innodb_additional_mem_pool_size=2M # Set .._log_file_size to 25 % of buffer pool size #set-variable = innodb_log_file_size=5M #set-variable = innodb_log_buffer_size=8M #innodb_flush_log_at_trx_commit=1 #set-variable = innodb_lock_wait_timeout=50
Then uncomment lines 2-5, 8-9, and 11-14 to get something like that:
#skip-innodb # Uncomment the following if you are using InnoDB tables innodb_data_home_dir = /xampp/mysql/data/ innodb_data_file_path = ibdata1:10M:autoextend innodb_log_group_home_dir = /xampp/mysql/data/ innodb_log_arch_dir = /xampp/mysql/data/ # You can set .._buffer_pool_size up to 50 - 80 % # of RAM but beware of setting memory usage too high set-variable = innodb_buffer_pool_size=16M set-variable = innodb_additional_mem_pool_size=2M # Set .._log_file_size to 25 % of buffer pool size set-variable = innodb_log_file_size=5M set-variable = innodb_log_buffer_size=8M innodb_flush_log_at_trx_commit=1 set-variable = innodb_lock_wait_timeout=50
I would recommend to read the mysql chapter on setting the InnoDB table file if you find that MySQL do not behave like you wish here
If someone find a value to be changed, please contact Yvan Strahm
PHP
In the file php.ini, normally located here (if you extracted xampp in C:\): C:\xampp\apache\bin\php.ini, everything after a semi-colon " ; " will NOT be read by
PHP.
So to edit this file, Open your preferred text editor:
Then change the following lines:
precision = 12
to
precision = 14
Change the line: allow_call_time_pass_reference = On to
allow_call_time_pass_reference = Off
Then you will have to decide:
How long you will let PHP run to execute a script. To do so change the number of second at this line
max_execution_time = 30
to something bigger like 300 or even 3600
How much memory a script can consume at:
memory_limit = 64
Change 64M to something more close to 512M (depending of your machine's RAM)
In order to debug problems, it is wise to change these lines:
error_reporting = E_ALL to error_reporting = E_ALL & ~E_NOTICE
display_errors = Off to display_errors = On
Uncomment this line from
; error_log = "C:\xampp\apache\logs\phperror.log"
error_log = "C:\xampp\apache\logs\phperror.log".
If you plan to upload big file you should change these lines
post_max_size = 8M to post_max_size = 80M
upload_max_filesize = 2M to upload_max_filesize = 80M
Turn Off the magic cote in
magic_quotes_gpc = On to magic_quotes_gpc = Off
If you want you can comment the browse.cap location
browscap = "C:\xampp\php\browscap\browscap.ini" to ;browscap = "C:\xampp\php\browscap\browscap.ini"
Allow the garbage collection to happen less often by reducing the divisor here
session.gc_dvisor = 1000 to session.gc_dvisor = 100
And finally Allow bug_compat to happen:
session.bug_compat_42 = 0 session.bug_compat_42 = 1
Apache
So far no value have to been found to be changed
If someone find a value to be changed, please contact Yvan Strahm
____________________________________________________________________________________
First, you have to rename the correct config file:
In your case rename the file config.inc.php in the folder est-pac/inc/ as follow:
config.inc.php.xp to config.inc.php
Now you have to edit it
Line 7:
Be sure the path is correct, if you have installed Xampp in C:\ and est-pac in its htdocs directory then this line should look like this.
$config['install_dir'] = 'c:/xampp/htdocs/est-pac/';
Lines 12 and 13:
Replace DB1 and/or delete DB2 by the name of your database, the username and the password shouldn't be modified as they are used by the scripts to connect the database
Line 28:
One can blast locally if the value of $config['blast_local'] = 1 if set to 0 Blast Job are send to NCBI.
Line 34:
Change the "db_name" by the name of the database you formatdb your self (see formatdb note). For example if you formatted two dbs, ecoli.nt and sts like This:
formatdb -o T -p F -i ecoli.nt -n ecoli.nt
formatdb -o T -p F -i sts -n sts
Then this line will look like that: $config['blast_databases'] = array('sw/ncbi/db/ecoli.nt' , 'sw/ncbi/db/sts');
Secondly, You have to share the folder data:
data folder
Select the data folder in windows explorer
Then click on Tools in the top of the window and select Folder Options
In the folder option window select the view tab
In the Advanced settings window, scroll down and unselect the "Use simple file sharing (Recommended)" box, click ok
Now right click on the data folder and select "Properties"
Select the Sharing tab and select the "Share this folder" radio bottom
Then click on permissions and in the "Permission for Everyone" window select all boxes below in the Allow column click "Apply"
And finally click back in the "General" tab and unselect the read-only box, and click ok then select the all subfolder option to be unset.
Download Blast executables and database
Executable
Download from NCBI the BLASTALL programs. Look for the blast-2.2.14-ia32-win32.exe file.
Put them in the est-pac/sw/ncbi/ directory, then just double click them!
Make sure that you put the content of the newly create directory (BlastX.x.x) into the est-pac/sw/ncbi/ directory and not in est-pac/sw/ncbi/BlastX.x.x/!
From NCBI download the database you are interested in, for example: ecoli.nt.gz
Move the downloaded file and uncompress it in est-pac/sw/ncbi/db/
In Terminal (click on Start -> run and type cmd)
>cd cd c:\xampp\htdocs\est-pac\sw\ncbi\bin
Then
>..\bin\formatdb -o T -p F -i ecoli.nt -t ecoli.nt -n ecoli.nt.
This command is for a nucleotide db! If you want to formatdb proteinic sequences type
>..\bin\ formatdb -o T -p T -i ecoli.aa -t ecoli.aa -n ecoli.aa.
Note: Use the -o T option only if the ID line (after>) is UNIQUE, otherwise don't use it
The name after the -n option should be put in this line in the config.inc.php file.
For the one interested this page could be interesting ....
Download HMMER and PFAM database
Download HMMER in est-pac/sw/hmmer/.
Untar put them in the est-pac/sw/hmmer/ directory
Make sure that you put the content of the newly create directory (hmmer-x.x.x) into the est-pac/sw/hmmer/ directory
Download Pfam_ls into /Sites/est-pac/hmmer/db/ and untar it
Download ESTScan
____________________________________________________________________________________
Before trying to open a web browser in order to connect the database, it could be helpful if you start two Cygwin shell with .
$ tail -f /cygdrive/c/xampp/apache/logs/error.log
$ tail -f /cygdrive/c/xampp/apache/logs/phperror.log
One gets useful hints here when things go wrong
____________________________________________________________________________________
In order to test the installation, type in your browser this URL:
http://127.0.0.1/est-pac/login.php
This window will appears where you will have to enter your MySQL admin login and password, then hit submit me!

then you will see this:

Enter root as Username and root as Password, choose the database you want to enter,

and hit Login, et voilĂ !
____________________________________________________________________________________
If you want to run PHP or MySQL from one DOS shell, one should tell XP where to look.
To do so one should edit the path by right-clicking on "my computer" then -> properties -> environment variables -> path -> edit ->
then add ;C:\xampp\php\;C:\xampp\mysql\bin\;
In the DOS shell type
>cd C:\xampp\htdocs\est-pac\
>php job_runner_blast.php DB1
This command:s php job_runners_start.php followed by the database's name you are working with, if it is DB1 it will be : php job_runner_blast.php DB1
If you get this error message
You have to download the MSVCR71.dll file from here and put it in your system32 folder as mentioned here