.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
.    ds C`
.    ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{
.    if \nF \{
.        de IX
.        tm Index:\\$1\t\\n%\t"\\$2"
..
.        if !\nF==2 \{
.            nr % 0
.            nr F 2
.        \}
.    \}
.\}
.rr rF
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
.    \" fudge factors for nroff and troff
.if n \{\
.    ds #H 0
.    ds #V .8m
.    ds #F .3m
.    ds #[ \f1
.    ds #] \fP
.\}
.if t \{\
.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
.    ds #V .6m
.    ds #F 0
.    ds #[ \&
.    ds #] \&
.\}
.    \" simple accents for nroff and troff
.if n \{\
.    ds ' \&
.    ds ` \&
.    ds ^ \&
.    ds , \&
.    ds ~ ~
.    ds /
.\}
.if t \{\
.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
.    \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
.    \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
.    \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
.    ds : e
.    ds 8 ss
.    ds o a
.    ds d- d\h'-1'\(ga
.    ds D- D\h'-1'\(hy
.    ds th \o'bp'
.    ds Th \o'LP'
.    ds ae ae
.    ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "GMOD_LOAD_CVTERMS 1p"
.TH GMOD_LOAD_CVTERMS 1p "2014-05-10" "perl v5.18.2" "User Contributed Perl Documentation"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
load_cvterms.pl \- compares which terms are new in the file compared to the database and inserts them
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
Usage: perl load_cvterms.pl \-H dbhost \-D dbname [\-vdntuFo] file
.PP
parameters
.IP "\-g" 8
.IX Item "-g"
\&\s-1GMOD\s0 database profile name (can provide host, \s-1DB\s0 name, password, username, and driver) Default: 'default'
.IP "\-s" 8
.IX Item "-s"
database name for linking (must be in db table, e.g. \s-1GO \s0)
.IP "\-n" 8
.IX Item "-n"
controlled vocabulary name (e.g 'biological_process').
optional. If not given, terms of all namespaces related with database name will be handled.
.IP "\-F" 8
.IX Item "-F"
File format. Can be obo or go_flat and others supported by
Bio::OntologyIO. Default: obo
.IP "\-u" 8
.IX Item "-u"
update all the terms. Without \-u, the terms in the database won't be updated to the contents of the file, in terms of definitions, etc. New terms will still be added.
.IP "\-v" 8
.IX Item "-v"
verbose output
.IP "\-o" 8
.IX Item "-o"
outfile for writing errors and verbose messages (optional)
.IP "\-t" 8
.IX Item "-t"
trial mode. Don't perform any store operations at all.
(trial mode cannot test inserting associated data for new terms)
.PP
The following options are required if not using \s-1GMOD\s0 profile
.IP "\-H" 5
.IX Item "-H"
hostname for database [required if \-p isn't used]
.IP "\-D" 5
.IX Item "-D"
database name [required if \-p isn't used]
.IP "\-p" 5
.IX Item "-p"
password (if you need to provide a password to connect to your db)
.IP "\-r" 5
.IX Item "-r"
username (if you need to provide a username to connect to your database)
.IP "\-d" 5
.IX Item "-d"
driver name (e.g. 'Pg' for postgres). Driver name can be provided in gmod_config
.PP
The script parses the ontology in the file and the corresponding ontology in the database, if present. It compares which terms are new in the file compared to the database and inserts them, and compares all the relationships that are new and inserts them. It removes the relationships that were not specified in the file from the database. It never removes a term entry from the database.
.PP
This script works with Chado schema (see gmod.org) and accesse the following tables:
.IP "db" 9
.IX Item "db"
.PD 0
.IP "dbxref" 9
.IX Item "dbxref"
.IP "cv" 9
.IX Item "cv"
.IP "cvterm" 9
.IX Item "cvterm"
.IP "cvterm_relationship" 9
.IX Item "cvterm_relationship"
.IP "cvtermsynonym" 9
.IX Item "cvtermsynonym"
.IP "cvterm_dbxref" 9
.IX Item "cvterm_dbxref"
.IP "cvtermprop" 9
.IX Item "cvtermprop"
.PD
.PP
Terms that are in the database but not in the file are set to is_obsolete=1.
All the terms that are present in the database are updated (if using \-u option) to reflect the term definitions that are in the file.
New terms that are in the file but not in the database are stored.
The following data are associated with each term insert/update:
.IP "Term name" 7
.IX Item "Term name"
.PD 0
.IP "Term definition" 7
.IX Item "Term definition"
.IP "Relationships with other terms" 7
.IX Item "Relationships with other terms"
.IP "Synonyms" 7
.IX Item "Synonyms"
.IP "Secondary ids" 7
.IX Item "Secondary ids"
.IP "Definition dbxrefs" 7
.IX Item "Definition dbxrefs"
.IP "Comments" 7
.IX Item "Comments"
.PD
.SH "AUTHOR"
.IX Header "AUTHOR"
Lukas Mueller <lam87@cornell.edu>
.PP
Naama Menda <nm249@cornell.edu>
.SH "VERSION AND DATE"
.IX Header "VERSION AND DATE"
Version 0.15, September 2010.
