Bug report

Hi, I was trying to get the fasta for a BLAST result from the following database: http://brassicadb.cn/#/BLAST/ and received the following error message

Something went wonky

Looks like you have encountered a bug in SequenceServer. Could you please report this incident to your admin or to SequenceServer Google Group (if you are the admin), quoting the error message below?

ArgumentError - invalid byte sequence in UTF-8: /usr/local/share/gems/gems/sequenceserver-1.0.14/lib/sequenceserver/sequence.rb:197:in split' /usr/local/share/gems/gems/sequenceserver-1.0.14/lib/sequenceserver/sequence.rb:197:in block in run’ /usr/local/share/gems/gems/sequenceserver-1.0.14/lib/sequenceserver/sequence.rb:196:in each_line' /usr/local/share/gems/gems/sequenceserver-1.0.14/lib/sequenceserver/sequence.rb:196:in each’ /usr/local/share/gems/gems/sequenceserver-1.0.14/lib/sequenceserver/sequence.rb:196:in map' /usr/local/share/gems/gems/sequenceserver-1.0.14/lib/sequenceserver/sequence.rb:196:in run’ /usr/local/share/gems/gems/sequenceserver-1.0.14/lib/sequenceserver/sequence.rb:172:in initialize' /usr/local/share/gems/gems/sequenceserver-1.0.14/lib/sequenceserver/routes.rb:152:in new’ /usr/local/share/gems/gems/sequenceserver-1.0.14/lib/sequenceserver/routes.rb:152:in block in <class:Routes>' /usr/local/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1611:in call’ /usr/local/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1611:in block in compile!' /usr/local/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:975:in block (3 levels) in route!’ /usr/local/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:994:in route_eval' /usr/local/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:975:in block (2 levels) in route!’ /usr/local/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1015:in block in process_route' /usr/local/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1013:in catch’ /usr/local/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1013:in process_route' /usr/local/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:973:in block in route!’ /usr/local/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:972:in each' /usr/local/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:972:in route!’ /usr/local/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1085:in block in dispatch!' /usr/local/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1067:in block in invoke’ /usr/local/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1067:in catch' /usr/local/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1067:in invoke’ /usr/local/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1082:in dispatch!' /usr/local/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:907:in block in call!’ /usr/local/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1067:in block in invoke' /usr/local/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1067:in catch’ /usr/local/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1067:in invoke' /usr/local/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:907:in call!’ /usr/local/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:895:in call' /usr/local/share/gems/gems/rack-1.6.13/lib/rack/head.rb:13:in call’ /usr/local/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:182:in call' /usr/local/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:2013:in call’ /usr/local/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1487:in block in call' /usr/local/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1787:in synchronize’ /usr/local/share/gems/gems/sinatra-1.4.8/lib/sinatra/base.rb:1487:in call' /usr/local/share/gems/gems/sequenceserver-1.0.14/lib/sequenceserver.rb:96:in call’ /usr/local/share/gems/gems/rack-1.6.13/lib/rack/handler/webrick.rb:88:in service' /usr/share/ruby/webrick/httpserver.rb:140:in service’ /usr/share/ruby/webrick/httpserver.rb:96:in run' /usr/share/ruby/webrick/server.rb:307:in block in start_thread’

Are you the admin of brassicadb.cn? Because this issue requires attention of the person who created/manages that website. If not, please forward this message to them.

You see this error because the protein databases you searched likely contain a * in the sequence to denote translation stop.

The options are,

  1. Upgrade to SequenceServer 2.0 (https://groups.google.com/g/sequenceserver/c/c98ePBzcuVE/m/xy5opgAMBwAJ)

  2. In /usr/local/share/gems/gems/sequenceserver-1.0.14/lib/sequenceserver/sequence.rb, look for the line

Sequence.new(*line.chomp.split(’ '))

and add the following just above it:

line = line.encode(‘UTF-8’, invalid: :replace, replace: ‘X’)

This will replace * characters with X in the output. SequenceServer 2.0 handles this error in the same manner.

  1. Remove ‘*’ from the databases