Differences between revisions 2 and 36 (spanning 34 versions)
Revision 2 as of 2010-03-29 08:23:36
Size: 2131
Editor: root
Comment:
Revision 36 as of 2011-03-09 04:42:10
Size: 2550
Editor: IanRees
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Generally, you will want to create a user account for running emen2, e.g. 'emen2.' This has the benefit of working well with the default config file. Running as any other user also works fine, you will just have to change one or two paths in config.yml. = Installing and configuring EMEN2 =
Line 3: Line 3:
1. Download the latest EMEN2 source code release and untar EMEN2 has a number of dependencies, which are described on the [[EMEN2/Dependencies|EMEN2 dependencies]] page. However, because EMEN2 is often used with EMAN2, we have packaged all of the EMEN2 dependencies along with binary builds of EMAN2, which greatly simplifies installation. See the installation note below.
Line 5: Line 5:
2. Create a directory for the Database Environment (referred to as $DB_HOME going forward. Reasonable default is /home/emen2/db/ ) = Install EMEN2 =
Line 7: Line 7:
Recommended: Set the $DB_HOME environment variable to this path for convenience EMEN2 can be installed using either Python easy_install:
Line 9: Line 9:
3. Copy emen2/config.sample.yml to $DB_HOME/config.yml {{{
sudo python -m easy_install emen2
}}}
Line 11: Line 13:
Edit the various settings in config.yml. See [[EMEN2/config.yml]]. Primarily, you will want to check the path and network settings. A simple configuration will have most EMEN2 directories (db, applog, archive, db_hotbackup, emen2files, etc.) placed under the path specified by the "&root" element, which is /home/emen2/ by default. Or by downloading the source, unpacking, and using Python distutils:
Line 13: Line 15:
  root: &root
    /home/emen2/
{{{
python ./setup.py build
sudo python ./setup.py install
}}}
Line 16: Line 20:
4. After config.yml is to your liking, run *Note: Installing EMEN2 with EMAN2*
Line 18: Line 22:
python ./setup.py If you are using an EMAN2 binary distribution to take care of all the dependencies, you will need to use EMAN2's Python environment on Linux and Windows. On Linux, assuming you installed EMAN2 into your home folder, you would use ~/EMAN2/Python/bin/python as the interpreter. This will ensure that the correct dependencies are loaded and EMEN2 is installed in the correct location. On Mac OS X, EMAN2 uses the system default Python environment, so no special action is required.
Line 20: Line 24:
The rest of the $DB_HOME environment will be created, skeleton parameter/protocol definitions will be installed, and a root user created. You will be prompted on the shell for a root password. = Quick Start =
Line 22: Line 26:
5. Test web server Here is a "quick start" guide to install EMEN2, initialize an EMEN2 DB, and start the web server. The "-h" argument in the scripts below are references to a directory to keep the EMEN2 DB; the directory will be created if it does not exist.
Line 24: Line 28:
python ./TwistSupport.py {{{
python -m emen2.db.admin -h $HOME/testdb
}}}
Line 26: Line 32:
You should be able to connect to this web server instance once it is "listening..." The default port is 8080. You may login with the root password you specified previously. This will prompt for a "root" email address and password, and create a minimal EMEN2 environment. The email address will be used for password recovery and system messages if a mail server is provided in the configuration. The password can be left empty, but the system will not be secure at all.
Line 28: Line 34:
6. Optional: Import Parameter/Protocol definitions from the NCMI Database. You can also quickly access the native Python API, by invoking the emen2.db.admin module and interactive mode.
Line 30: Line 36:
python ./clients/clone.py -- --defs {{{
python -i -m emen2.db.admin
}}}
Line 32: Line 40:
Note: the first "--" is intentional and required at the moment. Command arguments for the local database go before "--", arguments to the cloning script go after ("--defs") To start the EMEN2 web server with default settings:
Line 34: Line 42:
You will be prompted for two sets of credentials. First, an NCMI DB account, and second, the root password for the local database. If you do not have an NCMI DB account, you may specify "anonymous" as the username, and your email address as the password. {{{
python -m emen2.web.server -h $HOME/testdb
}}}
Line 36: Line 46:
6. Daemon You will be able to access the server at http://localhost:8080
Line 38: Line 48:
After you are satisfied with your setup, you can run EMEN2 in the background *Optional: EMEN2 Cryo-EM Schema*
Line 40: Line 50:
python ./emen2control.py --start To load the Experimental Protocols and Experimental Parameters that we use for our Cryo-EM system, you can download a current schema dump.

{{{
tar -xvzf emen2-ncmidb.tar.gz
python -m emen2.db.load emen2-ncmidb
}}}

*Note:*
You can use the "EMEN2DBHOME" environment variable to avoid specifying "-h path" for each command.

*Note:*
If you are using Python 2.7, you can use "-m emen2.web" and "-m emen2.db"

Installing and configuring EMEN2

EMEN2 has a number of dependencies, which are described on the EMEN2 dependencies page. However, because EMEN2 is often used with EMAN2, we have packaged all of the EMEN2 dependencies along with binary builds of EMAN2, which greatly simplifies installation. See the installation note below.

Install EMEN2

EMEN2 can be installed using either Python easy_install:

sudo python -m easy_install emen2

Or by downloading the source, unpacking, and using Python distutils:

python ./setup.py build
sudo python ./setup.py install

*Note: Installing EMEN2 with EMAN2*

If you are using an EMAN2 binary distribution to take care of all the dependencies, you will need to use EMAN2's Python environment on Linux and Windows. On Linux, assuming you installed EMAN2 into your home folder, you would use ~/EMAN2/Python/bin/python as the interpreter. This will ensure that the correct dependencies are loaded and EMEN2 is installed in the correct location. On Mac OS X, EMAN2 uses the system default Python environment, so no special action is required.

Quick Start

Here is a "quick start" guide to install EMEN2, initialize an EMEN2 DB, and start the web server. The "-h" argument in the scripts below are references to a directory to keep the EMEN2 DB; the directory will be created if it does not exist.

python -m emen2.db.admin -h $HOME/testdb

This will prompt for a "root" email address and password, and create a minimal EMEN2 environment. The email address will be used for password recovery and system messages if a mail server is provided in the configuration. The password can be left empty, but the system will not be secure at all.

You can also quickly access the native Python API, by invoking the emen2.db.admin module and interactive mode.

python -i -m emen2.db.admin

To start the EMEN2 web server with default settings:

python -m emen2.web.server -h $HOME/testdb

You will be able to access the server at http://localhost:8080

*Optional: EMEN2 Cryo-EM Schema*

To load the Experimental Protocols and Experimental Parameters that we use for our Cryo-EM system, you can download a current schema dump.

tar -xvzf emen2-ncmidb.tar.gz
python -m emen2.db.load emen2-ncmidb

*Note:* You can use the "EMEN2DBHOME" environment variable to avoid specifying "-h path" for each command.

*Note:* If you are using Python 2.7, you can use "-m emen2.web" and "-m emen2.db"

EMEN2/Install (last edited 2013-06-27 06:59:34 by IanRees)