<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">I don’t think that would work well as a general solution. What about implementing a specific hash key to designate text that would be output before the column info, such as “$$PRELUDE”? The value associated with the $$PRELUDE key would be put into the header before the column info. If the value were multiline (\n separated” VEP could nicely add the “##” before each line, so VEP maintains control over how the header is formatted.<div><br></div><div><br></div><div>This is obviously not a big deal, but would be a convenience.<br><div>
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 'Lucida Grande'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 'Lucida Grande'; font-size: 10px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><p class="MsoNormal"><font class="Apple-style-span" face="'Devanagari MT'" size="7"><span class="Apple-style-span" style="font-size: 27px; "><font class="Apple-style-span" face="'Lucida Grande'" size="3"><span class="Apple-style-span" style="font-size: 12px; "><br class="Apple-interchange-newline"></span></font><font class="Apple-style-span" size="5"><span class="Apple-style-span" style="font-size: 18px; ">ॐ</span></font></span></font></p></span><p></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 6px; margin-left: 0px; line-height: 19px; font: normal normal normal 16px/normal Helvetica; "><span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 10px; ">Michael Yourshaw</span></p><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal 'Lucida Grande'; "><span style="letter-spacing: 0px; ">UCLA Geffen School of Medicine</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal 'Lucida Grande'; "><span style="letter-spacing: 0px; ">Department of Human Genetics, Nelson Lab</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal 'Lucida Grande'; "><span style="letter-spacing: 0px; ">695 Charles E Young Drive S</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal 'Lucida Grande'; "><span style="letter-spacing: 0px; ">Gonda 5554</span></div><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 3px; margin-left: 0px; font: normal normal normal 10px/normal 'Lucida Grande'; "><span style="letter-spacing: 0px; ">Los Angeles CA 90095-8348 USA</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 3px; margin-left: 0px; font: normal normal normal 10px/normal 'Lucida Grande'; color: rgb(0, 0, 153); "><span style="text-decoration: underline; letter-spacing: 0px; "><a href="mailto:myourshaw@ucla.edu">myourshaw@ucla.edu</a></span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 6px; margin-left: 0px; font: normal normal normal 10px/normal 'Lucida Grande'; "><span style="letter-spacing: 0px; ">970.691.8299</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 6px; margin-left: 0px; font: normal normal normal 9px/normal 'Lucida Grande'; "><span style="letter-spacing: 0px; ">This message is intended only for the use of the addressee and may contain information that is PRIVILEGED and CONFIDENTIAL, and/or may contain ATTORNEY WORK PRODUCT. If you are not the intended recipient, you are hereby notified that any dissemination of this communication is strictly prohibited. If you have received this communication in error, please erase all copies of the message and its attachments and notify us immediately. Thank you.</span></p><div><font class="Apple-style-span" size="1"><span class="Apple-style-span" style="font-size: 9px; "><br></span></font></div></span><br class="Apple-interchange-newline"><br class="Apple-interchange-newline"></span></div></span></span>
</div>
<br><div><div>On Apr 5, 2012, at 01:30, Graham Ritchie wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Hi Michael,<br><br>One simple way to add arbitrary text to the header would be to just return the text you want to include as a key with the empty string as a value in the hash returned from the get_header_info method in your plugin, e.g.:<br><br>sub get_header_info {<br>    return {<br>        'Human Protein Atlas expression profile data' => '',<br>        'HPA_ovary_follicle_cells' => "Expression profile for protein in human ovary follicle cells based on immunohistochemisty",<br><span class="Apple-tab-span" style="white-space:pre">  </span>'HPA_breast_glandular_cells' => "Expression profile for protein in human breast glandular cells based on immunohistochemisty",<br>    };<br>}<br><br>Having a key in this hash does not require there to be a corresponding column. However, because the entries are returned in a hash, currently lines will be added to the header in an arbitrary order, so the code above will produce the header:<br><br>## HPA_breast_glandular_cells   : Expression profile for protein in human breast glandular cells based on immunohistochemisty<br>## Human Protein Atlas expression profile data  : <br>## HPA_ovary_follicle_cells : Expression profile for protein in human ovary follicle cells based on immunohistochemisty<br><br>It would be straightforward to sort the keys of this hash to fix the order, but then you'd have to include extra text to ensure this (e.g. prefixing each key with a number). Do you think this would be useful?<br><br>Cheers,<br><br>Graham<br><br><br>On 5 Apr 2012, at 09:02, Will McLaren wrote:<br><br><blockquote type="cite">Hi Michael,<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Unfortunately no, the headers are added by the main VEP code before<br></blockquote><blockquote type="cite">any of the plugin-specific code is run.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">You could easily add this with a simple perl one liner or awk though?<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Cheers<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Will<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">On 5 April 2012 02:27, Michael Yourshaw <<a href="mailto:myourshaw@ucla.edu">myourshaw@ucla.edu</a>> wrote:<br></blockquote><blockquote type="cite"><blockquote type="cite">Does VEP support a mechanism whereby a plugin can add ## comments to the<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">output header without causing the creation of a column?<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">For example, I might want the header to contain an introductory line,<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">followed by two annotation column definitions:<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">## Human Protein Atlas expression profile data:<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">## HPA_ovary_follicle_cells     : Expression profile for protein in human<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">ovary follicle cells based on immunohistochemisty<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">## HPA_breast_glandular_cells   : Expression profile for protein in human<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">breast glandular cells based on immunohistochemisty<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">ॐ<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Michael Yourshaw<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">UCLA Geffen School of Medicine<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Department of Human Genetics, Nelson Lab<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">695 Charles E Young Drive S<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Gonda 5554<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Los Angeles CA 90095-8348 USA<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="mailto:myourshaw@ucla.edu">myourshaw@ucla.edu</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">970.691.8299<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">This message is intended only for the use of the addressee and may contain<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">information that is PRIVILEGED and CONFIDENTIAL, and/or may contain ATTORNEY<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">WORK PRODUCT. If you are not the intended recipient, you are hereby notified<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">that any dissemination of this communication is strictly prohibited. If you<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">have received this communication in error, please erase all copies of the<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">message and its attachments and notify us immediately. Thank you.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">_______________________________________________<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Dev mailing list    <a href="mailto:Dev@ensembl.org">Dev@ensembl.org</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">List admin (including subscribe/unsubscribe):<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="http://lists.ensembl.org/mailman/listinfo/dev">http://lists.ensembl.org/mailman/listinfo/dev</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Ensembl Blog: <a href="http://www.ensembl.info/">http://www.ensembl.info/</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">_______________________________________________<br></blockquote><blockquote type="cite">Dev mailing list    <a href="mailto:Dev@ensembl.org">Dev@ensembl.org</a><br></blockquote><blockquote type="cite">List admin (including subscribe/unsubscribe): <a href="http://lists.ensembl.org/mailman/listinfo/dev">http://lists.ensembl.org/mailman/listinfo/dev</a><br></blockquote><blockquote type="cite">Ensembl Blog: <a href="http://www.ensembl.info/">http://www.ensembl.info/</a><br></blockquote><br><br>_______________________________________________<br>Dev mailing list    <a href="mailto:Dev@ensembl.org">Dev@ensembl.org</a><br>List admin (including subscribe/unsubscribe): <a href="http://lists.ensembl.org/mailman/listinfo/dev">http://lists.ensembl.org/mailman/listinfo/dev</a><br>Ensembl Blog: <a href="http://www.ensembl.info/">http://www.ensembl.info/</a><br></div></blockquote></div><br></div></body></html>