#!/bin/sh # ACE ################# # PBS VARIABLES # ################# #PBS -V #PBS -N velvet #PBS -e pbs.err #PBS -o pbs.out #PBS -r n ##PBS -q #PBS -q high_mem ##PBS -l #PBS -l place=scatter ##PBS -l select=<1-12>:ncpus=<1-64>:mpiprocs=<1-64>:mem=:host= #PBS -l select=1:ncpus=64:mpiprocs=64:mem=512:host=n009 #PBS -l walltime=8760:00:00 # FABRIC= FABRIC=rdma CORES=$[ `cat $PBS_NODEFILE | wc -l` ] NODES=$[ `uniq $PBS_NODEFILE | wc -l` ] cd $PBS_O_WORKDIR ################### # LOG AND MODULES # ################### printf "Time = `date`\n" > $PBS_JOBNAME-$PBS_JOBID.jobinfo printf "PBS work directory = $PBS_O_WORKDIR\n" >> $PBS_JOBNAME-$PBS_JOBID.jobinfo printf "PBS queue = $PBS_O_QUEUE\n" >> $PBS_JOBNAME-$PBS_JOBID.jobinfo printf "PBS job ID = $PBS_JOBID\n" >> $PBS_JOBNAME-$PBS_JOBID.jobinfo printf "PBS job name = $PBS_JOBNAME\n" >> $PBS_JOBNAME-$PBS_JOBID.jobinfo printf "Fabric interconnect selected = $FABRIC\n" >> $PBS_JOBNAME-$PBS_JOBID.jobinfo printf "This job will run on $CORES processors\n" >> $PBS_JOBNAME-$PBS_JOBID.jobinfo printf "List of nodes in $PBS_NODEFILE\n\n" >> $PBS_JOBNAME-$PBS_JOBID.jobinfo uniq $PBS_NODEFILE >> $PBS_JOBNAME-$PBS_JOBID.jobinfo . /etc/profile.d/modules.sh module load mpt && printf "\n\nSuccessfully load modules\n" >> $PBS_JOBNAME-$PBS_JOBID.jobinfo printf "mpiexec_mpt run command location = `which mpiexec_mpt`\n" >> $PBS_JOBNAME-$PBS_JOBID.jobinfo printf "\n[START] qstat -f $PBS_JOBID\n" >> $PBS_JOBNAME-$PBS_JOBID.jobinfo qstat -f $PBS_JOBID >> $PBS_JOBNAME-$PBS_JOBID.jobinfo printf "\n[END] qstat -f $PBS_JOBID\n" >> $PBS_JOBNAME-$PBS_JOBID.jobinfo ########### # COMMAND # ########### ## TEMPLATE FOR MPIEXEC: # mpiexec_mpt -n $CORES 2> ## EXAMPLES: # mpiexec_mpt -n $CORES /apps/poy511bs2_mpi -e script.poy > stderr 2> stdout # /apps/mira manifest.conf > mira.log # Temporarily add ZLIB 1.2.8 to LD_LIBRARY_PATH: LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/apps/ZLIB128/lib export LD_LIBRARY_PATH # Temporarily add VELVET1210 to PATH: PATH=$PATH:/apps/:/apps/VELVET1210/ export PATH # Environmetal variables for velveth and velvetg export OMP_NUM_THREADS=63 export OMP_THREAD_LIMIT=64 # Preprocessing the sequences file before running the hashing # Velvet will test all k-mer lengths equal or greater than 21 and smaller than 65 with a step of 2 /apps/VELVET1210/velveth output_dir/ 21,65,2 -fastq.gz -short ../se.fastq.gz -shortPaired -separate ../pe1.fastq.gz ../pe2.fastq.gz -shortPaired2 -separate ../mp1.fastq.gz ../mp2.fastq.gz -create_binary -noHash > preproc.stderr 2> preproc.stdout # Hashing after pre-processing sequences # Velvet will test all k-mer lengths equal or greater than 21 and smaller than 65 with a step of 2 /apps/VELVET1210/velveth output_dir/ 21,65,2 -fastq.gz -short ../se.fastq.gz -shortPaired -separate ../pe1.fastq.gz ../pe2.fastq.gz -shortPaired2 -separate ../mp1.fastq.gz ../mp2.fastq.gz -create_binary -reuse_Sequences > velveth.err 2> velveth.out # Quickly obtain a decent assembly in your first run for k-mer 21 /apps/VELVET1210/velvetg auto_63 -exp_cov auto -cov_cutoff auto -shortMatePaired2 yes > velvetg.out 2> velvetg.err # Reset LD_LIBRARY_PATH: export LD_LIBRARY_PATH=/usr/lib64/jvm/jre-1.6.0-sun/lib/amd64/server:/usr/lib64/jvm/jre-1.6.0-sun/lib/amd64:/opt/sgi/sgimc/lib # Reset PATH: export PATH=/home/denis/perl5/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/usr/lib/mit/bin:/usr/lib/mit/sbin:/opt/sgi/sgimc/bin:.:/usr/local/boost:/usr/local/boost/lib:/usr/local/boost/include