written by cail • posted in Experiment • 1,778 views no comments

www.pubmeder.com is an online reference storage, powered by Google's App Engine.

I developed it because:

  1. I don't like to manually input reference; I want the program do it for me - automatically record all the paper I read or scanned. Using the browser plugin, I easily achieved it.
  2. I want to access it whenever/wherever I need. Store in the cloud and use a browser to access it is the best way! It is a pain to keep an updated database cross multiple computers. Might be easier if using Dropbox, but still, have to install some proprietary software and dropbox... Everything gets much easier when everything is in the CLOUD.

So, www.pubmeder.com born and starts serving me since last October. I have over 3000 entries in the cloud.

What if you already have a big collection of reference on your computer? How easy is it to transfer them to the cloud?

Super EASY!

If you alreay have a collection of PubMed ID (PMID for short), visit http://www.pubmeder.com/enter using your login. You will find "Batch Enter by PMID". Copy, paste and submit - done!

But, what if you only have the collection in some software, but not the PMID list? Here are some scripts you can use. First, export all your reference as text file, using BibTex or RIS format. In the case of EndNote, you want to use "BibTeX Export" or "RefMan (RIS) Export". Second, examine the exported file to check how PMID is wrapped in the text. In the case of "RefMan (RIS) Export" from EndNote, it is wrapped as "AN - 123456789", because in EndNote, PMID is saved as the "Accession Number" (short name "AN"). Third, after installing Perl, save the relative script as run.pl in the same folder where exported reference file locates. Execute it, input the file name, and all the PMID will be extracted and saved to result.txt. Enjoy!

For PMID wrapped as "AN - 123456789"

#!/usr/bin/perl
print "Please Enter the File Name for Extract : ";
my $fname = <>;
chop($fname);
open(FH, $fname);
open(RESULT,">result.txt");
my <a href="http://twitter.com/data" target="_blank" class="litwitter">@data</a> = <FH>;
foreach $line (@data) {
  $line =~ s/^\s*an\s*-\s*{(\d+)}.+/$1,/i;
  if ($line =~ m/^\d+,$/) {
    print RESULT $line;
  }
}
close RESULT;
close FH;

For PMID wrapped as "PMID = 123456789"

#!/usr/bin/perl
print "Please Enter the File Name for Extract : ";
my $fname = <>;
chop($fname);
open(FH, $fname);
open(RESULT,">result.txt");
my <a href="http://twitter.com/data" target="_blank" class="litwitter">@data</a> = <FH>;
foreach $line (@data) {
  $line =~ s/^\s*pmid\s=\s{(\d+)}.+/$1,/i;
  if ($line =~ m/^\d+,$/) {
    print RESULT $line;
  }
}
close RESULT;
close FH;

Oh well. If you still feel it is a lot of work, do comment below. I could easily make a webpage to do all the extraction for you, when I have a little free time~~

Previous:
Next:

Leave a Reply