1cdf0e10cSrcweir#!/bin/perl 2*5b501c92SAndrew Rist# ************************************************************* 3*5b501c92SAndrew Rist# 4*5b501c92SAndrew Rist# Licensed to the Apache Software Foundation (ASF) under one 5*5b501c92SAndrew Rist# or more contributor license agreements. See the NOTICE file 6*5b501c92SAndrew Rist# distributed with this work for additional information 7*5b501c92SAndrew Rist# regarding copyright ownership. The ASF licenses this file 8*5b501c92SAndrew Rist# to you under the Apache License, Version 2.0 (the 9*5b501c92SAndrew Rist# "License"); you may not use this file except in compliance 10*5b501c92SAndrew Rist# with the License. You may obtain a copy of the License at 11*5b501c92SAndrew Rist# 12*5b501c92SAndrew Rist# http://www.apache.org/licenses/LICENSE-2.0 13*5b501c92SAndrew Rist# 14*5b501c92SAndrew Rist# Unless required by applicable law or agreed to in writing, 15*5b501c92SAndrew Rist# software distributed under the License is distributed on an 16*5b501c92SAndrew Rist# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 17*5b501c92SAndrew Rist# KIND, either express or implied. See the License for the 18*5b501c92SAndrew Rist# specific language governing permissions and limitations 19*5b501c92SAndrew Rist# under the License. 20*5b501c92SAndrew Rist# 21*5b501c92SAndrew Rist# ************************************************************* 22cdf0e10cSrcweir# 23cdf0e10cSrcweir# spose - start pose 24cdf0e10cSrcweir# 25cdf0e10cSrcweir 26cdf0e10cSrcweiruse Getopt::Std; 27cdf0e10cSrcweir 28cdf0e10cSrcweir# Location of needed files 29cdf0e10cSrcweir# 30cdf0e10cSrcweir$pose2_exe = $ENV{'POSE2_EXE'}; 31cdf0e10cSrcweir$pose3_exe = $ENV{'POSE3_EXE'}; 32cdf0e10cSrcweir$pose_prc = $ENV{'POSE_PRC'}; 33cdf0e10cSrcweir 34cdf0e10cSrcweir 35cdf0e10cSrcweirif (getopts('23qmwo:r:d:v') != 1) 36cdf0e10cSrcweir{ 37cdf0e10cSrcweir &usage(); 38cdf0e10cSrcweir} 39cdf0e10cSrcweir 40cdf0e10cSrcweir$apps_load = ""; 41cdf0e10cSrcweir 42cdf0e10cSrcweirif ($opt_q) 43cdf0e10cSrcweir{ 44cdf0e10cSrcweir &add_app("$pose_prc/Quickword.PRC"); 45cdf0e10cSrcweir} 46cdf0e10cSrcweirif ($opt_m) 47cdf0e10cSrcweir{ 48cdf0e10cSrcweir &add_app("$pose_prc/MiniCalc.prc"); 49cdf0e10cSrcweir} 50cdf0e10cSrcweirif ($opt_w) 51cdf0e10cSrcweir{ 52cdf0e10cSrcweir &add_app("$pose_prc/WordSmith.PRC"); 53cdf0e10cSrcweir} 54cdf0e10cSrcweirif ($opt_o) 55cdf0e10cSrcweir{ 56cdf0e10cSrcweir &add_app("$opt_o"); 57cdf0e10cSrcweir} 58cdf0e10cSrcweirif ($opt_r) 59cdf0e10cSrcweir{ 60cdf0e10cSrcweir $run_prog .= "-run_app $opt_r"; 61cdf0e10cSrcweir} 62cdf0e10cSrcweirif ($opt_d) 63cdf0e10cSrcweir{ 64cdf0e10cSrcweir $directory = $opt_d; 65cdf0e10cSrcweir @files = `/bin/ls -1 $directory/*.pdb`; 66cdf0e10cSrcweir 67cdf0e10cSrcweir for ($i=0; $i <= $#files; $i++) 68cdf0e10cSrcweir { 69cdf0e10cSrcweir $add_file = "$files[$i]"; 70cdf0e10cSrcweir chomp $add_file; 71cdf0e10cSrcweir &add_app("$add_file"); 72cdf0e10cSrcweir } 73cdf0e10cSrcweir} 74cdf0e10cSrcweir 75cdf0e10cSrcweirif ($opt_3) 76cdf0e10cSrcweir{ 77cdf0e10cSrcweir $pose_exe = $pose3_exe; 78cdf0e10cSrcweir} 79cdf0e10cSrcweirelse 80cdf0e10cSrcweir{ 81cdf0e10cSrcweir $pose_exe = $pose2_exe; 82cdf0e10cSrcweir} 83cdf0e10cSrcweirif ($pose_exe eq "") 84cdf0e10cSrcweir{ 85cdf0e10cSrcweir print "\nPose not found: Please set \n POSE2_EXE\n or POSE3_EXE\n"; 86cdf0e10cSrcweir exit 0; 87cdf0e10cSrcweir} 88cdf0e10cSrcweirif ($opt_v) 89cdf0e10cSrcweir{ 90cdf0e10cSrcweir print ("\n$pose_exe $apps_load $run_prog &\n\n"); 91cdf0e10cSrcweir} 92cdf0e10cSrcweirelse 93cdf0e10cSrcweir{ 94cdf0e10cSrcweir system ("$pose_exe $apps_load $run_prog &"); 95cdf0e10cSrcweir} 96cdf0e10cSrcweir 97cdf0e10cSrcweirexit 0; 98cdf0e10cSrcweir 99cdf0e10cSrcweirsub usage 100cdf0e10cSrcweir{ 101cdf0e10cSrcweir print "\nUsage: getopt [ -m ] [ -q ] [ -w ] [ -o <PrcFile> ] [ -r <RunProg> ]\n"; 102cdf0e10cSrcweir print " -2 Runs pose version 3.2 [ current default ]\n"; 103cdf0e10cSrcweir print " -3 Runs pose version 3.3\n"; 104cdf0e10cSrcweir print " -d Load all PDB files in specified directory\n"; 105cdf0e10cSrcweir print " -m Load MiniCalc PRC file\n"; 106cdf0e10cSrcweir print " -q Load QuickWord PRC file\n"; 107cdf0e10cSrcweir print " -w Load WordSmith PRC file\n"; 108cdf0e10cSrcweir print " -o <PrcFile> Other PRC files to load\n"; 109cdf0e10cSrcweir print " -r <RunProg> Program to run on startup\n"; 110cdf0e10cSrcweir print " -v Display the command instead of running\n\n"; 111cdf0e10cSrcweir exit(-1); 112cdf0e10cSrcweir} 113cdf0e10cSrcweir 114cdf0e10cSrcweirsub add_app 115cdf0e10cSrcweir{ 116cdf0e10cSrcweir my $new_app = $_[0]; 117cdf0e10cSrcweir 118cdf0e10cSrcweir if ($apps_load ne "") 119cdf0e10cSrcweir { 120cdf0e10cSrcweir $apps_load .= ","; 121cdf0e10cSrcweir } 122cdf0e10cSrcweir else 123cdf0e10cSrcweir { 124cdf0e10cSrcweir $apps_load = "-load_apps "; 125cdf0e10cSrcweir } 126cdf0e10cSrcweir 127cdf0e10cSrcweir $apps_load .= "$new_app"; 128cdf0e10cSrcweir} 129