Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I have a script that takes some gene data and runs it through dozens of programs to try to tease out as much information as possible and make me some pretty reports. However, while it seems to work under Windows fine, I can't get it working on Ubuntu 12.10.

It wants to use some software from the tigr-glimmer package, long-orfs, extract, etc. (see below), and it seems like the script provided expects them to be separate binaries. When installed, however, they actually seem to be "sub-programs"(?) of a binary tigr-glimmer, that need to be run as tigr-glimmer long-orfs, or the like. I attempted making an alias to turn long-orfs into tigr-glimmer long-orfs, but that seems to have no effect.

Can I somehow make a link between the two, or rather, how should I go about fixing this? The Python script is open to me, but I would rather avoid opening that can of worms. It seems to scan through the env. paths for a set of given strings (e.g. long-orfs...) looking for an executable file, which apparently my alias doesn't qualify as. If I change how that works, then I'll need to change dozens of the calls strewn about several files...

I have nearly no Linux experience, so my sense of how to do this is almost certainly wrong. Please set me straight :P

ubuntu@domU:~$ python run_antismash.py --clusterblast P115_92.gb
ERROR: Failed to locate executable for 'long-orfs'
ERROR: Failed to locate executable for 'extract'
ERROR: Failed to locate executable for 'build-icm'
ERROR: Failed to locate executable for 'glimmer3'
ERROR: Not all prerequisites met
ubuntu@domU:~$ alias long-orfs
alias long-orfs='tigr-glimmer long-orfs'
ubuntu@domU:~$ long-orfs
Starting at Fri Mar 15 22:08:17 2013

USAGE:  long-orfs [options] <sequence-file> <output-file>

Read DNA sequence [...]
share|improve this question
1  
Did you try to call it with a sequence file and an output file argument as suggested by the error message? –  Florian Diesch Mar 15 '13 at 23:23
    
I don't call the program directly, it's called by the Python program. The error message is given by that program during initialization (because it can't find them), not long-orfs et. al. –  Nick T Mar 16 '13 at 5:08
    
Can you put the python code somewhere?. It's hard to know what is the program expecting without it. –  Javier Rivera Mar 18 '13 at 8:20

2 Answers 2

You should check the download page of the bitbucket repository. There's a nice script (install_ubuntu.sh) for installing on ubuntu and setting up a wrapper script for antismash.

https://bitbucket.org/antismash/antismash2/downloads

share|improve this answer

For my particular case with tigr-glimmer, the individual sub-commands are actually individual binaries in /usr/lib/tigr-glimmer, so adding that to PATH should be sufficient.

More generally, making a faux binary shell script would also work, e.g.

long-orfs

#!/bin/bash
tigr-glimmer long-orfs "$@"

Add the directory it's in to the PATH envvar, or just dump it into /usr/bin or something already in PATH.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.