You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(18) |
Aug
(33) |
Sep
(30) |
Oct
(27) |
Nov
(59) |
Dec
(30) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(67) |
Feb
(44) |
Mar
(70) |
Apr
(73) |
May
(119) |
Jun
(31) |
Jul
(92) |
Aug
(86) |
Sep
(76) |
Oct
(152) |
Nov
(156) |
Dec
(85) |
2008 |
Jan
(111) |
Feb
(121) |
Mar
(107) |
Apr
(102) |
May
(45) |
Jun
(65) |
Jul
(62) |
Aug
(133) |
Sep
(56) |
Oct
(56) |
Nov
(17) |
Dec
(15) |
2009 |
Jan
(10) |
Feb
(5) |
Mar
(10) |
Apr
(14) |
May
(49) |
Jun
(94) |
Jul
(67) |
Aug
(23) |
Sep
(9) |
Oct
(92) |
Nov
(26) |
Dec
(51) |
2010 |
Jan
(105) |
Feb
(83) |
Mar
(52) |
Apr
(59) |
May
(68) |
Jun
(71) |
Jul
(127) |
Aug
(49) |
Sep
(91) |
Oct
(27) |
Nov
(33) |
Dec
(26) |
2011 |
Jan
(26) |
Feb
(45) |
Mar
(26) |
Apr
(28) |
May
(17) |
Jun
(15) |
Jul
(45) |
Aug
(33) |
Sep
(50) |
Oct
(22) |
Nov
(10) |
Dec
(21) |
2012 |
Jan
(33) |
Feb
(24) |
Mar
(36) |
Apr
(60) |
May
(60) |
Jun
(43) |
Jul
(114) |
Aug
(19) |
Sep
(35) |
Oct
(24) |
Nov
(64) |
Dec
(12) |
2013 |
Jan
(54) |
Feb
(58) |
Mar
(51) |
Apr
(46) |
May
(21) |
Jun
(29) |
Jul
(25) |
Aug
(25) |
Sep
(13) |
Oct
(7) |
Nov
(14) |
Dec
(27) |
2014 |
Jan
(10) |
Feb
(7) |
Mar
(16) |
Apr
(14) |
May
(19) |
Jun
(8) |
Jul
(15) |
Aug
(11) |
Sep
(5) |
Oct
(11) |
Nov
(11) |
Dec
(4) |
2015 |
Jan
(52) |
Feb
(27) |
Mar
(22) |
Apr
(17) |
May
(2) |
Jun
(2) |
Jul
(2) |
Aug
(2) |
Sep
(2) |
Oct
|
Nov
(2) |
Dec
|
2016 |
Jan
(2) |
Feb
|
Mar
|
Apr
(2) |
May
(1) |
Jun
(1) |
Jul
(3) |
Aug
(2) |
Sep
(2) |
Oct
(2) |
Nov
(2) |
Dec
|
2017 |
Jan
|
Feb
|
Mar
(1) |
Apr
(1) |
May
(4) |
Jun
|
Jul
|
Aug
(1) |
Sep
(1) |
Oct
(2) |
Nov
|
Dec
(1) |
2018 |
Jan
|
Feb
|
Mar
(4) |
Apr
|
May
(2) |
Jun
(2) |
Jul
(2) |
Aug
(2) |
Sep
(1) |
Oct
(2) |
Nov
(1) |
Dec
|
2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(3) |
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(2) |
Jun
(3) |
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
From: <nl...@us...> - 2007-01-30 18:51:46
|
Revision: 312 http://svn.sourceforge.net/obo/?rev=312&view=rev Author: nlw Date: 2007-01-30 10:35:57 -0800 (Tue, 30 Jan 2007) Log Message: ----------- adding website dirs and files, largeley undeveloped Added Paths: ----------- phenote/trunk/doc/phenote-website/content/ phenote/trunk/doc/phenote-website/css/ phenote/trunk/doc/phenote-website/css/bbop.css phenote/trunk/doc/phenote-website/css/style-alpha.css phenote/trunk/doc/phenote-website/css/style-light.css phenote/trunk/doc/phenote-website/css/style-square.css phenote/trunk/doc/phenote-website/css/style-stark.css phenote/trunk/doc/phenote-website/css/style-tile.css phenote/trunk/doc/phenote-website/css/style.css phenote/trunk/doc/phenote-website/images/ phenote/trunk/doc/phenote-website/images/NCBO_logo.jpg phenote/trunk/doc/phenote-website/images/lbl_logo.gif phenote/trunk/doc/phenote-website/images/oboedit_logo.gif phenote/trunk/doc/phenote-website/index_text.shtml phenote/trunk/doc/phenote-website/javascript/ phenote/trunk/doc/phenote-website/javascript/obfuscate.js phenote/trunk/doc/phenote-website/ssi/ phenote/trunk/doc/phenote-website/ssi/footer.html phenote/trunk/doc/phenote-website/ssi/footer.shtml phenote/trunk/doc/phenote-website/ssi/header.html phenote/trunk/doc/phenote-website/ssi/navi_about.html phenote/trunk/doc/phenote-website/ssi/navi_home.html phenote/trunk/doc/phenote-website/ssi/navi_home.html~ phenote/trunk/doc/phenote-website/ssi/navi_publications.html Added: phenote/trunk/doc/phenote-website/css/bbop.css =================================================================== --- phenote/trunk/doc/phenote-website/css/bbop.css (rev 0) +++ phenote/trunk/doc/phenote-website/css/bbop.css 2007-01-30 18:35:57 UTC (rev 312) @@ -0,0 +1,657 @@ +body +{ background: #fff; + margin: 5px 0; + font: 1em Verdana, Arial, Helvetica, sans-serif; + color: #000; +} + +h1, h2, h3, h4 +{ font-family: "trebuchet ms", "lucida grande", arial, sans-serif; +} + +h1 { font-size: 2em; + text-align: center; } +h2 { font-size: 1.6em; } +h3 { font-size: 1.4em; } +h4 { font-size: 1.2em; } + +a +{ color: #006; + text-decoration: none; + border-bottom : 1px dotted #006; + padding: 0.1em 2px; + background: #e9effa; +} + +a:hover, a:active +{ color: #fff; + background: #3875D7; + border: none; +} + +a.img +{ background: #fff; + border: none; +} + +a.img img +{ border: 1px solid #fff; + padding: 2px; +} + +a.img:hover img, a.img:active img +{ border: 1px solid #3875D7; +} + +a.anchor +{ visibility: hidden; +} + +div.header, div.footer +{ width: 100%; + background: #e9effa; + border-width: 3px 0 3px 0; + border-color: #3875D7; + border-style: solid; +} + +.footer p +{ margin: 0; + padding: 5px; + font-size: 0.7em; + text-align: right; + line-height: 1.4em; +} + +.footer a +{ border: none; +} + +.footer img +{ border: 0; + float: left; + margin: 5px 10px; +} + +div.header +{ background: url(../images/GO-head.gif) #e9effa 0 -10px no-repeat; +} + +.header h1 +{ font: italic 2em "trebuchet ms", "lucida grande", arial, sans-serif; + margin: 0; + padding: 15px 5px 5px 125px; + color: #3875D7; + text-align: left; +} + +.header form, .header p +{ margin: 0; + padding: 3px; + font-size: 0.9em; +} + +div.content +{ background: url(../images/bg.gif) #fff left top repeat-y; +} + +/* page layout */ +#navBox +{ width: 180px; + padding: 0; + margin: 0; + float: left; +} + +/* nav bar on left */ +#navLeft +{ font-size: 0.8em; + line-height: 130%; + padding-top: 10px; +} + +#navLeft ul +{ list-style: none; + margin: 0; + padding: 0; +} + +#navLeft a +{ display: block; + color: #000; + margin: 0; + background: #cddcf3; + border-bottom: 1px solid #fff; + padding: 2px 15px 2px 5px; +} + +#navLeft li.head a +{ font-weight: bold; +} + +#navLeft li.sub a +{ background: #EBF1FC; + padding: 2px 5px 2px 15px; +} + +#navLeft li a:hover +{ color: #fff; + background: #3875D7; +} + +#navLeft li.sub +{ display: none; +} + +#navLeft.all li +{ display: block; +} + +#navLeft li.dl +{ display: block; +} + +#navLeft.docs li.docs +{ display: block; +} + +#navLeft.abt li.abt +{ display: block; +} + +#navLeft.tools li.tools +{ display: block; +} + +#navLeft.cur li.cur +{ display: block; +} + +#navLeft li.top +{ display: inline; +} + +/* page contents */ +div.main +{ margin-left: 180px; + padding: 10px; +} + +/* pages without left hand navigation menu */ +div.photo +{ padding: 10px; + margin: 0; +} + +p.intro, div.main p +{ padding: 10px; +} + +div.main p, div.main div.block, .photo p +{ line-height: 1.6em; +} + +/* table of contents */ +div.navPage +{ border: 2px solid #ccc; + background: #EBF1FC; + padding: 5px 5%; + font-size: 0.9em; + line-height: 1.5em; +} + +div.navPage p +{ margin: 3px 0; + padding: 0; +} + +div.navPage ul +{ list-style: none; + margin: 0; + padding: 0; +} + +div.navPage li +{ margin: 3px 0; + padding: 0; +} + +div.navPage a +{ padding: 0 2px; + border: solid 1px #ebf1fc; +} + +div.navPage a:hover +{ border: solid 1px #3875D7; + background: #fff; + color: #006; +} + +div.navPage li.h2 +{ font-weight: bold; +} + +div.navPage li.h3 +{ font-weight: normal; + padding-left: 20px; +} +/* end page navigation */ + +/* extra class for the site map */ +div.navPage li.h1 +{ font-weight: bold; + margin-left: -20px; + padding-top: 5px; + font-size: 1.2em; +} + +/* classes for the navBar on the 2006 annotation camp pages */ +div.navBarDiv +{ padding: 3px 0; + margin: 10px -10px; + border-width: 3px 0 3px 0; + border-color: #3875D7; + border-style: solid; + background: #e9effa; + font-size: 1.2em; +} + +ul.navBar +{ margin: 0; + padding: 1px; + list-style: none; + background: #e9effa; + text-align: center; +} + +ul.navBar li +{ display: inline; + margin: 0; + padding: 0; +} + +ul.navBar li a +{ border: 1px solid #e9effa; + padding: 3px 5px; + margin: 0; +} + +ul.navBar li a:hover, ul.navBar li a:active +{ border: 1px solid #fff; + color: #fff; + background: #3875D7; +} + +ul.navBar li a.here +{ color: #000; + border: 1px solid #000; + background: #fff; +} + +/* bibliography specific */ +h4#setViewOptions +{ margin-bottom: 1px; +} + +p#viewOptions +{ color: #006; + border: solid 1px #3875D7; + background: #fff; + padding: 10px; + margin-top: 0; +} + +div.biblio ul +{ font-size: 0.7em; + margin: 0 0 0 20px; + padding: 0; +} + +div.biblio p +{ font-size: 0.8em; + margin: 15px 0 0 0; + padding: 0; +} + +div.biblio p b +{ font-size: 1.2em; +} + +div.biblio p a +{ font-size: 1.1em; +} + +/* page contents proper */ +div.block +{ border: 1px solid #3875D7; + margin: 10px 0; + font-size: 0.9em; + padding: 0 10px; +} + +div.block p, div.block h4 +{ padding: 0; + margin: 0.5em 0; +} + +div.block ul +{ padding: 5px 0; + margin: 0 0 0 20px; +} + +div.block li +{ padding: 0.2em 0; + margin: 0; +} + +div.block ul.small +{ padding: 0 0 5px 0; +} + +div.block ul.small li +{ padding: 0; + margin: 0; +} + +div.block h2 +{ border-bottom: 1px solid #3875D7; + background: #e9effa; + margin: 0 -10px; + padding: 5px 10px; +} + +div.block h3, div.tool h4 +{ border-top: 1px solid #3875D7; + margin: 0 -10px; + padding: 10px 10px 5px 10px; + color: #006; + text-align: left; +} + +div.block h2 + h3, div.block h2 + div.tool h4 +{ border-top: 0; +} + +div.block dl +{ margin: 0; + padding: 0; +} + +div.block p.terminal +{ font: 0.9em monaco, courier, monospace; + background: #009; + color: #fff; + border: 2px solid #ccc; + padding: 5px 10px; + margin: 0; +} + +/* links at bottom of each block section */ +div.block p.toTop +{ font-size: 0.8em; + line-height: 1.4em; + text-align: right; + background: #e9effa; + margin: 0 -10px; + padding: 0.3em; +} + +div.block p.toTop a +{ background: #cddcf3; + color: #000; + text-decoration: none; + padding: 0.3em; + margin: 0; + border: none; +} + +div.block p.toTop a:hover, p.toTop a:active +{ background: #3875D7; + color: #fff; +} + +div.diag +{ width: 80%; + margin: 10px 0 20px 10%; + background: #e9effa; + border: 3px solid #ccc; + padding: 5px 10px; +} + +div.contents p +{ padding: 10px 0 0 0; +} + +table +{ border: 2px solid #ccc; + margin: 10px 0; + padding: 0; + width: 100%; +} + +div.photo table +{ background: #ccc; + margin: 0; +} + +th +{ padding: 5px; + background: #cddcf3; + font-weight: bold; + text-align: center; + vertical-align: top; +} + +td +{ padding: 5px; + background: #e9effa; + vertical-align: top; +} + +td.stdL +{ background: #cddcf3; + font-weight: bold; + width: 25%; +} + +.tt +{ font-family: monaco, courier, monospace; +} + +.wh +{ background: #fff; +} + +.red +{ color: #f00; +} + +.blue +{ color: #00f; +} + +.green +{ color: #060; +} + +.purple +{ color: #909; +} + +.C +{ text-align: center; +} + +.L +{ text-align: left; +} + +.R +{ text-align: right; +} + +.term +{ color: #090; + font-weight: 700; +} + +.small +{ font-size: 0.8em; +} + +ul.noDot +{ list-style: none; +} + +.w10 +{ width: 10%; +} + +.w20 +{ width: 20%; +} + +.w25 +{ width: 25%; +} + +.w40 +{ width: 40%; +} + +.w75 +{ width: 75%; +} + +.b +{ font-weight: bold; +} + +.i +{ font-style: italic; +} + +table.annot td.sep +{ padding: 0; +} + +ul.inline +{ margin: 0; + padding: 0; +} + +ul.inline li +{ display: inline; + list-style: none; + margin: 0 5px; + padding: 0; +} + +.floatR +{ float: right; + margin: 0; + padding-right: 10px; +} + +div.floatR a +{ background: #fff; + border: none; + padding: 3px; + margin: 0; +} + +.clearboth +{ clear: both; + height: 1px; + visibility: hidden; +} + +.clearR +{ clear: right; + height: 1px; + margin: 5px 0; + visibility: hidden; +} + +dl.evidence +{ padding: 0; +} + +.evidence dt +{ width: 15%; + float: left; + margin: 0; + padding: .5em; + border-top: 1px solid #999; + font-weight: bold; +} + +/* commented backslash hack for mac-ie5 \*/ +dt { clear: both; } +/* end hack */ + +.evidence dd +{ margin: 0 0 0 15%; + padding: .5em; + border-top: 1px solid #999; +} + +div.tool div.floatR +{ margin-top: 5px; + padding: 0; +} + +div.tool div.floatR img +{ margin: 0; + padding: 2px; +} + +.block li.dir, .block li.doc, .block li.html, .block li.jpg, .block li.link, .block li.pdf, .block li.ppt, .block li.psd, .block li.sxi, .block li.txt, .block li.zip +{ background-repeat: no-repeat; + background-position: 0% 50%; + padding-left: 18px; +} + +.block li.jpg +{ background-image: url(../images/icon-jpg.gif); +} + +.block li.html +{ background-image: url(../images/icon-html.gif); +} + +.block li.ppt +{ background-image: url(../images/icon-ppt.gif); +} + +.block li.zip +{ background-image: url(../images/icon-zip.gif); +} + +.block li.psd +{ background-image: url(../images/icon-psd.gif); +} + +.block li.sxi +{ background-image: url(../images/icon-unknown.gif); +} + +.block li.txt +{ background-image: url(../images/icon-txt.gif); +} + +.block li.doc +{ background-image: url(../images/icon-doc.gif); +} + +.block li.dir +{ background-image: url(../images/icon-dir.gif); +} + +.block li.pdf +{ background-image: url(../images/icon-pdf.gif); +} + +.form textarea, .form input +{ margin: 10px 0; +} Added: phenote/trunk/doc/phenote-website/css/style-alpha.css =================================================================== --- phenote/trunk/doc/phenote-website/css/style-alpha.css (rev 0) +++ phenote/trunk/doc/phenote-website/css/style-alpha.css 2007-01-30 18:35:57 UTC (rev 312) @@ -0,0 +1,178 @@ +/* Style sheet made to go with the UCSC Japanese Program. */ + +/* ---------- Default properties. ---------- */ +body { + font-family: arial, helvetica, sans-serif; + font-size: 100%; + background: white url(bg-music5.jpg) repeat top right; + color: black; + margin: 0; + padding: 0; + /*border: 3px solid #f4ecd9;*/ +} + +/* ---------- "page_head" area. ---------- */ + +/**/ +#page_head{ + background-image: url(top_image.jpg); + background-repeat: repeat-x; + top: 0px; + height: 110px; + /*border: 5px solid yellow;*/ +} + +.ehead{ + white-space: nowrap; + left: 1em; + font-size: 1.25em; + font-weight: bold; + color: yellow; + /*color: #121212;*/ + position: absolute; + /*border: 5px solid red;*/ + z-index: 2; +} + +.jhead{ + white-space: nowrap; + position: absolute; + left: 5em; + top: 1em; + font-size: 1.5em; + color: #dddddd; + /*border: 5px solid blue;*/ + z-index: 1; +} + +.language2j{ + padding: .5em; + float: right; + color: #888888; + /*border: 5px solid #black;*/ +} + +/* ---------- "page_body" class. ---------- */ + +/**/ +#page_body{ + padding: 1.5em; +/* border: 5px solid purple;*/ +} + +/* ---------- "page_foot" class. ---------- */ + +/**/ +#page_foot{ + padding: .5em; +/* border: 5px solid grey;*/ +} + +/* ---------- "main_content" class. ---------- */ + +/**/ +#main_content{ +height: auto; + background: #f4ecd9; + padding-left: 1em; + padding-right: 1em; + padding-bottom: 1em; + margin-left: 12em; + border: 2px solid black; +} + +#main_content img{ + /*float: left;*/ + padding: 1em; +} + +.portrait { + float: left; +} + +/**/ +.contact{ + /*float: left;*/ + /*border: 5px solid yellow;*/ +} + +/* ---------- "copyright" class. ---------- */ + +/**/ +.copyright{ + /*float: right;*/ + /*border: 5px solid orange;*/ +} + +/* ---------- "navi" id. ---------- */ + +/* Tell us what/where a "navi" is... */ +#navi { + background: #f4ecd9; + float: left; + width:8em; + padding-top: .5em; + padding-bottom: 1em; + padding-left: 1em; + padding-right: 1em; + border: 2px solid blue; +} + +/* How to display "h2"s in a "navi". */ +.navi_head { + font-size: 1.1em; + color: #36c; + font-weight: bold; + margin-bottom: .15em; + /*border: 1px solid red;*/ +} + +/* Give non-anchors a little breathing space. */ +#navi ul { + list-style: none; + margin: 0 0 0 0; + padding: 0; + /*border: 1px solid yellow;*/ +} + +#navi li { + margin: .25em; +} + +#navi li a { + text-decoration: none; + display: block; + color: #0000c0; + background: #f4ecd9; + /*border: 1px solid grey;*/ +} + +/* Highlight "li"'s "a"s on hover. */ +#navi li a:hover { + background: #e0e0e0; + /*border-color: #0c0c0c;*/ +} + +/* */ +#navi ul li { + display: block; + background: #f4ecd9; + /*border: 1px solid green;*/ +} + +/* */ +#navi ul li ul{ + text-decoration: none; + display: block; + margin-left: 1em; + /*border: 1px solid orange;*/ +} + +/* */ +#navi ul li ul li{ + font-size: .85em; + text-decoration: none; + display: block; + background: #f4ecd9; + /*border: 1px solid purple;*/ +} Added: phenote/trunk/doc/phenote-website/css/style-light.css =================================================================== --- phenote/trunk/doc/phenote-website/css/style-light.css (rev 0) +++ phenote/trunk/doc/phenote-website/css/style-light.css 2007-01-30 18:35:57 UTC (rev 312) @@ -0,0 +1,178 @@ +/* Style sheet made to go with the UCSC Japanese Program. */ + +/* ---------- Default properties. ---------- */ +body { + font-family: arial, helvetica, sans-serif; + font-size: 100%; + background: white url(bg-music5.jpg) repeat top right; + color: black; + margin: 0; + padding: 0; + /*border: 3px solid #f4ecd9;*/ +} + +/* ---------- "page_head" area. ---------- */ + +/**/ +#page_head{ + background-image: url(top_image.jpg); + background-repeat: repeat-x; + top: 0px; + height: 110px; + /*border: 5px solid yellow;*/ +} + +.ehead{ + white-space: nowrap; + left: 1em; + font-size: 1.25em; + font-weight: bold; + color: yellow; + /*color: #121212;*/ + position: absolute; + /*border: 5px solid red;*/ + z-index: 2; +} + +.jhead{ + white-space: nowrap; + position: absolute; + left: 5em; + top: 1em; + font-size: 1.5em; + color: #dddddd; + /*border: 5px solid blue;*/ + z-index: 1; +} + +.language2j{ + padding: .5em; + float: right; + color: #888888; + /*border: 5px solid #black;*/ +} + +/* ---------- "page_body" class. ---------- */ + +/**/ +#page_body{ + padding: 1.5em; +/* border: 5px solid purple;*/ +} + +/* ---------- "page_foot" class. ---------- */ + +/**/ +#page_foot{ + padding: .5em; +/* border: 5px solid grey;*/ +} + +/* ---------- "main_content" class. ---------- */ + +/**/ +#main_content{ +height: auto; + background: #f4ecd9; + padding-left: 1em; + padding-right: 1em; + padding-bottom: 1em; + margin-left: 12em; + border: 2px solid black; +} + +#main_content img{ + /*float: left;*/ + padding: 1em; +} + +.portrait { + float: left; +} + +/**/ +.contact{ + /*float: left;*/ + /*border: 5px solid yellow;*/ +} + +/* ---------- "copyright" class. ---------- */ + +/**/ +.copyright{ + /*float: right;*/ + /*border: 5px solid orange;*/ +} + +/* ---------- "navi" id. ---------- */ + +/* Tell us what/where a "navi" is... */ +#navi { + background: #f4ecd9; + float: left; + width:8em; + padding-top: .5em; + padding-bottom: 1em; + padding-left: 1em; + padding-right: 1em; + border: 2px solid blue; +} + +/* How to display "h2"s in a "navi". */ +.navi_head { + font-size: 1.1em; + color: #36c; + font-weight: bold; + margin-bottom: .15em; + /*border: 1px solid red;*/ +} + +/* Give non-anchors a little breathing space. */ +#navi ul { + list-style: none; + margin: 0 0 0 0; + padding: 0; + /*border: 1px solid yellow;*/ +} + +#navi li { + margin: .25em; +} + +#navi li a { + text-decoration: none; + display: block; + color: #0000c0; + background: #f4ecd9; + /*border: 1px solid grey;*/ +} + +/* Highlight "li"'s "a"s on hover. */ +#navi li a:hover { + background: #e0e0e0; + /*border-color: #0c0c0c;*/ +} + +/* */ +#navi ul li { + display: block; + background: #f4ecd9; + /*border: 1px solid green;*/ +} + +/* */ +#navi ul li ul{ + text-decoration: none; + display: block; + margin-left: 1em; + /*border: 1px solid orange;*/ +} + +/* */ +#navi ul li ul li{ + font-size: .85em; + text-decoration: none; + display: block; + background: #f4ecd9; + /*border: 1px solid purple;*/ +} Added: phenote/trunk/doc/phenote-website/css/style-square.css =================================================================== --- phenote/trunk/doc/phenote-website/css/style-square.css (rev 0) +++ phenote/trunk/doc/phenote-website/css/style-square.css 2007-01-30 18:35:57 UTC (rev 312) @@ -0,0 +1,178 @@ +/* Style sheet made to go with the UCSC Japanese Program. */ + +/* ---------- Default properties. ---------- */ +body { + font-family: arial, helvetica, sans-serif; + font-size: 100%; + background: white url(bg-music.jpg) repeat top right; + color: black; + margin: 0; + padding: 0; + /*border: 3px solid #f4ecd9;*/ +} + +/* ---------- "page_head" area. ---------- */ + +/**/ +#page_head{ + background-image: url(top_image.jpg); + background-repeat: repeat-x; + top: 0px; + height: 110px; + /*border: 5px solid yellow;*/ +} + +.ehead{ + white-space: nowrap; + left: 1em; + font-size: 1.25em; + font-weight: bold; + color: yellow; + /*color: #121212;*/ + position: absolute; + /*border: 5px solid red;*/ + z-index: 2; +} + +.jhead{ + white-space: nowrap; + position: absolute; + left: 5em; + top: 1em; + font-size: 1.5em; + color: #dddddd; + /*border: 5px solid blue;*/ + z-index: 1; +} + +.language2j{ + padding: .5em; + float: right; + color: #888888; + /*border: 5px solid #black;*/ +} + +/* ---------- "page_body" class. ---------- */ + +/**/ +#page_body{ + padding: 1.5em; +/* border: 5px solid purple;*/ +} + +/* ---------- "page_foot" class. ---------- */ + +/**/ +#page_foot{ + padding: .5em; +/* border: 5px solid grey;*/ +} + +/* ---------- "main_content" class. ---------- */ + +/**/ +#main_content{ +height: auto; + background: #f4ecd9; + padding-left: 1em; + padding-right: 1em; + padding-bottom: 1em; + margin-left: 12em; + border: 2px solid black; +} + +#main_content img{ + /*float: left;*/ + padding: 1em; +} + +.portrait { + float: left; +} + +/**/ +.contact{ + /*float: left;*/ + /*border: 5px solid yellow;*/ +} + +/* ---------- "copyright" class. ---------- */ + +/**/ +.copyright{ + /*float: right;*/ + /*border: 5px solid orange;*/ +} + +/* ---------- "navi" id. ---------- */ + +/* Tell us what/where a "navi" is... */ +#navi { + background: #f4ecd9; + float: left; + width:8em; + padding-top: .5em; + padding-bottom: 1em; + padding-left: 1em; + padding-right: 1em; + border: 2px solid blue; +} + +/* How to display "h2"s in a "navi". */ +.navi_head { + font-size: 1.1em; + color: #36c; + font-weight: bold; + margin-bottom: .15em; + /*border: 1px solid red;*/ +} + +/* Give non-anchors a little breathing space. */ +#navi ul { + list-style: none; + margin: 0 0 0 0; + padding: 0; + /*border: 1px solid yellow;*/ +} + +#navi li { + margin: .25em; +} + +#navi li a { + text-decoration: none; + display: block; + color: #0000c0; + background: #f4ecd9; + /*border: 1px solid grey;*/ +} + +/* Highlight "li"'s "a"s on hover. */ +#navi li a:hover { + background: #e0e0e0; + /*border-color: #0c0c0c;*/ +} + +/* */ +#navi ul li { + display: block; + background: #f4ecd9; + /*border: 1px solid green;*/ +} + +/* */ +#navi ul li ul{ + text-decoration: none; + display: block; + margin-left: 1em; + /*border: 1px solid orange;*/ +} + +/* */ +#navi ul li ul li{ + font-size: .85em; + text-decoration: none; + display: block; + background: #f4ecd9; + /*border: 1px solid purple;*/ +} Added: phenote/trunk/doc/phenote-website/css/style-stark.css =================================================================== --- phenote/trunk/doc/phenote-website/css/style-stark.css (rev 0) +++ phenote/trunk/doc/phenote-website/css/style-stark.css 2007-01-30 18:35:57 UTC (rev 312) @@ -0,0 +1,176 @@ +/* Style sheet made to go with the UCSC Japanese Program. */ + +/* ---------- Default properties. ---------- */ +body { + font-family: arial, helvetica, sans-serif; + font-size: 100%; + background: white url(bg-music.jpg) repeat top right; + color: black; + margin: 0; + padding: 0; + /*border: 3px solid #f4ecd9;*/ +} + +/* ---------- "page_head" area. ---------- */ + +/**/ +#page_head{ + top: 0px; + height: 110px; + /*border: 5px solid yellow;*/ +} + +.ehead{ + white-space: nowrap; + left: 1em; + font-size: 1.25em; + font-weight: bold; + color: red; + /*color: #121212;*/ + position: absolute; + /*border: 5px solid red;*/ + z-index: 2; +} + +.jhead{ + white-space: nowrap; + position: absolute; + left: 5em; + top: 1em; + font-size: 1.5em; + color: yellow; + /*border: 5px solid blue;*/ + z-index: 1; +} + +.language2j{ + padding: .5em; + float: right; + color: #888888; + /*border: 5px solid #black;*/ +} + +/* ---------- "page_body" class. ---------- */ + +/**/ +#page_body{ + padding: 1.5em; +/* border: 5px solid purple;*/ +} + +/* ---------- "page_foot" class. ---------- */ + +/**/ +#page_foot{ + padding: .5em; +/* border: 5px solid grey;*/ +} + +/* ---------- "main_content" class. ---------- */ + +/**/ +#main_content{ +height: auto; + background: #f4ecd9; + padding-left: 1em; + padding-right: 1em; + padding-bottom: 1em; + margin-left: 12em; + border: 2px solid black; +} + +#main_content img{ + /*float: left;*/ + padding: 1em; +} + +.portrait { + float: left; +} + +/**/ +.contact{ + /*float: left;*/ + /*border: 5px solid yellow;*/ +} + +/* ---------- "copyright" class. ---------- */ + +/**/ +.copyright{ + /*float: right;*/ + /*border: 5px solid orange;*/ +} + +/* ---------- "navi" id. ---------- */ + +/* Tell us what/where a "navi" is... */ +#navi { + background: #f4ecd9; + float: left; + width:8em; + padding-top: .5em; + padding-bottom: 1em; + padding-left: 1em; + padding-right: 1em; + border: 2px solid blue; +} + +/* How to display "h2"s in a "navi". */ +.navi_head { + font-size: 1.1em; + color: #36c; + font-weight: bold; + margin-bottom: .15em; + /*border: 1px solid red;*/ +} + +/* Give non-anchors a little breathing space. */ +#navi ul { + list-style: none; + margin: 0 0 0 0; + padding: 0; + /*border: 1px solid yellow;*/ +} + +#navi li { + margin: .25em; +} + +#navi li a { + text-decoration: none; + display: block; + color: #0000c0; + background: #f4ecd9; + /*border: 1px solid grey;*/ +} + +/* Highlight "li"'s "a"s on hover. */ +#navi li a:hover { + background: #e0e0e0; + /*border-color: #0c0c0c;*/ +} + +/* */ +#navi ul li { + display: block; + background: #f4ecd9; + /*border: 1px solid green;*/ +} + +/* */ +#navi ul li ul{ + text-decoration: none; + display: block; + margin-left: 1em; + /*border: 1px solid orange;*/ +} + +/* */ +#navi ul li ul li{ + font-size: .85em; + text-decoration: none; + display: block; + background: #f4ecd9; + /*border: 1px solid purple;*/ +} Added: phenote/trunk/doc/phenote-website/css/style-tile.css =================================================================== --- phenote/trunk/doc/phenote-website/css/style-tile.css (rev 0) +++ phenote/trunk/doc/phenote-website/css/style-tile.css 2007-01-30 18:35:57 UTC (rev 312) @@ -0,0 +1,176 @@ +/* Style sheet made to go with the UCSC Japanese Program. */ + +/* ---------- Default properties. ---------- */ +body { + font-family: arial, helvetica, sans-serif; + font-size: 100%; + background: white url(top_image.jpg) repeat top right; + color: black; + margin: 0; + padding: 0; + /*border: 3px solid #f4ecd9;*/ +} + +/* ---------- "page_head" area. ---------- */ + +/**/ +#page_head{ + top: 0px; + height: 110px; + /*border: 5px solid yellow;*/ +} + +.ehead{ + white-space: nowrap; + left: 1em; + font-size: 1.25em; + font-weight: bold; + color: yellow; + /*color: #121212;*/ + position: absolute; + /*border: 5px solid red;*/ + z-index: 2; +} + +.jhead{ + white-space: nowrap; + position: absolute; + left: 5em; + top: 1em; + font-size: 1.5em; + color: #dddddd; + /*border: 5px solid blue;*/ + z-index: 1; +} + +.language2j{ + padding: .5em; + float: right; + color: #888888; + /*border: 5px solid #black;*/ +} + +/* ---------- "page_body" class. ---------- */ + +/**/ +#page_body{ + padding: 1.5em; +/* border: 5px solid purple;*/ +} + +/* ---------- "page_foot" class. ---------- */ + +/**/ +#page_foot{ + padding: .5em; +/* border: 5px solid grey;*/ +} + +/* ---------- "main_content" class. ---------- */ + +/**/ +#main_content{ +height: auto; + background: #f4ecd9; + padding-left: 1em; + padding-right: 1em; + padding-bottom: 1em; + margin-left: 12em; + border: 2px solid black; +} + +#main_content img{ + /*float: left;*/ + padding: 1em; +} + +.portrait { + float: left; +} + +/**/ +.contact{ + /*float: left;*/ + /*border: 5px solid yellow;*/ +} + +/* ---------- "copyright" class. ---------- */ + +/**/ +.copyright{ + /*float: right;*/ + /*border: 5px solid orange;*/ +} + +/* ---------- "navi" id. ---------- */ + +/* Tell us what/where a "navi" is... */ +#navi { + background: #f4ecd9; + float: left; + width:8em; + padding-top: .5em; + padding-bottom: 1em; + padding-left: 1em; + padding-right: 1em; + border: 2px solid blue; +} + +/* How to display "h2"s in a "navi". */ +.navi_head { + font-size: 1.1em; + color: #36c; + font-weight: bold; + margin-bottom: .15em; + /*border: 1px solid red;*/ +} + +/* Give non-anchors a little breathing space. */ +#navi ul { + list-style: none; + margin: 0 0 0 0; + padding: 0; + /*border: 1px solid yellow;*/ +} + +#navi li { + margin: .25em; +} + +#navi li a { + text-decoration: none; + display: block; + color: #0000c0; + background: #f4ecd9; + /*border: 1px solid grey;*/ +} + +/* Highlight "li"'s "a"s on hover. */ +#navi li a:hover { + background: #e0e0e0; + /*border-color: #0c0c0c;*/ +} + +/* */ +#navi ul li { + display: block; + background: #f4ecd9; + /*border: 1px solid green;*/ +} + +/* */ +#navi ul li ul{ + text-decoration: none; + display: block; + margin-left: 1em; + /*border: 1px solid orange;*/ +} + +/* */ +#navi ul li ul li{ + font-size: .85em; + text-decoration: none; + display: block; + background: #f4ecd9; + /*border: 1px solid purple;*/ +} Added: phenote/trunk/doc/phenote-website/css/style.css =================================================================== --- phenote/trunk/doc/phenote-website/css/style.css (rev 0) +++ phenote/trunk/doc/phenote-website/css/style.css 2007-01-30 18:35:57 UTC (rev 312) @@ -0,0 +1,195 @@ +/* Style sheet made to go with snugglebunnies. */ + +/* ---------- Default properties. ---------- */ +body { + font-family: arial, helvetica, sans-serif; + font-size: 100%; + background: white url(/images/bg_image25.jpg) repeat top right; + color: black; + margin: 0; +} + +/* ---------- "page_head" area. ---------- */ + +/**/ +#page_head{ + /*background-image: url(top_image.jpg);*/ + /*background-repeat: repeat-x;*/ + /*background: #ebf1fc;*/ + top: 0px; + height: 110px; +} + +.ehead{ + white-space: nowrap; + left: 1em; + font-size: 1.25em; + font-weight: bold; + color: 999999; + position: absolute; + z-index: 2; +} + +.jhead{ + white-space: nowrap; + position: absolute; + left: 5em; + top: 1em; + font-size: 1.5em; + color: #aabbdd; + z-index: 1; +} + +.page_logo{ + left: .1em; + top: .1em; + position: absolute; + /* padding: .25em; */ +} + + +/* ---------- Effects classes. ---------- */ + +/**/ +.small{ + font-size: 80%; +} + +.smaller{ + font-size: 75%; +} + +.smallest{ + font-size: 50%; +} + +/* ---------- "page_body" class. ---------- */ + +/**/ +#page_body{ + padding: 1.5em; +} + +/* ---------- "page_foot" class. ---------- */ + +/**/ +#page_foot{ + /*color: #dddddd;*/ + font-size: .25em; + /*float: right;*/ +} + +/* ---------- "main_content" class. ---------- */ + +/**/ +#main_content{ +height: auto; + /*background: #f4ecd9;*/ + background: #f9f9f9; + padding-left: 1em; + padding-right: 1em; + padding-bottom: 1em; + margin-left: 12em; + -khtml-border-radius: 1em; + -moz-border-radius: 1em; + -o-border-radius: 1em; + border-radius: 4px; + border: 2px solid black; +} + +#main_content img{ + padding-right: 1em; + padding-bottom: 1em; +} + +#main_content .portrait { + float: left; + /*border: 1px solid brown;*/ +} + +#main_content .contact{ + clear: right; + /*border: 1px solid brown;*/ +} + +/* ---------- "copyright" class. ---------- */ + +/**/ +.copyright{ + /*float: right;*/ + /*border: 5px solid orange;*/ +} + +/* ---------- "navi" id. ---------- */ + +/* Tell us what/where a "navi" is... */ +#navi { + /*background: #f4ecd9;*/ + background: #f9f9f9; + float: left; + width:8em; + padding-top: .5em; + padding-bottom: 1em; + padding-left: 1em; + padding-right: 1em; + border: 2px solid blue; + padding: 1em; + -khtml-border-radius: 1em; + -moz-border-radius: 1em; + -o-border-radius: 1em; + border-radius: 4px; + border: 2px solid blue; +} + +/* How to display "h2"s in a "navi". */ +.navi_head { + font-size: 1.1em; + color: #36c; + font-weight: bold; + margin-bottom: .15em; +} + +/* Give non-anchors a little breathing space. */ +#navi ul { + list-style: none; + margin: 0 0 0 0; + padding: 0; +} + +#navi li { + margin: .25em; +} + +#navi li a { + text-decoration: none; + display: inline; + color: #0000c0; + background: #f9f9f9; +} + +/* Highlight "li"'s "a"s on hover. */ +#navi li a:hover { + background: #aabbdd; + /*background: #e0e0e0;*/ +} + +/* */ +#navi ul li { + display: block; + background: #f9f9f9; +} + +/* */ +#navi ul li ul{ + text-decoration: none; + display: block; + margin-left: 1em; +} + +/* */ +#navi ul li ul li{ + font-size: .85em; + text-decoration: none; + display: block; + background: #f9f9f9; +} Added: phenote/trunk/doc/phenote-website/images/NCBO_logo.jpg =================================================================== (Binary files differ) Property changes on: phenote/trunk/doc/phenote-website/images/NCBO_logo.jpg ___________________________________________________________________ Name: svn:executable + * Name: svn:mime-type + application/octet-stream Added: phenote/trunk/doc/phenote-website/images/lbl_logo.gif =================================================================== (Binary files differ) Property changes on: phenote/trunk/doc/phenote-website/images/lbl_logo.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: phenote/trunk/doc/phenote-website/images/oboedit_logo.gif =================================================================== (Binary files differ) Property changes on: phenote/trunk/doc/phenote-website/images/oboedit_logo.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: phenote/trunk/doc/phenote-website/index_text.shtml =================================================================== --- phenote/trunk/doc/phenote-website/index_text.shtml (rev 0) +++ phenote/trunk/doc/phenote-website/index_text.shtml 2007-01-30 18:35:57 UTC (rev 312) @@ -0,0 +1,43 @@ +<!--#include virtual="/ssi/header.html" --> + +<div id="page_body"> + +<!-- A short and funny little quote. --> +<!-- +<div id="quote"> +<div class="quote_body"> +Here is a quote. +</div> +<div class="quote_ref"> +-Me +</div> +</div> +--> + +<!--#include virtual="/ssi/navi_home.html" --> + +<div id="main_content"> +<h2>Welcome...</h2> +<p> +</p> + +<p> +...to the Berkeley Bioinformatics and Ontologies Project. +</p> + +<p> +<a href="/content/jobs/">We're hiring!</a> +</p> + +<p> +The BBOP, located at the Lawrence Berkeley National Labs, is a diverse group of scientific researchers and software engineers dedicated to developing tools and applying computational technologies to solve biological problems. Members of the group contribute to a number of projects, including <a href="http://geneontology.org/">The Gene Ontology</a>, <a href="http://bioontology.org">The National Center for Biomedical Ontology</a>, and the <a href="http://gmod.org">Generic Model Organism Database Project</a>. Learn more about our projects <a href="/content/projects/">[here ...]</a> +</p> +<p> +Since our group is focused on the development, use, and integration of ontolgies into biological data analysis, we've set up a <a href="content/faq/">FAQ</a> with answers to some common questions about ontologies. + +</p> +</div> +</div> + +<!--#include virtual="/ssi/footer.shtml" --> + Added: phenote/trunk/doc/phenote-website/javascript/obfuscate.js =================================================================== --- phenote/trunk/doc/phenote-website/javascript/obfuscate.js (rev 0) +++ phenote/trunk/doc/phenote-website/javascript/obfuscate.js 2007-01-30 18:35:57 UTC (rev 312) @@ -0,0 +1,9 @@ +function obfuscate( domain, name, optionalText ) +{ + document.write('<a href="mai' + 'lto:' + name + '@' + domain + '">'); + if (optionalText == "") + document.write(name + '@' + domain); + else + document.write(optionalText); + document.write('<\/a>'); +} Added: phenote/trunk/doc/phenote-website/ssi/footer.html =================================================================== --- phenote/trunk/doc/phenote-website/ssi/footer.html (rev 0) +++ phenote/trunk/doc/phenote-website/ssi/footer.html 2007-01-30 18:35:57 UTC (rev 312) @@ -0,0 +1 @@ + \ No newline at end of file Added: phenote/trunk/doc/phenote-website/ssi/footer.shtml =================================================================== --- phenote/trunk/doc/phenote-website/ssi/footer.shtml (rev 0) +++ phenote/trunk/doc/phenote-website/ssi/footer.shtml 2007-01-30 18:35:57 UTC (rev 312) @@ -0,0 +1,23 @@ +<div id="page_foot"> +<div class="contact"> +<!-- TODO add obfuscate.js webmaster stuff here. --> +</div> + +<div class="copyright"> +<!-- +©2006 +--> +</div> + +<div class="last_modified"> +<!-- +<!--#config timefmt="%A %B %d, %Y" --> +Last modified: +<!--#echo var="LAST_MODIFIED" --> +--> +</div> +</div> + +</body> + +</html> Added: phenote/trunk/doc/phenote-website/ssi/header.html =================================================================== --- phenote/trunk/doc/phenote-website/ssi/header.html (rev 0) +++ phenote/trunk/doc/phenote-website/ssi/header.html 2007-01-30 18:35:57 UTC (rev 312) @@ -0,0 +1,45 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> + +<head> + +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<!-- TODO: need an icon --> +<link rel="icon" href="" type="image/png" /> +<link rel="shortcut icon" href="" type="image/png" /> +<link rel="stylesheet" type="text/css" href="/css/style.css" title="standard" /> +<link rel="alternate stylesheet" type="text/css" href="/css/style-square.css" title="square" /> +<link rel="alternate stylesheet" type="text/css" href="/css/style-light.css" title="light" /> +<link rel="alternate stylesheet" type="text/css" href="/css/style-stark.css" title="stark" /> +<link rel="alternate stylesheet" type="text/css" href="/css/style-tile.css" title="tile" /> +<link rel="alternate stylesheet" type="text/css" href="/css/style-curve.css" title="curve" /> +<link rel="alternate stylesheet" type="text/css" href="/css/style-alpha.css" title="alpha" /> + +<script type="text/javascript" src="/javascript/obfuscate.js"></script> + +<title>Phenote: A Phenotype Annotation Tool</title> + +<!-- My comments! --> + +</head> + +<body> + +<div id="page_head"> + +<div class="ehead"> +<h1>Phenote</h1> +</div> + +<div class="jhead"> +<h1>BBOP</h1> +</div> + +<div class="page_logo"> +<img src="/images/stolen-logo.gif" alt="logo" /> +</div> + +</div> + Added: phenote/trunk/doc/phenote-website/ssi/navi_about.html =================================================================== --- phenote/trunk/doc/phenote-website/ssi/navi_about.html (rev 0) +++ phenote/trunk/doc/phenote-website/ssi/navi_about.html 2007-01-30 18:35:57 UTC (rev 312) @@ -0,0 +1,47 @@ +<div id="navi"> +<div class="navi_head"></div> +<ul> + <li> + <a href="/">Home</a> + </li> + <li> + <a href="/content/projects/">Projects</a> + </li> + <li> + <a href="/content/software/">Software</a> + </li> + <li> + <a href="/content/publications/">Publications</a> + </li> + <li> + <a href="/content/jobs/">Jobs</a> + </li> + <li> + <a href="/content/about/">About</a> + <ul> + <li> + <a href="/content/people/">BBOP people</a> + </li> + <li> + <a href="/content/about/contact.shtml">Contact us</a> + </li> + <li> + <a href="/content/about/directions.shtml">Directions</a> + </li> + <li> + <a href="/content/about/area.shtml">Area Info</a> + </li> + </ul> + </li> + <li> + <a href="/mediawiki">Wiki</a> + </li> + <li> + <a href="/content/links/">Links</a> + </li> + <li> + <a href="/content/faq/">FAQ</a> + </li> +</ul> +</div> + Added: phenote/trunk/doc/phenote-website/ssi/navi_home.html =================================================================== --- phenote/trunk/doc/phenote-website/ssi/navi_home.html (rev 0) +++ phenote/trunk/doc/phenote-website/ssi/navi_home.html 2007-01-30 18:35:57 UTC (rev 312) @@ -0,0 +1,36 @@ +<div id="navi"> +<div class="navi_head"></div> +<ul> +<!-- <li> + Home +--> </li> + <li> + <a href="/">Home</a> + </li> + <li> + <a href="/content/projects/">Background</a> + </li> + <li> + <a href="/content/software/">Downloads</a> + </li> + <li> + <a href="/content/software/">Documentation</a> + </li> + <li> + <a href="/content/publications/">References</a> + </li> + <li> + <a href="/content/faq/">FAQ</a> + </li> + <li> + <a href="/content/about/">About</a> + </li> + <li> + <a href="/content/links/">Links</a> + </li> + <li> + <a href="/mediawiki">Wiki</a> + </li> +</ul> +</div> + Added: phenote/trunk/doc/phenote-website/ssi/navi_home.html~ =================================================================== --- phenote/trunk/doc/phenote-website/ssi/navi_home.html~ (rev 0) +++ phenote/trunk/doc/phenote-website/ssi/navi_home.html~ 2007-01-30 18:35:57 UTC (rev 312) @@ -0,0 +1,36 @@ +<div id="navi"> +<div class="navi_head"></div> +<ul> +<!-- <li> + Home +--> </li> + <li> + <a href="/">Home</a> + </li> + <li> + <a href="/content/projects/">Projects</a> + </li> + <li> + <a href="/content/software/">Software</a> + </li> + <li> + <a href="/content/publications/">Publications</a> + </li> + <li> + <a href="/content/jobs/">Jobs</a> + </li> + <li> + <a href="/content/about/">About</a> + </li> + <li> + <a href="/mediawiki">Wiki</a> + </li> + <li> + <a href="/content/links/">Links</a> + </li> + <li> + <a href="/content/faq/">FAQ</a> + </li> +</ul> +</div> + Added: phenote/trunk/doc/phenote-website/ssi/navi_publications.html =================================================================== --- phenote/trunk/doc/phenote-website/ssi/navi_publications.html (rev 0) +++ phenote/trunk/doc/phenote-website/ssi/navi_publications.html 2007-01-30 18:35:57 UTC (rev 312) @@ -0,0 +1,30 @@ +<div id="navi"> +<div class="navi_head"></div> +<ul> + <li> + <a href="/">Home</a> + </li> + <li> + <a href="/content/projects/">Projects</a> + </li> + <li> + <a href="/content/people/">People</a> + </li> + <li> + <a href="/content/publications/">Publications</a> + </li> + <li> + <a href="/content/jobs/">Jobs</a> + </li> + <li> + <a href="/content/about/">Contact</a> + </li> + <li> + <a href="/mediawiki">Wiki</a> + </li> + <li> + <a href="/content/faq/">FAQ</a> + </li> +</ul> +</div> + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-01-30 18:08:13
|
Revision: 311 http://svn.sourceforge.net/obo/?rev=311&view=rev Author: mgibson Date: 2007-01-30 10:02:20 -0800 (Tue, 30 Jan 2007) Log Message: ----------- changed ant jar to put obo files in subdir in the jar - otherwise the obo jar file will get loaded before the .phenote/obo-files obo file cache Modified Paths: -------------- phenote/trunk/build.xml phenote/trunk/obo-files/quality.obo phenote/trunk/src/java/phenote/dataadapter/OntologyDataAdapter.java Modified: phenote/trunk/build.xml =================================================================== --- phenote/trunk/build.xml 2007-01-30 15:25:56 UTC (rev 310) +++ phenote/trunk/build.xml 2007-01-30 18:02:20 UTC (rev 311) @@ -133,7 +133,7 @@ </java> </target> <target name="run-jar" > - <java classname="phenote.main.Phenote" fork="yes" jvmargs="-Xmx200M"> + <java classname="phenote.main.Phenote" fork="yes" jvmargs="-Xmx300M"> <!-- arg value="-c configfilehereventually"/ --> <classpath> <fileset dir="${lib}"> @@ -190,7 +190,7 @@ <!-- JAR The jar target compiles everything, and produces a phenote.jar in phenote/jars/phenote.jar. --> - <target name="jar" depends="compile"> + <target name="jar-pase" depends="compile"> <jar destfile="${jarfile}"> <fileset dir="${classfiles}"/> <fileset file="${obo}/*.obo"/> @@ -198,6 +198,14 @@ </jar> </target> + <target name="jar" depends="compile"> + <jar destfile="${jarfile}"> + <fileset dir="${classfiles}"/> + <fileset dir="." includes="obo-files/" excludes="obo-files/old"/> + <fileset file="${conf}/*.cfg"/> + </jar> + </target> + <target name="jar-web" depends="compile"> <jar destfile="${jarfile}"> <fileset dir="${classfiles}"/> Modified: phenote/trunk/obo-files/quality.obo =================================================================== --- phenote/trunk/obo-files/quality.obo 2007-01-30 15:25:56 UTC (rev 310) +++ phenote/trunk/obo-files/quality.obo 2007-01-30 18:02:20 UTC (rev 311) @@ -1,5 +1,5 @@ format-version: 1.0 -date: 22:01:2007 16:16 +date: 26:01:2007 16:23 saved-by: George Gkoutos auto-generated-by: OBO-Edit 1.100-beta16 subsetdef: abnormal_slim "Abnormal/normal slim" @@ -289,9 +289,10 @@ [Term] id: PATO:0000048 name: hardness -def: "A physical quality inhering in a bearer as the constant of proportionality of the force on its elastic body to its body's extension." [: "http://thesaurus.maths.org/"] +def: "A physical quality inhering in a bearer by virtue of its capability of being turned, bowed, or twisted without breaking." [merriam-webster:merriam-webster "http://www.m-w.com/"] subset: attribute_slim -related_synonym: "stiffness" [] +related_synonym: "impenetrability" [] +related_synonym: "toughness" [] is_a: PATO:0001018 ! physical quality [Term] @@ -2128,6 +2129,8 @@ name: hard def: "A hardness quality of being rigid and resistant to pressure." [PATO :GVG] subset: value_slim +related_synonym: "impenetrable" [] +related_synonym: "tough" [] is_a: PATO:0000048 ! hardness [Term] @@ -5603,7 +5606,7 @@ [Term] id: PATO:0001018 name: physical quality -def: "A quality that exists through action of continuants at the physical level of organisation" [PATO:GVG] +def: "A quality that exists through action of continuants at the physical level of organisation." [PATO:GVG] subset: attribute_slim is_a: PATO:0001237 ! monadic quality of continuant @@ -5692,7 +5695,7 @@ [Term] id: PATO:0001031 name: elasticity -def: "A physical quality inhering in a bearer by \nvirtue of the ratio of its extension to its original length." [PATO :GVG] +def: "A physical quality inhering in a bearer by virtue of its capability to recover its size and shape after deformation in any way." [merriam-webster:merriam-webster "http://www.m-w.com/ "] subset: attribute_slim is_a: PATO:0001018 ! physical quality @@ -6427,14 +6430,14 @@ [Term] id: PATO:0001171 name: elastic -def: "An elasticity that is larger than zero." [PATO :GVG] +def: "An elasticity quality inhering in a bearer by virtue of itsability to recover its size and shape after deformation in any way." [merriam-webster:merriam-webster "http://www.m-w.com/"] subset: value_slim is_a: PATO:0001031 ! elasticity [Term] id: PATO:0001172 name: inelastic -def: "An elasticity that equals to zero." [PATO :GVG] +def: "An elasticity quality inhering in a bearer by virtue of its inability to recover its size and shape after deformation in any way." [merriam-webster:merriam-webster "http://www.m-w.com/ "] subset: value_slim is_a: PATO:0001031 ! elasticity @@ -8896,6 +8899,44 @@ subset: value_slim is_a: PATO:0000083 ! phase +[Term] +id: PATO:0001543 +name: flexibility +def: "A physical quality inhering in a bearer by virtue of its capability of being turned, bowed, or twisted without breaking." [merriam-webster:merriam-webster "http://www.m-w.com/"] +is_a: PATO:0001018 ! physical quality + +[Term] +id: PATO:0001544 +name: flexible +def: "A physical quality inhering in a bearer by virtue of its ability of being turned, bowed, or twisted without breaking." [merriam-webster:merriam-webster "http://www.m-w.com/ "] +exact_synonym: "bendy" [] +is_a: PATO:0001543 ! flexibility + +[Term] +id: PATO:0001545 +name: inflexible +def: "A physical quality inhering in a bearer by virtue of its inability of being turned, bowed, or twisted without breaking." [merriam-webster:merriam-webster "http://www.m-w.com/ "] +exact_synonym: "stiff" [] +is_a: PATO:0001543 ! flexibility + +[Term] +id: PATO:0001546 +name: quality of a solid +exact_synonym: "solidity" [] +is_a: PATO:0001018 ! physical quality + +[Term] +id: PATO:0001547 +name: quality of a gas +exact_synonym: "gaseous" [] +is_a: PATO:0001018 ! physical quality + +[Term] +id: PATO:0001548 +name: quality of a liquid +exact_synonym: "liquidity" [] +is_a: PATO:0001018 ! physical quality + [Typedef] id: is_magnitude_of name: is_magnitude_of Modified: phenote/trunk/src/java/phenote/dataadapter/OntologyDataAdapter.java =================================================================== --- phenote/trunk/src/java/phenote/dataadapter/OntologyDataAdapter.java 2007-01-30 15:25:56 UTC (rev 310) +++ phenote/trunk/src/java/phenote/dataadapter/OntologyDataAdapter.java 2007-01-30 18:02:20 UTC (rev 311) @@ -168,6 +168,7 @@ /** If repository is configured loads obo from repos if local out of date */ private void loadOboSessionCheckRepos(Ontology o,OntologyConfig oc) throws OntologyException { + // first get normal/cached/local ontology String filename = oc.getFile(); URL url = findFile(filename); // throws OntologyEx if file not found This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-01-30 15:25:57
|
Revision: 310 http://svn.sourceforge.net/obo/?rev=310&view=rev Author: mgibson Date: 2007-01-30 07:25:56 -0800 (Tue, 30 Jan 2007) Log Message: ----------- woops thought i already comitted this anyways fixes for ontology chooser bug - now ontology chooser reflects what term is in the field - for undo selection and post comp one bug - if post comp term selected in main window main field cant find it - needs to pick off genus term OR post comp needs to be added to obo session - i think the latter actually as then it will be searchable in comp list which i think would be helpful Modified Paths: -------------- phenote/trunk/src/java/phenote/datamodel/CharField.java phenote/trunk/src/java/phenote/datamodel/Ontology.java phenote/trunk/src/java/phenote/datamodel/OntologyManager.java phenote/trunk/src/java/phenote/gui/field/AbstractAutoCompList.java phenote/trunk/src/java/phenote/gui/field/CharFieldGui.java phenote/trunk/src/java/phenote/gui/field/PostCompGui.java phenote/trunk/src/java/phenote/gui/field/RelationCompList.java phenote/trunk/src/java/phenote/gui/field/TermCompList.java phenote/trunk/src/java/phenote/main/PhenoteVersion.java phenote/trunk/src/java/phenote/servlet/PhenoteController.java Modified: phenote/trunk/src/java/phenote/datamodel/CharField.java =================================================================== --- phenote/trunk/src/java/phenote/datamodel/CharField.java 2007-01-30 00:53:37 UTC (rev 309) +++ phenote/trunk/src/java/phenote/datamodel/CharField.java 2007-01-30 15:25:56 UTC (rev 310) @@ -121,7 +121,7 @@ else { OBOClass oboClass=null; for (Ontology ont : ontologyList) { - try { oboClass = ont.getOboClass(valueString); } + try { oboClass = ont.getTerm(valueString); } catch (TermNotFoundException e) {} // move on to next ontology } if (oboClass != null) Modified: phenote/trunk/src/java/phenote/datamodel/Ontology.java =================================================================== --- phenote/trunk/src/java/phenote/datamodel/Ontology.java 2007-01-30 00:53:37 UTC (rev 309) +++ phenote/trunk/src/java/phenote/datamodel/Ontology.java 2007-01-30 15:25:56 UTC (rev 310) @@ -95,7 +95,7 @@ /** returns null if dont have class for id, throws OntologyException if id is not found */ - public OBOClass getOboClass(String id) throws TermNotFoundException { + public OBOClass getTerm(String id) throws TermNotFoundException { // this aint right - if its a slim should only search slim //OBOClass oc = oboSession.getTerm(id); for (OBOClass term : sortedTerms) { @@ -107,10 +107,10 @@ //return oc; } - /** Returns true if ontology holds obo class */ - boolean hasOboClass(OBOClass oboClass) { + /** Returns true if ontology holds term/oboClass */ + boolean hasTerm(OBOClass term) { // if this is too slow can do optimizations with prefixes - try {getOboClass(oboClass.getID()); } + try {getTerm(term.getID()); } catch (TermNotFoundException e) { return false; } return true; // no exception - it has it } Modified: phenote/trunk/src/java/phenote/datamodel/OntologyManager.java =================================================================== --- phenote/trunk/src/java/phenote/datamodel/OntologyManager.java 2007-01-30 00:53:37 UTC (rev 309) +++ phenote/trunk/src/java/phenote/datamodel/OntologyManager.java 2007-01-30 15:25:56 UTC (rev 310) @@ -90,7 +90,7 @@ //while (iter.hasNext()) { for (Ontology o : getAllOntologies()) { //Ontology o = iter.next(); - try { oboClass = o.getOboClass(id); } + try { oboClass = o.getTerm(id); } catch (TermNotFoundException e) { continue; } if (oboClass != null) return oboClass; @@ -144,28 +144,18 @@ return OboUtil.makePostCompTerm(gTerm,p,dTerm); } -// /** util fn! */ -// private OBOClass makePostCompTerm(OBOClass genus, String relation, OBOClass diff) { -// String nm = pcString(genus.getName(),diff.getName()); -// String id = pcString(genus.getID(),diff.getID()); -// OBOClass postComp = new OBOClassImpl(nm,id); -// OBOProperty ISA = OBOProperty.IS_A; -// OBORestrictionImpl gRel = new OBORestrictionImpl(postComp,ISA,genusTerm); -// return postComp; -// } - - /** for obo class find its char field enum via ontology & char field */ - public CharFieldEnum getCharFieldEnumForOboClass(OBOClass oboClass) { + /** Currently iterates through every ontology looking for term, if this proves too + inefficient we could do something with ID prefixes */ + public Ontology getOntologyForTerm(OBOClass term) throws OntologyException { for (CharField cf : charFieldList) { - //if (!cf.hasOntologies()) continue; // is this needed? not sure - for (Ontology ont : cf.getOntologyList()) { - if (ont.hasOboClass(oboClass)) - return cf.getCharFieldEnum(); - } + for (Ontology o : cf.getOntologyList()) + if (o.hasTerm(term)) + return o; } - return null; // this shouldnt happen - err msg? - } + throw new OntologyException(term+" not found in ontologies"); + } + private Logger log; private Logger log() { if (log == null) log = Logger.getLogger(getClass()); @@ -174,6 +164,28 @@ } + // previously used by term info +// /** for obo class find its char field enum via ontology & char field */ +// public CharFieldEnum getCharFieldEnumForOboClass(OBOClass oboClass) { +// for (CharField cf : charFieldList) { +// //if (!cf.hasOntologies()) continue; // is this needed? not sure +// for (Ontology ont : cf.getOntologyList()) { +// if (ont.hasOboClass(oboClass)) +// return cf.getCharFieldEnum(); +// } +// } +// return null; // this shouldnt happen - err msg? +// } + +// /** util fn! */ +// private OBOClass makePostCompTerm(OBOClass genus, String relation, OBOClass diff) { +// String nm = pcString(genus.getName(),diff.getName()); +// String id = pcString(genus.getID(),diff.getID()); +// OBOClass postComp = new OBOClassImpl(nm,id); +// OBOProperty ISA = OBOProperty.IS_A; +// OBORestrictionImpl gRel = new OBORestrictionImpl(postComp,ISA,genusTerm); +// return postComp; +// } // private void addOntologyList(List<Ontology> l) { // allOntologyList.addAll(l); // } @@ -182,56 +194,3 @@ // allOntologyList.add(o); // } - - // i think char field now does this - //fieldToOntologyList = new HashMap<CharFieldEnum,List<Ontology>>(); - //private Map<CharFieldEnum,List<Ontology>> fieldToOntologyList; -// private List<Ontology> entityOntologyList; - //private Ontology geneticContextOntology; - //private Ontology lumpOntology; - //private Ontology entityOntology; - //private Ontology patoOntology; - -// final static String ANATOMY = "Anatomy"; -// final static String PATO = "Pato"; -// final static String TAXONOMY = "Taxonomy"; - // for now... - // if hasOnlyOne? for (Ontology :...)? -// if (cf.isGeneticContext()) -// setGeneticContextOntology(cf.getFirstOntology()); - - // for now i know that only genetic context is in char field list... -// public CharField getGeneticContextCharField() { -// if (charFieldList == null || charFieldList.isEmpty()) -// return null; -// return charFieldList.get(0); // revisit this!!!! -// } - - -// private void addOntologyToMap(CharFieldEnum c, Ontology o) { -// List<Ontology> l = fieldToOntologyList.get(c); -// if (l == null) { -// l = new ArrayList<Ontology>(3); -// fieldToOntologyList.put(c,l); -// } -// l.add(o); -// } - - - // public List<Ontology> getOntologyList(CharFieldEnum e) {} - -// public boolean haveLumpOntology() { return getLumpOntology() != null; } - -// public void setLumpOntology(Ontology lo) { -// lumpOntology = lo; -// addOntology(lumpOntology); -// } - -// public Ontology getLumpOntology() { -// return lumpOntology; -// } - -// public void setEntityOntologyList(List<Ontology> entList) { -// entityOntologyList = entList; -// } - Modified: phenote/trunk/src/java/phenote/gui/field/AbstractAutoCompList.java =================================================================== --- phenote/trunk/src/java/phenote/gui/field/AbstractAutoCompList.java 2007-01-30 00:53:37 UTC (rev 309) +++ phenote/trunk/src/java/phenote/gui/field/AbstractAutoCompList.java 2007-01-30 15:25:56 UTC (rev 310) @@ -59,7 +59,7 @@ /** @param editModel if false then ACB doesnt edit model directly (post comp) can abstract classes have constructors - if not init() */ - protected AbstractAutoCompList(CompListSearcher s,boolean editModel) { + protected AbstractAutoCompList(CompListSearcher s,boolean editModel,CharField cf) { // this inner class enables retrieving of JList for mouse over // this will probably throw errors if non metal look & feel is used setUI(new MetalListComboUI()); @@ -82,6 +82,7 @@ setFont(new Font("Monospaced",Font.PLAIN,10)); //setOntology(ontology); //searchParams = sp; // singleton access? part of ontology? + setCharField(cf); compListSearcher = s; //enableTermInfoListening(true); // default - hardwired in rel & term subclasses //addCompletionListListener(compList); @@ -101,6 +102,10 @@ protected CharField getCharField() { return charField; } + protected boolean hasMoreThanOneOntology() { + return charField.hasMoreThanOneOntology(); + } + protected boolean editModelEnabled() { return editModel; } /** char in table changed - adjust - not needed for rel(at least not yet) Modified: phenote/trunk/src/java/phenote/gui/field/CharFieldGui.java =================================================================== --- phenote/trunk/src/java/phenote/gui/field/CharFieldGui.java 2007-01-30 00:53:37 UTC (rev 309) +++ phenote/trunk/src/java/phenote/gui/field/CharFieldGui.java 2007-01-30 15:25:56 UTC (rev 310) @@ -47,7 +47,7 @@ private boolean isCompList = false; private CharField charField; private FieldPanel fieldPanel; - private JComboBox ontologyChooserCombo; + //private JComboBox ontologyChooserCombo; private String label; private boolean enableListeners = true; private boolean addCompButton = true; @@ -95,6 +95,7 @@ EditManager.inst().addCharChangeListener(new FieldCharChangeListener()); } + // FreeTextField.updateModel uses this boolean updateGuiOnly() { return updateGuiOnly; } /** edits from post comp come in here i believe (term info used to but now @@ -193,13 +194,13 @@ fieldPanel.addLabel(getLabel(),charField.hasMoreThanOneOntology()); // if has more than one ontology(entity) then add ontology choose list - if (charField.hasMoreThanOneOntology()) - initOntologyChooser(charField); +// if (charField.hasMoreThanOneOntology()) +// initOntologyChooser(charField); - createCompList(); + createCompList(); // comp list now makes ontologyChooser (if >1 ont) fieldPanel.addFieldGui(getCompList()); - getCompList().setCharField(charField); + //getCompList().setCharField(charField); // POST COMPOSITION button - only get post comp button if both configged for it // AND addCompButton flag is true - PostCompGui sets to false - no post comp of @@ -214,7 +215,7 @@ // AutoComboBox postCompCombo = // new AutoComboBox(charField.getFirstOntology(),fieldPanel.getSearchParams()); // // postCompCombo.setVisible(false); // initial state hidden - layout? -// postCompCombo.setCharField(charField); +// postCompCombo.setCharField(harField); // postCompCombo.setIsDifferentia(true); // differentia of genus in post comp // fieldPanel.addFieldGui(postCompCombo); } @@ -229,23 +230,24 @@ compListSearcher = new CompListSearcher(charField.getFirstOntology(),fieldPanel.getSearchParams()); if (isRelationshipList()) { - relCompList = new RelationCompList(compListSearcher,enableListeners); + relCompList = new RelationCompList(compListSearcher,enableListeners,charField); } else { - termCompList = new TermCompList(compListSearcher,enableListeners); + termCompList = new TermCompList(compListSearcher,enableListeners,this); } } + void addOntologyChooser(JComboBox oc) { fieldPanel.addOntologyChooser(oc); } - private void initOntologyChooser(CharField charField) { - ontologyChooserCombo = new JComboBox(); - // add listener.... - for (Ontology o : charField.getOntologyList()) { - ontologyChooserCombo.addItem(o.getName()); - } - ontologyChooserCombo.addActionListener(new OntologyChooserListener()); - fieldPanel.addOntologyChooser(ontologyChooserCombo); - } +// private void initOntologyChooser(CharField charField) { +// ontologyChooserCombo = new JComboBox(); +// // add listener.... +// for (Ontology o : charField.getOntologyList()) { +// ontologyChooserCombo.addItem(o.getName()); +// } +// ontologyChooserCombo.addActionListener(new OntologyChooserListener()); +// fieldPanel.addOntologyChooser(ontologyChooserCombo); +// } private void initTextField(String label) { isCompList = false; @@ -324,35 +326,6 @@ return SelectionManager.inst().getFirstSelectedCharacter(); } -// List<CharacterI> getSelectedChars() { -// return SelectionManager.inst().getSelectedChars(); -// } - -// // separate char text field class? -// /** This is where the model gets updated (for free text fields) */ -// private class TextFieldDocumentListener implements DocumentListener { -// //private String previousVal = null; -// public void changedUpdate(DocumentEvent e) { updateModel(); } -// public void insertUpdate(DocumentEvent e) { updateModel(); } -// public void removeUpdate(DocumentEvent e) { updateModel(); } -// private void updateModel() { -// // if only updating gui (multi select clear) then dont update model -// if (updateGuiOnly) return; -// // on delete last pheno row clearing of text will trigger this -// //if (!characterTablePanel.hasRows()) return; -// //String genotype = lumpField.getText(); -// //characterTablePanel.setSelectedGenotype(genotype); -// List<CharacterI> chars = getSelectedChars(); -// // i believe this isnt using oboClass as we just have string -// // of course it isnt this is free text -// String v = getText(); -// //UpdateTransaction ut = new UpdateTransaction(char,getCharFieldEnum(),v); -// CompoundTransaction ct = new CompoundTransaction(chars,getCharFieldEnum(),v); -// EditManager.inst().updateModel(CharFieldGui.this,ct); -// //previousVal = v; // undo -// } -// } - private class FieldCharSelectListener implements CharSelectionListener { public void charactersSelected(CharSelectionEvent e) { // if multi select then clear out fields - alternatively could do first char @@ -361,26 +334,12 @@ setGuiForMultiSelect(); return; } - updateGuiOnly = true; // selection should not cause an edit! + updateGuiOnly = true; // selection should not cause an edit/transaction! setValueFromChar(e.getChars().get(0)); updateGuiOnly = false; } } - private class OntologyChooserListener implements ActionListener { - public void actionPerformed(ActionEvent e) { - String s = ontologyChooserCombo.getSelectedItem().toString(); - try { - Ontology o = OntologyManager.inst().getOntologyForName(s); - //getCompList().setOntology(o); // termComp? - compListSearcher.setOntology(o); - } - catch (OntologyException ex) { - log().error(ex.getMessage()); - return; - } - } - } /** I think post-comp should only be closeable if its empty (in expand collapse inframe case - now window) */ @@ -390,8 +349,10 @@ } } + /** should define a CharFieldGuiEx! */ OBOClass getCurrentOboClass() throws Exception { - if (!isCompList || isRelationshipList()) + //if (!isCompList || isRelationshipList) + if (!isTermCompList()) throw new Exception("Field has no OBO Class"); return getTermComp().getCurrentOboClass(); // throws Ex } @@ -402,78 +363,66 @@ return getRelComp().getCurrentRelation(); // throws Ex } + private boolean isTermCompList() { + return isCompList && !isRelationshipList() && getTermComp()!=null; + // && getTermComp != null? + } + + /** for post comp gui to set ontol chooser */ + void setOntologyChooserFromTerm(OBOClass term) { + if (!isTermCompList()) return; // shouldnt happen - ex? + getTermComp().setOntologyChooserFromTerm(term); + } + + private Logger log; private Logger log() { if (log == null) log = Logger.getLogger(getClass()); return log; } } - -// /** This is for ontology char fields, freetext returns null. returns obo class -// selected in AutoComboBox if there is one -// this is problematic - it can get term that was selected a while ago */ -// OBOClass getSelectedOboClass() throws Exception { -// if (!isCompList) throw new Exception("Free text field has no OBO Class"); -// OBOClass term = getCompList().getSelectedCompListOboClass(); -// if (term == null) throw new Exception("No term selected"); -// return term; + // -> TermCompList +// private class OntologyChooserListener implements ActionListener { +// public void actionPerformed(ActionEvent e) { +// String s = ontologyChooserCombo.getSelectedItem().toString(); +// try { +// Ontology o = OntologyManager.inst().getOntologyForName(s); +// //getCompList().setOntology(o); // termComp? +// compListSearcher.setOntology(o); +// } +// catch (OntologyException ex) { +// log().error(ex.getMessage()); +// return; +// } +// } // } -// private void addDocumentListener(DocumentListener dl) { -// if (!isCombo) -// textField.getDocument().addDocumentListener(dl); -// } -// private void initCombo(Ontology ontology, Container parent) { -// // attach search params to ontology? -// comboBox = new AutoComboBox(ontology,fieldPanel.getSearchParams()); -// // refactor... mvc - ACB talk directly to pheno model? -// //comboBox.addActionListener(new ComboBoxActionListener(ontology.getName(),comboBox)); -// //parent.add(comboBox,makeFieldConstraint()); -// fieldPanel.addFieldGui(comboBox,parent); +// List<CharacterI> getSelectedChars() { +// return SelectionManager.inst().getSelectedChars(); // } -// /** No ontology -> free text field */ -// private CharFieldGui(String label,Container parent) { -// initTextField(label,parent); -// } -// /** Fields with ontology -> combo box */ -// private CharFieldGui(Ontology ontology, Container parent) { -// if (ontology == null) // shouldnt happen -// initTextField(null,parent); -// else -// initCombo(ontology,parent); -// } - -// /** Listens for actions from combo boxes and puts terms into table -// * actions come from mouse select of term as well as return & tab -// change this - should only modify character - could be done in ACB except -// gt text field which isnt done here anyways - then send out CharacterChangeEvent -// for table to get and refresh itself -// this is being phased out for AutoComboBox's more generic ComboBoxActionListener*/ -// private class ComboBoxActionListener implements ActionListener { -// private String ontology; -// private AutoComboBox comboBox; - -// private ComboBoxActionListener(String ontology,AutoComboBox cb) { -// this.ontology = ontology; -// comboBox = cb; +// // separate char text field class? --> FreeTextField +// /** This is where the model gets updated (for free text fields) */ +// private class TextFieldDocumentListener implements DocumentListener { +// //private String previousVal = null; +// public void changedUpdate(DocumentEvent e) { updateModel(); } +// public void insertUpdate(DocumentEvent e) { updateModel(); } +// public void removeUpdate(DocumentEvent e) { updateModel(); } +// private void updateModel() { +// // if only updating gui (multi select clear) then dont update model +// if (updateGuiOnly) return; +// // on delete last pheno row clearing of text will trigger this +// //if (!characterTablePanel.hasRows()) return; +// //String genotype = lumpField.getText(); +// //characterTablePanel.setSelectedGenotype(genotype); +// List<CharacterI> chars = getSelectedChars(); +// // i believe this isnt using oboClass as we just have string +// // of course it isnt this is free text +// String v = getText(); +// //UpdateTransaction ut = new UpdateTransaction(char,getCharFieldEnum(),v); +// CompoundTransaction ct = new CompoundTransaction(chars,getCharFieldEnum(),v); +// EditManager.inst().updateModel(CharFieldGui.this,ct); +// //previousVal = v; // undo // } -// public void actionPerformed(ActionEvent e) { -// setTableFromField(ontology); -// } - -// /** Sets table value from field. checks that text in text field from user -// is actually an item in completion list, is an obo term. */ -// private void setTableFromField(String ontology) { -// String input = comboBox.getText();//getInput(ontology); - -// // check if input is a real term - i think we can get away with checking -// // if in present term completion list - not sure -// boolean valid = comboBox.isInCompletionList(input); -// if (!valid) -// return; -// // its valid - set the field -// // no no no - edit model, send out model changed event -// setTableColumn(ontology,input); -// } // } + Modified: phenote/trunk/src/java/phenote/gui/field/PostCompGui.java =================================================================== --- phenote/trunk/src/java/phenote/gui/field/PostCompGui.java 2007-01-30 00:53:37 UTC (rev 309) +++ phenote/trunk/src/java/phenote/gui/field/PostCompGui.java 2007-01-30 15:25:56 UTC (rev 310) @@ -95,9 +95,14 @@ //genusField.setText(getGenusString(currentTerm)); genusField.setOboClass(getGenusTerm(currentTerm)); + // should this happen automatically from setOboClass or is that a burden/inefficiency + genusField.setOntologyChooserFromTerm(getGenusTerm(currentTerm)); //if (modelHasDiff(currentTerm)) try { relField.setRel(getRel(currentTerm)); } catch (Exception e){} - try { diffField.setOboClass(getDiffTerm(currentTerm)); } + try { + diffField.setOboClass(getDiffTerm(currentTerm)); + diffField.setOntologyChooserFromTerm(getDiffTerm(currentTerm)); + } catch (Exception e) {} // throws if no diff term } Modified: phenote/trunk/src/java/phenote/gui/field/RelationCompList.java =================================================================== --- phenote/trunk/src/java/phenote/gui/field/RelationCompList.java 2007-01-30 00:53:37 UTC (rev 309) +++ phenote/trunk/src/java/phenote/gui/field/RelationCompList.java 2007-01-30 15:25:56 UTC (rev 310) @@ -7,14 +7,15 @@ import org.geneontology.oboedit.datamodel.OBOProperty; import phenote.datamodel.CharacterI; +import phenote.datamodel.CharField; class RelationCompList extends AbstractAutoCompList { private OBOProperty currentRel=null; - RelationCompList(CompListSearcher searcher,boolean editModel) { - super(searcher,editModel); + RelationCompList(CompListSearcher searcher,boolean editModel,CharField c) { + super(searcher,editModel,c); // this inner class enables retrieving of JList for mouse over // this will probably throw errors if non metal look & feel is used // setUI(new MetalListComboUI()); Modified: phenote/trunk/src/java/phenote/gui/field/TermCompList.java =================================================================== --- phenote/trunk/src/java/phenote/gui/field/TermCompList.java 2007-01-30 00:53:37 UTC (rev 309) +++ phenote/trunk/src/java/phenote/gui/field/TermCompList.java 2007-01-30 15:25:56 UTC (rev 310) @@ -1,7 +1,10 @@ package phenote.gui.field; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; import java.util.List; import java.util.Vector; +import javax.swing.JComboBox; import javax.swing.JList; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; @@ -11,7 +14,11 @@ import org.geneontology.oboedit.datamodel.OBOClass; import phenote.datamodel.CharacterI; -import phenote.datamodel.CharFieldEnum; +import phenote.datamodel.CharField; +//import phenote.datamodel.CharFieldEnum; +import phenote.datamodel.Ontology; +import phenote.datamodel.OntologyException; +import phenote.datamodel.OntologyManager; import phenote.edit.EditManager; import phenote.edit.CompoundTransaction; //import phenote.edit.UpdateTransaction; @@ -22,10 +29,17 @@ class TermCompList extends AbstractAutoCompList { private OBOClass currentOboClass=null; + // only term comp lists need ontology choosers - if that changes move to AACL + private JComboBox ontologyChooserCombo; + private CharFieldGui charFieldGui; - TermCompList(CompListSearcher s,boolean editModel) { - super(s,editModel); + TermCompList(CompListSearcher s,boolean editModel,CharFieldGui cfg) { + super(s,editModel,cfg.getCharField()); + this.charFieldGui = cfg; // pass to super? AACL subclass CFG? enableTermInfoListening(); + if (hasMoreThanOneOntology()) // super AACL + initOntologyChooser(getCharField()); + } @@ -43,9 +57,24 @@ // if null then user has made a new char or selected a char with no term //if (selCharTerm == null) { } else { ??? covered above?? setOboClass(selCharTerm); // doesnt allow null + setOntologyChooserFromTerm(selCharTerm); //} } + void setOntologyChooserFromTerm(OBOClass term) { + if (term==null) return; + if (ontologyChooserCombo==null) return; + try { + Ontology o = OntologyManager.inst().getOntologyForTerm(term); + ontologyChooserCombo.setSelectedItem(o.getName()); + } + catch (OntologyException e) { + // this happens at the moment for post comp terms - need to pick out + // genus for ontolo chooser or add to obo session? + //log().error("No ontology found for term "+term); // shouldnt happen + } + } + protected Vector getSearchItems(String input) { return getCompListSearcher().getStringMatchTerms(input); } @@ -194,43 +223,36 @@ if (editModelEnabled()) editModel(); } } - + private void initOntologyChooser(CharField charField) { + ontologyChooserCombo = new JComboBox(); + // need to add in ALL + for (Ontology o : charField.getOntologyList()) { + ontologyChooserCombo.addItem(o.getName()); + } + ontologyChooserCombo.addActionListener(new OntologyChooserListener()); + charFieldGui.addOntologyChooser(ontologyChooserCombo); + } + + private Logger log; private Logger log() { if (log == null) log = Logger.getLogger(getClass()); return log; } + private class OntologyChooserListener implements ActionListener { + public void actionPerformed(ActionEvent e) { + String s = ontologyChooserCombo.getSelectedItem().toString(); + try { + Ontology o = OntologyManager.inst().getOntologyForName(s); + //getCompList().setOntology(o); // termComp? + getCompListSearcher().setOntology(o); + } + catch (OntologyException ex) { + log().error(ex.getMessage()); + return; + } + } + } } - // this inner class enables retrieving of JList for mouse over - // this will probably throw errors if non metal look & feel is used -// setUI(new MetalListComboUI()); -// //setFont(new Font("Courier",Font.PLAIN,12)); - -// setOntology(ontology); -// searchParams = sp; // singleton access? part of ontology? -// setEditable(true); -// AutoTextFieldEditor autoTextFieldEditor = new AutoTextFieldEditor(); -// this.setEditor(autoTextFieldEditor); -// setPreferredSize(new Dimension(350,22)); - -// enableTermInfoListening(true); // default -// //addCompletionListListener(compList); - -// //if (editModel) // ComboBoxActionListener edits the model -// this.editModel = editModel; -// addActionListener(new ComboBoxActionListener()); -// // strings get in somehow - need to figure out where they are coming from -// private OBOClass oboClassDowncast(Object obj) throws OboException { -// if (obj == null) throw new OboException(); -// if ( ! (obj instanceof OBOClass)) { -// //log.info("Item in completion list not obo class "+obj.getClass()); -// throw new OboException("Item in completion list not obo class "+obj.getClass()); -// } -// return (OBOClass)obj; -// } -// private OBOClass getCompListOboClass(int index) { -// Object obj = defaultComboBoxModel.getElementAt(index); -// return oboClassDowncast(obj); -// } Modified: phenote/trunk/src/java/phenote/main/PhenoteVersion.java =================================================================== --- phenote/trunk/src/java/phenote/main/PhenoteVersion.java 2007-01-30 00:53:37 UTC (rev 309) +++ phenote/trunk/src/java/phenote/main/PhenoteVersion.java 2007-01-30 15:25:56 UTC (rev 310) @@ -6,7 +6,7 @@ //private static final float MAJOR_VERSION_NUM = 0.8f; //private static final float SUB_VERSION_NUM = .3f; - private static final String VERSION = "1.1 dev"; // ?? + private static final String VERSION = "1.0.3 dev"; // ?? // type is "dev" or "release" //private static final String type = " dev"; // "release" Modified: phenote/trunk/src/java/phenote/servlet/PhenoteController.java =================================================================== --- phenote/trunk/src/java/phenote/servlet/PhenoteController.java 2007-01-30 00:53:37 UTC (rev 309) +++ phenote/trunk/src/java/phenote/servlet/PhenoteController.java 2007-01-30 15:25:56 UTC (rev 310) @@ -56,7 +56,7 @@ Ontology ont = getOntology(ontologyName); // ToDo: Put oboClass in the web session, then we do not need to pass in the ontology name in // the html ajax call - OBOClass oboClass = ont.getOboClass(termId); + OBOClass oboClass = ont.getTerm(termId); form.setTerm(oboClass); return new ModelAndView("term_info", "formBean", form); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-01-30 00:53:36
|
Revision: 309 http://svn.sourceforge.net/obo/?rev=309&view=rev Author: mgibson Date: 2007-01-29 16:53:37 -0800 (Mon, 29 Jan 2007) Log Message: ----------- i to we - i think this is silly Modified Paths: -------------- phenote/trunk/doc/phenote-website/phenote-java-requirements.html Modified: phenote/trunk/doc/phenote-website/phenote-java-requirements.html =================================================================== --- phenote/trunk/doc/phenote-website/phenote-java-requirements.html 2007-01-30 00:44:50 UTC (rev 308) +++ phenote/trunk/doc/phenote-website/phenote-java-requirements.html 2007-01-30 00:53:37 UTC (rev 309) @@ -1,32 +1,51 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> - <meta content="text/html; charset=ISO-8859-1" - http-equiv="content-type"> + + + <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> + + <title>Java version for Phenote</title> </head> + + <body> + <h1>Java requirements for Phenote</h1> + <br> -Phenote requires Java 1.5. I hope this is OK with everybody. If there -are issues please let me know(mg...@fr...). 1.5 has been out + +Phenote requires Java 1.5. We hope this is OK with everybody. If there +are issues please let us know(mg...@fr...). 1.5 has been out for around 2 years, and has a lot of nice features. The big issue is Macs. Mac Tiger supports 1.5 where earlier version (Panther & -earlier) do not as far as I know. So upgrading to Tiger would then be a +earlier) do not as far as we know. So upgrading to Tiger would then be a requirement for using Phenote. Tiger has been out for over a year now -and is now pretty stable, so I hope this isn't a cumbersome -requirement. I have emailed with zfin and it seems the Mac users there +and is now pretty stable, so we hope this isn't a cumbersome +requirement. We have emailed with zfin and it seems the Mac users there are actually already all upgraded to Tiger.<br> + <br> + As for windows, linux and solaris, if you do not already have jdk 1.5 it can be downloaded from sun:<br> + <br> + <a href="http://java.sun.com/j2se/1.5.0/download.jsp">http://java.sun.com/j2se/1.5.0/download.jsp</a><br> + <br> + <br> + <br> + <a href="phenote.html">Phenote main page</a><br> + <br> + <br> + </body> </html> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-01-30 00:44:51
|
Revision: 308 http://svn.sourceforge.net/obo/?rev=308&view=rev Author: mgibson Date: 2007-01-29 16:44:50 -0800 (Mon, 29 Jan 2007) Log Message: ----------- me to i Modified Paths: -------------- phenote/trunk/doc/phenote-website/phenote.html Modified: phenote/trunk/doc/phenote-website/phenote.html =================================================================== --- phenote/trunk/doc/phenote-website/phenote.html 2007-01-24 21:15:31 UTC (rev 307) +++ phenote/trunk/doc/phenote-website/phenote.html 2007-01-30 00:44:50 UTC (rev 308) @@ -3,13 +3,17 @@ <head> + + <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> + + <title>Phenote</title> </head> @@ -17,55 +21,71 @@ <body> + <h1 style="text-align: left;"><span style="font-weight: bold;"></span>Phenote<br> + </h1> + <br> + Phenote is a tool to annotate phenotypes using the Entity Quality paradigm. It takes advantage of ontologies. It uses term completion to allow curators quick access to the ontology terms they want to use. <br> + <br> + <a href="1.0/phenote-flybase.jnlp">Phenote 1.0 for fly</a><br> + <br> + <a href="1.0/phenote-zfin.jnlp">Phenote 1.0 for zfin</a><br> + <br> + <a href="1.0/phenote-zfin.jnlp"></a><a href="1.0/phenote-human.jnlp">Phenote 1.0 for human</a><br> + <br> + To be clear the above webstart links for zfin & fly were made via configuration not hard wired code. Thus one could in theory configure phenote for ones own purposes.<br> + <br> + Recent addditions include the ability to add any field you like, post compose terms, bulk update, undo, spring framework, and synonyms now are shown in the completion list.<br> + <br> + Zebrafish requires components of phenote(to plug into their non-public website), not a full web app. Here is a proof of concept of some of @@ -73,205 +93,267 @@ components:<br> + <br> + <a href="http://reaper.lbl.gov/phenote/html/ncbo.html">Webby Phenote(components used by Zfin)</a><br> + <br> + Webby phenote is a collaboration with Sohel Merchant at dictyBase. Here is what they have done:<br> + <br> + <a href="http://165.124.152.194/db/cgi-bin/dictyBase/curation/phenotypeCuration.pl">DictyBase webby phenote</a><br> + <br> + <br> -I am doing these + +We are doing these releases to get feedback. Please report any bugs (ideally through the <a href="https://sourceforge.net/tracker/?group_id=76834&atid=887913">bug -tracker</a>) and let me know what you -think (mg...@fr...).<br> +tracker</a>) and let us know what you +think (email:<a href="mailto:mg...@be..."> mg...@be...</a>, email list: <a href="mailto:obo...@li...">obo...@li...</a>).<br> + <br> + <h4>Phenote links:<br> + </h4> + <a href="https://lists.sourceforge.net/lists/listinfo/obo-phenote">Phenote email list</a><br> + <a href="https://sourceforge.net/tracker/?group_id=76834&atid=887913">Phenote bug tracker</a><br> + <a href="https://lists.sourceforge.net/lists/listinfo/obo-phenote-bug-tracker">Bug tracker email list</a><br> + <a href="https://sourceforge.net/svn/?group_id=76834">Phenote source code (obo sourceforge svn)</a><br> + <a href="https://lists.sourceforge.net/lists/listinfo/obo-svn-commit">Phenote svn commit email list</a><br> + <a href="http://wiki.dictybase.org/dictywiki/index.php/Phenotype_Curation_Tool_Documentation#Usage">Dicty webby phenote wiki developer docs</a><br> + <a href="http://www.bioontology.org/wiki-internal/index.php/Phenotype_Annotation_Tool">Phenote ncbo internal wiki (ncbo folk only)</a><br> + <br> + <a href="phenote-release-notes.html">Phenote Release Notes and old webstart releases</a><br> + <br> + If the Phenote webstart link fails to do anything, then there are probably problems -with webstart and/or java(has to be jdk 1.5). Take a look at my <a href="webstart-troubleshooting.html">webstart troubleshooting</a><br> +with webstart and/or java(has to be jdk 1.5). Take a look at the <a href="webstart-troubleshooting.html">webstart troubleshooting</a><br> + page.<br> + <br> + Click here for <a href="phenote-java-requirements.html">phenote java requirements</a><br> + <br> + <br> + <br> + Old releases: <br> + <br> + <a href="0.9/phenote-flybase.jnlp">Phenote 0.9 for fly</a><br> + <a href="0.9/phenote-zfin.jnlp">Phenote (standalone) 0.9 for zfin</a><br> + <br> + <a href="0.8/phenote-flybase.jnlp">Phenote 0.8 for fly.</a><br> + <a href="0.8/phenote-zfin.jnlp">Phenote (standalone) 0.8 for zfin</a><br> + <br> + <a href="0.7/phenote-flybase.jnlp">Phenote 0.7 for fly.</a><br> + <a href="0.7/phenote-zfin.jnlp">Phenote (standalone) 0.7 for zfin</a><br> + <br> + <a href="0.6/phenote-flybase.jnlp">Phenote 0.6 with fly anatomy</a><br> + <br> + <a href="0.6/phenote-zfin.jnlp">Phenote 0.6 with zebrafish anatomy</a><br> + <br> + <a href="0.5/phenote-flybase.jnlp">Phenote 0.5 webstart for FlyBase</a><br> + <br> + <a href="0.5/phenote-zfin.jnlp">Phenote 0.5 webstart for ZFIN</a><br> + <br> + <a href="0.4/phenote-flybase.jnlp">Phenote 0.4 webstart for FlyBase</a><br> + <br> + <a href="0.4/phenote-zfin.jnlp">Phenote 0.4 webstart for ZFIN</a><br> + <br> + <a href="0.3.1/phenote-webstart.jnlp">Phenote for CToL group (0.3.1)</a> (a special release for the CToL group that uses fish taxonomy)<br> + <br> + <a href="0.3/phenote-webstart.jnlp">Phenote 0.3</a><br> + <br> + <a href="0.2/phenote-webstart.jnlp">Phenote 0.2</a><br> + <br> + <a href="0.1/phenote-webstart.jnlp">Phenote 0.1</a><br> + <br> + <br> + </body> </html> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ba...@us...> - 2007-01-24 21:15:34
|
Revision: 307 http://svn.sourceforge.net/obo/?rev=307&view=rev Author: balhoff Date: 2007-01-24 13:15:31 -0800 (Wed, 24 Jan 2007) Log Message: ----------- Minor correction to NEXUSCharacter.hashCode(). Modified Paths: -------------- phenote/trunk/src/java/phenote/dataadapter/nexus/NEXUSAdapter.java Modified: phenote/trunk/src/java/phenote/dataadapter/nexus/NEXUSAdapter.java =================================================================== --- phenote/trunk/src/java/phenote/dataadapter/nexus/NEXUSAdapter.java 2007-01-24 16:29:23 UTC (rev 306) +++ phenote/trunk/src/java/phenote/dataadapter/nexus/NEXUSAdapter.java 2007-01-24 21:15:31 UTC (rev 307) @@ -300,7 +300,7 @@ } public int hashCode() { - return this.entity.hashCode() * this.attribute.hashCode(); + return this.entity.hashCode() ^ this.attribute.hashCode(); } public String toString() { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-01-24 16:29:32
|
Revision: 306 http://svn.sourceforge.net/obo/?rev=306&view=rev Author: mgibson Date: 2007-01-24 08:29:23 -0800 (Wed, 24 Jan 2007) Log Message: ----------- fixed quoting bug in pheno syntax - free text fields are now quoted as they should be and quotes are stripped on reading in Modified Paths: -------------- phenote/trunk/src/java/phenote/dataadapter/OntologyDataAdapter.java phenote/trunk/src/java/phenote/dataadapter/phenosyntax/PhenoSyntaxChar.java phenote/trunk/src/java/phenote/datamodel/CharField.java Modified: phenote/trunk/src/java/phenote/dataadapter/OntologyDataAdapter.java =================================================================== --- phenote/trunk/src/java/phenote/dataadapter/OntologyDataAdapter.java 2007-01-23 17:59:48 UTC (rev 305) +++ phenote/trunk/src/java/phenote/dataadapter/OntologyDataAdapter.java 2007-01-24 16:29:23 UTC (rev 306) @@ -173,6 +173,7 @@ // if ontCfg.hasSynchUrl() ? // URL synchUrl = ontCfg.getSynchUrl + startTimer("checking with repos... loading obo session "+filename); if (oc.hasReposUrl()) { try { URL reposUrl = oc.getReposUrl();//new URL("http://obo.cvs.sourceforge.net/*checkout*/obo/obo/ontology/evidence_code.obo"); @@ -180,7 +181,6 @@ // url may be jar/obo-files or svn/obo-files but this function may put file // in cache ~/.phenote/obo-files url = synchWithRepositoryUrl(url,reposUrl,o.getName()); - // to do - if from repos need to load repos into local obo cache! @@ -188,6 +188,7 @@ } loadOboSessionFromUrl(o,url,filename); + stopTimer(); } /** url is either local file or repos url */ @@ -214,14 +215,23 @@ if (repos > loc) useRepos = queryUserAboutRepos(ontol); if (useRepos) { + + // i think its always better to download as http/repos is slow +// boolean downloadToLocal = false; // from Config! +// if (!downloadToLocal) { +// LOG.info("Using obo file straight from repository "+reposUrl+ +// " NOT downloading to local cache"); +// return reposUrl; // just use straight from repos +// } + + // download obo to local cache (takes time!) String file = FileUtil.getNameOfFile(localUrl); try { localUrl = new File(FileUtil.getUserOboCacheDir(),file).toURL(); - LOG.info("Loading new ontology from repository "+reposUrl+" to "+localUrl); + LOG.info("Downloading new ontology from repository "+reposUrl+" to "+localUrl); copyReposToLocal(reposUrl,localUrl); } catch (MalformedURLException e) { throw new OntologyException(e); } - //return reposUrl; } return localUrl; } @@ -342,13 +352,13 @@ private void startTimer(String m) { startTime = Calendar.getInstance(); timerMsg = m; - LOG.debug(timerMsg+" Start clock "+startTime.getTime()); + //LOG.debug(timerMsg+" Start clock "+startTime.getTime()); // ?? } private void stopTimer() { Calendar endTime = Calendar.getInstance(); long seconds = (endTime.getTimeInMillis() - startTime.getTimeInMillis())/1000; - LOG.debug(timerMsg+" clock stopped, seconds elapsed: "+seconds); + LOG.debug(timerMsg+" number of seconds: "+seconds); } Modified: phenote/trunk/src/java/phenote/dataadapter/phenosyntax/PhenoSyntaxChar.java =================================================================== --- phenote/trunk/src/java/phenote/dataadapter/phenosyntax/PhenoSyntaxChar.java 2007-01-23 17:59:48 UTC (rev 305) +++ phenote/trunk/src/java/phenote/dataadapter/phenosyntax/PhenoSyntaxChar.java 2007-01-24 16:29:23 UTC (rev 306) @@ -59,39 +59,24 @@ for (CharField cf : OntologyManager.inst().getCharFieldList()) { if (character.hasValue(cf)) { sb.append(Config.inst().getSyntaxAbbrevForCharField(cf)).append("=");//ex + if (isFreeText(cf)) sb.append('"'); // free text gets quoted sb.append(makeValue(character.getValue(cf))).append(" "); + if (isFreeText(cf)) sb.append("\" "); } // check for entity & quality?? } -// if (character.hasValue("Pub")) // hasPub -// sb.append("PUB=").append(character.getValueString("Pub")); //Pub()); -// // Genotype - not strictly part of pheno syntax but lets face it we need it -// // i would say its an omission from syntax -// //sb.append(" GT=").append(character.getGenotype()); -// if (character.hasValue("Genotype")) -// sb.append(" GT=").append(character.getValueString("Genotype")); -// if (character.hasValue("Genetic Context")) -// sb.append(" GC=").append(makeValue(character.getTerm("Genetic Context"))); - -// if (!character.hasValue("Entity")) -// throw new BadCharException("Error: character has no entity, ignoring"); -// //sb.append(" E=").append(makeValue(character.getEntity())); -// sb.append(" E=").append(makeValue(character.getTerm("Entity"))); - -// // if (character.hasValue(CharFieldEnum.STAGE)) - -// //if (character.getQuality() == null) -// if (!character.hasValue("Quality")) -// throw new BadCharException("Error: character has no quality, ignoring"); -// sb.append(" Q=").append(makeValue(character.getTerm("Quality"))); - } catch (ConfigException e) { throw new BadCharException(e.getMessage()); } return sb.toString(); } + + /** If a char field has ontologies it is not free text */ + private boolean isFreeText(CharField cf) { + return !cf.hasOntologies(); + } // this may be more general than just this class class BadCharException extends Exception { @@ -130,6 +115,7 @@ if (found) tagEnd = m.end(); // dont need if not found (last one) String value = line.substring(valueStart,tagStart).trim(); value = stripComments(value).trim(); + //value = stripQuotesFromFreeText(value); // free text gets quoted //System.out.println("tag ."+tag+". val ."+value+"."); addTagValToChar(tag,value); } @@ -140,6 +126,15 @@ return value; } + private static final String q = "\""; + + private String stripQuotesFromFreeText(String value,CharField cf) { + if (!isFreeText(cf)) return value; + if (value.startsWith(q)) value = value.substring(1); + if (value.endsWith(q)) value = value.substring(0,value.length()-2); + return value; + } + class SyntaxParseException extends Exception { private String syntaxLine; SyntaxParseException(String syntaxLine) { @@ -161,8 +156,14 @@ OntologyManager om = OntologyManager.inst(); try { + // so this is funny but there can be more than one char field for an abbrev - for + // instance Tag is for both abormal and absent. with setValue only the proper char + // field will get set, eg abnormal char field will throw exception for "absent" List<CharField> fields = Config.inst().getCharFieldsForSyntaxAbbrev(tag);//Ex for (CharField cf : fields) { + + value = stripQuotesFromFreeText(value,cf); + if (cf.getName().equals("Stage")) { // todo - a general relationship extracter? value = extractStageHack(value); // for now - fix for real later @@ -182,25 +183,6 @@ log().error("Term not found "+value); // list char field? //} -// try { -// if (tag.equals("PUB")) -// character.setPub(value); -// else if (tag.equals("GT")) -// character.setGenotype(value); -// else if (tag.equals("GC")) -// character.setGeneticContext(om.getOboClassWithExcep(value)); // throws ex -// else if (tag.equals("E")) -// character.setEntity(om.getTermOrPostComp(value)); -// else if (tag.equals("Q")) -// character.setQuality(om.getOboClassWithExcep(value)); -// else // throw exception? or let rest of char go through? -// System.out.println("pheno syntax tag "+tag+" not recognized (value "+value+")"); -// } -// catch (OntologyManager.TermNotFoundException e) { -// log().error("Term not found for tag "+tag+" value "+value+" in loaded " -// +"ontologies - check syntax with ontology files."); -// return; -// } } @@ -225,3 +207,43 @@ return log; } } +// try { +// if (tag.equals("PUB")) +// character.setPub(value); +// else if (tag.equals("GT")) +// character.setGenotype(value); +// else if (tag.equals("GC")) +// character.setGeneticContext(om.getOboClassWithExcep(value)); // throws ex +// else if (tag.equals("E")) +// character.setEntity(om.getTermOrPostComp(value)); +// else if (tag.equals("Q")) +// character.setQuality(om.getOboClassWithExcep(value)); +// else // throw exception? or let rest of char go through? +// System.out.println("pheno syntax tag "+tag+" not recognized (value "+value+")"); +// } +// catch (OntologyManager.TermNotFoundException e) { +// log().error("Term not found for tag "+tag+" value "+value+" in loaded " +// +"ontologies - check syntax with ontology files."); +// return; +// } +// if (character.hasValue("Pub")) // hasPub +// sb.append("PUB=").append(character.getValueString("Pub")); //Pub()); +// // Genotype - not strictly part of pheno syntax but lets face it we need it +// // i would say its an omission from syntax +// //sb.append(" GT=").append(character.getGenotype()); +// if (character.hasValue("Genotype")) +// sb.append(" GT=").append(character.getValueString("Genotype")); +// if (character.hasValue("Genetic Context")) +// sb.append(" GC=").append(makeValue(character.getTerm("Genetic Context"))); + +// if (!character.hasValue("Entity")) +// throw new BadCharException("Error: character has no entity, ignoring"); +// //sb.append(" E=").append(makeValue(character.getEntity())); +// sb.append(" E=").append(makeValue(character.getTerm("Entity"))); + +// // if (character.hasValue(CharFieldEnum.STAGE)) + +// //if (character.getQuality() == null) +// if (!character.hasValue("Quality")) +// throw new BadCharException("Error: character has no quality, ignoring"); +// sb.append(" Q=").append(makeValue(character.getTerm("Quality"))); Modified: phenote/trunk/src/java/phenote/datamodel/CharField.java =================================================================== --- phenote/trunk/src/java/phenote/datamodel/CharField.java 2007-01-23 17:59:48 UTC (rev 305) +++ phenote/trunk/src/java/phenote/datamodel/CharField.java 2007-01-24 16:29:23 UTC (rev 306) @@ -60,6 +60,8 @@ public List<Ontology> getOntologyList() { return ontologyList; } + //booelan isFreeText() return !hasOntologies() ?? + public boolean hasOntologies() { return ontologyList != null && !ontologyList.isEmpty(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-01-23 17:59:49
|
Revision: 305 http://svn.sourceforge.net/obo/?rev=305&view=rev Author: mgibson Date: 2007-01-23 09:59:48 -0800 (Tue, 23 Jan 2007) Log Message: ----------- so ontology data adapter now copies repos/sourceforge obo file to local file - ~/.phenote/obo-files when local obo is out of date - the copy takes a while - i found that nio and old io took same amount of time - buffering didnt seem to make a difference(??) also user may want option of not copying to local cache just use straight from repos - need config for that - and should that be the default - should there be a checkbox in the popup "Do you want to copy repository obo file to local file system?" also might want "dont ask me this next time" checkboxes Modified Paths: -------------- phenote/trunk/src/java/phenote/config/Config.java phenote/trunk/src/java/phenote/config/OntologyConfig.java phenote/trunk/src/java/phenote/dataadapter/OntologyDataAdapter.java phenote/trunk/src/java/phenote/util/FileUtil.java Modified: phenote/trunk/src/java/phenote/config/Config.java =================================================================== --- phenote/trunk/src/java/phenote/config/Config.java 2007-01-22 19:44:48 UTC (rev 304) +++ phenote/trunk/src/java/phenote/config/Config.java 2007-01-23 17:59:48 UTC (rev 305) @@ -88,12 +88,7 @@ private String getMyPhenoteConfig(String passedInConfig, boolean overwritePersonalCfg) throws ConfigException { - String home = System.getProperty("user.home"); - File dotPhenote = new File(home+"/.phenote"); - if (!dotPhenote.exists()) { - System.out.println("creating "+dotPhenote+" directory"); - dotPhenote.mkdir(); - } + File dotPhenote = FileUtil.getDotPhenoteDir(); File myPhenote = new File(dotPhenote,"my-phenote.cfg"); // if file doesnt exist yet or overwrite, copy over passedInConfig if (!myPhenote.exists() || overwritePersonalCfg) { Modified: phenote/trunk/src/java/phenote/config/OntologyConfig.java =================================================================== --- phenote/trunk/src/java/phenote/config/OntologyConfig.java 2007-01-22 19:44:48 UTC (rev 304) +++ phenote/trunk/src/java/phenote/config/OntologyConfig.java 2007-01-23 17:59:48 UTC (rev 305) @@ -114,4 +114,6 @@ public boolean hasSlim() { return slim != null; } public String getSlim() { return slim; } + + public String toString() { return name; } } Modified: phenote/trunk/src/java/phenote/dataadapter/OntologyDataAdapter.java =================================================================== --- phenote/trunk/src/java/phenote/dataadapter/OntologyDataAdapter.java 2007-01-22 19:44:48 UTC (rev 304) +++ phenote/trunk/src/java/phenote/dataadapter/OntologyDataAdapter.java 2007-01-23 17:59:48 UTC (rev 305) @@ -1,11 +1,17 @@ package phenote.dataadapter; +import java.io.*; + import java.io.BufferedReader; import java.io.File; +import java.io.FileOutputStream; import java.io.FileNotFoundException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.IOException; +import java.nio.channels.FileChannel; +import java.nio.channels.ReadableByteChannel; +import java.nio.channels.Channels; import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; @@ -13,6 +19,7 @@ import java.util.Date; import java.text.SimpleDateFormat; import java.text.ParsePosition; +import java.util.Calendar; import java.util.HashMap; import java.util.Iterator; import java.util.List; @@ -95,7 +102,7 @@ cf.addOntology(o); } catch (OntologyException e) { //System.out.println(e.getMessage()+" ignoring ontology, fix config! "); - LOG.error(e.getMessage()+" ignoring init ontology, fix config? "); + LOG.error(e.getMessage()+" ignoring init ontology, fix config? "+oc); } } } @@ -130,7 +137,7 @@ if (ontCfg.hasSlim()) ontology.setSlim(ontCfg.getSlim()); - loadOboSession(ontology,ontCfg); // throws FileNotFoundEx + loadOboSession(ontology,ontCfg); // throws FileNotFoundEx->OntolEx return ontology; } @@ -163,28 +170,24 @@ throws OntologyException { String filename = oc.getFile(); URL url = findFile(filename); // throws OntologyEx if file not found - + // if ontCfg.hasSynchUrl() ? // URL synchUrl = ontCfg.getSynchUrl if (oc.hasReposUrl()) { try { URL reposUrl = oc.getReposUrl();//new URL("http://obo.cvs.sourceforge.net/*checkout*/obo/obo/ontology/evidence_code.obo"); - url = checkRepositoryUrl(url,reposUrl,o.getName()); + // if out of synch copies repos to local + // url may be jar/obo-files or svn/obo-files but this function may put file + // in cache ~/.phenote/obo-files + url = synchWithRepositoryUrl(url,reposUrl,o.getName()); + // to do - if from repos need to load repos into local obo cache! } catch (/*MalformedURL & IO*/Exception e) { LOG.error(e); } } loadOboSessionFromUrl(o,url,filename); -// o.setOboSession(getOboSession(url)); // throws OntEx if error -// fileToOntologyCache.put(filename,o); -// File file = new File(url.getFile()); -// long date = file.lastModified(); -// if (date > 0) { // jar files have 0 date??? -// o.setTimestamp(date); -// o.setSource(file.toString()); -// } } /** url is either local file or repos url */ @@ -202,7 +205,8 @@ } } - private URL checkRepositoryUrl(URL localUrl, URL reposUrl, String ontol) + /** this copies obo file to local cache (~/.phenote/obo-files */ + private URL synchWithRepositoryUrl(URL localUrl, URL reposUrl, String ontol) throws OntologyException { long repos = getOboDate(reposUrl); long loc = getOboDate(localUrl); // throws ont ex @@ -210,21 +214,19 @@ if (repos > loc) useRepos = queryUserAboutRepos(ontol); if (useRepos) { - LOG.info("Loading new ontology from repository "+reposUrl); - return reposUrl; + String file = FileUtil.getNameOfFile(localUrl); + try { + localUrl = new File(FileUtil.getUserOboCacheDir(),file).toURL(); + LOG.info("Loading new ontology from repository "+reposUrl+" to "+localUrl); + copyReposToLocal(reposUrl,localUrl); + } + catch (MalformedURLException e) { throw new OntologyException(e); } + //return reposUrl; } return localUrl; } - // is it bad to have a popup from data adapter? - private boolean queryUserAboutRepos(String ontol) { - String m = "There is a more current ontology in the repository for "+ontol+".\nWould" - +" you like to load the new version? (may take a few minutes)"; - int yn = JOptionPane.showConfirmDialog(null,m,"Synch ontology?", - JOptionPane.YES_NO_OPTION, - JOptionPane.QUESTION_MESSAGE); - return yn == JOptionPane.YES_OPTION; - } + /** Get the date of the file from the header of the obo file - just read header dont read in whole file. should it also query urlConnection for date first? */ @@ -239,7 +241,7 @@ if (!line.startsWith("date:")) continue; SimpleDateFormat dateFormat = new SimpleDateFormat("dd:MM:yyyy HH:mm"); Date d = dateFormat.parse(line, new ParsePosition(6)); - LOG.debug("date "+d+" for url "+oboUrl+" line "+line); + //LOG.debug("date "+d+" for url "+oboUrl+" line "+line); br.close(); if (d == null) throw new OntologyException("couldnt parse date "+line); @@ -248,8 +250,55 @@ throw new OntologyException("No date found in "+oboUrl); } catch (IOException e) { throw new OntologyException(e); } } + + // is it bad to have a popup from data adapter? + private boolean queryUserAboutRepos(String ontol) { + String m = "There is a more current ontology in the repository for "+ontol+".\nWould" + +" you like to load the new version? (may take a few minutes)"; + int yn = JOptionPane.showConfirmDialog(null,m,"Synch ontology?", + JOptionPane.YES_NO_OPTION, + JOptionPane.QUESTION_MESSAGE); + return yn == JOptionPane.YES_OPTION; + } + /** local url may be from distrib/jar dir, but needs to be set to + .phenote/obo-files dir as thats where the user cache is */ + private void copyReposToLocal(URL reposUrl, URL localUrl) + throws OntologyException { + // is there a better way then just reading & writing lines? nio? + try { + // nio & old io do the same time - oh well (~1 minute for GO) + //startTimer("nio file copy "+reposUrl+" to "+localUrl); + InputStream is = reposUrl.openStream(); + // nio actually does the same with the buffer + //BufferedInputStream bis = new BufferedInputStream(is); + ReadableByteChannel r = Channels.newChannel(is); + //BufferedReader br = new BufferedReader(new InputStreamReader(is)); + File f = new File(localUrl.getFile()); + FileOutputStream fos = new FileOutputStream(f); + //BufferedOutputStream bos = new BufferedOutputStream(fos); + //OutputStreamWriter osw = new OutputStreamWriter(fos); + //FileWriter fw = new FileWriter(f); + //BufferedWriter bw = new BufferedWriter(fw); + //PrintStream ps = new PrintStream(bos); + FileChannel w = fos.getChannel(); + long size = 99999999999999l; // cant get actual size - whole file + w.transferFrom(r,0,size); + //byte[] buf = new byte[1024]; +// int i = 0; +// //while((i=br.read())!=-1) { +// String line; +// while ((line=br.readLine())!=null) { +// //bos.write(i); //buf, 0, i); +// ps.print(line+"\n"); +// } + //stopTimer(); + r.close(); + w.close(); + } catch (IOException e) { throw new OntologyException(e); } + } + /** Look for file in current directory (.) and jar file throws OntologyException if file not found - wraps FileNFEx */ private URL findFile(String fileName) throws OntologyException { @@ -274,7 +323,7 @@ return os; } catch (DataAdapterException e) { - LOG.error("got data adapter exception: "+e); // ?? + LOG.error("got obo data adapter exception: "+e+" for url "+oboUrl); // ?? throw new OntologyException(e); } } @@ -287,6 +336,22 @@ loadOboSessionFromUrl(ont,url,ont.getSource()); // throws ex } + // eventually move to util class + private Calendar startTime; + private String timerMsg; + private void startTimer(String m) { + startTime = Calendar.getInstance(); + timerMsg = m; + LOG.debug(timerMsg+" Start clock "+startTime.getTime()); + } + + private void stopTimer() { + Calendar endTime = Calendar.getInstance(); + long seconds = (endTime.getTimeInMillis() - startTime.getTimeInMillis())/1000; + LOG.debug(timerMsg+" clock stopped, seconds elapsed: "+seconds); + } + + // private void loadRelationshipOntology() { hmmmmmm // // for now - todo configure! post comp relationship-ontology // // FieldConfig rfc = config.getRelationshipFieldConfig(); Modified: phenote/trunk/src/java/phenote/util/FileUtil.java =================================================================== --- phenote/trunk/src/java/phenote/util/FileUtil.java 2007-01-22 19:44:48 UTC (rev 304) +++ phenote/trunk/src/java/phenote/util/FileUtil.java 2007-01-23 17:59:48 UTC (rev 305) @@ -4,6 +4,7 @@ import org.apache.commons.lang.StringUtils; import java.io.*; +import java.io.File; import java.net.MalformedURLException; import java.net.URL; import java.nio.channels.FileChannel; @@ -21,6 +22,42 @@ private static final Logger LOG = Logger.getLogger(FileUtil.class); + /** if ~/.phenote doesnt exist yet its created */ + public static File getDotPhenoteDir() { + String home = System.getProperty("user.home"); + File dotPhenote = new File(sep(home,".phenote")); + if (!dotPhenote.exists()) { + LOG.info("creating "+dotPhenote+" directory"); + dotPhenote.mkdir(); + } + return dotPhenote; + } + + public static File getUserOboCacheDir() { + File d = getDotPhenoteDir(); + File obo = new File(d,"obo-files"); + if (!obo.exists()) { + LOG.info("creating "+obo+" directory"); + obo.mkdir(); + } + return obo; + } + + + /** get actual name of file sans path */ + public static String getNameOfFile(URL urlFile) { + String path = urlFile.getPath(); + int lastSlashIndex = path.lastIndexOf('/'); + if (lastSlashIndex == -1) return path; + return path.substring(lastSlashIndex); + } + + private static String getDotPhenoteString() { + return getDotPhenoteDir().getPath(); + } + + private static String sep(String a, String b) { return a + FILE_SEPARATOR + b; } + public static URL findUrl(String filename) throws FileNotFoundException { List<URL> possibleUrls = getPossibleUrls(filename); for (URL u : possibleUrls) @@ -30,10 +67,16 @@ throw new FileNotFoundException(filename+" not found"); } + // this is muddling config and obo - probably should be 2 methods? or be smart about + // suffix - or who cares? private static List<URL> getPossibleUrls(String filename) { List<URL> urls = new ArrayList(5); addFile(filename,urls); // full path or relative to pwd addFile("conf/"+filename,urls); + // ~/.phenote/obo-files cache for obo files - overrides phenote obo-files + // eventually may have configured obo dir as well... + //addFile(sep(getDotPhenoteString(),"obo-files"),urls); + addFile(getUserOboCacheDir().getPath()+"/"+filename,urls); addFile("obo-files/"+filename,urls);//this is obo-files specific - separate method? // URL jarUrl = FileUtil.class.getResource(filename); // if (jarUrl != null) urls.add(jarUrl); @@ -46,13 +89,14 @@ try { URL u = new File(filename).toURL(); if (u != null) urls.add(u); + URL jarUrl = FileUtil.class.getResource(filename); if (jarUrl != null) urls.add(jarUrl); jarUrl = FileUtil.class.getResource("/"+filename); if (jarUrl != null) urls.add(jarUrl); } catch (MalformedURLException e) { - System.out.println("bad file url "+e); - //LOG.error("bad file url "+e); + //System.out.println("bad file url "+e); + LOG.error("bad file url "+e); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ba...@us...> - 2007-01-22 19:45:12
|
Revision: 304 http://svn.sourceforge.net/obo/?rev=304&view=rev Author: balhoff Date: 2007-01-22 11:44:48 -0800 (Mon, 22 Jan 2007) Log Message: ----------- Minor improvement in NEXUS output. Modified Paths: -------------- phenote/trunk/src/java/phenote/dataadapter/nexus/NEXUSAdapter.java Modified: phenote/trunk/src/java/phenote/dataadapter/nexus/NEXUSAdapter.java =================================================================== --- phenote/trunk/src/java/phenote/dataadapter/nexus/NEXUSAdapter.java 2007-01-22 19:23:37 UTC (rev 303) +++ phenote/trunk/src/java/phenote/dataadapter/nexus/NEXUSAdapter.java 2007-01-22 19:44:48 UTC (rev 304) @@ -243,9 +243,7 @@ } valueCount++; } - writer.write("\t\t\t"); - if (entryIterator.hasNext()) writer.write(","); - writer.write("\n"); + if (entryIterator.hasNext()) writer.write("\t\t\t,\n"); characterNum++; } writer.write("\t\t;\n"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ba...@us...> - 2007-01-22 19:23:45
|
Revision: 303 http://svn.sourceforge.net/obo/?rev=303&view=rev Author: balhoff Date: 2007-01-22 11:23:37 -0800 (Mon, 22 Jan 2007) Log Message: ----------- Added file adapter for exporting phenotypes to a NEXUS file. This requires the use of PATO with attribute and value slims. The adapter does not import NEXUS files. Modified Paths: -------------- phenote/trunk/obo-files/quality.obo phenote/trunk/src/java/phenote/config/Config.java Added Paths: ----------- phenote/trunk/src/java/phenote/dataadapter/nexus/ phenote/trunk/src/java/phenote/dataadapter/nexus/NEXUSAdapter.java Modified: phenote/trunk/obo-files/quality.obo =================================================================== --- phenote/trunk/obo-files/quality.obo 2007-01-20 03:18:08 UTC (rev 302) +++ phenote/trunk/obo-files/quality.obo 2007-01-22 19:23:37 UTC (rev 303) @@ -1,10 +1,13 @@ format-version: 1.0 -date: 28:11:2006 13:58 +date: 22:01:2007 16:16 saved-by: George Gkoutos -auto-generated-by: OBO-Edit 1.002 +auto-generated-by: OBO-Edit 1.100-beta16 +subsetdef: abnormal_slim "Abnormal/normal slim" subsetdef: absent_slim "Absent/present slim" -subsetdef: abnormal_slim "Abnormal/normal slim" +subsetdef: attribute_slim "Attribute slim" +subsetdef: value_slim "Value slim" default-namespace: quality +namespace-id-rule: * ID:$sequence(7,0,2147483647)$ [Term] id: PATO:0000000 @@ -14,7 +17,8 @@ [Term] id: PATO:0000001 name: quality -def: "A dependent entity that\ninheres in a bearer by virtue of how the bearer is related to other entities." [PATO :GVG] +def: "A dependent entity that inheres in a bearer by virtue of how the bearer is related to other entities." [PATO :GVG] +subset: attribute_slim [Term] id: PATO:0000002 @@ -30,6 +34,7 @@ id: PATO:0000004 name: mobility def: "A quality of moving freely." [PATO :GVG] +subset: attribute_slim is_a: PATO:0001237 ! monadic quality of continuant [Term] @@ -51,6 +56,7 @@ id: PATO:0000008 name: speed/velocity def: "A physical quality inhering in an object by virtue of the rate of change of its position." [Wikipedia:Wikipedia "http://en.wikipedia.org/"] +subset: attribute_slim is_a: PATO:0001018 ! physical quality [Term] @@ -66,6 +72,7 @@ [Term] id: PATO:0000011 name: age +subset: attribute_slim is_a: PATO:0000165 ! time [Term] @@ -82,46 +89,54 @@ id: PATO:0000014 name: color def: "A composite chromatic quality composed of hue, saturation and intensity parts." [XX:<new dbxref>] +subset: attribute_slim is_a: PATO:0001301 ! chromatic property [Term] id: PATO:0000015 name: color hue def: "a chromatic scalar-circular quality inhering in an object that manifests in an observer by virtue of the dominant wavelength of the visible light; may be subject to fiat divisions, typically into 7 or 8 spectra" [XX:<new dbxref>] +subset: attribute_slim is_a: PATO:0001301 ! chromatic property [Term] id: PATO:0000016 name: color brightness def: "A scalar optical quality which obtains by the bearer producing the effects of light emittance in an observer." [XX:<new dbxref>] +subset: attribute_slim is_a: PATO:0001300 ! optical quality [Term] id: PATO:0000017 name: color saturation def: "a scalar chromatic quality that manifests by virtue of the range of wavelengths in perceived light." [XX:<new dbxref>] +subset: attribute_slim is_a: PATO:0001301 ! chromatic property [Term] id: PATO:0000018 name: fluorescence def: "Luminosity in which the bearer emits longer wavelength light following the absorption of shorter wavelength radiation; fluorescence is common with aromatic compounds with several rings joined together." [XX:<new dbxref>] +subset: value_slim is_a: PATO:0001296 ! luminosity [Term] id: PATO:0000019 name: color pattern -is_obsolete: true +subset: attribute_slim +is_a: PATO:0001301 ! chromatic property [Term] id: PATO:0000020 name: relative color +subset: attribute_slim is_a: PATO:0001300 ! optical quality [Term] id: PATO:0000021 name: compatibility def: "A quality of having or lacking the ability harmonious coexistence." [PATO :GVG] +subset: attribute_slim is_a: PATO:0001237 ! monadic quality of continuant [Term] @@ -142,7 +157,9 @@ [Term] id: PATO:0000025 name: composition -def: "A monadic quality of continuant inhering in an object by virtue of the quantities or relative ratios of subparts of the inhering entity; for example calcium composition (which may inhere in bone), haemoglobin composition (which may inhere in blood)" [PATO :GVG] +def: "A monadic quality of continuant inhering in an object by virtue of the quantities or relative ratios of subparts of the inhering entity." [PATO :GVG] +comment: For example calcium composition (which may inhere in bone), haemoglobin composition (which may inhere in blood). +subset: attribute_slim is_a: PATO:0001237 ! monadic quality of continuant [Term] @@ -184,6 +201,7 @@ id: PATO:0000033 name: concentration def: "A physical quality inhering in a substance by \nvirtue of the amount of it there is mixed with another substance." [Wikipedia:Wikipedia "http://www.wikipedia.org/"] +subset: attribute_slim is_a: PATO:0001018 ! physical quality [Term] @@ -205,6 +223,7 @@ id: PATO:0000037 name: consistency def: "A physical quality that inheres in a continuant by\nvirtue of density, firmness, or viscosity." [PATO :GVG] +subset: attribute_slim is_a: PATO:0001018 ! physical quality [Term] @@ -216,12 +235,14 @@ id: PATO:0000039 name: direction def: "The orientation of a line in space." [: "http://thesaurus.maths.org/"] +subset: attribute_slim is_a: PATO:0001018 ! physical quality [Term] id: PATO:0000040 name: distance def: "The extent of space between two objects or places." [XX:<new dbxref>] +subset: attribute_slim is_a: PATO:0001018 ! physical quality [Term] @@ -238,12 +259,14 @@ id: PATO:0000043 name: flavor def: "A relational quality inhering in an object or the molecules of an object, in which the molecules are perceived by a taste and odorant receptors." [XX:<new dbxref>] +subset: attribute_slim is_a: PATO:0001238 ! relational quality of continuant [Term] id: PATO:0000044 name: frequency def: "A physical quality which inhers to the bearer by virtue of the number of repetitive actions in a particular time." [Wikipedia:Wikipedia "http://en.wikipedia.org/"] +subset: attribute_slim is_a: PATO:0001018 ! physical quality [Term] @@ -260,41 +283,48 @@ id: PATO:0000047 name: biological sex def: "A monadic quality of continuant inhering in an organism by virtue of its ability to undergo sexual reproduction in order to differentiate the individuals or types involved." [MGED:MGED] +subset: attribute_slim is_a: PATO:0001237 ! monadic quality of continuant [Term] id: PATO:0000048 name: hardness def: "A physical quality inhering in a bearer as the constant of proportionality of the force on its elastic body to its body's extension." [: "http://thesaurus.maths.org/"] +subset: attribute_slim related_synonym: "stiffness" [] is_a: PATO:0001018 ! physical quality [Term] id: PATO:0000049 name: intensity +subset: attribute_slim is_a: PATO:0001237 ! monadic quality of continuant [Term] id: PATO:0000050 name: life span def: "A time quality which is the expected maximum age." [XX:<new dbxref>] +subset: attribute_slim is_a: PATO:0000165 ! time [Term] id: PATO:0000051 name: morphology def: "A quality inhering in the bearer by virtue of its size, shape and structure" [PATO :GVG] +subset: attribute_slim is_a: PATO:0001237 ! monadic quality of continuant [Term] id: PATO:0000052 name: shape -def: "A morphology quality inhering in a bearer by virtue of the ratios of distances between its features (points, edges, surfaces and also holes etc). " [PATO :GVG] +def: "A morphology quality inhering in a bearer by virtue of the ratios of distances between its features (points, edges, surfaces and also holes etc)." [PATO :GVG] +subset: attribute_slim is_a: PATO:0000051 ! morphology [Term] id: PATO:0000053 name: count +subset: attribute_slim is_a: PATO:0001226 ! quantitative [Term] @@ -310,28 +340,33 @@ [Term] id: PATO:0000056 name: nutritional +subset: attribute_slim is_a: PATO:0001237 ! monadic quality of continuant [Term] id: PATO:0000057 name: occurrence +subset: attribute_slim is_a: PATO:0001226 ! quantitative [Term] id: PATO:0000058 name: odor -def: "A relational quality inhering in an object by virtue of the molecules being are aerially dispersed and perceived by an odorant receptor. " [XX:<new dbxref>] +def: "A relational quality inhering in an object by virtue of the molecules being are aerially dispersed and perceived by an odorant receptor." [XX:<new dbxref>] +subset: attribute_slim is_a: PATO:0001238 ! relational quality of continuant [Term] id: PATO:0000059 name: parental type +subset: attribute_slim is_a: PATO:0000047 ! biological sex [Term] id: PATO:0000060 name: pattern def: "A monadic quality of continuant defined by the mathematic properties of the relative position of subparts" [XX:<new dbxref>] +subset: attribute_slim is_a: PATO:0001237 ! monadic quality of continuant [Term] @@ -342,7 +377,8 @@ [Term] id: PATO:0000062 name: sleep pattern -is_a: PATO:0000186 ! behavioral quality +subset: attribute_slim +is_a: PATO:0001530 ! behavioral quality of occurent [Term] id: PATO:0000063 @@ -363,6 +399,7 @@ id: PATO:0000066 name: pilosity def: "A quality of having hair." [PATO :GVG] +subset: attribute_slim is_a: PATO:0001237 ! monadic quality of continuant [Term] @@ -373,21 +410,25 @@ [Term] id: PATO:0000068 name: qualitative +subset: attribute_slim is_a: PATO:0001237 ! monadic quality of continuant [Term] id: PATO:0000069 name: deviation(from_normal) +subset: attribute_slim is_a: PATO:0000068 ! qualitative [Term] id: PATO:0000070 name: presence +subset: attribute_slim is_a: PATO:0000068 ! qualitative [Term] id: PATO:0000071 name: relative_quantity +subset: attribute_slim is_a: PATO:0001226 ! quantitative [Term] @@ -419,12 +460,14 @@ id: PATO:0000077 name: response def: "A quality inhering in a bearer by virtue of \nits reaction to a stimulus or an agent." [PATO :GVG] +subset: attribute_slim is_a: PATO:0001237 ! monadic quality of continuant [Term] id: PATO:0000078 name: rhythm -is_a: PATO:0001237 ! monadic quality of continuant +subset: attribute_slim +is_a: PATO:0001239 ! monadic quality of occurrent [Term] id: PATO:0000079 @@ -434,24 +477,26 @@ [Term] id: PATO:0000080 name: amplitude -def: "A physical quality inhering in a bearer by \nvirtue of the size of its maximum displacement from the 'normal' position, when periodic motion is taking place" [: "http://thesaurus.maths.org/"] -is_a: PATO:0000078 ! rhythm -is_a: PATO:0001018 ! physical quality +def: "A physical monadic quality of occurrent quality inhering in a bearer by virtue of the size of its maximum displacement from the 'normal' position, when periodic motion is taking place." [thesaurus.maths:thesaurus.maths "http://thesaurus.maths.org/"] +subset: attribute_slim +is_a: PATO:0001239 ! monadic quality of occurrent [Term] id: PATO:0000081 name: period -is_a: PATO:0000078 ! rhythm +subset: attribute_slim is_a: PATO:0000165 ! time [Term] id: PATO:0000082 name: persistence +subset: attribute_slim is_a: PATO:0000078 ! rhythm [Term] id: PATO:0000083 name: phase +subset: attribute_slim is_a: PATO:0000078 ! rhythm [Term] @@ -463,6 +508,7 @@ id: PATO:0000085 name: sensitivity def: "A relational quality of continuant inhering in an entity by virtue of its propensity to respond to stimulation." [PATO:GVG] +subset: attribute_slim is_a: PATO:0001238 ! relational quality of continuant [Term] @@ -623,7 +669,8 @@ [Term] id: PATO:0000117 name: size -def: "A morphology quality inhering in a bearer by virtue of its physical magnitude. " [WordNet :WordNet "wordnet.princeton.edu/"] +def: "A morphology quality inhering in a bearer by virtue of its physical magnitude." [WordNet :WordNet "wordnet.princeton.edu/"] +subset: attribute_slim is_a: PATO:0000051 ! morphology [Term] @@ -635,6 +682,7 @@ id: PATO:0000119 name: height def: "A physical quality which is equal to the vertical dimension of extension." [PATO :GVG] +subset: attribute_slim is_a: PATO:0001018 ! physical quality [Term] @@ -651,6 +699,7 @@ id: PATO:0000122 name: length def: "A physical quality which is equal to the distance between two points." [PATO :GVG] +subset: attribute_slim is_a: PATO:0001018 ! physical quality [Term] @@ -667,6 +716,7 @@ id: PATO:0000125 name: mass def: "A physical quality that inheres in a bearer in proportion to the amount of matter it contains." [PATO :GVG] +subset: attribute_slim is_a: PATO:0001018 ! physical quality [Term] @@ -683,6 +733,7 @@ id: PATO:0000128 name: weight def: "A quality inhering in an object with mass near a gravitational body." [Wikipedia:Wikipedia "http://www.wikipedia.org/"] +subset: attribute_slim is_a: PATO:0001035 ! force [Term] @@ -703,14 +754,15 @@ [Term] id: PATO:0000132 name: spatial +subset: attribute_slim is_a: PATO:0001237 ! monadic quality of continuant [Term] id: PATO:0000133 name: angle def: "A physical quality inhering in a figure or space formed by the junction of two lines or planes." [Wikipedia :Wikipedia "http://www.wikipedia.org/"] +subset: attribute_slim is_a: PATO:0000132 ! spatial -is_a: PATO:0001018 ! physical quality [Term] id: PATO:0000134 @@ -725,12 +777,14 @@ [Term] id: PATO:0000136 name: closure +subset: attribute_slim is_a: PATO:0000132 ! spatial [Term] id: PATO:0000137 name: orientation def: "A quality of an object in which its \nlocation is defined by the angle between two axes, or an axis and another object" [XX:<new dbxref>] +subset: attribute_slim is_a: PATO:0000132 ! spatial [Term] @@ -747,12 +801,14 @@ id: PATO:0000140 name: placement def: "A spatial quality of the way in which something is placed" [PATO:gg] +subset: attribute_slim is_a: PATO:0000132 ! spatial [Term] id: PATO:0000141 name: structure -def: "A morphology quality inhering in a bearer by virtue of the relative position, shape, arrangements and connectivity of an organism's various parts; the pattern underlying its form.\n" [PATO :GVG] +def: "A morphology quality inhering in a bearer by virtue of the relative position, shape, arrangements and connectivity of an organism's various parts; the pattern underlying its form." [PATO :GVG] +subset: attribute_slim is_a: PATO:0000051 ! morphology [Term] @@ -779,6 +835,7 @@ id: PATO:0000146 name: temperature def: "A physical quality of the thermal energy of a system." [PATO :GVG] +subset: attribute_slim is_a: PATO:0001018 ! physical quality [Term] @@ -799,7 +856,8 @@ [Term] id: PATO:0000150 name: texture -def: "A morphology quality inhering in a bearer by virtue of the relative size and distribution of its surface elements or the representation or invention of the appearance of its surface. \n" [PATO :GVG] +def: "A morphology quality inhering in a bearer by virtue of the relative size and distribution of its surface elements or the representation or invention of the appearance of its surface." [PATO :GVG] +subset: attribute_slim is_a: PATO:0000051 ! morphology [Term] @@ -811,6 +869,7 @@ id: PATO:0000152 name: threshold def: "A quality inhering in a bearer by virtue of its sensitivity towards a fixed location or value where a change is observed; upper limit." [Wikipedia:Wikipedia "http://www.wikipedia.org/"] +subset: attribute_slim is_a: PATO:0001237 ! monadic quality of continuant [Term] @@ -831,7 +890,8 @@ [Term] id: PATO:0000156 name: temporal -is_a: PATO:0001237 ! monadic quality of continuant +subset: attribute_slim +is_a: PATO:0001239 ! monadic quality of occurrent [Term] id: PATO:0000157 @@ -841,6 +901,7 @@ [Term] id: PATO:0000158 name: incidence +subset: attribute_slim is_a: PATO:0000156 ! temporal [Term] @@ -856,6 +917,7 @@ [Term] id: PATO:0000161 name: rate +subset: attribute_slim is_a: PATO:0000156 ! temporal [Term] @@ -877,6 +939,7 @@ id: PATO:0000165 name: time def: "A quality in which events occur in sequence" [XX:<new dbxref>] +subset: attribute_slim is_a: PATO:0001018 ! physical quality [Term] @@ -887,6 +950,7 @@ [Term] id: PATO:0000167 name: bouts +subset: attribute_slim is_a: PATO:0000165 ! time [Term] @@ -898,6 +962,7 @@ id: PATO:0000169 name: viability def: "A quality inhering in a bearer or a population by virtue of the bearer's ability or inability to survive and develop normally or the number of surviving individuals in a given population." [PATO :GVG] +subset: attribute_slim is_a: PATO:0001237 ! monadic quality of continuant [Term] @@ -978,28 +1043,33 @@ [Term] id: PATO:0000185 name: balance -is_a: PATO:0001237 ! monadic quality of continuant +subset: attribute_slim +is_a: PATO:0001530 ! behavioral quality of occurent [Term] id: PATO:0000186 name: behavioral quality +subset: attribute_slim is_a: PATO:0001237 ! monadic quality of continuant [Term] id: PATO:0000187 name: consumption -is_a: PATO:0001237 ! monadic quality of continuant +subset: attribute_slim +is_a: PATO:0001240 ! relational quality of occurrent [Term] id: PATO:0000188 name: coordination def: "A quality of having or lacking skilful and effective interaction of movement." [PATO :GVG] -is_a: PATO:0001237 ! monadic quality of continuant +subset: attribute_slim +is_a: PATO:0001530 ! behavioral quality of occurent [Term] id: PATO:0000189 name: discrimination def: "A quality of perceiving differences between two or more stimuli." [PATO :GVG] +subset: attribute_slim is_a: PATO:0001237 ! monadic quality of continuant [Term] @@ -1360,6 +1430,7 @@ [Term] id: PATO:0000261 name: maturity +subset: attribute_slim is_a: PATO:0001237 ! monadic quality of continuant [Term] @@ -1420,12 +1491,14 @@ [Term] id: PATO:0000273 name: fecundity -is_obsolete: true +subset: attribute_slim +is_a: PATO:0001434 ! reproductive quality [Term] id: PATO:0000274 name: fertility def: "A quality of initiating, sustaining, or supporting reproduction." [PATO :GVG] +subset: attribute_slim is_a: PATO:0001434 ! reproductive quality [Term] @@ -1435,13 +1508,16 @@ [Term] id: PATO:0000276 -name: litter size -is_obsolete: true +name: brood size +subset: attribute_slim +related_synonym: "litter size" [] +is_a: PATO:0001496 ! brood quality [Term] id: PATO:0000277 name: female fertility def: "A fertility quality of the female of initiating, sustaining, or supporting reproduction." [PATO :GVG] +subset: attribute_slim is_a: PATO:0000274 ! fertility [Term] @@ -1453,6 +1529,7 @@ id: PATO:0000279 name: male fertility def: "A fertility quality of the male of initiating, sustaining, or supporting reproduction." [PATO :GVG] +subset: attribute_slim is_a: PATO:0000274 ! fertility [Term] @@ -1544,6 +1621,7 @@ id: PATO:0000297 name: arrested def: "A duration in which the end point is shorted before natural end point (prematurely finishing)." [XX:<new dbxref>] +subset: value_slim related_synonym: "incomplete" [] is_a: PATO:0001309 ! duration @@ -1556,12 +1634,15 @@ id: PATO:0000299 name: mobile def: "A mobility quality of being incapable to move freely." [PATO :GVG] +subset: value_slim is_a: PATO:0000004 ! mobility [Term] id: PATO:0000300 name: immobile def: "A mobility quality of being capable to move freely." [PATO :GVG] +subset: value_slim +related_synonym: "fixed" [] is_a: PATO:0000004 ! mobility [Term] @@ -1578,12 +1659,14 @@ id: PATO:0000303 name: fast speed def: "A speed which is relative high." [PATO :GVG] +subset: value_slim is_a: PATO:0000008 ! speed/velocity [Term] id: PATO:0000304 name: slow speed def: "A speed which is relative low." [XX:<new dbxref>] +subset: value_slim is_a: PATO:0000008 ! speed/velocity [Term] @@ -1604,11 +1687,13 @@ [Term] id: PATO:0000308 name: old +subset: value_slim is_a: PATO:0000011 ! age [Term] id: PATO:0000309 name: young +subset: value_slim is_a: PATO:0000011 ! age [Term] @@ -1650,46 +1735,54 @@ id: PATO:0000317 name: black def: "A color that lacks any hues as parts." [XX:<new dbxref>] +subset: value_slim is_a: PATO:0000014 ! color [Term] id: PATO:0000318 name: blue -def: "A color hue with low wavelength of that portion of the visible spectrum lying between green and indigo, evoked in the human observer by radiant energy with wavelengths of approximately 420 to 490 nanometers;" [Dictionary:http\://dictionary.reference.com/] +def: "A color hue with low wavelength of that portion of the visible spectrum lying between green and indigo, evoked in the human observer by radiant energy with wavelengths of approximately 420 to 490 nanometers." [Dictionary:http\://dictionary.reference.com/] +subset: value_slim is_a: PATO:0000014 ! color [Term] id: PATO:0000319 name: cyan +subset: value_slim is_a: PATO:0000014 ! color [Term] id: PATO:0000320 name: green def: "A color hue with medium-low wavelength of that portion of the visible spectrum lying between yellow and blue, evoked in the human observer by radiant energy with wavelengths of approximately 490 to 570 nanometers;" [Dictionary:http\://dictionary.reference.com/] +subset: value_slim is_a: PATO:0000014 ! color [Term] id: PATO:0000321 name: magenta +subset: value_slim is_a: PATO:0000322 ! red [Term] id: PATO:0000322 name: red def: "A color hue with high wavelength of the long-wave end of the visible spectrum, evoked in the human observer by radiant energy with wavelengths of approximately 630 to 750 nanometers;" [Dictionary:http\://dictionary.reference.com/] +subset: value_slim is_a: PATO:0000014 ! color [Term] id: PATO:0000323 name: white def: "An achromatic color of maximum lightness; the color of objects that reflect nearly all light of all visible wavelengths;" [Dictionary:http\://dictionary.reference.com/] +subset: value_slim is_a: PATO:0000014 ! color [Term] id: PATO:0000324 name: yellow def: "A color hue with medium wavelength of that portion of the visible spectrum lying between orange and green, evoked in the human observer by radiant energy with wavelengths of approximately 570 to 590 nanometers" [Dictionary:http\://dictionary.reference.com/] +subset: value_slim is_a: PATO:0000014 ! color [Term] @@ -1705,11 +1798,13 @@ [Term] id: PATO:0000327 name: dark +subset: value_slim is_a: PATO:0000016 ! color brightness [Term] id: PATO:0000328 name: pale +subset: value_slim related_synonym: "dull" [] is_a: PATO:0000017 ! color saturation @@ -1722,11 +1817,13 @@ id: PATO:0000330 name: irregular def: "A physical quality inhering in a bearer by virtue of lacking pattern." [PATO :GVG] +subset: value_slim is_a: PATO:0000060 ! pattern [Term] id: PATO:0000331 name: discolored +subset: value_slim is_a: PATO:0000020 ! relative color [Term] @@ -1753,11 +1850,13 @@ [Term] id: PATO:0000336 name: colored +subset: value_slim is_a: PATO:0000020 ! relative color [Term] id: PATO:0000337 name: colorless +subset: value_slim is_a: PATO:0000020 ! relative color [Term] @@ -1794,12 +1893,14 @@ id: PATO:0000344 name: compatible def: "A compatibility quality of being capable of harmonious coexistence." [PATO :GVG] +subset: value_slim is_a: PATO:0000021 ! compatibility [Term] id: PATO:0000345 name: incompatible def: "A compatibility quality of being incapable of harmonious coexistence." [PATO :GVG] +subset: value_slim is_a: PATO:0000021 ! compatibility [Term] @@ -1901,18 +2002,21 @@ id: PATO:0000365 name: down def: "A direction from a higher to a lower point." [PATO :GVG] +subset: value_slim is_a: PATO:0000039 ! direction [Term] id: PATO:0000366 name: left def: "A direction that is similar to the direction of an object to the north when it faces east." [PATO :GVG] +subset: value_slim is_a: PATO:0000039 ! direction [Term] id: PATO:0000367 name: right def: "A direction that is similar to the direction of an object to the north when it faces west." [PATO :GVG] +subset: value_slim is_a: PATO:0000039 ! direction [Term] @@ -1929,6 +2033,7 @@ id: PATO:0000370 name: up def: "A direction from a lower to a higher point." [PATO :GVG] +subset: value_slim is_a: PATO:0000039 ! direction [Term] @@ -1950,12 +2055,14 @@ id: PATO:0000374 name: long distance def: "A distance which is greater relative to the normal or average." [PATO :GVG] +subset: value_slim is_a: PATO:0000040 ! distance [Term] id: PATO:0000375 name: short distance def: "A distance which is lesser relative to the normal or average." [PATO :GVG] +subset: value_slim is_a: PATO:0000040 ! distance [Term] @@ -1982,12 +2089,14 @@ id: PATO:0000380 name: frequent def: "A frequency which is relative high." [XX:<new dbxref>] +subset: value_slim is_a: PATO:0000044 ! frequency [Term] id: PATO:0000381 name: infrequent def: "A frequency which is relative low." [XX:<new dbxref>] +subset: value_slim is_a: PATO:0000044 ! frequency [Term] @@ -1999,12 +2108,14 @@ id: PATO:0000383 name: female def: "A biological sex quality inhering in an individual that only produces gametes that can be fertilised by male gamates." [MGED:MGED] +subset: value_slim is_a: PATO:0000047 ! biological sex [Term] id: PATO:0000384 name: male def: "A biological sex quality inhering in an individual whose sex organs contain only male gametes." [MGED:MGED] +subset: value_slim is_a: PATO:0000047 ! biological sex [Term] @@ -2016,12 +2127,14 @@ id: PATO:0000386 name: hard def: "A hardness quality of being rigid and resistant to pressure." [PATO :GVG] +subset: value_slim is_a: PATO:0000048 ! hardness [Term] id: PATO:0000387 name: soft -def: "A hardness quality of giving little resistance to pressure " [PATO :GVG] +def: "A hardness quality of giving little resistance to pressure" [PATO :GVG] +subset: value_slim is_a: PATO:0000048 ! hardness [Term] @@ -2057,16 +2170,19 @@ [Term] id: PATO:0000394 name: mild +subset: value_slim is_a: PATO:0000049 ! intensity [Term] id: PATO:0000395 name: moderate +subset: value_slim is_a: PATO:0000049 ! intensity [Term] id: PATO:0000396 name: severe +subset: value_slim is_a: PATO:0000049 ! intensity [Term] @@ -2097,27 +2213,33 @@ [Term] id: PATO:0000402 name: branched +subset: value_slim is_a: PATO:0000052 ! shape [Term] id: PATO:0000403 name: cleft +subset: value_slim is_a: PATO:0000052 ! shape [Term] id: PATO:0000404 name: coiled +subset: value_slim is_a: PATO:0000052 ! shape [Term] id: PATO:0000405 name: curled -def: "A shape quality of having parallel chains in undulate fashion on the border." [XX:<new dbxref>] +def: "A shape quality of having parallel chains in undulate fashion on the border." [PATO:] +subset: value_slim is_a: PATO:0000052 ! shape [Term] id: PATO:0000406 name: curved +def: "A shape quality inhering in a bearer by virtue of having or marked by a curve or smoothly rounded bend" [WordNet :WordNet "http://wordnet.princeton.edu/"] +subset: value_slim related_synonym: "curled" [] is_a: PATO:0000052 ! shape @@ -2125,46 +2247,55 @@ id: PATO:0000407 name: flat def: "A shape lacking depth." [PATO :GVG] +subset: value_slim is_a: PATO:0000052 ! shape [Term] id: PATO:0000408 name: globular +subset: value_slim is_a: PATO:0000052 ! shape [Term] id: PATO:0000409 name: oblate +subset: value_slim is_a: PATO:0000052 ! shape [Term] id: PATO:0000410 name: pinnate +subset: value_slim is_a: PATO:0000052 ! shape [Term] id: PATO:0000411 name: round +subset: value_slim is_a: PATO:0000052 ! shape [Term] id: PATO:0000412 name: shrunken +subset: value_slim is_a: PATO:0000052 ! shape [Term] id: PATO:0000413 name: square +subset: value_slim is_a: PATO:0000052 ! shape [Term] id: PATO:0000414 name: unbranched +subset: value_slim is_a: PATO:0000052 ! shape [Term] id: PATO:0000415 name: uncoiled +subset: value_slim is_a: PATO:0000052 ! shape [Term] @@ -2185,11 +2316,13 @@ [Term] id: PATO:0000419 name: decreased number +subset: value_slim is_a: PATO:0000053 ! count [Term] id: PATO:0000420 name: increased number +subset: value_slim is_a: PATO:0000053 ! count [Term] @@ -2200,11 +2333,13 @@ [Term] id: PATO:0000422 name: auxotroph +subset: value_slim is_a: PATO:0000056 ! nutritional [Term] id: PATO:0000423 name: prototroph +subset: value_slim is_a: PATO:0000056 ! nutritional [Term] @@ -2220,21 +2355,25 @@ [Term] id: PATO:0000426 name: interrupted +subset: value_slim is_a: PATO:0000057 ! occurrence [Term] id: PATO:0000427 name: recurrent +subset: value_slim is_a: PATO:0000057 ! occurrence [Term] id: PATO:0000428 name: sporadic +subset: value_slim is_a: PATO:0000057 ! occurrence [Term] id: PATO:0000429 name: uninterrupted +subset: value_slim is_a: PATO:0000057 ! occurrence [Term] @@ -2255,11 +2394,13 @@ [Term] id: PATO:0000433 name: paternal +subset: value_slim is_a: PATO:0000059 ! parental type [Term] id: PATO:0000434 name: maternal +subset: value_slim is_a: PATO:0000059 ! parental type [Term] @@ -2281,7 +2422,9 @@ id: PATO:0000438 name: invariant def: "The state of not having or exhibiting variation." [Dictionary:http\://dictionary.reference.com/] +subset: value_slim related_synonym: "constant" [] +exact_synonym: "uniform" [] is_a: PATO:0001303 ! variability [Term] @@ -2293,21 +2436,25 @@ id: PATO:0000440 name: regular def: "A physical quality inhering in a bearer by virtue of having pattern." [PATO :GVG] +subset: value_slim is_a: PATO:0000060 ! pattern [Term] id: PATO:0000441 name: repetitive +subset: value_slim is_a: PATO:0000057 ! occurrence [Term] id: PATO:0000442 name: insomnia +subset: value_slim is_a: PATO:0000062 ! sleep pattern [Term] id: PATO:0000443 name: narcolepsy +subset: value_slim is_a: PATO:0000062 ! sleep pattern [Term] @@ -2359,17 +2506,20 @@ id: PATO:0000453 name: glabrous def: "A pilosity quality of having no hairs, projections, or pubescence" [PATO :GVG] +subset: value_slim is_a: PATO:0000066 ! pilosity [Term] id: PATO:0000454 name: hairy def: "A pilosity quality of being covered with hair or hairlike projections" [PATO :GVG] +subset: value_slim is_a: PATO:0000066 ! pilosity [Term] id: PATO:0000455 name: pubescent +subset: value_slim is_a: PATO:0000261 ! maturity [Term] @@ -2395,33 +2545,38 @@ [Term] id: PATO:0000460 name: abnormal +subset: abnormal_slim +subset: value_slim related_synonym: "aberrant" [] related_synonym: "atypical" [] related_synonym: "defective" [] is_a: PATO:0000069 ! deviation(from_normal) -subset: abnormal_slim [Term] id: PATO:0000461 name: normal +subset: abnormal_slim +subset: value_slim related_synonym: "average" [] is_a: PATO:0000069 ! deviation(from_normal) -subset: abnormal_slim [Term] id: PATO:0000462 name: absent +subset: absent_slim +subset: value_slim is_a: PATO:0000070 ! presence -subset: absent_slim [Term] id: PATO:0000463 name: conspicuous +subset: value_slim is_a: PATO:0000070 ! presence [Term] id: PATO:0000464 name: inconspicuous +subset: value_slim is_a: PATO:0000070 ! presence [Term] @@ -2437,12 +2592,15 @@ [Term] id: PATO:0000467 name: present +subset: absent_slim +subset: value_slim is_a: PATO:0000070 ! presence -subset: absent_slim [Term] id: PATO:0000468 name: decreased +subset: value_slim +related_synonym: "reduced" [] is_a: PATO:0000071 ! relative_quantity [Term] @@ -2453,6 +2611,7 @@ [Term] id: PATO:0000470 name: increased +subset: value_slim is_a: PATO:0000071 ! relative_quantity [Term] @@ -2539,12 +2698,14 @@ id: PATO:0000487 name: responsive def: "A quality inhering in a bearer by virtue of \nthe presence of its reaction to a stimulus or an agent." [PATO :GVG] +subset: value_slim is_a: PATO:0000077 ! response [Term] id: PATO:0000488 name: unresponsive def: "A quality inhering in a bearer by virtue of \nthe lack of its reaction to a stimulus or an agent." [PATO :GVG] +subset: value_slim is_a: PATO:0000077 ! response [Term] @@ -2595,44 +2756,51 @@ [Term] id: PATO:0000498 name: prolonged period +subset: value_slim is_a: PATO:0000081 ! period [Term] id: PATO:0000499 name: shortened period +subset: value_slim is_a: PATO:0000081 ! period [Term] id: PATO:0000500 name: advanced +subset: value_slim is_a: PATO:0000083 ! phase [Term] id: PATO:0000501 name: dark phase +subset: value_slim is_a: PATO:0000083 ! phase [Term] id: PATO:0000502 name: delayed -def: "A duration in which process ends before natural\nstart point." [XX:<new dbxref>] +def: "A duration in which process ends before natural start point." [PATO:GVG] +subset: value_slim related_synonym: "late" [] -is_a: PATO:0000083 ! phase is_a: PATO:0001309 ! duration [Term] id: PATO:0000503 name: light phase +subset: value_slim is_a: PATO:0000083 ! phase [Term] id: PATO:0000504 name: arrhythmic +subset: value_slim is_a: PATO:0000078 ! rhythm [Term] id: PATO:0000505 name: rhythmic +subset: value_slim is_a: PATO:0000078 ! rhythm [Term] @@ -2674,6 +2842,7 @@ id: PATO:0000513 name: insensitive def: "A quality of lacking sensitivity." [XX:<new dbxref>] +subset: value_slim related_synonym: "resistant" [] is_a: PATO:0000085 ! sensitivity @@ -2686,12 +2855,14 @@ id: PATO:0000515 name: tolerant def: "A resistance quality inhering in a bearer by virtue of its ability to tolarete or being insensitive to a stimulus." [PATO :GVG] +subset: value_slim is_a: PATO:0001046 ! resistance [Term] id: PATO:0000516 name: sensitive def: "A quality of having sensitivity." [XX:<new dbxref>] +subset: value_slim is_a: PATO:0000085 ! sensitivity [Term] @@ -2961,12 +3132,14 @@ id: PATO:0000569 name: short height def: "A height which is relative high." [PATO :GVG] +subset: value_slim is_a: PATO:0000119 ! height [Term] id: PATO:0000570 name: tall height def: "A height which is relative small." [PATO :GVG] +subset: value_slim is_a: PATO:0000119 ! height [Term] @@ -2983,12 +3156,14 @@ id: PATO:0000573 name: long length def: "A length which is relative large." [XX:<new dbxref>] +subset: value_slim is_a: PATO:0000122 ! length [Term] id: PATO:0000574 name: short length def: "A length which is relative small." [XX:<new dbxref>] +subset: value_slim related_synonym: "shortened" [] related_synonym: "stubby" [] is_a: PATO:0000122 ! length @@ -3012,12 +3187,14 @@ id: PATO:0000578 name: large mass def: "A mass which is relative large." [PATO :GVG] +subset: value_slim is_a: PATO:0000125 ! mass [Term] id: PATO:0000579 name: small mass def: "A mass which is relative small." [PATO :GVG] +subset: value_slim is_a: PATO:0000125 ! mass [Term] @@ -3034,32 +3211,35 @@ id: PATO:0000582 name: heavy def: "A weight which is relative high." [PATO :GVG] +subset: value_slim is_a: PATO:0000128 ! weight [Term] id: PATO:0000583 name: light weight def: "A weight which is relative low." [PATO :GVG] +subset: value_slim is_a: PATO:0000128 ! weight [Term] id: PATO:0000584 name: hypertrophic def: "A size quality inhering in a bearer by virtue of its exhibiting hypertrophy (enlargement or overgrowth of an organ or part of the body due to increased size of the constituent cells)." [MedTerms:MedTerms "www.medterms.com/"] +subset: value_slim is_a: PATO:0000117 ! size -is_a: PATO:0000141 ! structure [Term] id: PATO:0000585 name: hypotrophic def: "A size quality inhering in a bearer by virtue of the progressive degeneration of an organ or tissue caused by loss of cells." [The free dictionary:The free dictionary "www.thefreedictionary.com/"] +subset: value_slim is_a: PATO:0000117 ! size -is_a: PATO:0000141 ! structure [Term] id: PATO:0000586 name: large size def: "A size which is greater relative to the normal or average." [PATO :GVG] +subset: value_slim related_synonym: "big" [] related_synonym: "enlarged" [] related_synonym: "great" [] @@ -3069,12 +3249,14 @@ id: PATO:0000587 name: small size def: "A size which is lesser relative to the normal or average." [PATO :GVG] +subset: value_slim related_synonym: "tiny" [] is_a: PATO:0000117 ! size [Term] id: PATO:0000588 name: vestigial +subset: value_slim is_a: PATO:0000117 ! size [Term] @@ -3091,12 +3273,14 @@ id: PATO:0000591 name: thick def: "A thickness which is relative low" [PATO :GVG] +subset: value_slim is_a: PATO:0000915 ! thickness [Term] id: PATO:0000592 name: thin def: "A thickness which is relative low" [PATO :GVG] +subset: value_slim is_a: PATO:0000915 ! thickness [Term] @@ -3113,12 +3297,14 @@ id: PATO:0000595 name: large volume def: "A volume which is relative high." [PATO :GVG] +subset: value_slim is_a: PATO:0000918 ! volume [Term] id: PATO:0000596 name: small volume def: "A volume which is relative low." [PATO :GVG] +subset: value_slim is_a: PATO:0000918 ! volume [Term] @@ -3135,12 +3321,14 @@ id: PATO:0000599 name: narrow def: "A width which is relative small." [PATO :GVG] +subset: value_slim is_a: PATO:0000921 ! width [Term] id: PATO:0000600 name: wide def: "A width which is relative large." [PATO :GVG] +subset: value_slim is_a: PATO:0000921 ! width [Term] @@ -3183,17 +3371,20 @@ [Term] id: PATO:0000608 name: closed +subset: value_slim related_synonym: "blocked" [] is_a: PATO:0000136 ! closure [Term] id: PATO:0000609 name: closure incomplete +subset: value_slim is_a: PATO:0000136 ! closure [Term] id: PATO:0000610 name: open +subset: value_slim is_a: PATO:0000136 ! closure [Term] @@ -3209,69 +3400,81 @@ [Term] id: PATO:0000613 name: disoriented +subset: value_slim is_a: PATO:0000137 ! orientation [Term] id: PATO:0000614 name: oriented +subset: value_slim is_a: PATO:0000137 ! orientation [Term] id: PATO:0000615 name: anterioralized +subset: value_slim is_a: PATO:0000140 ! placement [Term] id: PATO:0000616 name: asymmetrical def: "A symmetry quality inhering in a bearer by virtue of lacking symmetry." [PATO :GVG] +subset: value_slim is_a: PATO:0000965 ! symmetry [Term] id: PATO:0000617 name: bent +subset: value_slim is_a: PATO:0000140 ! placement [Term] id: PATO:0000618 name: bilateral +subset: value_slim is_a: PATO:0000140 ! placement [Term] id: PATO:0000619 name: crowded +subset: value_slim is_a: PATO:0000140 ! placement [Term] id: PATO:0000620 name: dorsalized +subset: value_slim is_a: PATO:0000140 ! placement [Term] id: PATO:0000621 name: ectopic +subset: value_slim is_a: PATO:0000140 ! placement -is_a: PATO:0000141 ! structure [Term] id: PATO:0000622 name: erect +subset: value_slim is_a: PATO:0000140 ! placement [Term] id: PATO:0000623 name: exserted +subset: value_slim is_a: PATO:0000140 ! placement [Term] id: PATO:0000624 name: inserted +subset: value_slim is_a: PATO:0000140 ! placement [Term] id: PATO:0000625 name: inverted def: "to be completely turned about in position or direction" [PATO :GVG] +subset: value_slim exact_synonym: "backward" [] exact_synonym: "reversed" [] is_a: PATO:0000140 ! placement @@ -3279,57 +3482,68 @@ [Term] id: PATO:0000626 name: lateralized +subset: value_slim is_a: PATO:0000140 ! placement [Term] id: PATO:0000627 name: localised +subset: value_slim is_a: PATO:0000140 ! placement [Term] id: PATO:0000628 name: mislocalised +subset: value_slim is_a: PATO:0000140 ! placement [Term] id: PATO:0000629 name: misrouted +subset: value_slim is_a: PATO:0000140 ! placement [Term] id: PATO:0000630 name: posterioralized +subset: value_slim is_a: PATO:0000140 ! placement [Term] id: PATO:0000631 name: prostrate +subset: value_slim is_a: PATO:0000140 ! placement [Term] id: PATO:0000632 name: symmetrical def: "A symmetry quality inhering in a bearer by virtue of having symmetry." [PATO :GVG] +subset: value_slim is_a: PATO:0000965 ! symmetry [Term] id: PATO:0000633 name: uncrowded +subset: value_slim is_a: PATO:0000140 ! placement [Term] id: PATO:0000634 name: unilateral +subset: value_slim is_a: PATO:0000140 ! placement [Term] id: PATO:0000635 name: unlocalised +subset: value_slim is_a: PATO:0000140 ! placement [Term] id: PATO:0000636 name: ventralized +subset: value_slim is_a: PATO:0000140 ! placement [Term] @@ -3340,16 +3554,19 @@ [Term] id: PATO:0000638 name: apoptotic +subset: value_slim is_a: PATO:0000141 ! structure [Term] id: PATO:0000639 name: degenerate +subset: value_slim is_a: PATO:0000141 ! structure [Term] id: PATO:0000640 name: dysplastic +subset: value_slim is_a: PATO:0000141 ! structure [Term] @@ -3360,52 +3577,62 @@ [Term] id: PATO:0000642 name: fused +subset: value_slim is_a: PATO:0000141 ! structure [Term] id: PATO:0000643 name: herniated +subset: value_slim is_a: PATO:0000141 ! structure [Term] id: PATO:0000644 name: hyperplastic +subset: value_slim is_a: PATO:0000141 ! structure [Term] id: PATO:0000645 name: hypoplastic +subset: value_slim is_a: PATO:0000141 ! structure [Term] id: PATO:0000646 name: malformed +subset: value_slim is_a: PATO:0000141 ! structure [Term] id: PATO:0000647 name: necrotic -def: "A viability quality inhering in a bearer by virtue of unprogrammed cell death. " [Wikipedia:Wikipedia "http://www.wikipedia.org/"] +def: "A viability quality inhering in a bearer by virtue of unprogrammed cell death." [Wikipedia:Wikipedia "http://www.wikipedia.org/"] +subset: value_slim is_a: PATO:0000169 ! viability [Term] id: PATO:0000648 name: obstructed +subset: value_slim is_a: PATO:0000141 ! structure [Term] id: PATO:0000649 name: perforated +subset: value_slim is_a: PATO:0000141 ! structure [Term] id: PATO:0000650 name: supernumerary +subset: value_slim is_a: PATO:0000053 ! count [Term] id: PATO:0000651 name: unfused +subset: value_slim is_a: PATO:0000141 ! structure [Term] @@ -3476,6 +3703,7 @@ [Term] id: PATO:0000665 name: light +subset: value_slim is_a: PATO:0000016 ! color brightness [Term] @@ -3537,12 +3765,14 @@ id: PATO:0000677 name: cold def: "A temperature which is relative low" [gg:] +subset: value_slim is_a: PATO:0000146 ! temperature [Term] id: PATO:0000678 name: hot def: "A temperature which is relative high." [gg:] +subset: value_slim is_a: PATO:0000146 ! temperature [Term] @@ -3593,16 +3823,19 @@ [Term] id: PATO:0000688 name: asynchronous +subset: value_slim is_a: PATO:0000156 ! temporal [Term] id: PATO:0000689 name: continuous +subset: value_slim is_a: PATO:0000156 ! temporal [Term] id: PATO:0000690 name: discontinuous +subset: value_slim is_a: PATO:0000156 ! temporal [Term] @@ -3613,6 +3846,7 @@ [Term] id: PATO:0000692 name: heterochronic +subset: value_slim is_a: PATO:0000156 ! temporal [Term] @@ -3623,13 +3857,15 @@ [Term] id: PATO:0000694 name: premature -def: "A duration in which the process starts before natural start point. " [XX:<new dbxref>] +def: "A duration in which the process starts before natural start point." [XX:<new dbxref>] +subset: value_slim related_synonym: "early" [] is_a: PATO:0001309 ! duration [Term] id: PATO:0000695 name: synchronous +subset: value_slim is_a: PATO:0000156 ! temporal [Term] @@ -3655,13 +3891,15 @@ [Term] id: PATO:0000700 name: rough -def: "A texture quality inhering in a bearer by virtue of its irregular surface.\n" [PATO :GVG] +def: "A texture quality inhering in a bearer by virtue of its irregular surface." [PATO :GVG] +subset: value_slim is_a: PATO:0000150 ! texture [Term] id: PATO:0000701 name: smooth def: "A texture quality inhering in a bearer by virtue of pocessing a surface free of roughness or irregularities." [PATO :GVG] +subset: value_slim is_a: PATO:0000150 ! texture [Term] @@ -3687,21 +3925,25 @@ [Term] id: PATO:0000706 name: increased threshold +subset: value_slim is_a: PATO:0000152 ! threshold [Term] id: PATO:0000707 name: low threshold +subset: value_slim is_a: PATO:0000152 ! threshold [Term] id: PATO:0000708 name: decreased threshold +subset: value_slim is_a: PATO:0000152 ! threshold [Term] id: PATO:0000709 name: high threshold +subset: value_slim is_a: PATO:0000152 ! threshold [Term] @@ -3732,11 +3974,13 @@ [Term] id: PATO:0000715 name: fast +subset: value_slim is_a: PATO:0000165 ! time [Term] id: PATO:0000716 name: slow +subset: value_slim is_a: PATO:0000165 ! time [Term] @@ -3748,12 +3992,14 @@ id: PATO:0000718 name: lethal (sensu genetics) def: "A viability quality inhering in a bearer or a population by virtue of the bearer's inability to survive and develop normally or the long term survival inability of a given population." [PATO :GVG] +subset: value_slim is_a: PATO:0000169 ! viability [Term] id: PATO:0000719 name: viable def: "A viability quality inhering in a bearer or a population by virtue of the bearer's ability to survive and develop normally or the long term survival ability of a given population." [PATO :GVG] +subset: value_slim is_a: PATO:0000169 ! viability [Term] @@ -3944,41 +4190,49 @@ [Term] id: PATO:0000757 name: balanced +subset: value_slim is_a: PATO:0000185 ! balance [Term] id: PATO:0000758 name: unbalanced +subset: value_slim is_a: PATO:0000185 ! balance [Term] id: PATO:0000759 name: bang sensitive +subset: value_slim is_a: PATO:0000186 ! behavioral quality [Term] id: PATO:0000760 name: hyperactive -is_a: PATO:0000186 ! behavioral quality +subset: value_slim +is_a: PATO:0001530 ! behavioral quality of occurent [Term] id: PATO:0000761 name: hypoactive -is_a: PATO:0000186 ! behavioral quality +subset: value_slim +is_a: PATO:0001530 ! behavioral quality of occurent [Term] id: PATO:0000762 name: impaired +subset: value_slim is_a: PATO:0000186 ! behavioral quality [Term] id: PATO:0000763 name: paralysed +subset: value_slim is_a: PATO:0000186 ! behavioral quality [Term] id: PATO:0000764 name: passive +subset: value_slim is_a: PATO:0000186 ! behavioral quality [Term] @@ -3995,42 +4249,49 @@ id: PATO:0000767 name: increased consumption def: "A consumption which is relative high." [PATO :GVG] +subset: value_slim is_a: PATO:0000187 ! consumption [Term] id: PATO:0000768 name: decreased consumption def: "A consumption which is relative low." [PATO :GVG] +subset: value_slim is_a: PATO:0000187 ! consumption [Term] id: PATO:0000769 name: coordinated def: "A coordination quality of having skilful and effective interaction of movement." [PATO :GVG] +subset: value_slim is_a: PATO:0000188 ! coordination [Term] id: PATO:0000770 name: uncoordinated def: "A coordination quality of lacking skilful and effective interaction of movement." [PATO :GVG] +subset: value_slim is_a: PATO:0000188 ! coordination [Term] id: PATO:0000771 name: aversion def: "A preference quality of disliking a perceived stimulus." [PATO :GVG] +subset: value_slim is_a: PATO:0000773 ! preference [Term] id: PATO:0000772 name: indifference def: "A preference quality of having no preference to a perceived stimulus." [PATO :GVG] +subset: value_slim is_a: PATO:0000773 ! preference [Term] id: PATO:0000773 name: preference def: "A discrimination quality of liking a perceived stimulus." [PATO :GVG] +subset: attribute_slim is_a: PATO:0000189 ! discrimination [Term] @@ -4607,6 +4868,7 @@ id: PATO:0000888 name: female fertile def: "A female fertility quality of being capable of initiating, sustaining, or supporting reproduction." [PATO :GVG] +subset: value_slim is_a: PATO:0000277 ! female fertility [Term] @@ -4618,6 +4880,7 @@ id: PATO:0000890 name: male sterile def: "A male fertility quality of being incapable of initiating, sustaining, or supporting reproduction." [PATO :GVG] +subset: value_slim related_synonym: "male infertile" [] is_a: PATO:0000279 ! male fertility @@ -4625,12 +4888,14 @@ id: PATO:0000891 name: male fertile def: "A male fertility quality of being capable of initiating, sustaining, or supporting reproduction." [PATO :GVG] +subset: value_slim is_a: PATO:0000279 ! male fertility [Term] id: PATO:0000892 name: female sterile def: "A female fertility quality of being incapable of initiating, sustaining, or supporting reproduction." [PATO :GVG] +subset: value_slim related_synonym: "female infertile" [] is_a: PATO:0000277 ! female fertility @@ -4730,12 +4995,16 @@ [Term] id: PATO:0000911 -name: slow rate +name: decreased rate +subset: value_slim +exact_synonym: "slow rate" [] is_a: PATO:0000161 ! rate [Term] id: PATO:0000912 -name: fast rate +name: increased rate +subset: value_slim +exact_synonym: "fast rate" [] is_a: PATO:0000161 ! rate [Term] @@ -4752,6 +5021,7 @@ id: PATO:0000915 name: thickness def: "A physical quality which is equal to the dimension through an object as opposed to its length or width." [WordNet:WordNet "wordnet.princeton.edu/"] +subset: attribute_slim is_a: PATO:0001018 ! physical quality [Term] @@ -4768,6 +5038,7 @@ id: PATO:0000918 name: volume def: "A physical quality of the amount of 3-dimensional space an object occupies." [PATO :GVG] +subset: attribute_slim is_a: PATO:0001018 ! physical quality [Term] @@ -4783,7 +5054,8 @@ [Term] id: PATO:0000921 name: width -def: "A physical quality which is equal to the distance from one side of an object to another side which is opposite. \n\n" [PATO :GVG] +def: "A physical quality which is equal to the distance from one side of an object to another side which is opposite." [PATO :GVG] +subset: attribute_slim related_synonym: "breadth" [] is_a: PATO:0001018 ! physical quality @@ -4860,16 +5132,19 @@ [Term] id: PATO:0000936 name: truncated +subset: value_slim is_a: PATO:0000141 ! structure [Term] id: PATO:0000937 name: disorganized +subset: value_slim is_a: PATO:0000141 ! structure [Term] id: PATO:0000938 name: organized +subset: value_slim is_a: PATO:0000141 ! structure [Term] @@ -4885,98 +5160,115 @@ [Term] id: PATO:0000941 name: vacuolated +subset: value_slim is_a: PATO:0000141 ! structure [Term] id: PATO:0000942 name: underdeveloped +subset: value_slim is_a: PATO:0000141 ! structure [Term] id: PATO:0000943 name: overdeveloped +subset: value_slim is_a: PATO:0000141 ! structure [Term] id: PATO:0000944 name: pointed def: "A sharp or tapered end" [PATO :GVG] +subset: value_slim is_a: PATO:0000052 ! shape [Term] id: PATO:0000945 name: epinastic def: "A downward bending of leaves or other plant parts." [PATO:gg] +subset: value_slim is_a: PATO:0000052 ! shape [Term] id: PATO:0000946 name: oblong def: "Having a somewhat elongated form with approximately parallel sides" [PATO:gg] +subset: value_slim is_a: PATO:0000052 ! shape [Term] id: PATO:0000947 name: elliptic def: "Elliptic shape" [PATO:gg] +subset: value_slim is_a: PATO:0000052 ! shape [Term] id: PATO:0000948 name: heart shaped +subset: value_slim is_a: PATO:0000052 ! shape [Term] id: PATO:0000949 name: fasciated def: "Abnormally flattened or coalesced." [PATO:gg] +subset: value_slim is_a: PATO:0000052 ! shape [Term] id: PATO:0000950 name: grey def: "A color that lacks saturation." [PATO :GVG] +subset: value_slim is_a: PATO:0000014 ! color [Term] id: PATO:0000951 name: purple def: "A colour that falls about midway between red and blue in hue" [Dictionary:http\://dictionary.reference.com/] +subset: value_slim is_a: PATO:0000014 ! color [Term] id: PATO:0000952 name: brown +subset: value_slim is_a: PATO:0000014 ! color [Term] id: PATO:0000953 name: orange def: "A color hue with high-medium wavelengththat of that portion of the visible spectrum lying between red and yellow, evoked in the human observer by radiant energy with wavelengths of approximately 585 to 620 nanometers" [Wikipedia:Wikipedia "http://www.wikipedia.org/"] +subset: value_slim is_a: PATO:0000014 ! color [Term] id: PATO:0000954 name: pink def: "A composite color with parts\nhigh redness, low blueness, high brightness and low\nsaturation" [PATO :GVG] +subset: value_slim is_a: PATO:0000014 ! color [Term] id: PATO:0000955 name: fertile def: "A fertility quality of being capable of initiating, sustaining, or supporting reproduction." [PATO :GVG] +subset: value_slim is_a: PATO:0000274 ! fertility [Term] id: PATO:0000956 name: sterile def: "A fertility quality of being incapable of initiating, sustaining, or supporting reproduction." [PATO :GVG] +subset: value_slim is_a: PATO:0000274 ! fertility [Term] id: PATO:0000957 name: opacity def: "An optical quality which obtains by virtue\nof the ability of the bearer to absorb visible light" [PATO:gg] +subset: attribute_slim is_a: PATO:0001300 ! optical quality [Term] @@ -5008,12 +5300,14 @@ id: PATO:0000963 name: opaque def: "Not clear; not transmitting or reflecting light or radiant energy" [PATO:gg] +subset: value_slim exact_synonym: "non-transparent" [] is_a: PATO:0000957 ! opacity [Term] id: PATO:0000964 name: transparent +subset: value_slim exact_synonym: "clear" [] is_a: PATO:0000957 ! opacity @@ -5021,6 +5315,7 @@ id: PATO:0000965 name: symmetry def: "A pattern quality of correspondence in size, shape, and relative position of parts on opposite sides of a dividing line or median plane or about a center or axis." [PATO :GVG] +subset: attribute_slim is_a: PATO:0000060 ! pattern [Term] @@ -5032,6 +5327,7 @@ id: PATO:0000967 name: undulate def: "Having a sinuate margin and rippled surface." [PATO:gg] +subset: value_slim is_a: PATO:0000052 ! shape [Term] @@ -5042,12 +5338,14 @@ [Term] id: PATO:0000969 name: dwarf +subset: value_slim is_a: PATO:0000117 ! size [Term] id: PATO:0000970 name: permeability def: "A structure quality of being cabapble of being permeated or pervaded by a liquid (as by osmosis or diffusion)." [Biology-online :Biology-online "http://www.biology-online.org/"] +subset: attribute_slim is_a: PATO:0000141 ! structure [Term] @@ -5063,7 +5361,8 @@ [Term] id: PATO:0000973 name: porosity -def: "A perneability quality of admitting the passage of gas or liquid through pores or interstices." [PATO:gg] +def: "A perneability quality of admitting the passage of gas or liquid through pores or interstices." [PATO:] +subset: attribute_slim is_a: PATO:0000970 ! permeability [Term] @@ -5110,24 +5409,28 @@ id: PATO:0000982 name: permeable def: "A quality of being capable to be permeated or pervaded by a liquid (as by osmosis or diffusion)." [Biology-online :Biology-online "http://www.biology-online.org/"] +subset: value_slim is_a: PATO:0000970 ! permeability [Term] id: PATO:0000983 name: impermeable def: "A permeability quality of being incapable of being permeated or pervaded by a liquid (as by osmosis or diffusion)." [Biology-online :Biology-online "http://www.biology-online.org/"] +subset: value_slim is_a: PATO:0000970 ! permeability [Term] id: PATO:0000984 name: porous def: "A quality of being capable of admitting the passage of gas or liquid through pores or interstices." [PATO:GVG] +subset: value_slim is_a: PATO:0000973 ! porosity [Term] id: PATO:0000985 name: nonporous def: "A quality of being incapable of admitting the passage of gas or liquid through pores or interstices." [PATO:GVG] +subset: value_slim is_a: PATO:0000973 ! porosity [Term] @@ -5164,6 +5467,7 @@ id: PATO:0000992 name: viscosity def: "A physical quality of fluids describing their internal resistance to flow" [PATO :GVG] +subset: attribute_slim is_a: PATO:0001018 ! physical quality [Term] @@ -5195,11 +5499,13 @@ id: PATO:0000998 name: viscous def: "A viscosity which relative high." [PATO :GVG] +subset: value_slim is_a: PATO:0000992 ! viscosity [Term] id: PATO:0000999 name: alternation +subset: value_slim is_a: PATO:0001226 ! quantitative [Term] @@ -5231,6 +5537,7 @@ id: PATO:0001005 name: latency def: "The time that elapses between a stimulus and the response to it" [PATO:gg] +subset: attribute_slim is_a: PATO:0000165 ! time [Term] @@ -5297,53 +5604,62 @@ id: PATO:0001018 name: physical quality def: "A quality that exists through action of continuants at the physical level of organisation" [PATO:GVG] +subset: attribute_slim is_a: PATO:0001237 ! monadic quality of continuant [Term] id: PATO:0001019 name: density def: "A physical quality which inhers to the bearer by virtue of some influence exerted by its mass." [Wikipedia:Wikipedia "http://en.wikipedia.org/"] +subset: attribute_slim is_a: PATO:0001018 ! physical quality [Term] id: PATO:0001020 name: damage +subset: attribute_slim is_a: PATO:0001237 ! monadic quality of continuant [Term] id: PATO:0001021 name: energy def: "A physical quality inhering in a bearer by virtue of its capacity to do work." [Wikipedia:Wikipedia "http://en.wikipedia.org/"] +subset: attribute_slim is_a: PATO:0001018 ! physical quality [Term] id: PATO:0001022 name: impulse def: "A physical quality inhering in a bearer by virtue of the change in its momentum." [PATO :GVG] +subset: attribute_slim is_a: PATO:0001018 ! physical quality [Term] id: PATO:0001023 name: momentum -def: "A physical quality inhering in a bearer by \nvirtue of its velocity multiplied by its mass\n" [PATO :GVG] +def: "A physical quality inhering in a bearer by \nvirtue of its velocity multiplied by its mass" [PATO :GVG] +subset: attribute_slim is_a: PATO:0001018 ! physical quality [Term] id: PATO:0001024 name: power def: "A physical quality inhering in a object by virtue of the rate of doing work." [Wikipedia:Wikipedia "http://en.wikipedia.org/"] +subset: attribute_slim is_a: PATO:0001018 ! physical quality [Term] id: PATO:0001025 name: pressure def: "A physical quality that inheres in a bearer in proportion to the amount of force per unit area it exerts." [PATO :GVG] +subset: attribute_slim is_a: PATO:0001018 ! physical quality [Term] id: PATO:0001026 name: work def: "A physical quality which is equal to the energy transferred by a force to a moving object." [Wikipedia:Wikipedia "http://www.wikipedia.org/"] +subset: attribute_slim exact_synonym: "W" [] is_a: PATO:0001018 ! physical quality @@ -5355,33 +5671,38 @@ [Term] id: PATO:0001028 name: acceleration -def: "A physical quality inhering in a bearer by \nvirtue of therate of change of its velocity in either speed or direction." [Wikipedia:Wikipedia "http://www.wikipedia.org/"] +def: "A physical quality inhering in a bearer by virtue of therate of change of its velocity in either speed or direction." [Wikipedia:Wikipedia "http://www.wikipedia.org/"] +subset: attribute_slim is_a: PATO:0001018 ! physical quality [Term] id: PATO:0001029 name: efficiency def: "A physical quality inhering in a bearer by \nvirtue of ratio of the output to the input." [WordNet :WordNet "wordnet.princeton.edu/"] +subset: attribute_slim is_a: PATO:0001018 ! physical quality [Term] id: PATO:0001030 name: flux def: "A physical quality that exists by virtue of the amount of flow per unit time." [PATO :GVG] -is_a: PATO:0001018 ! physical quality +subset: attribute_slim +is_a: PATO:0000156 ! temporal [Term] id: PATO:0001031 name: elasticity -def: "A physical quality inhering in a bearer by \nvirtue of the ratio of its extension to its original length. " [PATO :GVG] +def: "A physical quality inhering in a bearer by \nvirtue of the ratio of its extension to its original length." [PATO :GVG] +subset: attribute_slim is_a: PATO:0001018 ! physical quality [Term] id: PATO:0001032 name: position def: "The particular portion of space occupied by a physical object." [XX:<new dbxref>] +subset: attribute_slim related_synonym: "location" [] -is_a: PATO:0001018 ! physical quality +is_a: PATO:0000132 ! spatial [Term] id: PATO:0001033 @@ -5392,12 +5713,14 @@ id: PATO:0001034 name: strain def: "A physical quality inhering in a bearer by \nvirtue of the relative change in its length or its volume when being stretched or squashed." [PATO :GVG] +subset: attribute_slim is_a: PATO:0001018 ! physical quality [Term] id: PATO:0001035 name: force def: "A physical quality inhering in a object affecting its acceleration." [: "http://thesaurus.maths.org/"] +subset: attribute_slim is_a: PATO:0001018 ! physical quality [Term] @@ -5438,6 +5761,7 @@ [Term] id: PATO:0001043 name: susceptibility +subset: attribute_slim is_a: PATO:0000085 ! sensitivity [Term] @@ -5454,6 +5778,7 @@ id: PATO:0001046 na... [truncated message content] |
From: <cmu...@us...> - 2007-01-20 03:18:07
|
Revision: 302 http://svn.sourceforge.net/obo/?rev=302&view=rev Author: cmungall Date: 2007-01-19 19:18:08 -0800 (Fri, 19 Jan 2007) Log Message: ----------- Modified Paths: -------------- obolog/trunk/README Modified: obolog/trunk/README =================================================================== --- obolog/trunk/README 2007-01-20 03:17:34 UTC (rev 301) +++ obolog/trunk/README 2007-01-20 03:18:08 UTC (rev 302) @@ -30,4 +30,5 @@ example, for detecting certain classes of inconsistency, converting to DL or EL++ may be fine. For instance-level reasoning, it may be necessary to transform to rows in a relational database (and lose -certain semantics in order to gain reasonable performance) +certain semantics in order to gain reasonable performance). For a +balance between these, a prolog toolkit like blipkit may be used This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cmu...@us...> - 2007-01-20 03:17:33
|
Revision: 301 http://svn.sourceforge.net/obo/?rev=301&view=rev Author: cmungall Date: 2007-01-19 19:17:34 -0800 (Fri, 19 Jan 2007) Log Message: ----------- Modified Paths: -------------- obolog/trunk/obolog.lisp Modified: obolog/trunk/obolog.lisp =================================================================== --- obolog/trunk/obolog.lisp 2007-01-20 03:14:36 UTC (rev 300) +++ obolog/trunk/obolog.lisp 2007-01-20 03:17:34 UTC (rev 301) @@ -23,9 +23,11 @@ (subrelation ?x ?z)) ;; universal-level relations -;; we specify this as (link ?rel ?C1 ?C2) -;; this is a bit ugly, but we do want to write (?rel ?C1 ?C2) as we -;; take this to mean an instance-level relation +;; we specify these as (link ?rel ?C1 ?C2) +;; this is a bit ugly, but we don't want to write (?rel ?C1 ?C2) as we +;; take this to mean an instance-level relation. Since we use +;; the same identifiers for instance and universal level relations +;; we have to distinguish them at the relation instantiation level ;; (all_some_all_times ?relation) ;; EXAMPLE: (all_some_all_times part_of) (link part_of cell_nucleus cell) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cmu...@us...> - 2007-01-20 03:14:35
|
Revision: 300 http://svn.sourceforge.net/obo/?rev=300&view=rev Author: cmungall Date: 2007-01-19 19:14:36 -0800 (Fri, 19 Jan 2007) Log Message: ----------- Modified Paths: -------------- obolog/trunk/README obolog/trunk/obolog.lisp Modified: obolog/trunk/README =================================================================== --- obolog/trunk/README 2007-01-20 02:48:01 UTC (rev 299) +++ obolog/trunk/README 2007-01-20 03:14:36 UTC (rev 300) @@ -21,3 +21,13 @@ At the moment there are only 2 proofs - one for universal-level relations (called "links" in obo-ese for now) and one for instance-level relations + +=== WHY??? === + +Yes, OWL is far more computable, but it is important to state +reference ontologies in an unambiguous way. This task is orthogonal to +computing over ontologies/data for a particular application. For +example, for detecting certain classes of inconsistency, converting to +DL or EL++ may be fine. For instance-level reasoning, it may be +necessary to transform to rows in a relational database (and lose +certain semantics in order to gain reasonable performance) Modified: obolog/trunk/obolog.lisp =================================================================== --- obolog/trunk/obolog.lisp 2007-01-20 02:48:01 UTC (rev 299) +++ obolog/trunk/obolog.lisp 2007-01-20 03:14:36 UTC (rev 300) @@ -2,37 +2,19 @@ ;; upper case for universals, lower case for instances ;; - but remember, most KIF implementations are case insenstivite -;; -- OBO Relation Ontology -- - -;; additional formulae that cannot be extracted from obo format - -;; OBO_REL:part_of -;; make this implicit in obo-format? -(all_some_all_times "OBO_REL:part_of") - -;; part_of holds between 2 continuants OR 2 occurrents -(=> - (part_of ?x ?y ?t) - (or (and (instance_of ?x "bfo:Continuant" ?t) - (instance_of ?y "bfo:Continuant" ?t)) - (and (instance_of ?x "bfo:Occurrent" ?t) - (instance_of ?y "bfo:Occurrent" ?t)))) - +;; ----------- ;; -- logic -- +;; ----------- -;; is_a -;; (this is defined in OBO-RO but it is also part of the default logic) -;; TODO: move to RO section? -(transitive is_a) -(reflexive is_a) -(anti_symmetric is_a) -(synonym is_a "subtype_of") +;; (instance_of ?instance ?Universal ?time) +;; right now ALL instantiations are time-indexed +;; this is not necessary for processes? (=> (and (instance_of ?i ?X ?t) - (link is_a ?X ?Y)) + (link is_a ?X ?Y)) ;; TODO - change to OBO_REL:is_a? (instance_of ?i ?Y ?t)) -;; sub-relations +;; (subrelation ?relation ?parent_relation) (=> (and (subrelation ?r1 ?r2) (?r1 ?x ?y)) (?r2 ?x ?y)) @@ -40,7 +22,14 @@ (subrelation ?y ?z)) (subrelation ?x ?z)) -;; ALL-SOME +;; universal-level relations +;; we specify this as (link ?rel ?C1 ?C2) +;; this is a bit ugly, but we do want to write (?rel ?C1 ?C2) as we +;; take this to mean an instance-level relation + +;; (all_some_all_times ?relation) +;; EXAMPLE: (all_some_all_times part_of) (link part_of cell_nucleus cell) +;; ;; most relations follow the OBO-RO all-some pattern ;; ie ALL instances of U1 stand in relation ?rel to SOME instance U2 at ALL times (=> @@ -64,7 +53,9 @@ (=> (reflexive ?rel) (?rel ?x ?x))) -;; reciprocal relatons +;; reciprocal relations +;; remember, this is just at the instance-level +;; not( X part_of Y <=> Y has_part X) (=> (and (reciprocal ?rel ?inv) (?rel ?x ?y)) (?rel ?y ?x)) @@ -72,13 +63,14 @@ ;; transitivity at the universal level (=> (and (transitive ?rel) + (all_some_all_times ?rel) (link ?rel ?X ?Y) (link ?rel ?Y ?Z)) (link ?rel ?X ?Z)) ;; transitivity at the instance level ;; temporally-subsumed-by/2 is defined in SNARK -;; (default-use-temporal-reasoning) - not working in my v of snark +;; (default-use-temporal-reasoning) - hmmm, not working in my v of snark (=> (and (transitive ?rel) (?rel ?x ?y ?t1) @@ -87,3 +79,34 @@ (temporally-subsumed-by ?ti ?t2) (?rel ?x ?z ?ti))) +;; TODO +;; disjoint_union/N +;; genus_differentia/N +;; can we use lisp lists here and have these predicates with arbitrary arity? + +;; other predicates have no semantics +;; eg comment/2, annotation/3 + +;; -- OBO Relation Ontology -- + +;; additional formulae that cannot be extracted from obo format + +;; NOTE: We are double-quoting the IDs to prevent parse errors +;; this probably slows things down as lisp will not intern the +;; string (as happens with a symbol). In future we may have +;; some other way of doing this. quoting is ugly too.. + +;; OBO_REL:part_of +;; make this implicit in obo-format? +;; obof1.3 will have a way of stating this - for +;; now we add in this supplemental file +(all_some_all_times "OBO_REL:part_of") + +;; part_of holds between 2 continuants OR 2 occurrents +(=> + (part_of ?x ?y ?t) + (or (and (instance_of ?x "bfo:Continuant" ?t) + (instance_of ?y "bfo:Continuant" ?t)) + (and (instance_of ?x "bfo:Occurrent" ?t) + (instance_of ?y "bfo:Occurrent" ?t)))) + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cmu...@us...> - 2007-01-20 01:57:11
|
Revision: 298 http://svn.sourceforge.net/obo/?rev=298&view=rev Author: cmungall Date: 2007-01-19 17:57:12 -0800 (Fri, 19 Jan 2007) Log Message: ----------- initial commit - FOL semantics for obo Added Paths: ----------- obolog/ obolog/trunk/ obolog/trunk/obolog-test-data.lisp obolog/trunk/obolog-theorem-prover.lisp obolog/trunk/obolog-theorem-prover.sh obolog/trunk/obolog.lisp Added: obolog/trunk/obolog-test-data.lisp =================================================================== --- obolog/trunk/obolog-test-data.lisp (rev 0) +++ obolog/trunk/obolog-test-data.lisp 2007-01-20 01:57:12 UTC (rev 298) @@ -0,0 +1,5 @@ +;; data +(link "OBO_REL:part_of" spliceosome nucleus) +(link "OBO_REL:part_of" nucleus cell) +(instance_of CN_0001 nucleus t1) + Added: obolog/trunk/obolog-theorem-prover.lisp =================================================================== --- obolog/trunk/obolog-theorem-prover.lisp (rev 0) +++ obolog/trunk/obolog-theorem-prover.lisp 2007-01-20 01:57:12 UTC (rev 298) @@ -0,0 +1,29 @@ +(in-package :snark-user) + +(defun read-assertions-from-file (f) + (let ((stream (open f))) + (loop for next-expr = (read stream nil 'EOF) + until (eq next-expr 'EOF) + do (progn + (format nil "asserting: ~A " next-expr) + (assert next-expr))))) + +(defun obolog-prove (proof) + (initialize) + ;;(use-temporal-reasoning t) + (use-resolution t) + ;; read + (read-assertions-from-file "obolog.lisp") + ;(read-assertions-from-file "ro.obolog") + (read-assertions-from-file "obolog-test-data.lisp") + + ;; prove it! + (print (prove + (cdr (assoc proof '((part_of1 . (instance_of ?x cell ?t)) + (transitive . (link "OBO_REL:part_of" spliceosome cell)))))))) + +(defun test () + (obolog-proove 'part_of1)) + + + Added: obolog/trunk/obolog-theorem-prover.sh =================================================================== --- obolog/trunk/obolog-theorem-prover.sh (rev 0) +++ obolog/trunk/obolog-theorem-prover.sh 2007-01-20 01:57:12 UTC (rev 298) @@ -0,0 +1,2 @@ +#!/bin/sh +sbcl --core $HOME/src/snark/snark-sbcl.core --load obolog-theorem-prover.lisp --eval "(in-package :snark-user)" --eval "(obolog-prove '$1)" Property changes on: obolog/trunk/obolog-theorem-prover.sh ___________________________________________________________________ Name: svn:executable + Added: obolog/trunk/obolog.lisp =================================================================== --- obolog/trunk/obolog.lisp (rev 0) +++ obolog/trunk/obolog.lisp 2007-01-20 01:57:12 UTC (rev 298) @@ -0,0 +1,89 @@ +;; CONVENTIONS: +;; upper case for universals, lower case for instances +;; - but remember, most KIF implementations are case insenstivite + +;; -- OBO Relation Ontology -- + +;; additional formulae that cannot be extracted from obo format + +;; OBO_REL:part_of +;; make this implicit in obo-format? +(all_some_all_times "OBO_REL:part_of") + +;; part_of holds between 2 continuants OR 2 occurrents +(=> + (part_of ?x ?y ?t) + (or (and (instance_of ?x "bfo:Continuant" ?t) + (instance_of ?y "bfo:Continuant" ?t)) + (and (instance_of ?x "bfo:Occurrent" ?t) + (instance_of ?y "bfo:Occurrent" ?t)))) + +;; -- logic -- + +;; is_a +;; (this is defined in OBO-RO but it is also part of the default logic) +;; TODO: move to RO section? +(transitive is_a) +(reflexive is_a) +(anti_symmetric is_a) +(synonym is_a "subtype_of") +(=> + (and (instance_of ?i ?X ?t) + (link is_a ?X ?Y)) + (instance_of ?i ?Y ?t)) + +;; sub-relations +(=> (and (subrelation ?r1 ?r2) + (?r1 ?x ?y)) + (?r2 ?x ?y)) +(=> (and (subrelation ?x ?y) + (subrelation ?y ?z)) + (subrelation ?x ?z)) + +;; ALL-SOME +;; most relations follow the OBO-RO all-some pattern +;; ie ALL instances of U1 stand in relation ?rel to SOME instance U2 at ALL times +(=> + (and (all_some_all_times ?rel) + (link ?rel ?U1 ?U2) + (instance_of ?i1 ?U1 ?t)) + (exists (?i2) + (and (instance_of ?i2 ?U2 ?t) + (?rel ?i1 ?i2 ?t)))) + +;; domain and range constraints +(=> (and (domain ?rel ?D) + (?rel ?i1 ?i2)) + (instance_of ?i2 ?D)) +(=> (and (range ?rel ?R) + (?rel ?i1 ?i2)) + (instance_of ?i1 ?D)) + +;; reflexivity +(forall (?x) + (=> (reflexive ?rel) + (?rel ?x ?x))) + +;; reciprocal relatons +(=> (and (reciprocal ?rel ?inv) + (?rel ?x ?y)) + (?rel ?y ?x)) + +;; transitivity at the universal level +(=> + (and (transitive ?rel) + (link ?rel ?X ?Y) + (link ?rel ?Y ?Z)) + (link ?rel ?X ?Z)) + +;; transitivity at the instance level +;; temporally-subsumed-by/2 is defined in SNARK +;; (default-use-temporal-reasoning) - not working in my v of snark +(=> + (and (transitive ?rel) + (?rel ?x ?y ?t1) + (?rel ?y ?z ?t2) + (temporally-subsumed-by ?ti ?t1) + (temporally-subsumed-by ?ti ?t2) + (?rel ?x ?z ?ti))) + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-01-18 22:49:11
|
Revision: 297 http://svn.sourceforge.net/obo/?rev=297&view=rev Author: mgibson Date: 2007-01-18 14:49:12 -0800 (Thu, 18 Jan 2007) Log Message: ----------- Can now check with sourceforge repos (or any http really) to see if obo file is up to date and if not can grab that one - doesnt yet stuff it in the cache so it would be grabbing it every time theres configuration now for specifying repository/url to check for obo file and theres a config for specifying the base dir for repository for convenience <obo-repository url-dir="http://obo.cvs.sourceforge.net/*checkout*/obo/obo/ontology/"/> <field name="Quality" file="quality.obo" syntax-abbrev="Q" repos-subdir="phenotype"/> next is to download into cache - though the bummer there is it will take even longer - maybe should be user option? Modified Paths: -------------- phenote/trunk/conf/flybase.cfg phenote/trunk/conf/human.cfg phenote/trunk/conf/phenote-config.rnc phenote/trunk/conf/phenote-config.xsd phenote/trunk/conf/zfin-standalone.cfg phenote/trunk/jars/phenoteconfigbeans.jar phenote/trunk/phenote phenote/trunk/src/java/phenote/config/Config.java phenote/trunk/src/java/phenote/config/OntologyConfig.java phenote/trunk/src/java/phenote/dataadapter/OntologyDataAdapter.java phenote/trunk/src/java/phenote/main/PhenoteVersion.java Modified: phenote/trunk/conf/flybase.cfg =================================================================== --- phenote/trunk/conf/flybase.cfg 2007-01-18 16:56:13 UTC (rev 296) +++ phenote/trunk/conf/flybase.cfg 2007-01-18 22:49:12 UTC (rev 297) @@ -8,6 +8,8 @@ <uvic-graph enable="false"/> + <obo-repository url-dir="http://obo.cvs.sourceforge.net/*checkout*/obo/obo/ontology/"/> + <field name="Pub" syntax-abbrev="PUB"/> <field name="Genotype" syntax-abbrev="GT" type="free_text"/> @@ -15,13 +17,14 @@ <field name="Genetic Context" file="context.obo" syntax-abbrev="GC"/> <field name="Entity" syntax-abbrev="E"> - <postcomp relationship-ontology="relationship.obo"/> - <ontology name="Fly" file="fly_anatomy.obo" /> - <ontology name="GO" file="gene_ontology.obo"/> + <postcomp relationship-ontology="relationship.obo" repos-subdir="OBO_REL"/> + <ontology name="Fly" file="fly_anatomy.obo" + repos-subdir="anatomy/gross_anatomy/animal_gross_anatomy/fly"/> + <ontology name="GO" file="gene_ontology.obo" repos-subdir="genomic-proteomic"/> <ontology name="SP" file="spatial.obo"/> </field> - <field name="Quality" file="quality.obo" syntax-abbrev="Q"/> + <field name="Quality" file="quality.obo" syntax-abbrev="Q" repos-subdir="phenotype"/> <field name="Absent" file="quality.obo" slim="absent_slim" syntax-abbrev="Tag"/> <field name="Abnormal" file="quality.obo" slim="abnormal_slim" syntax-abbrev="Tag"/> Modified: phenote/trunk/conf/human.cfg =================================================================== --- phenote/trunk/conf/human.cfg 2007-01-18 16:56:13 UTC (rev 296) +++ phenote/trunk/conf/human.cfg 2007-01-18 22:49:12 UTC (rev 297) @@ -8,6 +8,8 @@ <uvic-graph enable="false"/> + <obo-repository url-dir="http://obo.cvs.sourceforge.net/*checkout*/obo/obo/ontology/"/> + <field name="Pub" syntax-abbrev="PUB"/> <field name="Genotype" syntax-abbrev="GT" type="free_text"/> @@ -15,17 +17,17 @@ <field name="Genetic Context" file="context.obo" syntax-abbrev="GC"/> <field name="Entity" syntax-abbrev="E"> - <postcomp relationship-ontology="relationship.obo"/> + <postcomp relationship-ontology="relationship.obo" repos-subdir="OBO_REL"/> <ontology name="Human Anatomy" file="fma_obo.obo"/> - <ontology name="Gene Ontology" file="gene_ontology.obo"/> - <ontology name="Chemical" file="chebi.obo"/> - <ontology name="Cell Type" file="cell.obo"/> + <ontology name="Gene Ontology" file="gene_ontology.obo" repos-subdir="genomic-proteomic"/> + <ontology name="Chemical" file="chebi.obo" repos-subdir="chemical"/> + <ontology name="Cell Type" file="cell.obo" repos-subdir="anatomy/cell_type"/> <ontology name="Spatial" file="spatial.obo"/> </field> <field name="Quality" syntax-abbrev="Q"> - <ontology name="Quality" file="quality.obo"/> - <ontology name="MamPheno" file="mammalian_phenotype.obo"/> + <ontology name="Quality" file="quality.obo" repos-subdir="phenotype"/> + <ontology name="MamPheno" file="mammalian_phenotype.obo" repos-subdir="phenotype"/> </field> </phenote-configuration> Modified: phenote/trunk/conf/phenote-config.rnc =================================================================== --- phenote/trunk/conf/phenote-config.rnc 2007-01-18 16:56:13 UTC (rev 296) +++ phenote/trunk/conf/phenote-config.rnc 2007-01-18 22:49:12 UTC (rev 297) @@ -7,6 +7,7 @@ log, dataadapter*, uvic-graph, + obo-repository, field* } @@ -31,6 +32,8 @@ uvic-graph = element uvic-graph { attribute enable { xsd:boolean } } +obo-repository = element obo-repository { attribute url-dir {text} } + field = element field { ##attribute name { "Pub" | "Genotype" | "Genetic Context" | "Entity" | "Quality" }, @@ -44,6 +47,7 @@ attribute file { text }, attribute filter-out { text }, attribute slim { text }, + attribute repos-subdir {text}, postcomp?, ontology* } @@ -54,7 +58,8 @@ ## obo file for ontology attribute file { text }, attribute filter-out { text }, - attribute slim { text } + attribute slim { text }, + attribute repos-subdir {text} } postcomp = Modified: phenote/trunk/conf/phenote-config.xsd =================================================================== --- phenote/trunk/conf/phenote-config.xsd 2007-01-18 16:56:13 UTC (rev 296) +++ phenote/trunk/conf/phenote-config.xsd 2007-01-18 22:49:12 UTC (rev 297) @@ -6,6 +6,7 @@ <xs:element ref="x:log"/> <xs:element minOccurs="0" maxOccurs="unbounded" ref="x:dataadapter"/> <xs:element ref="x:uvic-graph"/> + <xs:element ref="x:obo-repository"/> <xs:element minOccurs="0" maxOccurs="unbounded" ref="x:field"/> </xs:sequence> <xs:attribute name="version" use="required" type="xs:float"/> @@ -37,6 +38,11 @@ <xs:attribute name="enable" use="required" type="xs:boolean"/> </xs:complexType> </xs:element> + <xs:element name="obo-repository"> + <xs:complexType> + <xs:attribute name="url-dir" use="required"/> + </xs:complexType> + </xs:element> <xs:element name="field"> <xs:complexType> <xs:sequence> @@ -68,6 +74,7 @@ </xs:attribute> <xs:attribute name="filter-out" use="required"/> <xs:attribute name="slim" use="required"/> + <xs:attribute name="repos-subdir" use="required"/> </xs:complexType> </xs:element> <xs:element name="ontology"> @@ -80,6 +87,7 @@ </xs:attribute> <xs:attribute name="filter-out" use="required"/> <xs:attribute name="slim" use="required"/> + <xs:attribute name="repos-subdir" use="required"/> </xs:complexType> </xs:element> <xs:element name="postcomp"> Modified: phenote/trunk/conf/zfin-standalone.cfg =================================================================== --- phenote/trunk/conf/zfin-standalone.cfg 2007-01-18 16:56:13 UTC (rev 296) +++ phenote/trunk/conf/zfin-standalone.cfg 2007-01-18 22:49:12 UTC (rev 297) @@ -7,6 +7,8 @@ <uvic-graph enable="false"/> + <obo-repository url-dir="http://obo.cvs.sourceforge.net/*checkout*/obo/obo/ontology/"/> + <field name="Pub" syntax-abbrev="PUB"/> <field name="Genotype" syntax-abbrev="GT" type="free_text"/> @@ -14,21 +16,22 @@ <field name="Genetic Context" file="context.obo" syntax-abbrev="GC"/> <field name="Entity" syntax-abbrev="E"> - <postcomp relationship-ontology="relationship.obo"/> - <ontology name="ZF" file="zebrafish_anatomy.obo" filter-out="ZFS:" /> - <ontology name="GO" file="gene_ontology.obo"/> + <postcomp relationship-ontology="relationship.obo" repos-subdir="OBO_REL"/> + <ontology name="ZF" file="zebrafish_anatomy.obo" filter-out="ZFS:" + repos-subdir="anatomy/gross_anatomy/animal_gross_anatomy/fish"/> + <ontology name="GO" file="gene_ontology.obo" repos-subdir="genomic-proteomic"/> <ontology name="SP" file="spatial.obo"/> </field> <field name="Stage" file="zebrafish_anatomy.obo" filter-out="ZFA:" syntax-abbrev="T"/> - <field name="Quality" file="quality.obo" syntax-abbrev="Q" /> + <field name="Quality" file="quality.obo" syntax-abbrev="Q" repos-subdir="phenotype"/> <field name="Absent" file="quality.obo" slim="absent_slim" syntax-abbrev="Tag"/> <field name="Abnormal" file="quality.obo" slim="abnormal_slim" syntax-abbrev="Tag"/> <field name="Evidence" file="evidence_code.obo" syntax-abbrev="EV"/> - <field name="Description" syntax-abbrev="Desc"/> + <field name="Description" syntax-abbrev="Desc" repos-subdir="."/> </phenote-configuration> Modified: phenote/trunk/jars/phenoteconfigbeans.jar =================================================================== (Binary files differ) Modified: phenote/trunk/phenote =================================================================== --- phenote/trunk/phenote 2007-01-18 16:56:13 UTC (rev 296) +++ phenote/trunk/phenote 2007-01-18 22:49:12 UTC (rev 297) @@ -8,6 +8,6 @@ fi; done -java -Xmx650M -classpath ${PHENOTE_CLASSPATH} phenote.main.Phenote $@ +java -Xmx700M -classpath ${PHENOTE_CLASSPATH} phenote.main.Phenote $@ ##java -Xmx300M -classpath classfiles:jars/oboedit.jar:jars/org.geneontology.jar:jars/BrowserLauncher2-10rc4.jar:jars/junit-4.0.jar:jars/tomcat-servlet.jar:jars/xbean.jar:jars/jsr173_1.0_api.jar:jars/phenoxmlbeans.jar:jars/phenoteconfigbeans.jar:jars/log4j-1.2.13.jar:jars/te-common.jar phenote.main.Phenote $@ Modified: phenote/trunk/src/java/phenote/config/Config.java =================================================================== --- phenote/trunk/src/java/phenote/config/Config.java 2007-01-18 16:56:13 UTC (rev 296) +++ phenote/trunk/src/java/phenote/config/Config.java 2007-01-18 22:49:12 UTC (rev 297) @@ -30,6 +30,7 @@ import phenote.config.xml.OntologyDocument.Ontology; import phenote.config.xml.LogDocument.Log; import phenote.config.xml.UvicGraphDocument.UvicGraph; +import phenote.config.xml.OboRepositoryDocument.OboRepository; import phenote.util.FileUtil; import phenote.datamodel.CharField; @@ -52,6 +53,7 @@ //private int newOntologyCheckMinutes = 10; private String logConfigFile = "conf/log4j.xml"; // default log config file private boolean uvicGraphEnabled = false; // default false for now + private String reposUrlDir; /** singleton */ private Config() { @@ -222,6 +224,8 @@ throw new ConfigException("Syn Abbrev for "+cf+" not found"); } + String getReposUrlDir() { return reposUrlDir; } + /** should this just be a part of fieldConfigList? and main window would filter it out when making up fields? rel is for post comp gui - or maybe FieldConfig should have isPostComp, getPostCompRelFile - yes! */ @@ -257,6 +261,11 @@ if (gr != null) uvicGraphEnabled = gr.getEnable(); + // Repos url dir + OboRepository or = pc.getOboRepository(); + if (or != null && or.getUrlDir() != null) + reposUrlDir = or.getUrlDir().getStringValue(); + // FIELDS Field[] fields = pc.getFieldArray(); for (Field f : fields) { @@ -319,28 +328,16 @@ fc.setPostCompRelOntCfg(makeOntologyConfig("Relationship",relFile)); } + // ONTOLOGIES if only one ontology file is an attribute... (convenience) if (field.getFile() != null) { - String file = field.getFile().getStringValue(); - // downside of strogly types xml beans is filterOut has to be dealt with - // separately for field & ontology - annoying - & all other attribs - String filterOut = - field.getFilterOut()!=null ? field.getFilterOut().getStringValue() : null; - String slim = field.getSlim()!=null ? field.getSlim().getStringValue() : null; - fc.addOntologyConfig(makeOntologyConfig(name,file,filterOut,slim)); + fc.addOntologyConfig(new OntologyConfig(field)); } // otherwise its multiple ontologies listed in ontology elements (entity) else { Ontology[] ontologies = field.getOntologyArray(); for (Ontology o : ontologies) { - String oName = o.getName().getStringValue(); - String oFile = o.getFile().getStringValue(); - String filterOut=null; - if (o.getFilterOut() != null) - filterOut = o.getFilterOut().getStringValue(); - String slim = o.getSlim()!=null ? o.getSlim().getStringValue() : null; - OntologyConfig oc = makeOntologyConfig(oName,oFile,filterOut,slim); - fc.addOntologyConfig(oc); + fc.addOntologyConfig(new OntologyConfig(o)); } } fieldList.add(fc); @@ -352,16 +349,48 @@ OntologyConfig oc = new OntologyConfig(name,file); return oc; } - private OntologyConfig makeOntologyConfig(String name, String file, String filterOut) { - return new OntologyConfig(name,file,filterOut); - } - private OntologyConfig makeOntologyConfig(String name, String file, String filterOut, - String slim) { - return new OntologyConfig(name,file,filterOut,slim); - } - } +// String oName = o.getName().getStringValue(); +// String oFile = o.getFile().getStringValue(); +// String filterOut=null; +// if (o.getFilterOut() != null) +// filterOut = o.getFilterOut().getStringValue(); +// String slim = o.getSlim()!=null ? o.getSlim().getStringValue() : null; +// OntologyConfig oc = makeOntologyConfig(oName,oFile,filterOut,slim); +// String file = field.getFile().getStringValue(); +// // downside of strogly types xml beans is filterOut has to be dealt with +// // separately for field & ontology - annoying - & all other attribs +// String filterOut = +// field.getFilterOut()!=null ? field.getFilterOut().getStringValue() : null; +// String slim = field.getSlim()!=null ? field.getSlim().getStringValue() : null; +// if (field.getReposSubdir() != null) +// fc.setReposSubdir(field.getReposSubdir().getStringValue()); + +// private OntologyConfig makeOntologyConfig(Field field) { +// String name = field.getName().getStringValue(); +// String file = field.getFile().getStringValue(); +// // downside of strongly types xml beans is filterOut has to be dealt with +// // separately for field & ontology - annoying - & all other attribs +// String filterOut = +// field.getFilterOut()!=null ? field.getFilterOut().getStringValue() : null; +// String slim = field.getSlim()!=null ? field.getSlim().getStringValue() : null; +// String rs = field.getReposSubdir()!=null ? +// field.getReposSubdir().getStringValue() : null; +// return makeOntologyConfig(name,file,filterOut,slim,rs); +// //fc.addOntologyConfig(makeOntologyConfig(name,file,filterOut,slim)); +// } + +// private OntologyConfig makeOntologyConfig(String name, String file, String filterOut) { +// return new OntologyConfig(name,file,filterOut); +// } +// private OntologyConfig makeOntologyConfig(String name, String file, String filterOut, +// String slim,String reposSubdir) { +// return new OntologyConfig(name,file,filterOut,slim,reposSubdir); +// } + + + // // CHECK FOR ONTOLOGIES // CheckForNewOntologies cfno = pc.getCheckForNewOntologies(); // if (cfno != null) { // ? Modified: phenote/trunk/src/java/phenote/config/OntologyConfig.java =================================================================== --- phenote/trunk/src/java/phenote/config/OntologyConfig.java 2007-01-18 16:56:13 UTC (rev 296) +++ phenote/trunk/src/java/phenote/config/OntologyConfig.java 2007-01-18 22:49:12 UTC (rev 297) @@ -1,5 +1,11 @@ package phenote.config; +import java.net.MalformedURLException; +import java.net.URL; + +import phenote.config.xml.FieldDocument.Field; +import phenote.config.xml.OntologyDocument.Ontology; + /** May not even have ontology file (free text eg genotype) rename FieldConfig? */ public class OntologyConfig { @@ -8,6 +14,7 @@ //public String nameSpace; // not used yet - or was this what filter out ended up public String filterOut; // public? private String slim; + private String reposSubdir; //static OntologyConfig defaultPato = new OntologyConfig("Pato","attribute_and_value.obo"); @@ -29,6 +36,28 @@ this.slim = slim; } + /** Ontology stuff in field itself (field only has one ontology) */ + OntologyConfig(Field field) { + name = field.getName().getStringValue(); + ontologyFile = field.getFile().getStringValue(); + // downside of strongly types xml beans is filterOut has to be dealt with + // separately for field & ontology - annoying - & all other attribs + filterOut = field.getFilterOut()!=null ? field.getFilterOut().getStringValue() : null; + slim = field.getSlim()!=null ? field.getSlim().getStringValue() : null; + reposSubdir = field.getReposSubdir()!=null ? + field.getReposSubdir().getStringValue() : null; + } + + OntologyConfig(Ontology o) { + name = o.getName().getStringValue(); + ontologyFile = o.getFile().getStringValue(); + if (o.getFilterOut() != null) + filterOut = o.getFilterOut().getStringValue(); + slim = o.getSlim()!=null ? o.getSlim().getStringValue() : null; + if (o.getReposSubdir()!=null) + reposSubdir = o.getReposSubdir().getStringValue(); + } + boolean hasName() { return !isBad(name); } @@ -48,6 +77,30 @@ } public String getFile() { return ontologyFile; } + void setReposSubdir(String rs) { reposSubdir = rs; } + + public URL getReposUrl() throws MalformedURLException { + String urlString=""; + String urlDir = getReposBaseDir(); + if (urlDir != null) + urlString = urlDir; + urlString += "/" + reposSubdir + "/" + getFile(); + return new URL(urlString); + } + + private String getReposBaseDir() { + return Config.inst().getReposUrlDir(); + } + + public boolean hasReposUrl() { + if (getFile() == null) return false; // shouldnt happen + // repos base dir is just a convenience + if (reposSubdir == null) //&& getReposBaseDir() == null) + return false; + //try { getReposUrl(); } catch (MalformedURLException e) { return false; } ?? + return true; + } + private boolean isBad(String s) { return s == null || s.trim().equals(""); } Modified: phenote/trunk/src/java/phenote/dataadapter/OntologyDataAdapter.java =================================================================== --- phenote/trunk/src/java/phenote/dataadapter/OntologyDataAdapter.java 2007-01-18 16:56:13 UTC (rev 296) +++ phenote/trunk/src/java/phenote/dataadapter/OntologyDataAdapter.java 2007-01-18 22:49:12 UTC (rev 297) @@ -1,16 +1,25 @@ package phenote.dataadapter; +import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; import java.util.Collection; import java.util.Date; +import java.text.SimpleDateFormat; +import java.text.ParsePosition; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import javax.swing.JOptionPane; import org.apache.log4j.Logger; import org.geneontology.oboedit.datamodel.OBOSession; @@ -121,18 +130,18 @@ if (ontCfg.hasSlim()) ontology.setSlim(ontCfg.getSlim()); - loadOboSession(ontology,ontCfg.getFile()); // throws FileNotFoundEx + loadOboSession(ontology,ontCfg); // throws FileNotFoundEx return ontology; } /** Load obo session with obo edit adapter, unless previously loaded - reuse */ - private void loadOboSession(Ontology o,String filename) throws OntologyException { + private void loadOboSession(Ontology o,OntologyConfig oc) throws OntologyException { // check cache of ontologies to see if ontology file already loaded - if (fileIsInCache(filename)) { - loadOboSessionFromCache(o,filename); + if (fileIsInCache(oc.getFile())) { + setOboSessionFromCache(o,oc.getFile()); } else { - loadOboSessionIgnoreCache(o,filename); + loadOboSessionCheckRepos(o,oc); } } @@ -140,7 +149,7 @@ return fileToOntologyCache.containsKey(filename); } - private void loadOboSessionFromCache(Ontology o,String filename) + private void setOboSessionFromCache(Ontology o,String filename) throws OntologyException { Ontology previousOntol = fileToOntologyCache.get(filename); o.setOboSession(previousOntol.getOboSession()); // throws OntEx if error @@ -149,11 +158,42 @@ o.setSource(previousOntol.getSource()); } - private void loadOboSessionIgnoreCache(Ontology o,String filename) + /** If repository is configured loads obo from repos if local out of date */ + private void loadOboSessionCheckRepos(Ontology o,OntologyConfig oc) throws OntologyException { + String filename = oc.getFile(); URL url = findFile(filename); // throws OntologyEx if file not found + + // if ontCfg.hasSynchUrl() ? + // URL synchUrl = ontCfg.getSynchUrl + if (oc.hasReposUrl()) { + try { + URL reposUrl = oc.getReposUrl();//new URL("http://obo.cvs.sourceforge.net/*checkout*/obo/obo/ontology/evidence_code.obo"); + url = checkRepositoryUrl(url,reposUrl,o.getName()); + + // to do - if from repos need to load repos into local obo cache! + + } catch (/*MalformedURL & IO*/Exception e) { LOG.error(e); } + } + + loadOboSessionFromUrl(o,url,filename); +// o.setOboSession(getOboSession(url)); // throws OntEx if error +// fileToOntologyCache.put(filename,o); +// File file = new File(url.getFile()); +// long date = file.lastModified(); +// if (date > 0) { // jar files have 0 date??? +// o.setTimestamp(date); +// o.setSource(file.toString()); +// } + } + + /** url is either local file or repos url */ + private void loadOboSessionFromUrl(Ontology o, URL url, String filename) + throws OntologyException { + //URL url = findFile(filename); // throws OntologyEx if file not found o.setOboSession(getOboSession(url)); // throws OntEx if error - fileToOntologyCache.put(filename,o); + if (filename!=null) + fileToOntologyCache.put(filename,o); // ?? File file = new File(url.getFile()); long date = file.lastModified(); if (date > 0) { // jar files have 0 date??? @@ -161,6 +201,53 @@ o.setSource(file.toString()); } } + + private URL checkRepositoryUrl(URL localUrl, URL reposUrl, String ontol) + throws OntologyException { + long repos = getOboDate(reposUrl); + long loc = getOboDate(localUrl); // throws ont ex + boolean useRepos = false; + if (repos > loc) + useRepos = queryUserAboutRepos(ontol); + if (useRepos) { + LOG.info("Loading new ontology from repository "+reposUrl); + return reposUrl; + } + return localUrl; + } + + // is it bad to have a popup from data adapter? + private boolean queryUserAboutRepos(String ontol) { + String m = "There is a more current ontology in the repository for "+ontol+".\nWould" + +" you like to load the new version? (may take a few minutes)"; + int yn = JOptionPane.showConfirmDialog(null,m,"Synch ontology?", + JOptionPane.YES_NO_OPTION, + JOptionPane.QUESTION_MESSAGE); + return yn == JOptionPane.YES_OPTION; + } + + /** Get the date of the file from the header of the obo file - just read header dont + read in whole file. should it also query urlConnection for date first? */ + private long getOboDate(URL oboUrl) throws OntologyException { + try { + InputStream is = oboUrl.openStream(); + BufferedReader br = new BufferedReader(new InputStreamReader(is)); + // just try first 15 lines? try til hit [Term]? + for (int i=1; i<=15; i++) { + String line = br.readLine(); + // eg date: 22:08:2006 15:38 + if (!line.startsWith("date:")) continue; + SimpleDateFormat dateFormat = new SimpleDateFormat("dd:MM:yyyy HH:mm"); + Date d = dateFormat.parse(line, new ParsePosition(6)); + LOG.debug("date "+d+" for url "+oboUrl+" line "+line); + br.close(); + if (d == null) + throw new OntologyException("couldnt parse date "+line); + return d.getTime(); + } + throw new OntologyException("No date found in "+oboUrl); + } catch (IOException e) { throw new OntologyException(e); } + } /** Look for file in current directory (.) and jar file @@ -175,7 +262,7 @@ // String -> url to handle web start jar obo files private OBOSession getOboSession(URL oboUrl) throws OntologyException { if (oboUrl == null) - return new OBOSessionImpl(); // ?? + throw new OntologyException("No url to retrieve");//return new OBOSessionImpl(); OBOFileAdapter fa = new OBOFileAdapter(); FileAdapterConfiguration cfg = new OBOFileAdapter.OBOAdapterConfiguration(); @@ -196,7 +283,8 @@ to reload itself from its file - in other words there is a new obo file to load in place of old one */ public void reloadOntology(Ontology ont) throws OntologyException { - loadOboSessionIgnoreCache(ont,ont.getSource()); // throws ex + URL url = findFile(ont.getSource()); // ex + loadOboSessionFromUrl(ont,url,ont.getSource()); // throws ex } // private void loadRelationshipOntology() { hmmmmmm Modified: phenote/trunk/src/java/phenote/main/PhenoteVersion.java =================================================================== --- phenote/trunk/src/java/phenote/main/PhenoteVersion.java 2007-01-18 16:56:13 UTC (rev 296) +++ phenote/trunk/src/java/phenote/main/PhenoteVersion.java 2007-01-18 22:49:12 UTC (rev 297) @@ -6,7 +6,7 @@ //private static final float MAJOR_VERSION_NUM = 0.8f; //private static final float SUB_VERSION_NUM = .3f; - private static final String VERSION = "1.0.2 dev"; // ?? + private static final String VERSION = "1.1 dev"; // ?? // type is "dev" or "release" //private static final String type = " dev"; // "release" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-01-18 16:56:21
|
Revision: 296 http://svn.sourceforge.net/obo/?rev=296&view=rev Author: mgibson Date: 2007-01-18 08:56:13 -0800 (Thu, 18 Jan 2007) Log Message: ----------- copy jnlp webstart files into latest dir as well for webstart deployment Modified Paths: -------------- phenote/trunk/build.xml Modified: phenote/trunk/build.xml =================================================================== --- phenote/trunk/build.xml 2007-01-18 16:15:13 UTC (rev 295) +++ phenote/trunk/build.xml 2007-01-18 16:56:13 UTC (rev 296) @@ -417,6 +417,9 @@ <copy todir="phenote-webstart/${env.PHENOTE_VERSION}"> <fileset file="doc/phenote-website/*.jnlp"/> </copy> + <copy todir="phenote-webstart/latest"> + <fileset file="doc/phenote-website/*.jnlp"/> + </copy> </target> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-01-18 16:15:14
|
Revision: 295 http://svn.sourceforge.net/obo/?rev=295&view=rev Author: mgibson Date: 2007-01-18 08:15:13 -0800 (Thu, 18 Jan 2007) Log Message: ----------- added the rest of the html files from the website - should phenote-website be taken out of doc dir and given its own dir? Added Paths: ----------- phenote/trunk/doc/phenote-website/phenote-java-requirements.html phenote/trunk/doc/phenote-website/webstart-troubleshooting.html Added: phenote/trunk/doc/phenote-website/phenote-java-requirements.html =================================================================== --- phenote/trunk/doc/phenote-website/phenote-java-requirements.html (rev 0) +++ phenote/trunk/doc/phenote-website/phenote-java-requirements.html 2007-01-18 16:15:13 UTC (rev 295) @@ -0,0 +1,32 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <meta content="text/html; charset=ISO-8859-1" + http-equiv="content-type"> + <title>Java version for Phenote</title> +</head> +<body> +<h1>Java requirements for Phenote</h1> +<br> +Phenote requires Java 1.5. I hope this is OK with everybody. If there +are issues please let me know(mg...@fr...). 1.5 has been out +for around 2 years, and has a lot of nice features. The big issue is +Macs. Mac Tiger supports 1.5 where earlier version (Panther & +earlier) do not as far as I know. So upgrading to Tiger would then be a +requirement for using Phenote. Tiger has been out for over a year now +and is now pretty stable, so I hope this isn't a cumbersome +requirement. I have emailed with zfin and it seems the Mac users there +are actually already all upgraded to Tiger.<br> +<br> +As for windows, linux and solaris, if you do not already have jdk 1.5 +it can be downloaded from sun:<br> +<br> +<a href="http://java.sun.com/j2se/1.5.0/download.jsp">http://java.sun.com/j2se/1.5.0/download.jsp</a><br> +<br> +<br> +<br> +<a href="phenote.html">Phenote main page</a><br> +<br> +<br> +</body> +</html> Added: phenote/trunk/doc/phenote-website/webstart-troubleshooting.html =================================================================== --- phenote/trunk/doc/phenote-website/webstart-troubleshooting.html (rev 0) +++ phenote/trunk/doc/phenote-website/webstart-troubleshooting.html 2007-01-18 16:15:13 UTC (rev 295) @@ -0,0 +1,103 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <meta content="text/html; charset=ISO-8859-1" + http-equiv="content-type"> + <title>Phenote webstart trouble shooting</title> +</head> +<body> +<h2>Phenote Webstart Troubleshooting<br> +</h2> +<br> +Webstart is a way of launching java applications from the web. Just +click +on a link and the application will download to your computer, and come +up. Webstart is somewhat difficult, but I've got it working in some +situations for Phenote. +Future clicks on the link should recognize that you've already +downloaded +it, and will just bring up the downloaded application. If the +application +changes/upgrades on the server, this will be recognized and a click on +the +link will download the new upgraded application. So its more or less a +web +installer. On the <a href="phenote.html">main phenote page</a> +there are links to the latest phenote webstart links to try.<br> +<p>The indication that a link works is that you get a popup +that says "Java Loading", or something like that and then a bunch of +files get downloaded and eventually the application actually comes up. +For this to work with a browser, the browser has to recognize java +webstart links, which have a jnlp suffix. Macs tend to have +webstart pre-installed on their browsers. Windows seems to as +well. Linux does not and I don't know about Solaris. If its not +working what you basically have to do is set up an association in the +browser between whats called a mime type, which is +"application/x-java-jnlp-file" in this case, and the webstart +application, which you need to find on your computer(more on this +below).<br> +<br> +These are the steps I had to go through to get webstart installed on my +Mozilla browser on Linux, which does not come with webstart +pre-installed. <br> +<br> +First you need to see if you have webstart already installed on your +computer. If you have java on your computer then usually webstart comes +with java so you should have it. So if you have java you first need to +find out where it is installed. In linux you type "which java" at the +command line. For me this comes back with<br> +<br> +/usr/lib/java/bin/java</p> +<p>You then need to make sure you are using java 1.5, phenote requires +1.4. Do a "java-version" at the command line. If you have anything less +than 1.5, you need to install java 1.5, or if you have 1.5 installed +somewhere (but its not the default) you need to find it and grab its +javaws. If you try to webstart phenote with a java less than 1.5 +nothing will happen and it won't even indicate that its the wrong java, +you just have to know.<br> +<br> +So what I found is in java 1.5 javaws is in both the bin and jre +directory. So cd to +/usr/lib/java and do a "ls jre" and "ls bin" (on windows "dir jre" +& "dir bin") and look for a file called "javaws", which is the +webstart application. The full path plus javaws is what you will need +below. So for me its "/usr/lib/java/jre/javaws"<br> +<br> +If webstart is not on your computer (or network) you can download it +from(make sure its from java 1.5):<br> +<br> +<a href="http://java.sun.com/products/javawebstart/download.jsp">http://java.sun.com/products/javawebstart/download.jsp</a><br> +<br> +<br> +Now that we've found the webstart application we are ready to associate +it with a mime type in the browser. Here is how it is done in Mozilla +on linux, I hope other browsers are somewhat similar.<br> +<br> +Hit the "Edit" menu, and its "Preferences" sub menu to get the +Preferences dialog. Expand the "Navigator" category, and under +that click on "Helper Application", which is where mime types get +associated with applications. Click the "New Type" button, which brings +up a New Type dialog box. In the "MIME Type" field enter +"application/x-java-jnlp-file". Under "Description" you can just +put "Java Webstart". Under "Extension" put "jnlp". Click on "Open it +with:" and in the associated field either entor or browse for the +location of webstart on your computer. This is what you were digging +for above. For my computer I enter "/usr/lib/java/jre/javaws", the +location of my webstart app. then deselect "Always ask me before +handling files of this type", as who wants to keep being asked, and hit +"OK" and hit "OK" as well in the Helper Applications dialog.<br> +<br> +You now need to restart your browser for it to pick up the new mime +type association for webstart and hopefully the above link should now +work. <br> +<br> +One thing thats also handy if there are problems bringing up webstart +is to bring up the browsers java console (this may not be supported by +all browsers). This should give some feedback on things happening +behind the scenes of the webstart application, so its good for trouble +shooting. In mozilla this can be brought up with menu <br> +Tools->Web Development->Java Console.<br> +<br> +</p> +</body> +</html> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ba...@us...> - 2007-01-17 19:46:48
|
Revision: 294 http://svn.sourceforge.net/obo/?rev=294&view=rev Author: balhoff Date: 2007-01-17 11:45:58 -0800 (Wed, 17 Jan 2007) Log Message: ----------- Added "nexus" to list of possible adapters in schema. Modified Paths: -------------- phenote/trunk/conf/phenote-config.rnc phenote/trunk/conf/phenote-config.xsd Modified: phenote/trunk/conf/phenote-config.rnc =================================================================== --- phenote/trunk/conf/phenote-config.rnc 2007-01-16 21:27:09 UTC (rev 293) +++ phenote/trunk/conf/phenote-config.rnc 2007-01-17 19:45:58 UTC (rev 294) @@ -12,8 +12,8 @@ dataadapter = element dataadapter { - ## for now just 2 dataadapters, phenoxml & phenosyntax - attribute name {"phenoxml" | "phenosyntax"} + ## for now just 2 dataadapters, phenoxml & phenosyntax (and now also nexus) + attribute name {"phenoxml" | "phenosyntax" | "nexus"} } ## Whether to check if ontology(obo) has been updated/more current obo file Modified: phenote/trunk/conf/phenote-config.xsd =================================================================== --- phenote/trunk/conf/phenote-config.xsd 2007-01-16 21:27:09 UTC (rev 293) +++ phenote/trunk/conf/phenote-config.xsd 2007-01-17 19:45:58 UTC (rev 294) @@ -15,12 +15,13 @@ <xs:complexType> <xs:attribute name="name" use="required"> <xs:annotation> - <xs:documentation>for now just 2 dataadapters, phenoxml & phenosyntax</xs:documentation> + <xs:documentation>for now just 2 dataadapters, phenoxml & phenosyntax (and now also nexus)</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:token"> <xs:enumeration value="phenoxml"/> <xs:enumeration value="phenosyntax"/> + <xs:enumeration value="nexus"/> </xs:restriction> </xs:simpleType> </xs:attribute> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-01-16 21:27:20
|
Revision: 293 http://svn.sourceforge.net/obo/?rev=293&view=rev Author: mgibson Date: 2007-01-16 13:27:09 -0800 (Tue, 16 Jan 2007) Log Message: ----------- separate html webstart install Modified Paths: -------------- phenote/trunk/build.xml Modified: phenote/trunk/build.xml =================================================================== --- phenote/trunk/build.xml 2007-01-16 21:24:30 UTC (rev 292) +++ phenote/trunk/build.xml 2007-01-16 21:27:09 UTC (rev 293) @@ -396,17 +396,22 @@ <!-- need to test if PHENOTE_VERSION is defined - possible?? --> - <target name="webstart" depends="copy-jnlps"> + <target name="webstart" depends="webstart-html,copy-jnlps"> <echo message="Env Var PHENOTE VERSION is set to ${env.PHENOTE_VERSION}" /> - <copy todir="phenote-webstart"> - <fileset file="doc/phenote-website/*.html"/> - </copy> <mkdir dir="phenote-webstart/${env.PHENOTE_VERSION}"/> <copy todir="phenote-webstart/${env.PHENOTE_VERSION}/jars"> <fileset file="${lib}/*.jar"/> </copy> </target> + <target name="webstart-html"> + <echo message="Env Var PHENOTE VERSION is set to ${env.PHENOTE_VERSION}" /> + <copy todir="phenote-webstart"> + <fileset file="doc/phenote-website/*.html"/> + </copy> + </target> + + <target name="copy-jnlps"> <echo message="Env Var PHENOTE VERSION is set to ${env.PHENOTE_VERSION}" /> <copy todir="phenote-webstart/${env.PHENOTE_VERSION}"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-01-16 21:25:47
|
Revision: 292 http://svn.sourceforge.net/obo/?rev=292&view=rev Author: mgibson Date: 2007-01-16 13:24:30 -0800 (Tue, 16 Jan 2007) Log Message: ----------- dichty -> dicty Modified Paths: -------------- phenote/trunk/doc/phenote-website/phenote.html phenote/trunk/src/java/phenote/main/PhenoteVersion.java Modified: phenote/trunk/doc/phenote-website/phenote.html =================================================================== --- phenote/trunk/doc/phenote-website/phenote.html 2007-01-16 20:53:57 UTC (rev 291) +++ phenote/trunk/doc/phenote-website/phenote.html 2007-01-16 21:24:30 UTC (rev 292) @@ -2,194 +2,276 @@ <html> <head> + + <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> + + <title>Phenote</title> </head> <body> + <h1 style="text-align: left;"><span style="font-weight: bold;"></span>Phenote<br> + </h1> + <br> + Phenote is a tool to annotate phenotypes using the Entity Quality paradigm. It takes advantage of ontologies. It uses term completion to allow curators quick access to the ontology terms they want to use. <br> + <br> + <a href="1.0/phenote-flybase.jnlp">Phenote 1.0 for fly</a><br> + <br> + <a href="1.0/phenote-zfin.jnlp">Phenote 1.0 for zfin</a><br> + <br> + <a href="1.0/phenote-zfin.jnlp"></a><a href="1.0/phenote-human.jnlp">Phenote 1.0 for human</a><br> + <br> + To be clear the above webstart links for zfin & fly were made via configuration not hard wired code. Thus one could in theory configure phenote for ones own purposes.<br> + <br> + Recent addditions include the ability to add any field you like, post compose terms, bulk update, undo, spring framework, and synonyms now are shown in the completion list.<br> + <br> + Zebrafish requires components of phenote(to plug into their non-public website), not a full web app. Here is a proof of concept of some of those components:<br> + <br> + <a href="http://reaper.lbl.gov/phenote/html/ncbo.html">Webby Phenote(components used by Zfin)</a><br> + <br> + Webby phenote is a collaboration with Sohel Merchant at dictyBase. Here is what they have done:<br> + <br> -<a href="http://165.124.152.194/db/cgi-bin/dictyBase/curation/phenotypeCuration.pl">DichtyBase + +<a href="http://165.124.152.194/db/cgi-bin/dictyBase/curation/phenotypeCuration.pl">DictyBase webby phenote</a><br> + <br> + <br> + I am doing these releases to get feedback. Please report any bugs (ideally through the <a href="https://sourceforge.net/tracker/?group_id=76834&atid=887913">bug tracker</a>) and let me know what you think (mg...@fr...).<br> + <br> + <h4>Phenote links:<br> + </h4> + <a href="https://lists.sourceforge.net/lists/listinfo/obo-phenote">Phenote email list</a><br> + <a href="https://sourceforge.net/tracker/?group_id=76834&atid=887913">Phenote bug tracker</a><br> + <a href="https://lists.sourceforge.net/lists/listinfo/obo-phenote-bug-tracker">Bug tracker email list</a><br> + <a href="https://sourceforge.net/svn/?group_id=76834">Phenote source code (obo sourceforge svn)</a><br> + <a href="https://lists.sourceforge.net/lists/listinfo/obo-svn-commit">Phenote svn commit email list</a><br> -<a href="http://wiki.dictybase.org/dictywiki/index.php/Phenotype_Curation_Tool_Documentation#Usage">Dichty + +<a href="http://wiki.dictybase.org/dictywiki/index.php/Phenotype_Curation_Tool_Documentation#Usage">Dicty webby phenote wiki developer docs</a><br> + <a href="http://www.bioontology.org/wiki-internal/index.php/Phenotype_Annotation_Tool">Phenote ncbo internal wiki (ncbo folk only)</a><br> + <br> + <a href="phenote-release-notes.html">Phenote Release Notes and old webstart releases</a><br> + <br> + If the Phenote webstart link fails to do anything, then there are probably problems with webstart and/or java(has to be jdk 1.5). Take a look at my <a href="webstart-troubleshooting.html">webstart troubleshooting</a><br> + page.<br> + <br> + Click here for <a href="phenote-java-requirements.html">phenote java requirements</a><br> + <br> + <br> + <br> + Old releases: <br> + <br> + <a href="0.9/phenote-flybase.jnlp">Phenote 0.9 for fly</a><br> + <a href="0.9/phenote-zfin.jnlp">Phenote (standalone) 0.9 for zfin</a><br> + <br> + <a href="0.8/phenote-flybase.jnlp">Phenote 0.8 for fly.</a><br> + <a href="0.8/phenote-zfin.jnlp">Phenote (standalone) 0.8 for zfin</a><br> + <br> + <a href="0.7/phenote-flybase.jnlp">Phenote 0.7 for fly.</a><br> + <a href="0.7/phenote-zfin.jnlp">Phenote (standalone) 0.7 for zfin</a><br> + <br> + <a href="0.6/phenote-flybase.jnlp">Phenote 0.6 with fly anatomy</a><br> + <br> + <a href="0.6/phenote-zfin.jnlp">Phenote 0.6 with zebrafish anatomy</a><br> + <br> + <a href="0.5/phenote-flybase.jnlp">Phenote 0.5 webstart for FlyBase</a><br> + <br> + <a href="0.5/phenote-zfin.jnlp">Phenote 0.5 webstart for ZFIN</a><br> + <br> + <a href="0.4/phenote-flybase.jnlp">Phenote 0.4 webstart for FlyBase</a><br> + <br> + <a href="0.4/phenote-zfin.jnlp">Phenote 0.4 webstart for ZFIN</a><br> + <br> + <a href="0.3.1/phenote-webstart.jnlp">Phenote for CToL group (0.3.1)</a> (a special release for the CToL group that uses fish taxonomy)<br> + <br> + <a href="0.3/phenote-webstart.jnlp">Phenote 0.3</a><br> + <br> + <a href="0.2/phenote-webstart.jnlp">Phenote 0.2</a><br> + <br> + <a href="0.1/phenote-webstart.jnlp">Phenote 0.1</a><br> + <br> + <br> + </body> </html> Modified: phenote/trunk/src/java/phenote/main/PhenoteVersion.java =================================================================== --- phenote/trunk/src/java/phenote/main/PhenoteVersion.java 2007-01-16 20:53:57 UTC (rev 291) +++ phenote/trunk/src/java/phenote/main/PhenoteVersion.java 2007-01-16 21:24:30 UTC (rev 292) @@ -6,7 +6,7 @@ //private static final float MAJOR_VERSION_NUM = 0.8f; //private static final float SUB_VERSION_NUM = .3f; - private static final String VERSION = "1.0.1 dev"; // ?? + private static final String VERSION = "1.0.2 dev"; // ?? // type is "dev" or "release" //private static final String type = " dev"; // "release" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-01-16 20:47:40
|
Revision: 290 http://svn.sourceforge.net/obo/?rev=290&view=rev Author: mgibson Date: 2007-01-16 12:47:37 -0800 (Tue, 16 Jan 2007) Log Message: ----------- Tagging the 1.0 release of phenote - generic datamodel Added Paths: ----------- phenote/tags/release-1.0/ Copied: phenote/tags/release-1.0 (from rev 289, phenote/trunk) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-01-16 19:40:51
|
Revision: 289 http://svn.sourceforge.net/obo/?rev=289&view=rev Author: mgibson Date: 2007-01-16 11:40:51 -0800 (Tue, 16 Jan 2007) Log Message: ----------- appreviated labels for search params for real estate - maybe they should go in a row on top or bottom? Modified Paths: -------------- phenote/trunk/phenote phenote/trunk/src/java/phenote/gui/field/FieldPanel.java phenote/trunk/src/java/phenote/gui/field/SearchParamPanel.java Modified: phenote/trunk/phenote =================================================================== --- phenote/trunk/phenote 2007-01-16 18:30:53 UTC (rev 288) +++ phenote/trunk/phenote 2007-01-16 19:40:51 UTC (rev 289) @@ -8,6 +8,6 @@ fi; done -java -Xmx600M -classpath ${PHENOTE_CLASSPATH} phenote.main.Phenote $@ +java -Xmx650M -classpath ${PHENOTE_CLASSPATH} phenote.main.Phenote $@ ##java -Xmx300M -classpath classfiles:jars/oboedit.jar:jars/org.geneontology.jar:jars/BrowserLauncher2-10rc4.jar:jars/junit-4.0.jar:jars/tomcat-servlet.jar:jars/xbean.jar:jars/jsr173_1.0_api.jar:jars/phenoxmlbeans.jar:jars/phenoteconfigbeans.jar:jars/log4j-1.2.13.jar:jars/te-common.jar phenote.main.Phenote $@ Modified: phenote/trunk/src/java/phenote/gui/field/FieldPanel.java =================================================================== --- phenote/trunk/src/java/phenote/gui/field/FieldPanel.java 2007-01-16 18:30:53 UTC (rev 288) +++ phenote/trunk/src/java/phenote/gui/field/FieldPanel.java 2007-01-16 19:40:51 UTC (rev 289) @@ -55,7 +55,7 @@ this.setLayout(bl); fieldPanel = new JPanel(new GridBagLayout()); // panel inside of panel - i think is a leftover no reason now - add(fieldPanel); // default flow layout? + add(fieldPanel); // search param panel - maybe search panel should be added to main frame? add(getSearchParamPanel().getPanel()); Modified: phenote/trunk/src/java/phenote/gui/field/SearchParamPanel.java =================================================================== --- phenote/trunk/src/java/phenote/gui/field/SearchParamPanel.java 2007-01-16 18:30:53 UTC (rev 288) +++ phenote/trunk/src/java/phenote/gui/field/SearchParamPanel.java 2007-01-16 19:40:51 UTC (rev 289) @@ -28,14 +28,14 @@ BoxLayout boxLayout = new BoxLayout(panel,BoxLayout.Y_AXIS); panel.setLayout(boxLayout); panel.add(new JLabel("Search:")); - termButton = makeButton("Terms"); + termButton = makeButton("Term"); termButton.setSelected(true); panel.add(termButton); - synonymButton = makeButton("Synonyms"); + synonymButton = makeButton("Syn"); panel.add(synonymButton); - definitionButton = makeButton("Definitions"); + definitionButton = makeButton("Def"); panel.add(definitionButton); - obsoleteButton = makeButton("Obsolete"); + obsoleteButton = makeButton("Obs"); panel.add(obsoleteButton); return panel; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-01-16 18:30:55
|
Revision: 288 http://svn.sourceforge.net/obo/?rev=288&view=rev Author: mgibson Date: 2007-01-16 10:30:53 -0800 (Tue, 16 Jan 2007) Log Message: ----------- fiddled with layout - with human.cfg the "Human Anatomy" ontology lable was bigger than any previous label and caused the layout to go to hell - Field Panel holds both its own field panel and the search param panel and was using flow layout - which is a pretty awful default layout - now using box layout and set some minimum sizes higher - and widened the whole app - for this to fit Modified Paths: -------------- phenote/trunk/phenote phenote/trunk/src/java/phenote/gui/field/FieldPanel.java phenote/trunk/src/java/phenote/main/Phenote.java Modified: phenote/trunk/phenote =================================================================== --- phenote/trunk/phenote 2007-01-12 20:06:28 UTC (rev 287) +++ phenote/trunk/phenote 2007-01-16 18:30:53 UTC (rev 288) @@ -8,6 +8,6 @@ fi; done -java -Xmx300M -classpath ${PHENOTE_CLASSPATH} phenote.main.Phenote $@ +java -Xmx600M -classpath ${PHENOTE_CLASSPATH} phenote.main.Phenote $@ ##java -Xmx300M -classpath classfiles:jars/oboedit.jar:jars/org.geneontology.jar:jars/BrowserLauncher2-10rc4.jar:jars/junit-4.0.jar:jars/tomcat-servlet.jar:jars/xbean.jar:jars/jsr173_1.0_api.jar:jars/phenoxmlbeans.jar:jars/phenoteconfigbeans.jar:jars/log4j-1.2.13.jar:jars/te-common.jar phenote.main.Phenote $@ Modified: phenote/trunk/src/java/phenote/gui/field/FieldPanel.java =================================================================== --- phenote/trunk/src/java/phenote/gui/field/FieldPanel.java 2007-01-12 20:06:28 UTC (rev 287) +++ phenote/trunk/src/java/phenote/gui/field/FieldPanel.java 2007-01-16 18:30:53 UTC (rev 288) @@ -6,6 +6,7 @@ import java.util.ArrayList; import java.util.List; +import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JComponent; @@ -39,16 +40,28 @@ } // false for post comp panel public FieldPanel(boolean doAllOntologies) { - //this.setPreferredSize(new Dimension(800,750)); - // should figure depth from # of fields really - this.setMinimumSize(new Dimension(690,490)); + initGui(); + if (doAllOntologies) + initAllOntologies(); + } + + private void initGui() { + // should figure y from # of fields really + // width of ontology labels effects x + this.setMinimumSize(new Dimension(730,490));//690,490)); + //this.setPreferredSize(new Dimension(2000,750)); // irrelevant in box layout + //this.setMaximumSize(new Dimension(2000,750)); + BoxLayout bl = new BoxLayout(this,BoxLayout.X_AXIS); // grid bag? + this.setLayout(bl); fieldPanel = new JPanel(new GridBagLayout()); // panel inside of panel - i think is a leftover no reason now add(fieldPanel); // default flow layout? - if (doAllOntologies) - initAllOntologies(); + // search param panel - maybe search panel should be added to main frame? + add(getSearchParamPanel().getPanel()); + } + /** from selection in plump table - hmmm mvc - get from model change event - should ACB listen for event and change themselves? - oh wait this is for selection not editing - no editing in table silly - should do selection event/listener */ @@ -66,7 +79,7 @@ } // search param panel - maybe search panel should be added to main frame? - add(getSearchParamPanel().getPanel()); + //add(getSearchParamPanel().getPanel()); --> initGui } SearchParamsI getSearchParams() { Modified: phenote/trunk/src/java/phenote/main/Phenote.java =================================================================== --- phenote/trunk/src/java/phenote/main/Phenote.java 2007-01-12 20:06:28 UTC (rev 287) +++ phenote/trunk/src/java/phenote/main/Phenote.java 2007-01-16 18:30:53 UTC (rev 288) @@ -167,7 +167,7 @@ frame = new JFrame("Phenote "+PhenoteVersion.versionString()); frame.getContentPane().add(makeMainPanel()); MenuManager.createMenuManager(frame); - frame.setPreferredSize(new Dimension(1100,700)); + frame.setPreferredSize(new Dimension(1130,700)); //1100,700)); if (standalone) // if stand alone exit java on window close frame.addWindowListener(new WindowExit()); frame.pack(); @@ -194,11 +194,9 @@ BoxLayout bl = new BoxLayout(upperPanel,BoxLayout.X_AXIS); upperPanel.setLayout(bl); - fieldPanel = new FieldPanel(); + fieldPanel = new FieldPanel(); // field panel contains search params upperPanel.add(fieldPanel); - - termInfo = new TermInfo(); //fieldPanel); upperPanel.add(termInfo.getComponent()); //++gbc.gridx; // ?? This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-01-12 20:06:28
|
Revision: 287 http://svn.sourceforge.net/obo/?rev=287&view=rev Author: mgibson Date: 2007-01-12 12:06:28 -0800 (Fri, 12 Jan 2007) Log Message: ----------- hmmm Modified Paths: -------------- phenote/trunk/build.xml phenote/trunk/doc/phenote-website/phenote-human.jnlp Modified: phenote/trunk/build.xml =================================================================== --- phenote/trunk/build.xml 2007-01-12 19:55:16 UTC (rev 286) +++ phenote/trunk/build.xml 2007-01-12 20:06:28 UTC (rev 287) @@ -396,20 +396,25 @@ <!-- need to test if PHENOTE_VERSION is defined - possible?? --> - <target name="webstart"> + <target name="webstart" depends="copy-jnlps"> <echo message="Env Var PHENOTE VERSION is set to ${env.PHENOTE_VERSION}" /> <copy todir="phenote-webstart"> <fileset file="doc/phenote-website/*.html"/> </copy> <mkdir dir="phenote-webstart/${env.PHENOTE_VERSION}"/> - <copy todir="phenote-webstart/${env.PHENOTE_VERSION}"> - <fileset file="doc/phenote-website/*.jnlp"/> - </copy> <copy todir="phenote-webstart/${env.PHENOTE_VERSION}/jars"> <fileset file="${lib}/*.jar"/> </copy> </target> + <target name="copy-jnlps"> + <echo message="Env Var PHENOTE VERSION is set to ${env.PHENOTE_VERSION}" /> + <copy todir="phenote-webstart/${env.PHENOTE_VERSION}"> + <fileset file="doc/phenote-website/*.jnlp"/> + </copy> + </target> + + <target name="sign-webstart-jars"> <signjar keystore="plumpkey" alias="signFiles" storepass="plumper" keypass="plumper"> @@ -420,10 +425,10 @@ </target> <target name="webstart-just-phenote-jar" depends="build-all,jar"> - <signjar jar="${lib}/phenote.jar" keystore="plumpkey" alias="signFiles" - storepass="plumper" keypass="plumper"/> <copy file="${lib}/phenote.jar" todir="phenote-webstart/${env.PHENOTE_VERSION}/jars"/> + <signjar jar="phenote-webstart/${env.PHENOTE_VERSION}/jars/phenote.jar" keystore="plumpkey" alias="signFiles" + storepass="plumper" keypass="plumper"/> </target> Modified: phenote/trunk/doc/phenote-website/phenote-human.jnlp =================================================================== --- phenote/trunk/doc/phenote-website/phenote-human.jnlp 2007-01-12 19:55:16 UTC (rev 286) +++ phenote/trunk/doc/phenote-website/phenote-human.jnlp 2007-01-12 20:06:28 UTC (rev 287) @@ -34,8 +34,8 @@ <jar href="jars/phenoteconfigbeans.jar" /> <jar href="jars/tomcat-servlet.jar" /> <jar href="jars/xbean.jar" /> - <jar href="jars/te-common.jar" /> - <jar href="jars/log4j-1.2.13.jar" /> + <jar href="jars/te-common.jar" /> + <jar href="jars/log4j-1.2.13.jar" /> </resources> <application-desc main-class="phenote.main.Phenote"> <argument>-c</argument> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mg...@us...> - 2007-01-12 19:55:18
|
Revision: 286 http://svn.sourceforge.net/obo/?rev=286&view=rev Author: mgibson Date: 2007-01-12 11:55:16 -0800 (Fri, 12 Jan 2007) Log Message: ----------- gui -> main for run Modified Paths: -------------- phenote/trunk/doc/phenote-website/phenote-human.jnlp Modified: phenote/trunk/doc/phenote-website/phenote-human.jnlp =================================================================== --- phenote/trunk/doc/phenote-website/phenote-human.jnlp 2007-01-12 19:42:40 UTC (rev 285) +++ phenote/trunk/doc/phenote-website/phenote-human.jnlp 2007-01-12 19:55:16 UTC (rev 286) @@ -36,8 +36,8 @@ <jar href="jars/xbean.jar" /> <jar href="jars/te-common.jar" /> <jar href="jars/log4j-1.2.13.jar" /> -<</resources> -<application-desc main-class="phenote.gui.Phenote"> +</resources> +<application-desc main-class="phenote.main.Phenote"> <argument>-c</argument> <argument>/human.cfg</argument> </application-desc> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |