[ANN] SequenceServer 1.0.4

Hey all,

Just pushed another small release.

  • Fixes database scanning bug.

  • Fixes drag and drop.

  • Sorts hits by score if evalue is the same.

  • Sorts hit links alphabetically if order is the same.

  • Includes length column in the tabular overview.

  • Include link to corresponding Uniprot page for hits from SwissProt database. This is just like how links to corresponding NCBI page are generated for hits from NCBI-NR database.

  • Make it possible to pull taxomony information provided by BLAST (scientific name, common name, BLAST name, kingdom) in full tabular report. More on this in a separate email.

– Priyam

Hi there! … and thanks for the update.
One problem I found after updating:
the sequenceserver upstart script found in /etc/init/sequenceserver.conf obviously fails at some point, so sequenceserver will not “respawn” anymore as it did before the update.
But executing the the same command (the line that launches sequenceserver with settings file specified) from the shell still works. Strange, isn’t it?

Could be rvm/rbenv/chruby 's doing. You using one of them?

– Priyam

Not actively at least.
I am not running anything ruby-ish on that server except for sequencserver.
Reverting the VM to the pre-update snapshot of Sequenceserver 1.0.3 for the time being…

none of these is installed on my machine.

Can you share your upstart script with me?

– Priyam


description “start and stop the sequenceserver server”

exec /bin/sh -c ‘sequenceserver --config /home/myname/.sequenceserver.conf’

start on runlevel [2345]
stop on runlevel [^2345]

respawn limit 20 5

I am not sure where it came from, but it worked so far. i just checked if changing this line:

stop on runlevel [^2345]
to this :

stop on runlevel [!2345]

(as it should probably read)
Did not fix it.

But stopping the process was not a problem anyway :wink: Letting it respawn after killing the sequenceserver process stopped working after the update.

here is what is written to /var/log/upstart/sequenceserver.log (repeated many times):

stty: standard input: Inappropriate ioctl for device

/usr/lib/ruby/gems/1.9.1/gems/sequenceserver-1.0.4/lib/sequenceserver/blast/constants.rb:4:in expand_path': couldn't find HOME environment -- expanding ~’ (ArgumentError)

from /usr/lib/ruby/gems/1.9.1/gems/sequenceserver-1.0.4/lib/sequenceserver/blast/constants.rb:4:in `module:SequenceServer

from /usr/lib/ruby/gems/1.9.1/gems/sequenceserver-1.0.4/lib/sequenceserver/blast/constants.rb:2:in `<top (required)>’

from /usr/local/lib/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:54:in `require’

from /usr/local/lib/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:54:in `require’

from /usr/lib/ruby/gems/1.9.1/gems/sequenceserver-1.0.4/lib/sequenceserver/blast.rb:8:in `<top (required)>’

from /usr/local/lib/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:54:in `require’

from /usr/local/lib/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:54:in `require’

from /usr/lib/ruby/gems/1.9.1/gems/sequenceserver-1.0.4/lib/sequenceserver.rb:11:in `<top (required)>’

from /usr/local/lib/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:54:in `require’

from /usr/local/lib/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:54:in `require’

from /usr/lib/ruby/gems/1.9.1/gems/sequenceserver-1.0.4/bin/sequenceserver:152:in `block (2 levels) in <top (required)>’

from /usr/lib/ruby/gems/1.9.1/gems/slop-3.6.0/lib/slop.rb:260:in `call’

from /usr/lib/ruby/gems/1.9.1/gems/slop-3.6.0/lib/slop.rb:260:in `parse!’

from /usr/lib/ruby/gems/1.9.1/gems/slop-3.6.0/lib/slop.rb:65:in `parse!’

from /usr/lib/ruby/gems/1.9.1/gems/sequenceserver-1.0.4/bin/sequenceserver:24:in `<top (required)>’

from /usr/bin/sequenceserver:23:in `load’

from /usr/bin/sequenceserver:23:in `’

That’s helpful. Thanks. The upstart script is probably running in a stripped environment where HOME isn’t set. Or it doesn’t know the value of HOME because it doesn’t know which user to run as. It’s probably for the same reason you are passing absolute path to config file.

See if there’s a way to tell upstart which user to run the process as. That may set HOME env variable as well. If that doesn’t work, try changing the command to the following and see if that works.

exec /bin/sh -c ‘HOME=/home/myname sequenceserver --config /home/myname/.sequenceserver.conf’

There might also be an “upstart way” to export environment variables before the command is run.

I don’t think this is something that can be or should be fixed in SequenceServer - I can’t imagine how else would SequenceServer expand ‘~/.sequenceserver’ where it puts some files.

– Priyam

Here’s how to set environment variables in upstart - http://upstart.ubuntu.com/cookbook/#environment-variables

So adding “evn HOME=/home/myname” before the exec line in your upstart script should work.

– Priyam

You’re right!
That worked.