jekyll-pubmed 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +10 -0
- data/.rspec +2 -0
- data/.travis.yml +19 -0
- data/Gemfile +4 -0
- data/README.md +32 -0
- data/Rakefile +2 -0
- data/jekyll-pubmed.gemspec +27 -0
- data/lib/jekyll-pubmed.rb +98 -0
- data/lib/jekyll-pubmed/version.rb +3 -0
- data/scripts/bootstrap +3 -0
- data/scripts/cibuild +4 -0
- data/spec/dest/assets/header.png +0 -0
- data/spec/dest/assets/main.css +106 -0
- data/spec/dest/publications/index.html +427 -0
- data/spec/fixtures/_includes/footer.html +9 -0
- data/spec/fixtures/_includes/head.html +12 -0
- data/spec/fixtures/_includes/header.html +40 -0
- data/spec/fixtures/_layouts/default.html +21 -0
- data/spec/fixtures/_layouts/home.html +7 -0
- data/spec/fixtures/_layouts/page.html +7 -0
- data/spec/fixtures/_layouts/post.html +5 -0
- data/spec/fixtures/_layouts/project.html +3 -0
- data/spec/fixtures/_layouts/projects.html +49 -0
- data/spec/fixtures/_layouts/publications.html +87 -0
- data/spec/fixtures/assets/header.png +0 -0
- data/spec/fixtures/assets/main.css +106 -0
- data/spec/fixtures/publications.md +7 -0
- data/spec/jekyll-pubmed_spec.rb +35 -0
- data/spec/spec_helper.rb +45 -0
- metadata +157 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 428b4bf83ea70b30f3a336b496d5830cbc53d9b0
|
4
|
+
data.tar.gz: f2d4296f5dea07a3bde200a4580f638d99df47d6
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 38abdd71dec8136bb581bed1361e41888f5f4bf82b57de1dc344effef546683eef60333eddf6aa026387c2f416b6ad1e4503b88b6ab948339c2016362bf6743b
|
7
|
+
data.tar.gz: 8305854a775b35f499872346381399aac46da22e617fbbda81b7615d879355a75f585007f50da8749d3d9cb61894d22befeee81c9aed7de2a076ede76778fb5b
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.travis.yml
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
sudo: false
|
2
|
+
language: ruby
|
3
|
+
cache: bundler
|
4
|
+
rvm:
|
5
|
+
- 2.2
|
6
|
+
matrix:
|
7
|
+
include:
|
8
|
+
- # GitHub Pages
|
9
|
+
rvm: 2.3.1
|
10
|
+
env: JEKYLL_VERSION=3.3.0
|
11
|
+
env:
|
12
|
+
matrix:
|
13
|
+
- JEKYLL_VERSION=3.3
|
14
|
+
branches:
|
15
|
+
only:
|
16
|
+
- master
|
17
|
+
install:
|
18
|
+
- travis_retry scripts/bootstrap
|
19
|
+
script: scripts/cibuild
|
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
# Jekyll-Pubmed
|
2
|
+
|
3
|
+
This is a plugin that will generate a site.data.abstracts object from the search results for the search term in pubmed
|
4
|
+
|
5
|
+
[![Build Status](https://travis-ci.org/wkpalan/jekyll-pubmed.svg?branch=master)](https://travis-ci.org/wkpalan/jekyll-pubmed)
|
6
|
+
|
7
|
+
## Installation
|
8
|
+
|
9
|
+
Add this line to your application's Gemfile:
|
10
|
+
|
11
|
+
```ruby
|
12
|
+
gem 'jekyll-pubmed'
|
13
|
+
```
|
14
|
+
|
15
|
+
And then execute:
|
16
|
+
|
17
|
+
$ bundle
|
18
|
+
|
19
|
+
Or install it yourself as:
|
20
|
+
|
21
|
+
$ gem install jekyll-pubmed
|
22
|
+
|
23
|
+
## Usage
|
24
|
+
|
25
|
+
The content from the pubmed search results will be available as in the site.data.abstracts variable for templating.
|
26
|
+
|
27
|
+
Will add more details about the structure of the variable to access details soon
|
28
|
+
|
29
|
+
|
30
|
+
## Contributing
|
31
|
+
|
32
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/listless.
|
data/Rakefile
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'jekyll-pubmed/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "jekyll-pubmed"
|
8
|
+
spec.version = Jekyll_Pubmed::VERSION
|
9
|
+
spec.authors = ["Gokul Wimalanathan"]
|
10
|
+
spec.email = ["kokulapalan@gmail.com"]
|
11
|
+
spec.summary = %q{A jekyll plugin to get publication details from pubmed using eutils}
|
12
|
+
spec.description = %q{A jekyll plugin to get publication details from pubmed using eutils}
|
13
|
+
spec.homepage = "https://github.com/wkpalan/jekyll-pubmed.git"
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files -z`.split("\x0")
|
17
|
+
spec.require_paths = ["lib"]
|
18
|
+
|
19
|
+
spec.add_dependency "jekyll", "~> 3"
|
20
|
+
|
21
|
+
spec.add_development_dependency "bundler", "~> 1"
|
22
|
+
spec.add_development_dependency "rake", "~> 10"
|
23
|
+
spec.add_development_dependency "rspec", "~> 3.5"
|
24
|
+
spec.add_development_dependency 'hash-joiner', "~> 0.0"
|
25
|
+
#spec.add_development_dependency 'open-uri', "0"
|
26
|
+
spec.add_development_dependency 'crack', "~> 0.4"
|
27
|
+
end
|
@@ -0,0 +1,98 @@
|
|
1
|
+
require "jekyll-pubmed/version"
|
2
|
+
|
3
|
+
require 'jekyll'
|
4
|
+
require 'json'
|
5
|
+
require 'hash-joiner'
|
6
|
+
require 'open-uri'
|
7
|
+
require 'crack'
|
8
|
+
require 'pp'
|
9
|
+
|
10
|
+
module Jekyll
|
11
|
+
class Jekyll_Pubmed < Jekyll::Generator
|
12
|
+
safe true
|
13
|
+
priority :highest
|
14
|
+
|
15
|
+
def generate(site)
|
16
|
+
config = site.config['jekyll_pubmed']
|
17
|
+
if !config
|
18
|
+
return
|
19
|
+
end
|
20
|
+
if !config.kind_of?(Array)
|
21
|
+
config = [config]
|
22
|
+
end
|
23
|
+
config.each do |d|
|
24
|
+
begin
|
25
|
+
target = site.data[d['data']]
|
26
|
+
search_term = d['term']
|
27
|
+
file_url = "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pubmed&term=#{search_term}&format=json"
|
28
|
+
source = JSON.load(open(file_url))
|
29
|
+
if target
|
30
|
+
HashJoiner.deep_merge target, source
|
31
|
+
else
|
32
|
+
site.data[d['data']] = source
|
33
|
+
end
|
34
|
+
if d['data'] == "publications"
|
35
|
+
pub_ids = source["esearchresult"]["idlist"]
|
36
|
+
#site.data["abstracts"] = @pub_ids
|
37
|
+
id_var = pub_ids.join(",")
|
38
|
+
esummary_url="https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=pubmed&id=#{id_var}&retmode=xml"
|
39
|
+
#doc = Nokogiri::XML(open(esummary_url))
|
40
|
+
doc = Crack::XML.parse(open(esummary_url))
|
41
|
+
site.data["abstracts"] = make_pubmed_json(doc)
|
42
|
+
#.PubmedArticle.MedlineCitation.Article.Journal.JournalIssue.PubDate.Year
|
43
|
+
end
|
44
|
+
if d['cache']
|
45
|
+
data_source = (site.config['data_source'] || '_data')
|
46
|
+
path = "#{data_source}/#{d['data']}.json"
|
47
|
+
open(path, 'wb') do |file|
|
48
|
+
file << JSON.generate(site.data[d['data']])
|
49
|
+
end
|
50
|
+
end
|
51
|
+
rescue
|
52
|
+
next
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
def make_pubmed_json(doc)
|
57
|
+
h = Hash.new
|
58
|
+
sorted_pmid = Hash.new
|
59
|
+
years = Array.new
|
60
|
+
#puts "Hello World #{doc}"
|
61
|
+
doc["PubmedArticleSet"].each do |key,array|
|
62
|
+
puts "#{key}---"
|
63
|
+
array.each do |array2|
|
64
|
+
year = array2["MedlineCitation"]["Article"]["Journal"]["JournalIssue"]["PubDate"]["Year"]
|
65
|
+
month = array2["MedlineCitation"]["Article"]["Journal"]["JournalIssue"]["PubDate"]["Month"]
|
66
|
+
date = array2["MedlineCitation"]["Article"]["Journal"]["JournalIssue"]["PubDate"]["Day"]
|
67
|
+
pub_date = Time.new(year,month,date)
|
68
|
+
|
69
|
+
pmid = array2["MedlineCitation"]["PMID"]
|
70
|
+
authors = Array.new
|
71
|
+
array2["MedlineCitation"]["Article"]["AuthorList"]["Author"].each do |author|
|
72
|
+
authors = authors << author["LastName"] + " " + author["Initials"]
|
73
|
+
end
|
74
|
+
|
75
|
+
journal = array2["MedlineCitation"]["Article"]["Journal"]["ISOAbbreviation"]
|
76
|
+
|
77
|
+
aritcle_title = array2["MedlineCitation"]["Article"]["ArticleTitle"]
|
78
|
+
article_abstract = array2["MedlineCitation"]["Article"]["Abstract"]["AbstractText"]
|
79
|
+
#puts article_abstract
|
80
|
+
|
81
|
+
#tmp_record[pmid] = Hash.new
|
82
|
+
|
83
|
+
tmp_record = {"pub_date" => pub_date, "authors" => authors, "journal" => journal, "title"=>aritcle_title, "abstract"=>article_abstract}
|
84
|
+
sorted_pmid[pub_date] = pmid
|
85
|
+
h["#{pmid}"] = tmp_record
|
86
|
+
years = years << year
|
87
|
+
#pp tmp_record
|
88
|
+
end
|
89
|
+
end
|
90
|
+
sorted_pmid = sorted_pmid.sort.reverse.to_h
|
91
|
+
sorted_years = years.uniq.sort.reverse.to_a
|
92
|
+
#return doc["PubmedArticleSet"]
|
93
|
+
out_hash = {"pmids" => sorted_pmid, "articles" => h, "years" => sorted_years}
|
94
|
+
#pp out_hash
|
95
|
+
return out_hash
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
data/scripts/bootstrap
ADDED
data/scripts/cibuild
ADDED
Binary file
|
@@ -0,0 +1,106 @@
|
|
1
|
+
.banner{
|
2
|
+
/*background-image: url("/assets/header.png");*/
|
3
|
+
background: rgb(96,125,139);
|
4
|
+
color:white;
|
5
|
+
height:80px;
|
6
|
+
width:100%;
|
7
|
+
}
|
8
|
+
.main-title{
|
9
|
+
top:20;
|
10
|
+
margin:20px 20px;
|
11
|
+
font-size:32pt;
|
12
|
+
font-weight: bolder;
|
13
|
+
line-height: normal;
|
14
|
+
}
|
15
|
+
.sub-title{
|
16
|
+
font-size:24px;
|
17
|
+
padding-left: 75px;
|
18
|
+
font-style: italic;
|
19
|
+
}
|
20
|
+
|
21
|
+
/*@media (max-width: 512px) and (min-resolution: 1.5dppx),
|
22
|
+
(max-width: 1024px) and (max-resolution: 1.5dppx) {
|
23
|
+
.main-title{
|
24
|
+
font-size: 24pt;
|
25
|
+
}
|
26
|
+
.sub-title{
|
27
|
+
font-style: italic;
|
28
|
+
font-size: 12pt;
|
29
|
+
}
|
30
|
+
.banner{
|
31
|
+
height:60px;
|
32
|
+
width:100%;
|
33
|
+
}
|
34
|
+
}
|
35
|
+
|
36
|
+
|
37
|
+
.demo-layout-transparent .mdl-layout__header{
|
38
|
+
background: url('/assets/header.png') center / cover;
|
39
|
+
|
40
|
+
background: url('/assets/header.png') center / cover;
|
41
|
+
|
42
|
+
background: url('/assets/header.png') center / cover;
|
43
|
+
background: url('/assets/header.png') center / cover;
|
44
|
+
}
|
45
|
+
} color:white;
|
46
|
+
padding-left:20px;
|
47
|
+
}*/
|
48
|
+
|
49
|
+
div.mdl-card__media > img{
|
50
|
+
max-width:100%;
|
51
|
+
max-height:100%;
|
52
|
+
}
|
53
|
+
.mdl-card__title{
|
54
|
+
width:100%;
|
55
|
+
}
|
56
|
+
div.mdl-card__title > img{
|
57
|
+
position: absolute;
|
58
|
+
right: 5px;
|
59
|
+
height:50px;
|
60
|
+
}
|
61
|
+
|
62
|
+
.subheader{8
|
63
|
+
color: white;
|
64
|
+
background: rgb(96,125,139);
|
65
|
+
margin: 0px 20px ;
|
66
|
+
padding: 0px 20px ;
|
67
|
+
}
|
68
|
+
.right-btn{
|
69
|
+
position:absolute;
|
70
|
+
right:10px;
|
71
|
+
}
|
72
|
+
|
73
|
+
.bold_author{
|
74
|
+
font-weight: bold;
|
75
|
+
font-style: italic;
|
76
|
+
}
|
77
|
+
|
78
|
+
.pub-list{
|
79
|
+
margin:20px 20px;
|
80
|
+
}
|
81
|
+
|
82
|
+
.pub_title{
|
83
|
+
font-size: 14pt;
|
84
|
+
font-weight: bold;
|
85
|
+
}
|
86
|
+
|
87
|
+
.pub_year{
|
88
|
+
color:white;
|
89
|
+
font-weight: bolder;
|
90
|
+
text-align: center;
|
91
|
+
background: rgb(96,125,139);
|
92
|
+
}
|
93
|
+
.pub_link{
|
94
|
+
text-align: center;
|
95
|
+
}
|
96
|
+
.authors{
|
97
|
+
font-size:12pt;
|
98
|
+
}
|
99
|
+
|
100
|
+
.abstract-dialog{
|
101
|
+
width:90%;
|
102
|
+
}
|
103
|
+
|
104
|
+
.pub_details{
|
105
|
+
margin:20px;
|
106
|
+
}
|
@@ -0,0 +1,427 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
|
4
|
+
<head>
|
5
|
+
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
|
6
|
+
<link rel="stylesheet" href="https://code.getmdl.io/1.3.0/material.blue_grey-indigo.min.css" />
|
7
|
+
<script defer src="https://code.getmdl.io/1.3.0/material.min.js"></script>
|
8
|
+
|
9
|
+
<link rel="stylesheet" href="/assets/main.css">
|
10
|
+
|
11
|
+
<title>Publications</title>
|
12
|
+
<meta name="description" content="">
|
13
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
14
|
+
|
15
|
+
</head>
|
16
|
+
|
17
|
+
|
18
|
+
<body>
|
19
|
+
|
20
|
+
<div class="banner">
|
21
|
+
<div class="header-img">
|
22
|
+
<span class="main-title">Bioinformatics (Mis)adventures</span>
|
23
|
+
<br/>
|
24
|
+
<span class="sub-title">Regular Mishaps with Bioinformatics</span>
|
25
|
+
</div>
|
26
|
+
</div>
|
27
|
+
<div id="header" class="mdl-layout mdl-js-layout mdl-layout--fixed-header">
|
28
|
+
|
29
|
+
<header class="mdl-layout__header ">
|
30
|
+
<div class="mdl-layout__header-row">
|
31
|
+
|
32
|
+
<nav class="mdl-navigation mdl-layout--large-screen-only mdl-js-ripple-effect">
|
33
|
+
<a class="mdl-navigation__link" href="/">Home</a>
|
34
|
+
<a class="mdl-navigation__link" href="/education/">Education</a>
|
35
|
+
<a class="mdl-navigation__link" href="/projects/">Projects</a>
|
36
|
+
<a class="mdl-navigation__link" href="/research/">Research</a>
|
37
|
+
<a class="mdl-navigation__link" href="">Tools</a>
|
38
|
+
<a class="mdl-navigation__link" href="">Posts</a>
|
39
|
+
<a class="mdl-navigation__link" href="/publications/">Publications</a>
|
40
|
+
<a class="mdl-navigation__link" href="">Contact</a>
|
41
|
+
</nav>
|
42
|
+
|
43
|
+
|
44
|
+
<div class="mdl-layout-spacer"></div>
|
45
|
+
</div>
|
46
|
+
</header>
|
47
|
+
|
48
|
+
<div class="mdl-layout__drawer">
|
49
|
+
<nav class="mdl-navigation">
|
50
|
+
<a class="mdl-navigation__link" href="/">Home</a>
|
51
|
+
<a class="mdl-navigation__link" href="/education">Education</a>
|
52
|
+
<a class="mdl-navigation__link" href="/projects/">Projects</a>
|
53
|
+
<a class="mdl-navigation__link" href="/research/">Research</a>
|
54
|
+
<a class="mdl-navigation__link" href="">Tools</a>
|
55
|
+
<a class="mdl-navigation__link" href="">Posts</a>
|
56
|
+
<a class="mdl-navigation__link" href="/publications/">Publications</a>
|
57
|
+
<a class="mdl-navigation__link" href="">Contact</a>
|
58
|
+
</nav>
|
59
|
+
</div>
|
60
|
+
|
61
|
+
<main class="mdl-layout__content">
|
62
|
+
<div class="page-content">
|
63
|
+
<h1>Publications</h1>
|
64
|
+
<section class="mdl-grid pub_table">
|
65
|
+
|
66
|
+
<div class="mdl-cell mdl-cell--12-col-desktop mdl-cell--4-col-phone mdl-cell--middle pub_year mdl-cell--stretch">
|
67
|
+
<h4>2016</h4>
|
68
|
+
</div>
|
69
|
+
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
|
74
|
+
<div class="mdl-cell mdl-cell--10-col mdl-cell--4-col-phone pub_details">
|
75
|
+
<div class="pub_title">
|
76
|
+
<a tooltip="MaizeGDB update: new tools, data and interface for the maize model organism database." class = 'dialog-link-26432828'>MaizeGDB update: new tools, data and interface for the maize model organism database.</a>
|
77
|
+
</div>
|
78
|
+
<div class="authors">
|
79
|
+
|
80
|
+
|
81
|
+
Andorf CM*,
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
Cannon EK,
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
Portwood JL,
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
Gardiner JM,
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
Harper LC,
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
Schaeffer ML,
|
102
|
+
|
103
|
+
|
104
|
+
|
105
|
+
Braun BL,
|
106
|
+
|
107
|
+
|
108
|
+
|
109
|
+
Campbell DA,
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
Vinnakota AG,
|
114
|
+
|
115
|
+
|
116
|
+
|
117
|
+
Sribalusu VV,
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
Huerta M,
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
Cho KT,
|
126
|
+
|
127
|
+
|
128
|
+
|
129
|
+
<span class="bold_author">Wimalanathan K, </span>
|
130
|
+
|
131
|
+
|
132
|
+
|
133
|
+
Richter JD,
|
134
|
+
|
135
|
+
|
136
|
+
|
137
|
+
Mauch ED,
|
138
|
+
|
139
|
+
|
140
|
+
|
141
|
+
Rao BS,
|
142
|
+
|
143
|
+
|
144
|
+
|
145
|
+
Birkett SM,
|
146
|
+
|
147
|
+
|
148
|
+
|
149
|
+
Sen TZ,
|
150
|
+
|
151
|
+
|
152
|
+
|
153
|
+
Lawrence-Dill CJ.
|
154
|
+
|
155
|
+
|
156
|
+
</div>
|
157
|
+
</div>
|
158
|
+
<div class="mdl-cell mdl-cell--1-col-desktop mdl-cell--4-col mdl-cell--middle pub_link mdl-cell--stretch">
|
159
|
+
<a id="26432828_link" class="right-button mdl-button mdl-js-button mdl-js-ripple-effect mdl-button--fab mdl-button--colored"
|
160
|
+
href="http://www.ncbi.nlm.nih.gov/pubmed?term=26432828" target="_blank">
|
161
|
+
<i class="material-icons">description</i>
|
162
|
+
</a>
|
163
|
+
<div class="mdl-tooltip mdl-tooltip--large" for="26432828_link"> Go to Pubmed </div>
|
164
|
+
</div>
|
165
|
+
|
166
|
+
<dialog id="dialog-26432828" class="mdl-dialog abstract-dialog">
|
167
|
+
<h3 class="mdl-dialog__title">MaizeGDB update: new tools, data and interface for the maize model organism database.</h3>
|
168
|
+
<div class="mdl-dialog__content">
|
169
|
+
<p>
|
170
|
+
MaizeGDB is a highly curated, community-oriented database and informatics service to researchers focused on the crop plant and model organism Zea mays ssp. mays. Although some form of the maize community database has existed over the last 25 years, there have only been two major releases. In 1991, the original maize genetics database MaizeDB was created. In 2003, the combined contents of MaizeDB and the sequence data from ZmDB were made accessible as a single resource named MaizeGDB. Over the next decade, MaizeGDB became more sequence driven while still maintaining traditional maize genetics datasets. This enabled the project to meet the continued growing and evolving needs of the maize research community, yet the interface and underlying infrastructure remained unchanged. In 2015, the MaizeGDB team completed a multi-year effort to update the MaizeGDB resource by reorganizing existing data, upgrading hardware and infrastructure, creating new tools, incorporating new data types (including diversity data, expression data, gene models, and metabolic pathways), and developing and deploying a modern interface. In addition to coordinating a data resource, the MaizeGDB team coordinates activities and provides technical support to the maize research community. MaizeGDB is accessible online at http://www.maizegdb.org.
|
171
|
+
</p>
|
172
|
+
</div>
|
173
|
+
<div class="mdl-dialog__actions">
|
174
|
+
<button type="button" class="mdl-button">Close</button>
|
175
|
+
</div>
|
176
|
+
</dialog>
|
177
|
+
<script>
|
178
|
+
(function() {
|
179
|
+
'use strict';
|
180
|
+
var dialogButton = document.querySelector('.dialog-link-26432828');
|
181
|
+
var dialog = document.querySelector('#dialog-26432828');
|
182
|
+
if (! dialog.showModal) {
|
183
|
+
dialogPolyfill.registerDialog(dialog);
|
184
|
+
}
|
185
|
+
dialogButton.addEventListener('click', function() {
|
186
|
+
dialog.showModal();
|
187
|
+
});
|
188
|
+
dialog.querySelector('button:not([disabled])')
|
189
|
+
.addEventListener('click', function() {
|
190
|
+
dialog.close();
|
191
|
+
});
|
192
|
+
}());
|
193
|
+
</script>
|
194
|
+
|
195
|
+
|
196
|
+
|
197
|
+
|
198
|
+
|
199
|
+
|
200
|
+
|
201
|
+
|
202
|
+
|
203
|
+
|
204
|
+
|
205
|
+
|
206
|
+
|
207
|
+
|
208
|
+
|
209
|
+
|
210
|
+
<div class="mdl-cell mdl-cell--12-col-desktop mdl-cell--4-col-phone mdl-cell--middle pub_year mdl-cell--stretch">
|
211
|
+
<h4>2014</h4>
|
212
|
+
</div>
|
213
|
+
|
214
|
+
|
215
|
+
|
216
|
+
|
217
|
+
|
218
|
+
|
219
|
+
|
220
|
+
|
221
|
+
|
222
|
+
|
223
|
+
<div class="mdl-cell mdl-cell--10-col mdl-cell--4-col-phone pub_details">
|
224
|
+
<div class="pub_title">
|
225
|
+
<a tooltip="YouGenMap: a web platform for dynamic multi-comparative mapping and visualization of genetic maps." class = 'dialog-link-25009553'>YouGenMap: a web platform for dynamic multi-comparative mapping and visualization of genetic maps.</a>
|
226
|
+
</div>
|
227
|
+
<div class="authors">
|
228
|
+
|
229
|
+
|
230
|
+
Batesole K*,
|
231
|
+
|
232
|
+
|
233
|
+
|
234
|
+
<span class="bold_author">Wimalanathan K, </span>
|
235
|
+
|
236
|
+
|
237
|
+
|
238
|
+
Liu L,
|
239
|
+
|
240
|
+
|
241
|
+
|
242
|
+
Zhang F,
|
243
|
+
|
244
|
+
|
245
|
+
|
246
|
+
Echt CS,
|
247
|
+
|
248
|
+
|
249
|
+
|
250
|
+
Liang C.
|
251
|
+
|
252
|
+
|
253
|
+
</div>
|
254
|
+
</div>
|
255
|
+
<div class="mdl-cell mdl-cell--1-col-desktop mdl-cell--4-col mdl-cell--middle pub_link mdl-cell--stretch">
|
256
|
+
<a id="25009553_link" class="right-button mdl-button mdl-js-button mdl-js-ripple-effect mdl-button--fab mdl-button--colored"
|
257
|
+
href="http://www.ncbi.nlm.nih.gov/pubmed?term=25009553" target="_blank">
|
258
|
+
<i class="material-icons">description</i>
|
259
|
+
</a>
|
260
|
+
<div class="mdl-tooltip mdl-tooltip--large" for="25009553_link"> Go to Pubmed </div>
|
261
|
+
</div>
|
262
|
+
|
263
|
+
<dialog id="dialog-25009553" class="mdl-dialog abstract-dialog">
|
264
|
+
<h3 class="mdl-dialog__title">YouGenMap: a web platform for dynamic multi-comparative mapping and visualization of genetic maps.</h3>
|
265
|
+
<div class="mdl-dialog__content">
|
266
|
+
<p>
|
267
|
+
Comparative genetic maps are used in examination of genome organization, detection of conserved gene order, and exploration of marker order variations. YouGenMap is an open-source web tool that offers dynamic comparative mapping capability of users' own genetic mapping between 2 or more map sets. Users' genetic map data and optional gene annotations are uploaded, either publically or privately, as long as they follow our template which is available in several standard file formats. Data is parsed and loaded into MySQL relational database to be displayed and compared against users' genetic maps or other public data available on YouGenMap. With the highly interactive GUIs, all public data on YouGenMap are maps available for visualization, comparison, search, filtration and download. YouGenMap web tool is available on the website (http://conifergdb.miamioh.edu/yougenmap) with the source-code repository at (http://sourceforge.net/projects/yougenmap/?source=directory).
|
268
|
+
</p>
|
269
|
+
</div>
|
270
|
+
<div class="mdl-dialog__actions">
|
271
|
+
<button type="button" class="mdl-button">Close</button>
|
272
|
+
</div>
|
273
|
+
</dialog>
|
274
|
+
<script>
|
275
|
+
(function() {
|
276
|
+
'use strict';
|
277
|
+
var dialogButton = document.querySelector('.dialog-link-25009553');
|
278
|
+
var dialog = document.querySelector('#dialog-25009553');
|
279
|
+
if (! dialog.showModal) {
|
280
|
+
dialogPolyfill.registerDialog(dialog);
|
281
|
+
}
|
282
|
+
dialogButton.addEventListener('click', function() {
|
283
|
+
dialog.showModal();
|
284
|
+
});
|
285
|
+
dialog.querySelector('button:not([disabled])')
|
286
|
+
.addEventListener('click', function() {
|
287
|
+
dialog.close();
|
288
|
+
});
|
289
|
+
}());
|
290
|
+
</script>
|
291
|
+
|
292
|
+
|
293
|
+
|
294
|
+
|
295
|
+
|
296
|
+
|
297
|
+
|
298
|
+
|
299
|
+
|
300
|
+
|
301
|
+
|
302
|
+
<div class="mdl-cell mdl-cell--12-col-desktop mdl-cell--4-col-phone mdl-cell--middle pub_year mdl-cell--stretch">
|
303
|
+
<h4>2011</h4>
|
304
|
+
</div>
|
305
|
+
|
306
|
+
|
307
|
+
|
308
|
+
|
309
|
+
|
310
|
+
|
311
|
+
|
312
|
+
|
313
|
+
|
314
|
+
|
315
|
+
|
316
|
+
|
317
|
+
|
318
|
+
|
319
|
+
|
320
|
+
<div class="mdl-cell mdl-cell--10-col mdl-cell--4-col-phone pub_details">
|
321
|
+
<div class="pub_title">
|
322
|
+
<a tooltip="An annotated genetic map of loblolly pine based on microsatellite and cDNA markers." class = 'dialog-link-21269494'>An annotated genetic map of loblolly pine based on microsatellite and cDNA markers.</a>
|
323
|
+
</div>
|
324
|
+
<div class="authors">
|
325
|
+
|
326
|
+
|
327
|
+
Echt CS*,
|
328
|
+
|
329
|
+
|
330
|
+
|
331
|
+
Saha S,
|
332
|
+
|
333
|
+
|
334
|
+
|
335
|
+
Krutovsky KV,
|
336
|
+
|
337
|
+
|
338
|
+
|
339
|
+
<span class="bold_author">Wimalanathan K, </span>
|
340
|
+
|
341
|
+
|
342
|
+
|
343
|
+
Erpelding JE,
|
344
|
+
|
345
|
+
|
346
|
+
|
347
|
+
Liang C,
|
348
|
+
|
349
|
+
|
350
|
+
|
351
|
+
Nelson CD.
|
352
|
+
|
353
|
+
|
354
|
+
</div>
|
355
|
+
</div>
|
356
|
+
<div class="mdl-cell mdl-cell--1-col-desktop mdl-cell--4-col mdl-cell--middle pub_link mdl-cell--stretch">
|
357
|
+
<a id="21269494_link" class="right-button mdl-button mdl-js-button mdl-js-ripple-effect mdl-button--fab mdl-button--colored"
|
358
|
+
href="http://www.ncbi.nlm.nih.gov/pubmed?term=21269494" target="_blank">
|
359
|
+
<i class="material-icons">description</i>
|
360
|
+
</a>
|
361
|
+
<div class="mdl-tooltip mdl-tooltip--large" for="21269494_link"> Go to Pubmed </div>
|
362
|
+
</div>
|
363
|
+
|
364
|
+
<dialog id="dialog-21269494" class="mdl-dialog abstract-dialog">
|
365
|
+
<h3 class="mdl-dialog__title">An annotated genetic map of loblolly pine based on microsatellite and cDNA markers.</h3>
|
366
|
+
<div class="mdl-dialog__content">
|
367
|
+
<p>
|
368
|
+
Previous loblolly pine (Pinus taeda L.) genetic linkage maps have been based on a variety of DNA polymorphisms, such as AFLPs, RAPDs, RFLPs, and ESTPs, but only a few SSRs (simple sequence repeats), also known as simple tandem repeats or microsatellites, have been mapped in P. taeda. The objective of this study was to integrate a large set of SSR markers from a variety of sources and published cDNA markers into a composite P. taeda genetic map constructed from two reference mapping pedigrees. A dense genetic map that incorporates SSR loci will benefit complete pine genome sequencing, pine population genetics studies, and pine breeding programs. Careful marker annotation using a variety of references further enhances the utility of the integrated SSR map.The updated P. taeda genetic map, with an estimated genome coverage of 1,515 cM(Kosambi) across 12 linkage groups, incorporated 170 new SSR markers and 290 previously reported SSR, RFLP, and ESTP markers. The average marker interval was 3.1 cM. Of 233 mapped SSR loci, 84 were from cDNA-derived sequences (EST-SSRs) and 149 were from non-transcribed genomic sequences (genomic-SSRs). Of all 311 mapped cDNA-derived markers, 77% were associated with NCBI Pta UniGene clusters, 67% with RefSeq proteins, and 62% with functional Gene Ontology (GO) terms. Duplicate (i.e., redundant accessory) and paralogous markers were tentatively identified by evaluating marker sequences by their UniGene cluster IDs, clone IDs, and relative map positions. The average gene diversity, He, among polymorphic SSR loci, including those that were not mapped, was 0.43 for 94 EST-SSRs and 0.72 for 83 genomic-SSRs. The genetic map can be viewed and queried at http://www.conifergdb.org/pinemap.Many polymorphic and genetically mapped SSR markers are now available for use in P. taeda population genetics, studies of adaptive traits, and various germplasm management applications. Annotating mapped genes with UniGene clusters and GO terms allowed assessment of redundant and paralogous EST markers and further improved the quality and utility of the genetic map for P. taeda.
|
369
|
+
</p>
|
370
|
+
</div>
|
371
|
+
<div class="mdl-dialog__actions">
|
372
|
+
<button type="button" class="mdl-button">Close</button>
|
373
|
+
</div>
|
374
|
+
</dialog>
|
375
|
+
<script>
|
376
|
+
(function() {
|
377
|
+
'use strict';
|
378
|
+
var dialogButton = document.querySelector('.dialog-link-21269494');
|
379
|
+
var dialog = document.querySelector('#dialog-21269494');
|
380
|
+
if (! dialog.showModal) {
|
381
|
+
dialogPolyfill.registerDialog(dialog);
|
382
|
+
}
|
383
|
+
dialogButton.addEventListener('click', function() {
|
384
|
+
dialog.showModal();
|
385
|
+
});
|
386
|
+
dialog.querySelector('button:not([disabled])')
|
387
|
+
.addEventListener('click', function() {
|
388
|
+
dialog.close();
|
389
|
+
});
|
390
|
+
}());
|
391
|
+
</script>
|
392
|
+
|
393
|
+
|
394
|
+
|
395
|
+
|
396
|
+
|
397
|
+
|
398
|
+
</section>
|
399
|
+
|
400
|
+
<!-- <span>
|
401
|
+
(.)
|
402
|
+
|
403
|
+
.
|
404
|
+
|
405
|
+
|
406
|
+
:
|
407
|
+
</span> -->
|
408
|
+
|
409
|
+
</div>
|
410
|
+
|
411
|
+
</main>
|
412
|
+
<footer class="mdl-mini-footer">
|
413
|
+
<div class="mdl-mini-footer__left-section">
|
414
|
+
<div class="mdl-logo">Title</div>
|
415
|
+
<ul class="mdl-mini-footer__link-list">
|
416
|
+
<li><a href="#">Help</a></li>
|
417
|
+
<li><a href="#">Privacy & Terms</a></li>
|
418
|
+
</ul>
|
419
|
+
</div>
|
420
|
+
</footer>
|
421
|
+
|
422
|
+
</div>
|
423
|
+
|
424
|
+
</div>
|
425
|
+
|
426
|
+
</body>
|
427
|
+
</html>
|