Partial success at build of TPP Rapture Rev 2 on OSX Lion

42 views
Skip to first unread message

Robert Willows

unread,
May 2, 2012, 11:49:45 PM5/2/12
to spctools...@googlegroups.com
Dear TPP team,

I've just finished installing TPP Rapture Rev 2 on Max OSX 10.7.3. with some success, although some of the functions don't work through the Web interface but the same commands work on on the command line.

I used the instructions at:

I also need to modify the endian.hpp file as per instructions from the post by Ulrich below:

Workaround is to comment out conditions for LITTLE_ENDIAN in /extern/ProteoWizard/pwiz/pwiz/utility/misc/endian.hpp: 

change to: 

// #if (defined(PWIZ_GCC) && defined(__BYTE_ORDER) && __BYTE_ORDER==__LITTLE_ENDIAN) || \ 
//     (defined(__DARWIN_BYTE_ORDER) && __DARWIN_BYTE_ORDER==__DARWIN_LITTLE_ENDIAN) || \ 
//     (defined(__DARWIN_10_6_AND_LATER) && defined(__LITTLE_ENDIAN__)) || \ 
//     (defined(__MINGW32__)) || \ 
//     (defined(__i386__)) || \ 
//     (defined(PWIZ_MSVC)) 
#define PWIZ_LITTLE_ENDIAN 
// #endif

I needed to comment out the path stripping in tpp_gui.pl to get xinteract to work, or at least generate a command which would work at the command line.

So on line 2008-2011 was commented out as below and an extra line added without the path stripping:

# my @file_list_stripped = &stripPaths(files => \@file_list,
#  bpath =>$outd);

 #$command = "$command{chdir} $outd; $command{xinteract} $options @file_list_stripped";
    $command = "$command{chdir} $outd; $command{xinteract} $options @file_list";

This generates a command e.g.
/usr/bin/cd /Library/WebServer/Documents/thegpm/tpp/data; /usr/local/tpp/bin/xinteract  -Ninteract.pep.xml -p0.05 -l7 -O /Library/WebServer/Documents/thegpm/tpp/data/XXXXX.tandem.pep.xml

However I get the following on the Web interface:

/usr/local/tpp/bin/xinteract (TPP v4.5 RAPTURE rev 2, Build 201204271337 (linux))

running: "/usr/local/tpp/bin/InteractParser 'interact.pep.xml' '/Library/WebServer/Documents/thegpm/tpp/data/XXXXX.tandem.pep.xml' -L'7'"
cannot write output to file //interact.pep.xml.tmp.AndtL8

command "/usr/local/tpp/bin/InteractParser 'interact.pep.xml' '/Library/WebServer/Documents/thegpm/tpp/data/XXXXX.tandem.pep.xml' -L'7'"

exited with non-zero exit code: 256 QUIT - the job is incomplete
Command FAILED
However, when I cut and paste the same command at the command line it works fine. Also other options used with xinteract also all work and the files are generated as expected and can be viewed through the web interface.

I'm not sure where InteractParser is trying to write the tmp file but maybe this is the problem?

Regards
Robert

Bjorn

unread,
May 3, 2012, 9:38:52 AM5/3/12
to spctools-discuss
Dear Robert,
You can try to follow these guidelines. Maybe the answer to your
problems is there somewhere.
http://tools.proteomecenter.org/wiki/index.php?title=TPP:Installing_the_Trans-Proteomic_Pipeline_%28TPP%29_4.4.0_on_Mac_OS_X_10.6.4
Cheers,
Bjorn

Robert Willows

unread,
May 3, 2012, 6:14:12 PM5/3/12
to spctools...@googlegroups.com
Thanks Bjorn

I've tried that and thought it might relate to permissions when run from the web server compared to running ar the command line. I think it relates to where InteractParser tmp files are written when run as the web server.
> --
> You received this message because you are subscribed to the Google Groups "spctools-discuss" group.
> To post to this group, send email to spctools...@googlegroups.com.
> To unsubscribe from this group, send email to spctools-discu...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/spctools-discuss?hl=en.
>

Bjorn

unread,
May 4, 2012, 10:10:07 AM5/4/12
to spctools-discuss
Have you tried setting the data folder to read and write access?
Or maybe this is a "Lion only" thing?
Bjorn

Ulrich auf dem Keller

unread,
May 5, 2012, 6:14:10 AM5/5/12
to spctools...@googlegroups.com
Hi Robert,

it seems that the _www user doesn't have write permissions for the tmp folder you specified. When running from command line the commands will be executed by the user logged into the shell, but from Petunia it will be '_www' . What's your '$tmp_dir' and its permission settings? Have you set '$www_root' correctly? It should not be necessary to change anything in tpp_gui.pl other than in the config section (via tpp_gui_config.pl) or maybe in %command.

The only bug I found in tpp_gui.pl is that lines 2070 - 2072:

if (param('c_semi')) {
    param('c_enzyme', "semi".param('c_enzyme'));
}

have to moved up out of the for loop before line 2063 to convert multiple files with 'semi' enzyme definition.

Hope that helps.

Cheers

Ulrich

Luis Mendoza

unread,
May 7, 2012, 2:03:45 PM5/7/12
to spctools...@googlegroups.com
Hi Ulrich,
Thanks for reporting the bug in Petunia. It will be fixed as of the
next upcoming release, 4.6.0. Let me know if you find any others, and
thanks again for the Mac support!
--Luis

Robert Willows

unread,
May 7, 2012, 8:24:13 PM5/7/12
to spctools...@googlegroups.com
Hi Ulrich,

I've checked the $tmp_dir and this is OK as the tpp log file and cmd files are being written to the tmp folder by '_www' .

I've looked again at the output from running InteractParser from the command line compared to running from the web server and it seems the output files from the web server have had the path info stripped and are written as //interact.pep.xml.tmp with two leading "/" when it fails. When run from the command line the output files have the full path specified e.g. "/Library/WebServer/Documents/thegpm/tpp/data/interact.pep.shtml" The output files are written to whatever directory the command is run from, including the tmp files which can be seen if the process is halted part way through.

The problem could be related to how the outfile is specified in the InteractParser.cxx file (Lines 179-228). If the WebserverRoot is part of the path to the outfile then this is stripped and the trailing "/" is retained but I think that '_www' then tries to write to the path "//interact.pep.xml.tmp". The double "/" is not allowed and the file can't be created.
From the command line this doesn't happen since the whole path is retained because WEBSERVER_ROOT is not an environment variable in a bash terminal.

If this is the problem I'm not sure how to fix it since I'm not that familiar with C++.

Regards
Robert

Ulrich auf dem Keller

unread,
May 8, 2012, 4:55:37 AM5/8/12
to spctools...@googlegroups.com
Hi Robert,

from this I would guess WEBSERVER_ROOT is not correctly specified in httpd.conf. How does your TPP specific section in /etc/apache2/httpd.conf looks like?

Here is mine (currently I leave the Mac OS X default /Library/WebServer/Documents; moving to /thegpm was only kind of laziness to avoid changing tandem specific scripts at that time):

#Added for TPP
# ISB-Tools Trans Proteomic Pipeline directive
#

Alias /tpp/html "/usr/local/tpp/html"
<Directory "/usr/local/tpp/html">
AllowOverride None
Options Includes FollowSymLinks MultiViews
Order allow,deny
Allow from all
</Directory>
Alias /tpp/schema "/usr/local/tpp/schema"
<Directory "/usr/local/tpp/schema">
AllowOverride None
Options Includes FollowSymLinks MultiViews
Order allow,deny
Allow from all
</Directory>
Alias /tpp/tpp_data "/Library/WebServer/Documents/tpp/tpp_data"
<Directory "/Library/WebServer/Documents/tpp/tpp_data">
AllowOverride None
Options Includes Indexes FollowSymLinks MultiViews
Order allow,deny
Allow from all
</Directory>
Alias /tpp/cgi-bin "/usr/local/tpp/cgi-bin"
<Directory "/usr/local/tpp/cgi-bin">
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
SetEnv WEBSERVER_ROOT /Library/WebServer/Documents/
SetEnv WEBSERVER_URL http://localhost/
SetEnv WEBSERVER_TMP /tmp/
</Directory>

Don't forget the restart apache after applying any changes.

Best,

Ulrich

Robert Willows

unread,
May 8, 2012, 5:32:48 AM5/8/12
to spctools...@googlegroups.com
Hi Ulrich,

Thank you.
I was missing the

SetEnv WEBSERVER_TMP /tmp/

from the httpd.conf file.
This has been added and after restarting it all works now.

Cheers
Robert
Reply all
Reply to author
Forward
0 new messages