OligoArray is written in JavaTM. This program is freely distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. I would appreciate any feedback concerning any possible modifications to improve this software.
OligoArray was successfully tested on sparc-sun-solaris2.7, intel-redhat 7.1, 7.2 and 8.0, Fedora 3 and Windows (98, XP). It should run on any system where both NCBI Blast and OligoArrayAux work. I never tested it myself on Mac OS X. Some users experienced unexpected behavior with OligoArray 1.0 under MAC OS X (cross-hybridization never detected if you use Apple/Genentech BLAST). So I strongly encourage all users to run extensive tests using the test files given on this web site before to start a real design.
JAVASince OligoArray is written in Java, you need to verify that a Java Runtime Environment version 1.3 (or above) is installed on your computer otherwise, you can get a JRE version 1.4 from Sun. To test if there is a Java environment just type the command java -version and you should see a message like:java version "1.4.1_02"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_02-b06)
Java HotSpot(TM) Client VM (build 1.4.1_02-b06, mixed mode)
BLASTYou will need to install the Legacy Blast program from NCBI. Installing or trying to use the latest blast version will fail. You can find legacy Blast here (Blast). Just pick the right version for your operating system in the 2.2.26 folder (Note: for Windows XP, use the file ending by -win32.exe). Blast comes with complete installation instruction. Make sure that "blastall" and "formatdb" are in your path (help to set the PATH on windows).
OligoArrayAuxOligoArray2.1 does not rely anymore on Mfold to predict oligonucleotides that could fold to form secondary structure. Mfold has been advantageously replaced by OligoArrayAux developed by Nick Markham and Michael Zuker (Rensselaer Polytechnic Institute, Troy, NY). You can get it from the OligoArrayAux home page.
Windows 98 users will need to manually set the PATH environment variable (help to set environment variables on windows 98).
Please register to access to the download page (just enter your email if you previously registered). Sorry for the inconvenience, but registration is the only way for me to keep trace of OligoArray users and be able to send you a bug fix or a new release. You will get a package containing OligoArray 2.1 and some test files.
UNIXTo extract the files, type:WINDOWSYou should get a new new directory titled OligoArray2 and containing the following files :gzip -d OligoArray2_1.tar.gz
tar -xvf OligoArray2_1.tarOligoArray2.jar
OligoArray.log.refWARNING: If you have downloaded OligoArrayAux for Windows sometime in October 2005, you may experience some problems running OligoArray. If the OligoArray test fail, please contact me (email@example.com)
Double click on OligoArrayInst.exe and follow the instructions from the installation wizard. By default, OligoArray is installed in C:\OligoArray. If you would like to install it into another directory, please be aware that at this time, OligoArray does not support any space in the directory name, so please avoid to install it in C:\Program Files\OligoArray.
UNIXHere is a way to test OligoArray 2.1 to ensure it is working properly on your system. It takes about 8 minutes to run that test on a PC (Xeon 1.5 GHz, Linux Fedora Core 3, java version "1.5.0_04", Blast 2.2.14, OligoArrayAux 3.2). Syntax is for the Bash shell, so it could be different on other shells.WINDOWS[jmrouill@berry OligoArray2]$ mkdir BlastDbIf OligoArray 2.1 works properly on your system, the last three commands (diff) should not produce any output. The diff command does not exist on windows OS so you may need to use another approach to compare your files to reference files.
[jmrouill@berry OligoArray2]$ cd BlastDb/
[jmrouill@berry BlastDb]$ ln -s ../yeast_orf.fas
[jmrouill@berry BlastDb]$ formatdb -i yeast_orf.fas -o T -p F
[jmrouill@berry BlastDb]$ cat formatdb.log
========================[ Apr 29, 2003 5:13 PM ]========================
Version 2.2.1 [Jul-12-2001]
Started database file "yeast_orf.fas"
Formatted 6343 sequences
[jmrouill@berry BlastDb]$ cd ..
[jmrouill@berry OligoArray2]$ java -Xmx512m -jar OligoArray2.jar -i chr1.fas -d BlastDb/yeast_orf.fas -o oligo.txt -n 2 -l 45 -L 47 -D 1500 -t 82 -T 88 -s 65 -x 65 -p 35 -P 50 -m "GGGGG;CCCCC;TTTTT;AAAAA"
*** OligoArray 2.1.3 ***
OligoArray 2.1.3 will start to process sequences from the file chr1.fas using the following parameters :
Blast database: 'BlastDb/yeast_orf.fas'
Oligo data will be saved in: 'oligo.txt'
Sequence without oligo will be saved in: 'rejected.fas'
The log file will be: 'OligoArray.log'
Maximum number of oligo to design per input sequence: '2'
Size range: '45' to '47'
Maximum distance between the 5' end of the oligo and the 3' end of the input sequence: '1500'
Minimum distance between the 5' ends of two adjacent oligos: '69'
Tm range: '82' to '88'
GC range: '35.0' to '50.0'
Threshold to reject secondary structures: '65.0'
Threshold to start to consider cross-hybridizations: '65'
Sequence to avoid in the oligo: 'GGGGG;CCCCC;TTTTT;AAAAA'
Number of sequence to run in parallel: '1'
Data initialization: DONE
Is BlastDb/yeast_orf.fas a valid Blast database? YES
Is OligoArrayAux installed? YES
Start Blast parameters initialization (It may take a while depending the value entered for the -D option)
Blast parameters initialized
*** Screen output deleted ***
No more sequence to dispatch
OligoArray has successfully processed all sequences
[jmrouill@berry OligoArray2]$ diff oligo.txt oligo.txt.ref
[jmrouill@berry OligoArray2]$ diff OligoArray.log OligoArray.log.ref
[jmrouill@berry OligoArray2]$ diff rejected.fas rejected.fas.refThere is a test program (TestOligoArray) included in the OligoArray package. Start it and wait 5 to 10 minutes for the completion of the test. A pop-up window will appear at the end ot the test and describe whether OligoArray is running correctly or not on your system. If it says that OligoArrayAux is not correctly installed, you may want to check if the PATH variable is correctly set on your system (help to check environment variables on windows).
How to Format a local Blast Database ?
Before to use OligoArray, you have to create a Blast database. This database should contain all sequences against which you want to check the oligo specificity. For oligo designed for gene expression experiments, this database should contain only transcribed sequence for the organism you are working on. The blast database name SHOULD NOT contains any characters like a space, ' or ".How to Set (or check) Environment Variables ?
The first step is to create a Fasta file containing all these sequences. Fasta format is one comment line preceded by a > (look at the yeast_orf.fas file for an example of Fasta format). The sequence will appear on the next lines. I strongly suggest you to use simple comment lines containing only one single identifier. These identifier should be the same in the input file.
Here are some examples:
>gi|30089998|ref|NM_178042.1| Homo sapiens BAF53 (BAF53A), transcript variant 3, mRNA should be replaced by >NM_178042.1
>gi|30089965|ref|NM_145057.2| Homo sapiens CDC42 effector protein (Rho GTPase binding) 5 (CDC42EP5), mRNAshould be replaced by >NM_145057.2
>gi|30089961|ref|NM_003607.2| Homo sapiens CDC42 binding protein kinase alpha (DMPK-like) (CDC42BPA), transcript variant B, mRNA should be replaced by >NM_003607.2
If you need a tool to do that, you can try my CleanGenbankFastaComment script. Here is the bytecode (CleanGenbankFastaComment.class) ready to use. Download it and run java CleanGenbankFastaComment from the prompt to get the following help message:Make sure that you always have the same number of fields in the comment line. If you want to see the code or adapt it to your needs, it is here (CleanGenbankFastaComment.java). It is distributed under GNU GPL license and comes WITHOUT ANY WARRANTY.Syntax is java CleanGenbankFastaComment Fasta_file field separator
Example: java CleanGenbankFastaComment Fasta_file 4 "|" will transform
>gi|30089998|ref|NM_178042.1| Homo sapiens BAF53... into >NM_178042.1
Windows users who are looking for a tool to concatenate multiple sequence files into a single one before to format a blast database can use ConcatenateFiles (ConcatenateFiles.class). Download it and run java ConcatenateFiles from the prompt to get the following help message:The first argument has to be the destination file. Then, you can enter as many files as you need. If you want to see the code or adapt it to your needs, it is here (ConcatenateFiles.java). It is distributed under GNU GPL license and comes WITHOUT ANY WARRANTY.Syntax is java ConcatenateFiles destination_file file_1 file_2 file_3 ... file_n
WINDOWS 98 and aboveIn the following instructions for Windows, I assume that your working directory is c:\project. Please modify the instructions according to your local installation. Again, please note that OligoArray does not support any spaces in the path name, so please avoid to put your sequences in a directory like c:\My Documents\My Project. Remember also that it's much easier to handle short directory names under Windows (no more than 8 characters).UNIX (and MacOS X)
Save your sequences (Fasta format) in the c:\project directory. I will assume below that you have saved them in a file named myseq.fas
Open a MS-DOS windows (Click on "Start", then "Run..." and type command)
At the prompt, type cd c:\project
To format the myseq.fas file, type formatdb -i myseq.fas -o T -p F (Other versions than formatdb 2.2.1 may require different options)
To verify that your database is correctly formatted, read the formatdb.log file by typing more formatdb.log
Type exit to close the MS-DOS windowsIn the following instructions for UNIX, I assume that you want to format a fasta file (named myseq.fas) located in your current directory. Again, please note that OligoArray does not support any spaces in the path name.
Just type formatdb -i myseq.fas -p F -o T (Other versions than formatdb 2.2.1 may require different options)
You can read the content of the formatdb.log file by typing more formatdb.log
In the following instructions for Windows, I assume that Blast and OligoArrayAux are installed in c:\Blast and c:\OligoArrayAux respectively. Please modify the instructions according to your local installation. If you just want to check if these variable are correctly set on your system, just follow the same procedure and modify the PATH variable only if necessary. All the characters you have to type are written in fixed width font.
WINDOWS 98You will first need to open a MS-DOS windows (Click on "Start", then "Run..." and type command)WINDOWS 2000 and XP
At the prompt, type cd c:\ and then edit autoexec.bat
At the end of the PATH line, add ;c:\OligoArrayAux\Bin;c:\Blast (if the PATH line does not exist, just add a new line with PATH=c:\OligoArrayAux\Bin;c:\Blast). If one of these program is in "Program Files", just replace it by "progra~1".
Save and exit the editor
Type exit to close the MS-DOS windows
Restart your computerLogon as administrator (or equivalent account with administrator privileges)UNIX (and MacOS X)
Right-click on "My Computer" and then choose "Properties"
Click on "Advanced" and then on "Environment variable"
In the system variable box, select "Path" and click on "Edit"
At the end of the line (DO NOT DELETE the line), add ;c:\OligoArrayAux\Bin;c:\Blast
Save and close
It may be necessary to restart your computerTo display your PATH variable, type echo $PATH at the prompt.