Error when installing sequenceserver on new 2015 MBP OS X 10.10.3

289 views
Skip to first unread message

Michael Boyle

unread,
Jun 26, 2015, 10:48:33 AM6/26/15
to sequenc...@googlegroups.com


Hi folks,

I recently had trouble installing sequencserver on MBP running Lion (10.7.5) because installer could not find ruby header files.  Computer stolen!  Just purchased new MBP mid-2015

1st attempt:  

You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory. 

So apparently I have Gems 2.0

2nd attempt with 'sudo gem' install: 

Password:

Fetching: rack-1.6.4.gem (100%)

Successfully installed rack-1.6.4

Fetching: tilt-2.0.1.gem (100%)

Successfully installed tilt-2.0.1

Fetching: rack-protection-1.5.3.gem (100%)

Successfully installed rack-protection-1.5.3

Fetching: sinatra-1.4.6.gem (100%)

Successfully installed sinatra-1.4.6

Fetching: json-1.8.3.gem (100%)

Building native extensions.  This could take a while...

ERROR:  Error installing sequenceserver:

ERROR: Failed to build gem native extension.


    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb

mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/include/ruby.h



Gem files will remain installed in /Library/Ruby/Gems/2.0.0/gems/json-1.8.3 for inspection.

Results logged to /Library/Ruby/Gems/2.0.0/gems/json-1.8.3/ext/json/ext/generator/gem_make.out 


Same original problem with ruby header files, now with OS X 10.10.3 as with OS X 10.7.5


Please help!  I am not command line savvy

Anurag Priyam

unread,
Jun 27, 2015, 1:59:49 AM6/27/15
to sequenc...@googlegroups.com
I think you will need to install XCode Command Line Tools: run "xcode-install --select" command from the Terminal app and then try installing SequenceServer.


-- Priyam

--
You received this message because you are subscribed to the Google Groups "sequenceserver" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sequenceserve...@googlegroups.com.
To post to this group, send email to sequenc...@googlegroups.com.
Visit this group at http://groups.google.com/group/sequenceserver.
To view this discussion on the web visit https://groups.google.com/d/msgid/sequenceserver/a203174a-00e9-4982-a271-431452e10518%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Michael Boyle

unread,
Jun 30, 2015, 12:51:39 PM6/30/15
to sequenc...@googlegroups.com
Priyam,

Thank your for quick reply.  I have been trying to work through this.  But again, I am not familiar with command-line or moving through the file system.

I installed the Xcode command line tools (you had the command backwards: should be 'Xcode-select --install'  not "xcode-install --select"

Now, I am trying to install latest BLAST+ (ncbi-blast-2.2.31+).  From the link on your sequenceserver.com page, hncbi sent a long list of files, several are .tar.gz files . . . I have used only the ncbi-blast-2.2.31+.dmg     GUI said it was installed successfully on HD.  But, I cannot find it.  Where is it located (which path exactly)?

Terminal not responding to "gem install" or "sudo gem install sequenceserver"

PLEASE, give me specific steps to get this working.   I am on a MacBook Pro, OS X 10.10.3 Yosemite.

My apologies for lack of knowledge.

Michael

--
You received this message because you are subscribed to a topic in the Google Groups "sequenceserver" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sequenceserver/g5z2XivFcdM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sequenceserve...@googlegroups.com.

To post to this group, send email to sequenc...@googlegroups.com.
Visit this group at http://groups.google.com/group/sequenceserver.

Anurag Priyam

unread,
Jul 2, 2015, 4:13:45 AM7/2/15
to sequenc...@googlegroups.com
Hey Michael,

Sorry about getting the xcode command wrong.

Ok. Let's take things step by step.

1. Did the xcode command work for you?

In the Terminal app, type "gcc" (without quotes) and press enter. If it doesn't say "command not found" or so, most likely the "xcode-select --install" command worked for you.


2. Then install SequenceServer by typing the following in Terminal app, and then pressing enter.

sudo gem install sequenceserver

This command can take a couple of seconds to complete or even before it generates any output. The resulting output will contain "Thank you for installing SequenceServer" towards the bottom.

3. Now type "sequenceserver" in Terminal and press enter. It will guide you through the rest, including detecting / downloading BLAST binaries. The attached screenshot shows how things are likely to look.

If step 1 and 2 block your Terminal window, just (close it and) open a new Terminal window.

-- Priyam

setup.png

Michael Boyle

unread,
Jul 8, 2015, 5:46:38 PM7/8/15
to sequenc...@googlegroups.com
Hello Priyam,

Progress!  following your instructions, Xcode command worked, and Sequenceserver was successfully installed.  I have just utilised sequenceserver to build my BLAST+ databases automatically / interactively.

MacBook-Pro-de-MJB:~ mjb$ sequenceserver


Could not locate BLAST+ binaries.



>> /Users/mjb/.sequenceserver/ncbi-blast-2.2.30+ 



Database dir not set.



>> /Users/mjb/.sequenceserver/ncbi-blast-2.2.30+/db_sipunc_trans



Search for FASTA files (.fa, .fasta, .fna) in '/Users/mjb/.sequenceserver/ncbi-blast-2.2.30+/db_sipunc_trans' and try

creating BLAST+ databases? [y/n] (Default: y).


>> y


Searching ...


[2015-07-08 16:14:50] WARN  Will listen on all interfaces (0.0.0.0). Consider using 127.0.0.1 (--host option).

** SequenceServer is ready.

   Go to http://localhost:4567 in your browser and start BLASTing!

   Press CTRL+C to quit.

WARN: tilt autoloading 'tilt/erb' in a non thread-safe way; explicit require 'tilt/erb' suggested.

2015-07-08 16:20:24 - Ox::ParseError - invalid format, elements overlap at line 7422, column 26 [parse.c:561]


QUESTION 1: what do the "WARN" messages mean, and how should I proceed?


During the db setup, all annotated.fa files produced db's, however all translated.annotated.fa files produced errors


Example: 


BLAST Database creation error: Error: Duplicate seq_ids are found: 

LCL|AGALMA/GENE:10037.2/ISOFORM:1


QUESTION 2: can I remove duplicate seq ids and rebuild translated.annotated.fa db's?



After the annotated.fa db's were built, sequence server opened with annotated.fa db's listed and I attempted my first blast (TBLASTN), and received the following error message (with suggestion to contact Sequenceserver admin):


QUESTION 3: how should I proceed?  seems to be a parsing issue?


Ox::ParseError - invalid format, elements overlap at line 7422, column 26 [parse.c:561]
:
/Library/Ruby/Gems/2.0.0/gems/sequenceserver-1.0.4/lib/sequenceserver/blast/report.rb:37:in `parse'
/Library/Ruby/Gems/2.0.0/gems/sequenceserver-1.0.4/lib/sequenceserver/blast/report.rb:37:in `generate'
/Library/Ruby/Gems/2.0.0/gems/sequenceserver-1.0.4/lib/sequenceserver/blast/report.rb:21:in `initialize'
/Library/Ruby/Gems/2.0.0/gems/sequenceserver-1.0.4/lib/sequenceserver/blast.rb:96:in `new'
/Library/Ruby/Gems/2.0.0/gems/sequenceserver-1.0.4/lib/sequenceserver/blast.rb:96:in `run'
/Library/Ruby/Gems/2.0.0/gems/sequenceserver-1.0.4/lib/sequenceserver/routes.rb:125:in `block in <class:Routes>'
/Library/Ruby/Gems/2.0.0/gems/sinatra-1.4.6/lib/sinatra/base.rb:1610:in `call'
/Library/Ruby/Gems/2.0.0/gems/sinatra-1.4.6/lib/sinatra/base.rb:1610:in `block in compile!'
/Library/Ruby/Gems/2.0.0/gems/sinatra-1.4.6/lib/sinatra/base.rb:974:in `[]'
/Library/Ruby/Gems/2.0.0/gems/sinatra-1.4.6/lib/sinatra/base.rb:974:in `block (3 levels) in route!'
/Library/Ruby/Gems/2.0.0/gems/sinatra-1.4.6/lib/sinatra/base.rb:993:in `route_eval'
/Library/Ruby/Gems/2.0.0/gems/sinatra-1.4.6/lib/sinatra/base.rb:974:in `block (2 levels) in route!'
/Library/Ruby/Gems/2.0.0/gems/sinatra-1.4.6/lib/sinatra/base.rb:1014:in `block in process_route'
/Library/Ruby/Gems/2.0.0/gems/sinatra-1.4.6/lib/sinatra/base.rb:1012:in `catch'
/Library/Ruby/Gems/2.0.0/gems/sinatra-1.4.6/lib/sinatra/base.rb:1012:in `process_route'
/Library/Ruby/Gems/2.0.0/gems/sinatra-1.4.6/lib/sinatra/base.rb:972:in `block in route!'
/Library/Ruby/Gems/2.0.0/gems/sinatra-1.4.6/lib/sinatra/base.rb:971:in `each'
/Library/Ruby/Gems/2.0.0/gems/sinatra-1.4.6/lib/sinatra/base.rb:971:in `route!'
/Library/Ruby/Gems/2.0.0/gems/sinatra-1.4.6/lib/sinatra/base.rb:1084:in `block in dispatch!'
/Library/Ruby/Gems/2.0.0/gems/sinatra-1.4.6/lib/sinatra/base.rb:1066:in `block in invoke'
/Library/Ruby/Gems/2.0.0/gems/sinatra-1.4.6/lib/sinatra/base.rb:1066:in `catch'
/Library/Ruby/Gems/2.0.0/gems/sinatra-1.4.6/lib/sinatra/base.rb:1066:in `invoke'
/Library/Ruby/Gems/2.0.0/gems/sinatra-1.4.6/lib/sinatra/base.rb:1081:in `dispatch!'
/Library/Ruby/Gems/2.0.0/gems/sinatra-1.4.6/lib/sinatra/base.rb:906:in `block in call!'
/Library/Ruby/Gems/2.0.0/gems/sinatra-1.4.6/lib/sinatra/base.rb:1066:in `block in invoke'
/Library/Ruby/Gems/2.0.0/gems/sinatra-1.4.6/lib/sinatra/base.rb:1066:in `catch'
/Library/Ruby/Gems/2.0.0/gems/sinatra-1.4.6/lib/sinatra/base.rb:1066:in `invoke'
/Library/Ruby/Gems/2.0.0/gems/sinatra-1.4.6/lib/sinatra/base.rb:906:in `call!'
/Library/Ruby/Gems/2.0.0/gems/sinatra-1.4.6/lib/sinatra/base.rb:894:in `call'
/Library/Ruby/Gems/2.0.0/gems/rack-1.6.4/lib/rack/head.rb:13:in `call'
/Library/Ruby/Gems/2.0.0/gems/sinatra-1.4.6/lib/sinatra/base.rb:181:in `call'
/Library/Ruby/Gems/2.0.0/gems/sinatra-1.4.6/lib/sinatra/base.rb:2021:in `call'
/Library/Ruby/Gems/2.0.0/gems/sinatra-1.4.6/lib/sinatra/base.rb:1486:in `block in call'
/Library/Ruby/Gems/2.0.0/gems/sinatra-1.4.6/lib/sinatra/base.rb:1795:in `synchronize'
/Library/Ruby/Gems/2.0.0/gems/sinatra-1.4.6/lib/sinatra/base.rb:1486:in `call'
/Library/Ruby/Gems/2.0.0/gems/sequenceserver-1.0.4/lib/sequenceserver.rb:90:in `call'
/Library/Ruby/Gems/2.0.0/gems/rack-1.6.4/lib/rack/handler/webrick.rb:88:in `service'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/webrick/httpserver.rb:138:in `service'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/webrick/httpserver.rb:94:in `run'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/webrick/server.rb:295:in `block in start_thread'

Anurag Priyam

unread,
Jul 9, 2015, 1:56:27 AM7/9/15
to sequenc...@googlegroups.com
Cool that you have it running now :).

Depends on your use case if you want to heed to the "will listen on all interfaces" warning. It just means that SequenceServer won't only be accessible at you at http://localhost:4567, but also to others at http://your-ip:4567. If you are on a local area network, people in the same network can access your SequeceServer setup. If you have a public IP, anyone connected to the Internet can. Of course, only if you share your IP with people.

Just remove all BLAST files (.nhr, .nin, etc.) created for translated.annotated.fa. Then make the ids unique - how you do this is upto you. Then run "sequenceserver -m" from the Terminal. Finally, restart SequenceServer.

The parse error is really a bug in BLAST which generates malformed XML when there are duplicate ids across different FASTA files. To workaround this bug, either:
1. Ensure your sequence ids are globally unique. Perhaps by prefixing all sequence ids with a per FASTA mnemonic.
2. BLAST against only one database at a time.

See [1] for more details on the previous issue, if you want. It's on our todo list to include a more helpful error message for this issue [2]. Sorry you had to go through this.


-- Priyam

Michael Boyle

unread,
Jul 14, 2015, 7:46:46 PM7/14/15
to sequenc...@googlegroups.com
Hello Priyam,

Almost there!  all fasta files reformatted with unique sequence IDs in each file.  I am now attempting to build my db's.  When I build them automatically/interactively (sequenceserver -m) or (sequenceserver -m -d), the db's are generated correctly and work in the GUI.  However, I would like to build them with the " makeblastdb " command, which provides more labeling flexibility and ability to parse the sequence IDs.

My test database (.fa file) is in  " ncbi-blast-2.2.30+ " , which resides within the " .sequenceserver " directory.

for example:

/Users/mjb/.sequenceserver/ncbi-blast-2.2.30+/db_makeblastdb_test


I ran the " makeblastdb " command from within " ncbi-blast-2.2.30+ " as the working directory, with a test file:

MacBook-Pro-de-MJB:ncbi-blast-2.2.30+ mjb$ makeblastdb -dbtype nuc -title MB3nt_Np_adult -in db_makeblastdb_test -parse_seqids

-bash: makeblastdb: command not found



The " makeblastdb " and similar commands, is definitely in the " bin "  


for example: 


/Users/mjb/.sequenceserver/ncbi-blast-2.2.30+/bin


I also get the same " command not found " when I try to run makeblastdb from other directories, or try the -help or man programs


for example:


MacBook-Pro-de-MJB:bin mjb$ makeblastdb -help

-bash: makeblastdb: command not found


MacBook-Pro-de-MJB:bin mjb$ cd makeblastdb 

-bash: cd: makeblastdb: Not a directory


MacBook-Pro-de-MJB:bin mjb$ man makeblastdb 

No manual entry for makeblastdb


I will be generating databases for 22 individual FASTA sequence files, and don't mind adjusting the command string for each, so I can also use " -parse_seqids "


(1) How do I get " makeblastdb " working?  

(2) What directory path should I be working out of to run this command?  

(3) Where should I place my database directory of FASTA files when I run " makeblastdb " ?


THANKS!!!

Anurag Priyam

unread,
Jul 15, 2015, 1:33:40 AM7/15/15
to sequenc...@googlegroups.com
SequenceServer already uses -parse_seqids (and also -hash_index) to create databases.

I would like to know how does using makeblastdb directly provide more labelling flexibility.

SequenceServer places the BLAST+ binaries in in ~/.sequenceserver/ncbi-blast-2.2.30+/bin, as you rightly found out. ~ in path name means current user's home directory (/Users/mjb) in your case.

You can run makeblastdb and other BLAST commands from any directory by specifying their full path:

$ ~/.sequenceserver/ncbi-blast-2.2.30+/bin/makeblastdb -help

If you are in ~/.sequenceserver/ncbi-blast-2.2.30+/bin, you can do:

$ ./makeblastdb -help

-- Priyam


Reply all
Reply to author
Forward
0 new messages