1<!DOCTYPE html> 2<html lang="en"> 3 4<head> 5 <meta charset="utf-8"> 6 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 7 <title>Keeping up with scientific literature</title> 8 <meta name="viewport" content="width=device-width"> 9 <meta name="description" content="Professional site for Eric Y. Zhao, MD, PhD, radiation oncologist, cancer researcher, data scientist."> 10 <link rel="icon" href="/img/logo/logo.png"> 11 12 13 <!-- Custom CSS & Bootstrap Core CSS - Uses Bootswatch Flatly Theme: http://bootswatch.com/flatly/ --> 14 15 <link rel="canonical" href="https://eyzhao.github.io//research/article/2020/05/09/scientific-literature/"> 16 17 <link rel="stylesheet" href="/style.css"> 18 19 <!-- Custom Fonts --> 20 <link rel="stylesheet" href="/css/font-awesome/css/font-awesome.min.css"> 21 <link href="https://fonts.googleapis.com/css?family=Montserrat:400,700" rel="stylesheet" type="text/css"> 22 <link href='https://fonts.googleapis.com/css?family=Kaushan+Script' rel='stylesheet' type='text/css'> 23 <link href="https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic" rel="stylesheet" type="text/css"> 24 <link href='https://fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic,700italic' rel='stylesheet' type='text/css'> 25 <link href='https://fonts.googleapis.com/css?family=Roboto+Slab:400,100,300,700' rel='stylesheet' type='text/css'>
vendor: 87 bytes, lines 25-29
25 26 27 <script src="https://www.google.com/recaptcha/api.js" async defer></script> 28 29
29<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> 30 <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> 31 <!--[if lt IE 9]> 32
32<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
32 33
33<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
33 34 <![endif]--> 35 36</head> 37 38 39 40 <!-- Stuff from mediumish --> 41 <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 42 43 <title>Keeping up with scientific literature | </title> 44 45 <!-- Begin Jekyll SEO tag v2.7.1 --> 46<title>Keeping up with scientific literature | Eric Zhao</title> 47<meta name="generator" content="Jekyll v3.9.0" /> 48<meta property="og:title" content="Keeping up with scientific literature" /> 49<meta property="og:locale" content="en_US" /> 50<meta name="description" content="Methods I use to keep on top of the scientific literature" /> 51<meta property="og:description" content="Methods I use to keep on top of the scientific literature" /> 52<link rel="canonical" href="https://eyzhao.github.io//research/article/2020/05/09/scientific-literature/" /> 53<meta property="og:url" content="https://eyzhao.github.io//research/article/2020/05/09/scientific-literature/" /> 54<meta property="og:site_name" content="Eric Zhao" /> 55<meta property="og:image" content="https://eyzhao.github.io//img/posts/library-bookshelves.jpg" /> 56<meta property="og:type" content="article" /> 57<meta property="article:published_time" content="2020-05-09T00:00:00+00:00" /> 58<meta name="twitter:card" content="summary_large_image" /> 59<meta property="twitter:image" content="https://eyzhao.github.io//img/posts/library-bookshelves.jpg" /> 60<meta property="twitter:title" content="Keeping up with scientific literature" />
61<script type="application/ld+json"> 62{"description":"Methods I use to keep on top of the scientific literature","image":"https://eyzhao.github.io//img/posts/library-bookshelves.jpg","url":"https://eyzhao.github.io//research/article/2020/05/09/scientific-literature/","headline":"Keeping up with scientific literature","@type":"BlogPosting","dateModified":"2020-05-09T00:00:00+00:00","datePublished":"2020-05-09T00:00:00+00:00","mainEntityOfPage":{"@type":"WebPage","@id":"https://eyzhao.github.io//research/article/2020/05/09/scientific-literature/"},"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"https://eyzhao.github.io//img/logo/logo.png"}},"@context":"https://schema.org"}</script>
62 63<!-- End Jekyll SEO tag --> 64 65 66 <link href="/assets/css/screen.css" rel="stylesheet"> 67
67<script src="/assets/js/jquery.min.js"></script>
67 68 69 70 71 72<!-- change your GA id in _config.yml -->
73<script>
vendor: 328 bytes, lines 73-78
73 74(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 75(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 76m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 77})(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 78ga('create', '
78UA-46278016-1
vendor: 36 bytes, lines 78-79
78', 'auto'); 79ga('send', 'pageview');
80</script>
80 81 82 83 84<!--<body class="layout-post">--> 85<body id="page-top" class="index"> 86 87 <!-- Navigation --> 88 <nav class="navbar-default navbar-shrink navbar-post" style = 'position: relative'> 89 <div class="container"> 90 <!-- Brand and toggle get grouped for better mobile display --> 91 <div class="navbar-header page-scroll"> 92 <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> 93 <span class="sr-only">Toggle navigation</span> 94 <span class="icon-bar"></span> 95 <span class="icon-bar"></span> 96 <span class="icon-bar"></span> 97 </button> 98 </div> 99 100 <!-- Collect the nav links, forms, and other content for toggling --> 101 <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> 102 <a href='/'> 103 <img src='/img/logo/logo.png' class='nav-logo'/> 104 </a> 105 106 <ul class="nav navbar-nav navbar-right"> 107 <li class="hidden"> 108 <a href="#page-top"></a> 109 </li> 110 111 <li> 112 <a href="/blog">Return to Blog</a> 113 </li> 114 115 <li> 116 <a href="/">Return to Main Site</a> 117 </li> 118 119 </ul> 120 </div> 121 <!-- /.navbar-collapse --> 122 </div> 123 <!-- /.container-fluid --> 124 </nav> 125 126<!-- 127 128 <a class="page-link" href="/categories">Categories</a> 129 130 131 132 <a class="page-link" href="/blog/">Home</a> 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 --> 149 150 151 152 <!-- defer loading of font and font awesome --> 153 <noscript id="deferred-styles"> 154 <link href="https://fonts.googleapis.com/css?family=Righteous%7CMerriweather:300,300i,400,400i,700,700i" rel="stylesheet"> 155 <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous"> 156 </noscript> 157 158 159<div class="site-content"> 160 161<div class="container"> 162 163<!-- Site Title 164================================================== --> 165<div class="mainheading"> 166 <img src='/img/logo/logo.png' id='blog-site-logo' /> 167 <div class='blogtitle'> 168 <h1 class="sitetitle">Eric Zhao</h1> 169 <p class="lead"> 170 Cancer Doctor / Data Scientist 171 </p> 172 </div> 173 <div style='clear: both'></div> 174</div> 175 176<!-- Content 177================================================== --> 178<div class="main-content"> 179 <!-- Begin Article 180================================================== --> 181<div class="container"> 182 <div class="row"> 183 184 <!-- Post Share --> 185 <div class="col-md-2 pl-0"> 186 <div class="share sticky-top sticky-top-offset"> 187 <p> 188 Share 189 </p> 190 <ul> 191 <li class="ml-1 mr-1"> 192 <a target="_blank" href="https://twitter.com/intent/tweet?text=Keeping up with scientific literature&url=https://eyzhao.github.io//research/article/2020/05/09/scientific-literature/" onclick="window.open(this.href, 'twitter-share', 'width=550,height=235');return false;"> 193 <i class="fab fa-twitter"></i> 194 </a> 195 </li> 196 197 <li class="ml-1 mr-1"> 198 <a target="_blank" href="https://facebook.com/sharer.php?u=https://eyzhao.github.io//research/article/2020/05/09/scientific-literature/" onclick="window.open(this.href, 'facebook-share', 'width=550,height=435');return false;"> 199 <i class="fab fa-facebook-f"></i> 200 </a> 201 </li> 202 203 <li class="ml-1 mr-1"> 204 <a target="_blank" href="https://www.linkedin.com/shareArticle?mini=true&url=https://eyzhao.github.io//research/article/2020/05/09/scientific-literature/" onclick="window.open(this.href, 'width=550,height=435');return false;"> 205 <i class="fab fa-linkedin-in"></i> 206 </a> 207 </li> 208 209 </ul> 210 211 <div class="sep"> 212 </div> 213 <ul> 214 <li> 215 <a class="small smoothscroll" href="#disqus_thread"></a> 216 </li> 217 </ul> 218 219</div> 220 221 </div> 222 223 <!-- Post --> 224 225 226 <div class="col-md-9 flex-first flex-md-unordered"> 227 <div class="mainheading"> 228 229 <!-- Author Box --> 230 231 232 <!-- Post Title --> 233 <h1 class="posttitle">Keeping up with scientific literature</h1> 234 235 </div> 236 237 <!-- Adsense if enabled from _config.yml (change your pub id and slot) --> 238 239 <!-- End Adsense --> 240 241 <!-- Post Featured Image --> 242 243 244 245 <img class="featured-image img-fluid" src="/img/posts/library-books
245helves.jpg" alt="Keeping up with scientific literature"> 246 247 248 249 <!-- End Featured Image --> 250 251 <!-- Post Content --> 252 <div class="article-post"> 253 <!-- Toc if any --> 254 255 <!-- End Toc --> 256 <p>The march of scientific progress waits for no-one. This is what makes what we do 257exciting, but also at times overwhelming. It has been rightly noted that 258<a href="https://www.sciencemag.org/careers/2016/11/how-keep-scientific-literature">keeping up with literature can be a bit of a chore, and even at times disheartening</a>, 259if we find the exciting ideas we are pursuing have been done before. And yet, 260my PhD supervisorâs words echo in my head, âan hour in the library could save 261you a week in the lab.â He has been correct many times.</p> 262 263<p>In order for research to have impact, it must fit its audience, context, 264and scope. This requires a good understanding of the surrounding scientific 265literature. Putting aside the fact that reading academic articles is a 266skill requiring deliberate practice and patient persistence, todayâs 267academic may find themselves deluged by the sheer volume of published 268research. At the start of medical school, I was told that studying 269medicine would be like drinking from a fire hydrant. This is doubly true 270of research, except you cannot be sure when the stream ends or if you are 271even at the right hydrant. Knowledge and established paradigms 272become outdated so quickly that they often feel like passing fads.</p> 273 274<p>Iâd like to review some methods that Iâve personally tried to stay on 275top of things. Iâll also go into the latest method 276Iâve been trying, which makes use of the 277<a href="http://scireader.org/">SciReader</a> recommender engine.</p> 278 279<h2 id="what-ive-tried">What Iâve tried</h2> 280 281<p>In my search to tame the information torrent, I came across the 282<a href="https://fraserlab.com/2013/09/28/The-Fraser-Lab-method-of-following-the-scientific-literature/">Fraser Lab method at UCSF</a>. 283In short, they endorse the use of RSS feeds browsed with a central 284app such as <a href="https://feedly.com/">Feedly</a> or <a href="https://www.inoreader.com/">InoReader</a>. 285This method saw me through the last half of my PhD, and often made me 286the first among my peers to come across relevant new papers. 287Over a few years, I built up a list of over 600 papers of interest. 288The downside was the upkeep. Working in an interdisciplinary 289field, I needed to keep abreast of papers from a wide range of journals, 290and screening the titles of hundreds of articles for a 291handful of relevant ones became tedious. I would fall behind whenever 292deadlines loomed, and after returning to the clinical world, 293this method fell by the wayside.</p> 294 295<p>What became more useful were the few <a href="https://www.nlm.nih.gov/bsd/disted/pubmedtutorial/040_060.html">PubMed search alerts I had set up</a>. 296This approach has better specificity, but poor sensitivity, 297which can make it difficulty to discover work in complementary fields. 298Alternatively, you could use the <a href="http://pubcrawler.gen.tcd.ie/">PubCrawler web service</a> 299to have matching articles emailed to you.</p> 300 301<h2 id="do-machine-learning-to-it">Do Machine Learning to it</h2> 302 303<p>Enter SciReader. As described on the bioRxiv, it is a cloud-based personalized recommender system 304that uses topic modeling and machine learning. Give it a list of papers or topics of interest 305 and it will return an evolving list of recommended articles. This sounded familiar to me, 306as I used a similar service called PubChase, which unfortunately closed down a few years ago. 307But given my struggles, I was willing to give the concept another try.</p> 308 309<p>I created a SciReader account and entered some preliminary information about topics of interest 310and my own publication list. SciReader takes roughly a day to generate recommendations for you.</p> 311 312<p>SciReaderâs parameterization of manuscripts considers article content, 313metrics of paper quality and relevance, and the activity of other users with similar interests. 314It performs topic modeling on the complete pubmed corpus by latent dirichlet allocation on the 315TF-IDF metric with a cosine distance metric. One potential limitation is that it matches 316based on abstracts only, as full text often sits behind a paywall. This may obscure
317papers containing findings of interest buried in the results section, but for the 318most part should suffice for most users.</p> 319 320<h2 id="detour-exporting-articles-from-feedly">Detour: Exporting Articles from Feedly</h2> 321 322<p>For those wanting a jumpstart, you can export citations from EndNote or Mendeley in BibTeX format 323and import them. However, as someone whoâs changed research fields a few times, and has used 324these tools to write numerous course papers, I recognized that this would introduce many 325unrelated topics into the system.</p> 326 327<p>Instead, I turned to my Feedly âRead Laterâ list, which contained some 700 articles I had specifically 328flagged as interesting to me. With some javascript magic, I scraped the titles, sources, and URLs of 329every paper Iâd flagged. I filtered these to contain only research articles.</p> 330 331<p>In order to import into Feedly, I needed to convert this data into 332<a href="http://www.bibtex.org/Format/">BibTeX format</a>, 333which at least requires the author list, year, and journal. 334Luckily, Google Scholar has the handy ability to find almost any 335article by its title alone, and 336helpfully generates citations in BibTeX format. Using a 337<a href="https://selenium-python.readthedocs.io/">Python Selenium</a> script, I was able to automate the 338process of pulling down the hundreds of articles in BibTeX format (much to the Google CAPTCHAâs 339chagrin, but I donât think I caused any damage). Perhaps someone knows a better 340way to rapidly convert a set of journal article titles into citations. 341I then verified that Google Scholarâs resulting articles matched 342my chosen articles with some fuzzy string matching, using one of my favorite packages 343<a href="https://github.com/seatgeek/fuzzywuzzy">FuzzyWuzzy</a>. This gave me a unified BibTeX file to 344upload into SciReader.</p> 345 346<p>Iâve put the code I used into a <a href="https://github.com/eyzhao/feedly-to-scireader">GitHub repo</a>. 347The documentation is admittedly sparse, but it might serve as a launching-off point 348for someone who wants to do something similar.</p> 349 350<h2 id="the-verdict">The Verdict</h2> 351 352<p>SciReaderâs engine recommended numerous recent publications clearly linked to my personal area of 353interest and expertise. It captures results from a wide range of journals. It also does a great 354job highlighting groundbreaking recent advances in fields adjacent to my own. I suspect this 355is the combination of topic modeling, quality assessment, and collaborative filtering at work. 356It might take a little while for me to get a full sense of how well this system works for me, 357so I will report back down the road.</p> 358 359<p>The site itself can be buggy at times. In particular, I found the âLoad moreâ button 360(which shows you more recommendations) would sometimes not work, requiring a page reload. 361Also, during the month of March 2020, the site seemed to be down altogether - Iâm not sure 362who is maintaining it presently.</p> 363 364<p>All in all, this is what I would consider a hacked-together approach to give me one 365more angle of attack when it comes to dealing with the research literature glut. 366Whether it translates into actionable insights, I donât know. But itâs gotten me to 367think more about how I stay on top of my reading.</p> 368 369 </div> 370 371 <!-- Rating --> 372 373 374 <!-- Post Date --> 375 <p> 376 <small> 377 <span class="post-date"><time class="post-date" datetime="2020-05-09">09 May 2020</time></span> 378 379 </small> 380 </p> 381 382 <!-- Post Categories --> 383 <div class="after-post-cats"> 384 <ul class="tags mb-4"> 385 386 387 <li> 388 <a class="smoothscroll" href="/categories#Article">Article</a> 389 </li> 390 391 <li> 392 <a class="smoothscroll" href="/categories#Research">Research</a> 393 </li> 394 395 </ul> 396 </div> 397 <!-- End Categories --> 398 399 <!-- Post Tags --> 400 <div class="after-post-tags"> 401 <ul class="tags"> 402 403 404 </ul> 405 </div> 406 407 <!-- End Tags --> 408 409 <!-- End Categories --> 410 411 </div> 412 <!-- End Post --> 413 414 </div> 415</div> 416<!-- End Article 417================================================== --> 418 419<!-- Begin Comments 420================================================== --> 421 422 <div class="container"> 423 <div id="comments" class="row justify-content-center mb-5"> 424 <div class="col-md-8"> 425 <section class="disqus"> 426 427 <div id="disqus_thread"></div> 428
428<script> 429 430 /** 431 * RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS. 432 * LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables*/ 433 /* 434 var disqus_config = function () { 435 this.page.url = PAGE_URL; // Replace PAGE_URL with your page's canonical URL variable 436 this.page.identifier = PAGE_IDENTIFIER; // Replace PAGE_IDENTIFIER with your page's unique identifier variable 437 }; 438 */ 439 (function() { // DON'T EDIT BELOW THIS LINE 440 var d = document, s = d.createElement('script'); 441 s.src = 'https://eric-zhao.disqus.com/embed.js'; 442 s.setAttribute('data-timestamp', +new Date()); 443 (d.head || d.body).appendChild(s); 444 })(); 445 </script>
445 446 <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript> 447 448<!-- 449 <div id="disqus_thread"></div> 450
450<script type="text/javascript"> 451 var disqus_shortname = 'demowebsite'; 452 var disqus_developer = 0; 453 (function() { 454 var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; 455 dsq.src = window.location.protocol + '//' + disqus_shortname + '.disqus.com/embed.js'; 456 (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); 457 })(); 458 </script>
458 459 <noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript> 460 <a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a> 461--> 462 463</section> 464 465 </div> 466 </div> 467 </div> 468 469<!--End Comments 470================================================== --> 471 472<!-- Review with LD-JSON, adapt it for your needs if you like, but make sure you test the generated HTML source code first: 473https://search.google.com/structured-data/testing-tool/u/0/ 474================================================== --> 475 476 477</div> 478 479 480<!-- Bottom Alert Bar 481================================================== --> 482 483 484 485</div> 486 487<!-- Categories Jumbotron 488================================================== --> 489<div class="jumbotron fortags"> 490 <div class="d-md-flex h-100"> 491 <div class="col-md-4 transpdark align-self-center text-center h-100"> 492 <div class="d-md-flex align-items-center justify-content-center h-100"> 493 <h2 class="d-md-block align-self-center py-1 font-weight-light">Explore <span class="d-none d-md-inline">â</span></h2> 494 </div> 495 </div> 496 <div class="col-md-8 p-5 align-self-center text-center"> 497 498 499 500 <a class="mt-1 mb-1" href="/categories#Research">Research (2)</a> 501 502 <a class="mt-1 mb-1" href="/categories#Milestones">Milestones (3)</a> 503 504 <a class="mt-1 mb-1" href="/categories#Music">Music (1)</a> 505 506 <a class="mt-1 mb-1" href="/categories#Article">Article (1)</a> 507 508 509 510 </div> 511 </div> 512</div> 513 514<!-- Begin Footer 515================================================== --> 516<footer class="footer"> 517 <div class="container"> 518 <div class="row"> 519 <div class="col-md-6 col-sm-6 text-center text-lg-left"> 520 Copyright © 2021 521 </div> 522 <div class="col-md-6 col-sm-6 text-center text-lg-right"> 523 <a target="_blank" href="https://www.wowthemes.net/mediumish-free-jekyll-template/">Mediumish Jekyll Theme</a> by WowThemes.net 524 </div> 525 </div> 526 </div> 527</footer> 528<!-- End Footer 529================================================== --> 530 531</div> <!-- /.site-content --> 532 533<!-- Scripts 534================================================== --> 535
536<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js" integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut" crossorigin="anonymous"></script>
536 537
538<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js" integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k" crossorigin="anonymous"></script>
538 539
540<script src="/assets/js/mediumish.js"></script>
540 541 542 543
544<script src="/assets/js/ie10-viewport-bug-workaround.js"></script>
544 545 546
547<script id="dsq-count-scr" src="//demowebsite.disqus.com/count.js"></script>
547 548 549 550</body> 551</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.