Last modified 7 weeks ago Last modified on 14/12/11 16:33:50

Prerequisites for using InterMine

InterMine only supports installations onto Linux and Mac OS X systems. Windows systems of any kind are not supported. We run a mixture of Ubuntu and Fedora servers in our data centre in Cambridge.

InterMine makes use of a variety of freely available software packages. All of the programs below are required, except for Tomcat if you are not planning to make use of InterMine's web application.

SoftwareMinimum VersionPurpose
 Subversion1.5check out and update source code
 Java SDK6.0build and use InterMine
 Ant1.8invokes the InterMine build
 Tomcat6.0.29website
 PostgreSQL8.3database
 JUnit3.8.1run Java tests
 Perl5.8.8Run Build Scripts

Configuration

After installation, some software requires a little configuration to work correctly with InterMine.

Subversion

Java

  •  Java installation instructions
    • Debian users can just run this command: "sudo apt-get install sun-java6-jdk"
  • InterMine can be rather memory-intensive, so you will probably need to set memory options for Java. To do this, set the environment variable ANT_OPTS to pass in to Java, by placing the following line in your ~/.bashrc file:
    export ANT_OPTS="-server -XX:MaxPermSize=256M -Xmx1700m -XX:+UseParallelGC -Xms1700m -XX:SoftRefLRUPolicyMSPerMB=1 -XX:MaxHeapFreeRatio=99"
    
    Don't forget to run '. ~/.bashrc' to use this value in the current session.
  • Although you should change the -Xmx and -Xms values if you have very little or very much RAM in your computer.
  • Increase the MaxPermSize setting if you get this error:
    java.lang.OutOfMemoryError: PermGen space
    

See also CommonErrors

Ant

NOTE: several people have had problems with Ant installations set up by Linux package managers. We recommend installing Ant manually.

Tomcat

NOTE: several people have had problems with Tomcat installations set up by Linux package managers. We recommend installing according to the these instructions, it's very straightforward.

  • The quickest way to get a working Tomcat (on Unix/Linux?) is to:
    1. Download the latest stable binary distribution tar.gz from  the Apache Tomcat site.
    2. Unpack it:
      > tar -zxvf apache-tomcat-x.y.z.tar.gz
      
    3. Use the startup.sh and shutdown.sh scripts in apache-tomcat-x.y.z/bin/ to start and stop Tomcat. You can run it as your own user for development purposes.
    4. Set up the manager user as below.
  • Or see  Tomcat's installation instructions
  • After installation you will need to set up a tomcat user with the 'manager' role by editing $CATALINA_HOME/conf/tomcat-users.xml: ($CATALINA_HOME in this case will be the download directory, if you used a package manager it will probably be /etc/tomcatX)
  • For tomcat6 and below:
    <tomcat-users>
     <!-- you can add more users or roles if needed -->
     <role rolename="manager"/>
     <user username="manager" password="manager" roles="manager"/>
    </tomcat-users>
    
    You can check this works by accessing the manager interface at, e.g. localhost:8080/manager/html
  • To avoid java.lang.OutOfMemory errors, specify the JVM heap size in $TOMCAT_HOME/bin/tomcat.sh. You can specify '-Xmx256m -Xms128m' as part of TOMCAT_OPTS.
  • Note: Tomcat 7 isn't compatible with the current version of InterMine, but we plan to add support for this in the next release of InterMine, 0.99.
  • You also need to check in your server.xml file that the correct UTF-8 encoding has been applied to all connectors in use (see  http://wiki.apache.org/tomcat/FAQ/CharacterEncoding). Make sure that every connector element in use reads as follows:
    <Connector ... URIEncoding="UTF-8"/>
          ...
    </Connector>
    
    Without this, permalinks may break!

Postgres

Required:

listen_addresses'*'
tcpip_sockettrue(not needed in recent releases)
port5432

Recommended, for optimum performance:

shared_buffersSet to around 150MB
temp_buffersSet to around 80MB
work_memSet to around 500MB but not more than 1/10 of available RAM
maintenance_work_memSet to around 3000MB but not more than 1/5 of available RAM
default_statistics_targetSet to around 250
random_page_costSet to around 2.0, rather than 4.0
effective_cache_sizeSet to about 2/3 the amount of RAM in the computer
geqo_thresholdSet to 14
from_collapse_limitSet to 14
join_collapse_limitSet to 14
max_locks_per_transactionSet to 640

You should also add a line to the pg_hba.conf file to allow logging in via password:

host    all         all         0.0.0.0/0             password

Note that changing some settings requires stopping/starting postgres, restart has no effect.

You also need to install the bioseg data type, and the contrib btree_gist plug-in, as described in BiosegInstallation.

For some basic postgres commands see: PostgresBasics

JUnit

  1. Download the junit-X.X.jar from  http://www.junit.org/
  2. Copy to the ant lib directory, eg. apache-ant-1.6.5/lib/
  3. Add to the java classpath with this command, replacing X.X with the version number.
    export CLASSPATH=/path/to/junit-X.X.jar
    
    

Perl

Many of the build processes are carried out by Perl programs. You will need Perl installed on your system to build or maintain an InterMine installation. Linux and MacOS systems will have a suitable Perl already installed. Perl is available for Windows, but is not actively supported by InterMine.

You may have to install further modules from time to time. See our guide for how to get started.


See also: MacInstallation, Hardware