<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div>Hi Chris,</div><div><br class=""></div><div>Sorry for the slow reply. Actually The desired behavior is to capture the entire name from the fasta header and not try and divide on the pipes. NCBI BLAST versions have historically done this dividing but only for NCBI sourced data (it won’t do it for Swiss-prot for example or at least it wouldn’t with all previous versions). If it is doing that now, that is a rather big behavior change, but can be turned off by adding -show_gis to the blast command line.</div><div><br class=""></div><div>Thanks,</div><div>Carson</div><div><br class=""></div><div><br class=""></div><div><br class=""></div><div><br class=""><blockquote type="cite" class=""><div class=""><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;" class=""><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif; color:rgba(127, 127, 127, 1.0);" class=""><b class="">From: </b></span><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif;" class="">Christopher Keeling <<a href="mailto:christopher.keeling.1@ulaval.ca" class="">christopher.keeling.1@ulaval.ca</a>><br class=""></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;" class=""><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif; color:rgba(127, 127, 127, 1.0);" class=""><b class="">Subject: </b></span><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif;" class=""><b class="">Re: Maker 2.31.10: maker_functional_gff and maker_functional_fasta not parsing correctly, Can't use string ("") as a HASH ref while "strict refs" in use</b><br class=""></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;" class=""><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif; color:rgba(127, 127, 127, 1.0);" class=""><b class="">Date: </b></span><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif;" class="">July 7, 2020 at 6:12:37 PM MDT<br class=""></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;" class=""><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif; color:rgba(127, 127, 127, 1.0);" class=""><b class="">To: </b></span><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif;" class="">"<a href="mailto:maker-devel@yandell-lab.org" class="">maker-devel@yandell-lab.org</a>" <<a href="mailto:maker-devel@yandell-lab.org" class="">maker-devel@yandell-lab.org</a>><br class=""></span></div><br class=""><br class="">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" class="">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
Hi Carson,
<div class=""><br class="">
</div>
<div class="">I’m now using Maker 3.01.03, and I’m finding that maker_functional_gff and maker_functional_fasta still are not behaving as they should. I’m getting an error:</div>
<div class=""><br class="">
</div>
<div class="">
<div style="margin: 0px; font-stretch: normal; font-size: 14px; line-height: normal; font-family: Menlo; color: rgb(57, 53, 51); background-color: rgb(245, 245, 245);" class="">
<span style="font-variant-ligatures: no-common-ligatures" class="">Can't use string ("") as a HASH ref while "strict refs" in use at /usr/local/bin/maker/bin/maker_functional_gff line 55, <$IN> line 167.</span></div>
</div>
<div class=""><br class="">
</div>
<div class="">Version 2020_03 of uniprot_sprot.fasta starts like this:</div>
<div class=""><br class="">
</div>
<div class="">
<div class="">>sp|Q6GZX4|001R_FRG3G Putative transcription factor 001R OS=Frog virus 3 (isolate Goorha) OX=654924 GN=FV3-001R PE=4 SV=1</div>
</div>
<div class=""><br class="">
</div>
<div class="">Based on your scripts, this is the example of your first condition. However, I find that I need to change it (in red) to get it to work as I understand it should work:</div>
<div class=""><br class="">
</div>
<div class="">
<div style="margin: 0px; font-stretch: normal; font-size: 14px; line-height: normal; font-family: Menlo; color: rgb(57, 53, 51); background-color: rgb(245, 245, 245);" class="">
<span style="font-variant-ligatures: no-common-ligatures" class=""> #>sp|Q6GZX4|001R_FRG3G Putative transcription factor 001R OS=Frog virus 3 (isolate Goorha) OX=654924 GN=FV3-001R PE=4 SV=1</span></div>
<div style="margin: 0px; font-stretch: normal; font-size: 14px; line-height: normal; font-family: Menlo; background-color: rgb(245, 245, 245);" class="">
<span style="font-variant-ligatures: no-common-ligatures;" class=""><span class="Apple-tab-span" style="color: rgb(57, 53, 51); white-space: pre;"></span><font color="#393533" class="">if (/></font><font color="#ff2600" class="">sp\|(\S+)\|\S+</font><font color="#393533" class="">\s+(.*?)\s+OS=(.*?)\s+OX=</font><font color="#ff2600" class="">\S+</font><font color="#393533" class="">\s+(GN=(.*?)\s+)?PE=/)
{</font></span></div>
<div style="margin: 0px; font-stretch: normal; font-size: 14px; line-height: normal; font-family: Menlo; color: rgb(57, 53, 51); background-color: rgb(245, 245, 245);" class="">
<span style="font-variant-ligatures: no-common-ligatures" class=""> $id = $1;</span></div>
<div style="margin: 0px; font-stretch: normal; font-size: 14px; line-height: normal; font-family: Menlo; color: rgb(57, 53, 51); background-color: rgb(245, 245, 245);" class="">
<span style="font-variant-ligatures: no-common-ligatures" class=""> $desc = $2;</span></div>
<div style="margin: 0px; font-stretch: normal; font-size: 14px; line-height: normal; font-family: Menlo; color: rgb(57, 53, 51); background-color: rgb(245, 245, 245);" class="">
<span style="font-variant-ligatures: no-common-ligatures" class=""> $org = $3;</span></div>
<div style="margin: 0px; font-stretch: normal; font-size: 14px; line-height: normal; font-family: Menlo; background-color: rgb(245, 245, 245);" class="">
<span style="font-variant-ligatures: no-common-ligatures;" class=""><font color="#393533" class=""> $name =
</font><font color="#ff2600" class="">$5</font><font color="#393533" class=""> || ‘';</font></span></div>
</div>
<div style="margin: 0px; font-stretch: normal; font-size: 14px; line-height: normal; font-family: Menlo; color: rgb(57, 53, 51); background-color: rgb(245, 245, 245);" class="">
<span style="font-variant-ligatures: no-common-ligatures" class=""><span class="Apple-tab-span" style="white-space:pre"></span>}</span></div>
<div class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><br class="">
</span></div>
<div class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Compared to what is in </span>3.01.03:</div>
<div class="">
<div style="margin: 0px; font-stretch: normal; font-size: 14px; line-height: normal; font-family: Menlo; color: rgb(57, 53, 51); background-color: rgb(245, 245, 245);" class="">
<span style="font-variant-ligatures: no-common-ligatures" class=""> #>sp|Q6GZX4|001R_FRG3G Putative transcription factor 001R OS=Frog virus 3 (isolate Goorha) OX=654924 GN=FV3-001R PE=4 SV=1</span></div>
<div style="margin: 0px; font-stretch: normal; font-size: 14px; line-height: normal; font-family: Menlo; color: rgb(57, 53, 51); background-color: rgb(245, 245, 245);" class="">
<span style="font-variant-ligatures: no-common-ligatures" class=""> if (/>(\S+)\s+(.*?)\s+OS=(.*?)\s+OX=(.*?)\s+(GN=(.*?)\s+)?PE=/) {</span></div>
<div style="margin: 0px; font-stretch: normal; font-size: 14px; line-height: normal; font-family: Menlo; color: rgb(57, 53, 51); background-color: rgb(245, 245, 245);" class="">
<span style="font-variant-ligatures: no-common-ligatures" class=""> $id = $1;</span></div>
<div style="margin: 0px; font-stretch: normal; font-size: 14px; line-height: normal; font-family: Menlo; color: rgb(57, 53, 51); background-color: rgb(245, 245, 245);" class="">
<span style="font-variant-ligatures: no-common-ligatures" class=""> $desc = $2;</span></div>
<div style="margin: 0px; font-stretch: normal; font-size: 14px; line-height: normal; font-family: Menlo; color: rgb(57, 53, 51); background-color: rgb(245, 245, 245);" class="">
<span style="font-variant-ligatures: no-common-ligatures" class=""> $org = $3;</span></div>
<div style="margin: 0px; font-stretch: normal; font-size: 14px; line-height: normal; font-family: Menlo; color: rgb(57, 53, 51); background-color: rgb(245, 245, 245);" class="">
<span style="font-variant-ligatures: no-common-ligatures" class=""> $name = $6 || '';</span></div>
<div style="margin: 0px; font-stretch: normal; font-size: 14px; line-height: normal; font-family: Menlo; color: rgb(57, 53, 51); background-color: rgb(245, 245, 245);" class="">
<span style="font-variant-ligatures: no-common-ligatures" class=""> }</span></div>
</div>
<div class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><br class="">
</span></div>
<div class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Thus, </span>with my edits:</div>
<div class=""><span style="font-variant-ligatures: no-common-ligatures" class="">
<div style="margin: 0px; font-stretch: normal; font-size: 14px; line-height: normal; font-family: Menlo; background-color: rgb(245, 245, 245);" class="">
<span style="color: rgb(57, 53, 51); font-variant-ligatures: no-common-ligatures;" class="">>sp|Q62559|IFT52_MOUSE Intraflagellar transport protein 52 homolog OS=Mus musculus OX=10090 GN=</span><span style="font-variant-ligatures: no-common-ligatures;" class=""><font color="#393532" class="">Ift52</font></span><span style="color: rgb(57, 53, 51); font-variant-ligatures: no-common-ligatures;" class="">
PE=1 SV=2</span></div>
</span></div>
<div class=""><br class="">
</div>
<div class="">maker_functional_gff would result in:</div>
<div class=""><span style="font-variant-ligatures: no-common-ligatures" class="">
<div style="margin: 0px; font-stretch: normal; font-size: 14px; line-height: normal; font-family: Menlo; color: rgb(57, 53, 51); background-color: rgb(245, 245, 245);" class="">
<span style="font-variant-ligatures: no-common-ligatures" class="">...Note=Similar to Ift52: Intraflagellar transport protein 52 homolog (Mus musculus);</span></div>
</span></div>
<div class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><br class="">
</span></div>
<div class=""><span style="font-variant-ligatures: no-common-ligatures" class="">And maker_function_gff would result in:</span></div>
<div class=""><span style="font-variant-ligatures: no-common-ligatures" class="">
<div style="margin: 0px; font-stretch: normal; font-size: 14px; line-height: normal; font-family: Menlo; color: rgb(57, 53, 51); background-color: rgb(245, 245, 245);" class="">
<span style="font-variant-ligatures: no-common-ligatures" class="">Name:"Similar to
</span><span style="font-variant-ligatures: no-common-ligatures; color: #f13128" class=""><b class="">Ift52</b></span><span style="font-variant-ligatures: no-common-ligatures" class=""> Intraflagellar transport protein 52 homolog (Mus musculus)"</span></div>
</span></div>
<div class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><br class="">
</span></div>
<div class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Are these the expected behaviours?</span></div>
<div class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><br class="">
</span></div>
<div class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Cheers,</span></div>
<div class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><br class="">
</span></div>
<div class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Chris</span></div>
<div class="">
<div class="">
<div class="">
<div style="caret-color: rgb(0, 0, 0); font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: LucidaGrande;" class="">
<div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<br class="">
</div>
</div>
</div>
<div class="">
<blockquote type="cite" class="">
<div class="">On Mar 14, 2020, at 1:24 PM, Christopher Keeling <<a href="mailto:christopher.keeling.1@ulaval.ca" class="">christopher.keeling.1@ulaval.ca</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
Hello,
<div class=""><br class="">
</div>
<div class="">In sub parse_blast{, during parsing of uniprot fasta file:
<div class=""><br class="">
<div class="">if (/>(\S+)\s+(.*?)\s+OS=(.*?)\s+(GN=(.*?)\s+)?PE=/) {</div>
<div class=""><br class="">
</div>
<div class="">should be changed to:</div>
<div class=""><br class="">
</div>
<div class="">if (/>sp\|(\S+)\|\S+\s+(.*?)\s+OS=(.*?)\s+OX=\S+\s+(GN=(.*?)\s+)?PE=/) {</div>
<div class=""><br class="">
</div>
<div class="">to avoid "Can't use string ("") as a HASH ref while "strict refs" in use at…" errors.</div>
<div class=""><br class="">
</div>
<div class="">For UniProt release 2020_01: <a href="ftp://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/complete/uniprot_sprot.fasta.gz" class="">
ftp://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/complete/uniprot_sprot.fasta.gz</a></div>
<div class=""><br class="">
</div>
<div class="">Cheers,</div>
<div class="">Chris<br class="">
<div class="">
<div style="caret-color: rgb(0, 0, 0); font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: LucidaGrande;" class="">
<div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">
<b class=""><span lang="FR-CA" style="font-size: 12pt; font-family: "AvantGarde Bk BT"; color: gray;" class=""><br class="Apple-interchange-newline">
</span></b></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</div>
</div>
<br class=""><br class=""><br class=""><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;" class=""><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif; color:rgba(127, 127, 127, 1.0);" class=""><b class="">From: </b></span><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif;" class=""><a href="mailto:maker-devel-request@yandell-lab.org" class="">maker-devel-request@yandell-lab.org</a><br class=""></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;" class=""><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif; color:rgba(127, 127, 127, 1.0);" class=""><b class="">Subject: </b></span><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif;" class=""><b class="">confirm 4103e2b4c7646d07c7e79febdc4867fcd9cb2430</b><br class=""></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;" class=""><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif; color:rgba(127, 127, 127, 1.0);" class=""><b class="">Date: </b></span><span style="font-family: -webkit-system-font, Helvetica Neue, Helvetica, sans-serif;" class="">July 7, 2020 at 6:12:59 PM MDT<br class=""></span></div><br class=""><br class="">If you reply to this message, keeping the Subject: header intact,<br class="">Mailman will discard the held message. Do this if the message is<br class="">spam. If you reply to this message and include an Approved: header<br class="">with the list password in it, the message will be approved for posting<br class="">to the list. The Approved: header can also appear in the first line<br class="">of the body of the reply.<br class=""><br class=""></div></blockquote></div><br class=""></body></html>