Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
193 changes: 111 additions & 82 deletions doc/installation/checkInstallation.html
Original file line number Diff line number Diff line change
Expand Up @@ -381,92 +381,121 @@ <h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" sr
0309 [~,res]=evalc(&quot;runtests(<span class="string">'hmmerTests.m'</span>)&quot;);
0310 res=<a href="#_sub1" class="code" title="subfunction res = interpretResults(results)">interpretResults</a>(res);
0311 <span class="keyword">if</span> res==false
0312 fprintf([<span class="string">' This is essential to run getKEGGModelFromHomology()\n'</span><span class="keyword">...</span>
0313 <span class="string">' when using a FASTA file as input\n'</span>])
0314 <span class="keyword">end</span>
0315
0316 <span class="keyword">if</span> developMode
0317 fprintf(<span class="string">'\n=== Development binary executables ===\n'</span>);
0318 fprintf(<span class="string">'NOTE: These binaries are only required when using KEGG FTP dump files in getKEGGModelForOrganism\n'</span>);
0319
0320 fprintf(<a href="#_sub2" class="code" title="subfunction str = myStr(InputStr,len)">myStr</a>(<span class="string">' &gt; Checking CD-HIT'</span>,40))
0321 [~,res]=evalc(&quot;runtests(<span class="string">'cdhitTests.m'</span>);&quot;);
0322 <a href="#_sub1" class="code" title="subfunction res = interpretResults(results)">interpretResults</a>(res);
0323
0324 fprintf(<a href="#_sub2" class="code" title="subfunction str = myStr(InputStr,len)">myStr</a>(<span class="string">' &gt; Checking MAFFT'</span>,40))
0325 [~,res]=evalc(&quot;runtests(<span class="string">'mafftTests.m'</span>);&quot;);
0326 <a href="#_sub1" class="code" title="subfunction res = interpretResults(results)">interpretResults</a>(res);
0327 <span class="keyword">end</span>
0328 <span class="keyword">end</span>
0329
0330 fprintf(<span class="string">'\n=== Compatibility ===\n'</span>);
0331 fprintf(<a href="#_sub2" class="code" title="subfunction str = myStr(InputStr,len)">myStr</a>(<span class="string">' &gt; Checking function uniqueness'</span>,40))
0332 <a href="checkFunctionUniqueness.html" class="code" title="function status = checkFunctionUniqueness(altDirs)">checkFunctionUniqueness</a>();
0333
0334 fprintf(<span class="string">'\n*** checkInstallation complete ***\n'</span>);
0335 <span class="keyword">end</span>
0336
0337 <a name="_sub1" href="#_subfunctions" class="code">function res = interpretResults(results)</a>
0338 <span class="keyword">if</span> results.Failed==0 &amp;&amp; results.Incomplete==0
0339 fprintf(<span class="string">'Pass\n'</span>);
0340 res=true;
0341 <span class="keyword">else</span>
0342 <a href="#_sub4" class="code" title="subfunction printOrange(stringToPrint)">printOrange</a>(<span class="string">'Fail\n'</span>)
0343 fprintf(<span class="string">' Download/compile the binary and rerun checkInstallation\n'</span>);
0344 res=false;
0345 <span class="keyword">end</span>
0346 <span class="keyword">end</span>
0347
0348 <a name="_sub2" href="#_subfunctions" class="code">function str = myStr(InputStr,len)</a>
0349 str=InputStr;
0350 lenDiff = len - length(str);
0351 <span class="keyword">if</span> lenDiff &lt; 0
0352 warning(<span class="string">'String too long'</span>);
0353 <span class="keyword">else</span>
0354 str = [str blanks(lenDiff)];
0355 <span class="keyword">end</span>
0356 <span class="keyword">end</span>
0357
0358 <a name="_sub3" href="#_subfunctions" class="code">function status = makeBinaryExecutable(ravenDir)</a>
0359 <span class="comment">% This function is required to run when RAVEN is downloaded as MATLAB</span>
0360 <span class="comment">% Add-On, in which case the file permissions are not correctly set</span>
0361 <span class="keyword">if</span> ispc
0362 status = 0; <span class="comment">% No need to run on Windows</span>
0363 <span class="keyword">return</span>;
0312 fprintf([<span class="string">' HMMER is only required by getKEGGModelForOrganism() when\n'</span><span class="keyword">...</span>
0313 <span class="string">' using a FASTA file as input. If you do not use this function,\n'</span><span class="keyword">...</span>
0314 <span class="string">' this failure can be ignored.\n'</span>])
0315 <span class="comment">% On Windows, HMMER runs through Windows Subsystem for Linux</span>
0316 <span class="keyword">if</span> ispc
0317 [status,~]=system(<span class="string">'where wsl'</span>);
0318 <span class="keyword">if</span> status~=0
0319 <a href="#_sub4" class="code" title="subfunction printOrange(stringToPrint)">printOrange</a>([<span class="string">' MATLAB cannot find wsl.exe. On Windows, HMMER runs through WSL.\n'</span><span class="keyword">...</span>
0320 <span class="string">' Install it with &quot;wsl --install&quot; in a Command Prompt, then restart\n'</span><span class="keyword">...</span>
0321 <span class="string">' MATLAB (it inherits the system PATH at startup) and rerun checkInstallation\n'</span>])
0322 <span class="keyword">else</span>
0323 [status,~]=system(<span class="string">'wsl -e true'</span>);
0324 <span class="keyword">if</span> status~=0
0325 <a href="#_sub4" class="code" title="subfunction printOrange(stringToPrint)">printOrange</a>([<span class="string">' MATLAB finds wsl.exe, but cannot start a Linux distribution\n'</span><span class="keyword">...</span>
0326 <span class="string">' through it. Run &quot;wsl -l -v&quot; in a Command Prompt to check that a\n'</span><span class="keyword">...</span>
0327 <span class="string">' distribution is installed and set up, then restart MATLAB and\n'</span><span class="keyword">...</span>
0328 <span class="string">' rerun checkInstallation\n'</span>])
0329 <span class="keyword">else</span>
0330 <span class="keyword">try</span>
0331 [status,~]=system([<span class="string">'wsl &quot;'</span> getWSLpath(fullfile(ravenDir,<span class="string">'software'</span>,<span class="string">'hmmer'</span>,<span class="string">'hmmsearch'</span>)) <span class="string">'&quot; -h'</span>]);
0332 <span class="keyword">catch</span>
0333 status=1;
0334 <span class="keyword">end</span>
0335 <span class="keyword">if</span> status~=0
0336 <a href="#_sub4" class="code" title="subfunction printOrange(stringToPrint)">printOrange</a>([<span class="string">' WSL works, but the RAVEN HMMER binary cannot be run in it.\n'</span><span class="keyword">...</span>
0337 <span class="string">' Check that the files in software/hmmer are present and that\n'</span><span class="keyword">...</span>
0338 <span class="string">' the drive holding RAVEN is accessible from WSL\n'</span>])
0339 <span class="keyword">end</span>
0340 <span class="keyword">end</span>
0341 <span class="keyword">end</span>
0342 <span class="keyword">end</span>
0343 <span class="keyword">end</span>
0344
0345 <span class="keyword">if</span> developMode
0346 fprintf(<span class="string">'\n=== Development binary executables ===\n'</span>);
0347 fprintf(<span class="string">'NOTE: These binaries are only required when using KEGG FTP dump files in getKEGGModelForOrganism\n'</span>);
0348
0349 fprintf(<a href="#_sub2" class="code" title="subfunction str = myStr(InputStr,len)">myStr</a>(<span class="string">' &gt; Checking CD-HIT'</span>,40))
0350 [~,res]=evalc(&quot;runtests(<span class="string">'cdhitTests.m'</span>);&quot;);
0351 <a href="#_sub1" class="code" title="subfunction res = interpretResults(results)">interpretResults</a>(res);
0352
0353 fprintf(<a href="#_sub2" class="code" title="subfunction str = myStr(InputStr,len)">myStr</a>(<span class="string">' &gt; Checking MAFFT'</span>,40))
0354 [~,res]=evalc(&quot;runtests(<span class="string">'mafftTests.m'</span>);&quot;);
0355 <a href="#_sub1" class="code" title="subfunction res = interpretResults(results)">interpretResults</a>(res);
0356 <span class="keyword">end</span>
0357 <span class="keyword">end</span>
0358
0359 fprintf(<span class="string">'\n=== Compatibility ===\n'</span>);
0360 fprintf(<a href="#_sub2" class="code" title="subfunction str = myStr(InputStr,len)">myStr</a>(<span class="string">' &gt; Checking function uniqueness'</span>,40))
0361 <a href="checkFunctionUniqueness.html" class="code" title="function status = checkFunctionUniqueness(altDirs)">checkFunctionUniqueness</a>();
0362
0363 fprintf(<span class="string">'\n*** checkInstallation complete ***\n'</span>);
0364 <span class="keyword">end</span>
0365 binDir = fullfile(ravenDir,<span class="string">'software'</span>);
0366
0367 binList = {fullfile(binDir,<span class="string">'blast+'</span>,<span class="string">'blastp'</span>); fullfile(binDir,<span class="string">'blast+'</span>,<span class="string">'blastp.mac'</span>);
0368 fullfile(binDir,<span class="string">'blast+'</span>,<span class="string">'makeblastdb'</span>); fullfile(binDir,<span class="string">'blast+'</span>,<span class="string">'makeblastdb.mac'</span>);
0369 fullfile(binDir,<span class="string">'cd-hit'</span>,<span class="string">'cd-hit'</span>); fullfile(binDir,<span class="string">'cd-hit'</span>,<span class="string">'cd-hit.mac'</span>);
0370 fullfile(binDir,<span class="string">'diamond'</span>,<span class="string">'diamond'</span>); fullfile(binDir,<span class="string">'diamond'</span>,<span class="string">'diamond.mac'</span>);
0371 fullfile(binDir,<span class="string">'hmmer'</span>,<span class="string">'hmmbuild'</span>); fullfile(binDir,<span class="string">'hmmer'</span>,<span class="string">'hmmbuild.mac'</span>);
0372 fullfile(binDir,<span class="string">'hmmer'</span>,<span class="string">'hmmsearch'</span>); fullfile(binDir,<span class="string">'hmmer'</span>,<span class="string">'hmmsearch.mac'</span>);
0373 fullfile(binDir,<span class="string">'GLPKmex'</span>,<span class="string">'glpkcc.mexa64'</span>); fullfile(binDir,<span class="string">'GLPKmex'</span>,<span class="string">'glpkcc.mexglx'</span>); fullfile(binDir,<span class="string">'GLPKmex'</span>,<span class="string">'glpkcc.mexmaci64'</span>); fullfile(binDir,<span class="string">'GLPKmex'</span>,<span class="string">'glpkcc.mexmaca64'</span>);
0374 fullfile(binDir,<span class="string">'libSBML'</span>,<span class="string">'TranslateSBML_RAVEN.mexa64'</span>); fullfile(binDir,<span class="string">'libSBML'</span>,<span class="string">'TranslateSBML_RAVEN.mexglx'</span>); fullfile(binDir,<span class="string">'libSBML'</span>,<span class="string">'TranslateSBML_RAVEN.mexmaci64'</span>); fullfile(binDir,<span class="string">'libSBML'</span>,<span class="string">'TranslateSBML_RAVEN.mexmaca64'</span>);
0375 fullfile(binDir,<span class="string">'libSBML'</span>,<span class="string">'OutputSBML_RAVEN.mexa64'</span>); fullfile(binDir,<span class="string">'libSBML'</span>,<span class="string">'OutputSBML_RAVEN.mexglx'</span>); fullfile(binDir,<span class="string">'libSBML'</span>,<span class="string">'OutputSBML_RAVEN.mexmaci64'</span>); fullfile(binDir,<span class="string">'libSBML'</span>,<span class="string">'OutputSBML_RAVEN.mexmaca64'</span>);
0376 fullfile(binDir,<span class="string">'mafft'</span>,<span class="string">'mafft-linux64'</span>,<span class="string">'mafft.bat'</span>);
0377 fullfile(binDir,<span class="string">'mafft'</span>,<span class="string">'mafft-mac'</span>,<span class="string">'mafft.bat'</span>);};
0378
0379 <span class="keyword">for</span> i=1:numel(binList)
0380 [status,cmdout] = system([<span class="string">'chmod +x &quot;'</span> binList{i} <span class="string">'&quot;'</span>]);
0381 <span class="keyword">if</span> status ~= 0
0382 warning(<span class="string">'Failed to make %s executable: %s '</span>,binList{i},strip(cmdout))
0383 <span class="keyword">end</span>
0365
0366 <a name="_sub1" href="#_subfunctions" class="code">function res = interpretResults(results)</a>
0367 <span class="keyword">if</span> results.Failed==0 &amp;&amp; results.Incomplete==0
0368 fprintf(<span class="string">'Pass\n'</span>);
0369 res=true;
0370 <span class="keyword">else</span>
0371 <a href="#_sub4" class="code" title="subfunction printOrange(stringToPrint)">printOrange</a>(<span class="string">'Fail\n'</span>)
0372 fprintf(<span class="string">' Download/compile the binary and rerun checkInstallation\n'</span>);
0373 res=false;
0374 <span class="keyword">end</span>
0375 <span class="keyword">end</span>
0376
0377 <a name="_sub2" href="#_subfunctions" class="code">function str = myStr(InputStr,len)</a>
0378 str=InputStr;
0379 lenDiff = len - length(str);
0380 <span class="keyword">if</span> lenDiff &lt; 0
0381 warning(<span class="string">'String too long'</span>);
0382 <span class="keyword">else</span>
0383 str = [str blanks(lenDiff)];
0384 <span class="keyword">end</span>
0385 <span class="keyword">end</span>
0386
0387 <a name="_sub4" href="#_subfunctions" class="code">function printOrange(stringToPrint)</a>
0388 <span class="comment">% printOrange</span>
0389 <span class="comment">% Duplicate of RAVEN/core/printOrange is also kept here, as this function</span>
0390 <span class="comment">% should be able to run before adding RAVEN to the MATLAB path.</span>
0391 <span class="keyword">try</span> useDesktop = usejava(<span class="string">'desktop'</span>); <span class="keyword">catch</span>, useDesktop = false; <span class="keyword">end</span>
0392 <span class="keyword">if</span> useDesktop
0393 fprintf([<span class="string">'[\b'</span> stringToPrint,<span class="string">']\b'</span>])
0394 <span class="keyword">else</span>
0395 fprintf(stringToPrint)
0396 <span class="keyword">end</span>
0397 <span class="keyword">end</span></pre></div>
0387 <a name="_sub3" href="#_subfunctions" class="code">function status = makeBinaryExecutable(ravenDir)</a>
0388 <span class="comment">% This function is required to run when RAVEN is downloaded as MATLAB</span>
0389 <span class="comment">% Add-On, in which case the file permissions are not correctly set</span>
0390 <span class="keyword">if</span> ispc
0391 status = 0; <span class="comment">% No need to run on Windows</span>
0392 <span class="keyword">return</span>;
0393 <span class="keyword">end</span>
0394 binDir = fullfile(ravenDir,<span class="string">'software'</span>);
0395
0396 binList = {fullfile(binDir,<span class="string">'blast+'</span>,<span class="string">'blastp'</span>); fullfile(binDir,<span class="string">'blast+'</span>,<span class="string">'blastp.mac'</span>);
0397 fullfile(binDir,<span class="string">'blast+'</span>,<span class="string">'makeblastdb'</span>); fullfile(binDir,<span class="string">'blast+'</span>,<span class="string">'makeblastdb.mac'</span>);
0398 fullfile(binDir,<span class="string">'cd-hit'</span>,<span class="string">'cd-hit'</span>); fullfile(binDir,<span class="string">'cd-hit'</span>,<span class="string">'cd-hit.mac'</span>);
0399 fullfile(binDir,<span class="string">'diamond'</span>,<span class="string">'diamond'</span>); fullfile(binDir,<span class="string">'diamond'</span>,<span class="string">'diamond.mac'</span>);
0400 fullfile(binDir,<span class="string">'hmmer'</span>,<span class="string">'hmmbuild'</span>); fullfile(binDir,<span class="string">'hmmer'</span>,<span class="string">'hmmbuild.mac'</span>);
0401 fullfile(binDir,<span class="string">'hmmer'</span>,<span class="string">'hmmsearch'</span>); fullfile(binDir,<span class="string">'hmmer'</span>,<span class="string">'hmmsearch.mac'</span>);
0402 fullfile(binDir,<span class="string">'GLPKmex'</span>,<span class="string">'glpkcc.mexa64'</span>); fullfile(binDir,<span class="string">'GLPKmex'</span>,<span class="string">'glpkcc.mexglx'</span>); fullfile(binDir,<span class="string">'GLPKmex'</span>,<span class="string">'glpkcc.mexmaci64'</span>); fullfile(binDir,<span class="string">'GLPKmex'</span>,<span class="string">'glpkcc.mexmaca64'</span>);
0403 fullfile(binDir,<span class="string">'libSBML'</span>,<span class="string">'TranslateSBML_RAVEN.mexa64'</span>); fullfile(binDir,<span class="string">'libSBML'</span>,<span class="string">'TranslateSBML_RAVEN.mexglx'</span>); fullfile(binDir,<span class="string">'libSBML'</span>,<span class="string">'TranslateSBML_RAVEN.mexmaci64'</span>); fullfile(binDir,<span class="string">'libSBML'</span>,<span class="string">'TranslateSBML_RAVEN.mexmaca64'</span>);
0404 fullfile(binDir,<span class="string">'libSBML'</span>,<span class="string">'OutputSBML_RAVEN.mexa64'</span>); fullfile(binDir,<span class="string">'libSBML'</span>,<span class="string">'OutputSBML_RAVEN.mexglx'</span>); fullfile(binDir,<span class="string">'libSBML'</span>,<span class="string">'OutputSBML_RAVEN.mexmaci64'</span>); fullfile(binDir,<span class="string">'libSBML'</span>,<span class="string">'OutputSBML_RAVEN.mexmaca64'</span>);
0405 fullfile(binDir,<span class="string">'mafft'</span>,<span class="string">'mafft-linux64'</span>,<span class="string">'mafft.bat'</span>);
0406 fullfile(binDir,<span class="string">'mafft'</span>,<span class="string">'mafft-mac'</span>,<span class="string">'mafft.bat'</span>);};
0407
0408 <span class="keyword">for</span> i=1:numel(binList)
0409 [status,cmdout] = system([<span class="string">'chmod +x &quot;'</span> binList{i} <span class="string">'&quot;'</span>]);
0410 <span class="keyword">if</span> status ~= 0
0411 warning(<span class="string">'Failed to make %s executable: %s '</span>,binList{i},strip(cmdout))
0412 <span class="keyword">end</span>
0413 <span class="keyword">end</span>
0414 <span class="keyword">end</span>
0415
0416 <a name="_sub4" href="#_subfunctions" class="code">function printOrange(stringToPrint)</a>
0417 <span class="comment">% printOrange</span>
0418 <span class="comment">% Duplicate of RAVEN/core/printOrange is also kept here, as this function</span>
0419 <span class="comment">% should be able to run before adding RAVEN to the MATLAB path.</span>
0420 <span class="keyword">try</span> useDesktop = usejava(<span class="string">'desktop'</span>); <span class="keyword">catch</span>, useDesktop = false; <span class="keyword">end</span>
0421 <span class="keyword">if</span> useDesktop
0422 fprintf([<span class="string">'[\b'</span> stringToPrint,<span class="string">']\b'</span>])
0423 <span class="keyword">else</span>
0424 fprintf(stringToPrint)
0425 <span class="keyword">end</span>
0426 <span class="keyword">end</span></pre></div>
<hr><address>Generated by <strong><a href="http://www.artefact.tk/software/matlab/m2html/" title="Matlab Documentation in HTML">m2html</a></strong> &copy; 2005</address>
</body>
</html>
Loading
Loading