{"id":6841,"date":"2021-05-18T14:20:12","date_gmt":"2021-05-18T13:20:12","guid":{"rendered":"https:\/\/www.blopig.com\/blog\/?p=6841"},"modified":"2021-06-01T16:21:33","modified_gmt":"2021-06-01T15:21:33","slug":"code-that-i-am-grateful-for","status":"publish","type":"post","link":"https:\/\/www.blopig.com\/blog\/2021\/05\/code-that-i-am-grateful-for\/","title":{"rendered":"Code that I am grateful for"},"content":{"rendered":"\n<p>To address some of the karmic imbalance created by computational scientists complaining about other people\u2019s code, I am listing here some (not all) of other people\u2019s code that I love. <\/p>\n\n\n\n<p><strong>IgBLAST<\/strong><\/p>\n\n\n\n<p>IgBLAST is a sequence alignment tool for immunoglobulin sequences implemented in the NCBI C++ toolkit \u2013 it applies the classic BLAST algorithm to searching immunoglobulin germline gene databases. It always impresses me how quickly it works. The paper is <a href=\"http:\/\/10.1093\/nar\/gkt382\" data-type=\"URL\" data-id=\"10.1093\/nar\/gkt382\">here<\/a>, and the authors are Jian Ye, Ning Ma, Thomas L. Madden and James M. Ostell.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p><strong>Change-O<\/strong><\/p>\n\n\n\n<p>The Change-O collection of tools is essential software for immunoinformaticians. You can use it to parse IgBLAST output into a number of useful formats which can be quality-filtered. Further down the pipeline, their tools can perform clonal assignment, germline reconstruction and finally lineage tree assignment. It is speed-optimised, has been very extensively benchmarked, and I love both how well documented it is and how up-to-date it is kept.&nbsp;Here is the <a href=\"https:\/\/doi.org\/10.1093\/bioinformatics\/btv359\">paper<\/a>, the authors being: Namita T. Gupta, Jason A. Vander Heiden, Mohamed Uduman, Daniel Gadala-Maria, Gur Yaari and Steven H. Kleinstein.   <\/p>\n\n\n\n<p><strong>IGoR<\/strong><\/p>\n\n\n\n<p>IGoR fits recombination models to antibody and TCR sequences. I particularly love this software because it makes something otherwise fairly inaccessible (fitting Bayesian models using expectation-maximisation algorithms) usable by just about anybody \u2013 installation is simple and the documentation is so clear and comprehensive. The paper is <a href=\"https:\/\/doi.org\/10.1038\/s41467-018-02832-w\">here <\/a>and the authors are Quentin Marcou, Thierry Mora and Aleksandra M. Walczak.<\/p>\n\n\n\n<p><strong>ANARCI<\/strong><\/p>\n\n\n\n<p>I must have used ANARCI a million times and I don&#8217;t know where I would be without it, so it has to be on this list. It numbers immunoglobulin amino acid sequences according to a choice of numbering schemes: Kabat, Chothia, Extended Chothia, IMGT or AHo. It was written by James Dunbar when he was in OPIG (paper <a href=\"https:\/\/doi.org\/10.1093\/bioinformatics\/btv552\">here<\/a>). As well as being indispensable to my research I also think ANARCI is such a cool name even if it did get a <a href=\"http:\/\/www.acgt.me\/blog\/2016\/1\/19\/anarci-in-the-uk-time-for-a-new-jabba-award\">JABBA award<\/a>.<\/p>\n\n\n\n<p><strong>SCALOP<\/strong><\/p>\n\n\n\n<p>This is another piece of software written by an &#8220;OPIGlet&#8221;, Catherine Wong. SCALOP is a canonical form predictor that is 800 times faster than previous approaches with state-of-the-art performance. I dig this code both for both its speed and elegance. The SCALOP paper is <a href=\"https:\/\/doi.org\/10.1093\/bioinformatics\/bty877\">here<\/a> and the authors are Wing Ki Wong (Catherine), Guy Georges, Francesca Ros, Sebastian Kelm, Alan P. Lewis, Bruck Taddese, Jinwoo Leem and Charlotte M. Deane.<\/p>\n\n\n\n<p><strong>Biopython<\/strong><\/p>\n\n\n\n<p>Biopython is a set of Python tools for just about any computational biology problem you have. This one is so deeply engrained in my psyche that I almost forgot about it &#8211; but again it is extremely well-documented and validated code that means that you can do stuff like read PDB files or perform sequence alignments without any mental energy, (something I absolutely take for granted). The paper is <a href=\"https:\/\/doi.org\/10.1093\/bioinformatics\/btp163\">here<\/a> and the authors are Peter J. A. Cock,&nbsp;Tiago Antao,&nbsp;Jeffrey T. Chang,&nbsp;Brad A. Chapman,&nbsp;Cymon J. Cox,&nbsp;Andrew Dalke,&nbsp;Iddo Friedberg,&nbsp;Thomas Hamelryck,&nbsp;Frank Kauff,&nbsp;Bartek Wilczynski,&nbsp;Michiel J. L. de Hoon.<\/p>\n\n\n\n<p>These are just a handful of pieces of code written by other people that I use most days and that I am very grateful for. There are lots of other pieces of code but I think these are the ones I have used most recently.<\/p>\n\n\n\n<p>All best wishes,<\/p>\n\n\n\n<p>Eve<\/p>\n","protected":false},"excerpt":{"rendered":"<p>To address some of the karmic imbalance created by computational scientists complaining about other people\u2019s code, I am listing here some (not all) of other people\u2019s code that I love. IgBLAST IgBLAST is a sequence alignment tool for immunoglobulin sequences implemented in the NCBI C++ toolkit \u2013 it applies the classic BLAST algorithm to searching [&hellip;]<\/p>\n","protected":false},"author":58,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","wikipediapreview_detectlinks":true,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"ngg_post_thumbnail":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[29,227],"tags":[],"ppma_author":[540],"class_list":["post-6841","post","type-post","status-publish","format-standard","hentry","category-code","category-python-code"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"authors":[{"term_id":540,"user_id":58,"is_guest":0,"slug":"eve","display_name":"Eve Richardson","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/9891300fda41850fb2fc859ef2ee18aae341c49e520511adc5684413cc356ff7?s=96&d=mm&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/posts\/6841","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/users\/58"}],"replies":[{"embeddable":true,"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/comments?post=6841"}],"version-history":[{"count":3,"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/posts\/6841\/revisions"}],"predecessor-version":[{"id":6886,"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/posts\/6841\/revisions\/6886"}],"wp:attachment":[{"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/media?parent=6841"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/categories?post=6841"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/tags?post=6841"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=6841"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}