LOVD 3.0 user manual
Build 3.0-30
Ivo F.A.C. Fokkema
Daan Asscheman
Leiden University Medical Center
Last updated: May 30, 2024
LOVD has received funding from the European Community’s Seventh Framework Programme
(FP7/2007-2013) under grant agreement no 200754 - the GEN2PHEN project.
This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/ or send a letter
to: Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
Contents
Contents 1
1 Introduction 3
2 View and search data in an LOVD installation 5
2.1 Searching and sorting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Genes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 Transcripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4 Variants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.5 Individuals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.6 Diseases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.7 Screenings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3 Installing LOVD 11
3.1 Before you install . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2 Install process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4 LOVD Setup 17
4.1 LOVD system settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2 System logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.3 Announcements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.4 Uninstalling LOVD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5 Authorized users 24
5.1 Registering a new account . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.2 Creating new user accounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.3 Editing user accounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.4 Locking users out of the system . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.5 Sharing access with other users . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6 Gene databases 31
6.1 Creating a new gene database . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.2 The gene homepage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.3 Editing a gene database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.4 Deleting a gene database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.5 Assigning curators and collaborators . . . . . . . . . . . . . . . . . . . . . . . . 36
7 Gene transcripts 38
7.1 Which transcript(s) should I pick? . . . . . . . . . . . . . . . . . . . . . . . . . . 38
7.2 Creating new transcripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
7.3 Editing a transcript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
7.4 Deleting a transcript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
8 Custom columns 40
8.1 Custom column categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
8.2 Creating a new custom column . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
8.3 Enabling custom columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
1
Contents
8.4 Editing custom column settings . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
8.5 Changing the order of custom columns . . . . . . . . . . . . . . . . . . . . . . . 48
8.6 Disabling custom columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
8.7 Deleting custom columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
8.8 Downloading custom column data to text files . . . . . . . . . . . . . . . . . . . 51
8.9 Importing custom column data from text files . . . . . . . . . . . . . . . . . . . 52
9 Adding data to LOVD 53
9.1 Starting a submission by creating an individual . . . . . . . . . . . . . . . . . . 53
9.2 Continuing an unfinished submission . . . . . . . . . . . . . . . . . . . . . . . . 57
9.3 Submitting summary variant data . . . . . . . . . . . . . . . . . . . . . . . . . . 57
9.4 Adding data to already finished submissions . . . . . . . . . . . . . . . . . . . . 58
10 Downloading & importing data 59
10.1 The LOVD3 import format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
10.2 Downloading & importing data . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
10.3 Downloading & importing the complete data . . . . . . . . . . . . . . . . . . . . 70
10.4 Downloading & importing the custom column data . . . . . . . . . . . . . . . . 70
10.5 Downloading & importing own data . . . . . . . . . . . . . . . . . . . . . . . . . 71
10.6 Downloading & importing a gene’s data . . . . . . . . . . . . . . . . . . . . . . 72
11 The LOVD APIs 73
11.1 Data retrieval API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
11.2 Data submission API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
12 Keeping your data secure 83
12.1 Built-in security measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
12.2 What you can do to protect your data . . . . . . . . . . . . . . . . . . . . . . . 84
13 Updating LOVD 85
14 Troubleshooting 86
2
1. Introduction
This is the manual for the Leiden Open (source) Variation Database (LOVD) version 3.0.
LOVD 3.0 is a partial rewrite of LOVD 2.0, which first stable release was completed in 2007.
Also, LOVD 3.0 has a greatly improved database model, and includes lots of new features
aimed at making LOVD useful for more research environments.
LOVD is designed to provide a flexible, freely available tool for gene-centered collection and
display of DNA variants. LOVD 3.0 extends this idea to also provide patient-centered data
storage and storage of NGS data, even of variants outside of genes.
LOVD was developed approaching the “LSDB-in-a-Box” idea for the easy creation and
maintenance of a fully web-based gene sequence variant database, that is platform-indepen-
dent and uses PHP and MySQL open source software only. The design of the database follows
the recommendations of the Human Genome Variation Society (HGVS) and focuses on the col-
lection and display of DNA sequence variants, but it has fully implemented methods for storing
complete clinical data as well. The open LOVD setup also facilitates functional extensions with
scripts written by the community.
The development of (then nameless) LOVD started in late 2002, while it was first officially
released in January, 2004. Before that LOVD was only in use by the Leiden Muscular Dystrophy
pages, as a not-so-modular system with lots of characteristics specific for that website only.
With the official release of LOVD in 2004 the system had become much more dynamic and
customizing LOVD was made easy mostly by editing text-files.
In 2004, LOVD became available under the open source license GPL and with the 1.1.0
release most of the text-files had been replaced by online forms so customizations can be
performed through the web interface. Early in 2005 the first LOVD article was published,
and in 2005 the development of LOVD was more targeted at improving the ease of use of the
system.
In 2006 the development of LOVD 2.0 started after the decision was made to rewrite all of
LOVD from scratch to be able to include a long list of upgrade suggestions that were hard to
implement in LOVD 1.1.0. Aimed at modularity and data redundancy, LOVD 2.0 was meant
to be a more flexible and more powerful successor of the popular 1.1.0 version and soon it
received the interest of LOVD users eager to try out the all-new version.
With more features being added and bugs fixed rapidly, LOVD 2.0 reached beta stage
in April 2007, after which more and more users started to upgrade their 1.1.0 databases to
2.0. Finally, in October 2007 LOVD 2.0 reached the stable stage, after which LOVD 2.0 was
continuously improved with monthly releases for two years, after which the releases became
less frequent. LOVD 2.0 is described in the second LOVD paper.
By 2009 it had became clear that although LOVD 2.0 was a great step forward, there were
still key improvements to be made. Since the complexity of necessary changes had become to
great to gradually upgrade LOVD 2.0 systems to include these options, it was again decided
to start from scratch writing LOVD 3.0. This allowed us to redesign the complete data model
in full freedom, although it should still be possible for existing LOVD 2.0 databases to have all
data transferred to LOVD 3.0.
LOVD 3.0 adds even more flexibility, allowing users to focus exclusively on sequence vari-
ants, whilst also allowing an exclusive focus on individuals and clinical data, and anything in
3
1. Introduction
between. It will be possible for different submitters to work together cooperatively on the same
data. Searching through the data is improved extensively, and webservices of many different
sources are used to automatically retrieve gene and transcript information. Also new in 3.0 is
full Next Generation Sequencing (NGS) support, with the ability to import VCF files. For VCF
file imports, LOVD allows for automatic annotation of the variants. Both formats support the
automatic creation of genes and transcripts in the system, greatly reducing the amount of work
required by curators to get LOVD set up for their research data.
LOVD 3.0 reached beta stage in January 2012, and the first stable release was in December
of that year. Currently, the latest release is 3.0-30. Keep an eye on our news page for the latest
information on LOVD 3.0 development.
Wherever you see “he” or “his” written in this manual, it should read “he or she” and “his
or her” respectively.
Please note that this manual is work in progress. Since LOVD 3.0 is still under
development and the development is the focus of our efforts, many features in
LOVD 3.0 are not yet described in this manual. Also, features described in this
manual may become inaccurate or even incorrect in later versions of LOVD 3.0.
Please bear with us while we finish this manual.
4
2. View and search data in an LOVD
installation
To navigate in an LOVD installation you can use the tabs on the top of the page. Which tabs
you can see depends on whether you are logged in or not, and your user level. When you are
not logged in or you are logged in as a submitter, you see the following tabs: Genes, Tran-
scripts, Variants, Individuals, Diseases, Screenings, Submit and Documentation. Additionally,
Curator-level users and up can see the Configuration tab and only Managers and the Database
administrator can see the Users and Setup tabs.
Each tab has a dropdown menu and the tab itself has a default page to which you will go
when you click on the tab. The options of the dropdown menus depend on your user level.
2.1 Searching and sorting
All list views have search fields which can be used to search data. You can search for a complete
word or you can search for a part of a search term. For example, when you search for “AAM”
in the Symbol field of the genes listing, LOVD will not only find genes starting with “AAM”,
but also containing “AAM”, like “DAAM1” and “DAAM2”. To search for prefixes or suffixes,
see the table further below.
Figure 2.1: Results when searching for a gene symbol containing “AAM”. Note that the search is case insen-
sitive, so “aam” gives the same result.
To sort on a certain column, click on the column header or on the arrows. If that column
is already selected to sort on, the sort order will be swapped. The column currently sorted on
has a darker blue background color than the other columns. The up and down arrows next to
the column name indicate the current sorting direction. When sorting on any field other than
the default, LOVD will sort secondarily on the default sort column.
LOVD allows boolean search terms, meaning you can construct complex queries with AND,
OR and NOT logic. Typing a space between search terms is treated as AND. OR is indicated with a
pipe ‘|’ with no spaces around it and NOT is indicated by an exclamation mark !’, not followed
by a space. If you enclose two or more words in double quotes, LOVD will search for the
combination of those words only exactly in the order you specify. Note that search terms are
case-insensitive and that wildcards such as * are treated as normal text!
5
2. View and search data in an LOVD installation Genes
You can use different operators to specify your search request:
Operator Example Matches
Arg Results containing ‘Arg’.
space Arg Ser Results containing both ‘Arg’ and ‘Ser’.
| Arg|Ser Results containing ‘Arg’ or ‘Ser’.
! !fs Results not containing ‘fs’.
ˆ ˆp.(Arg Results beginning with ‘p.(Arg’ (prefix search).
$ Ser)$ Results ending with ‘Ser)’ (suffix search).
="" ="" Results with this field empty.
="" ="p.0" Results exactly matching ‘p.0’ (exact search).
!="" !="" Results with this field not empty.
!="" !="p.0" Results not exactly matching ‘p.0’.
combination *|Ter !fs Results containing ‘*’ or ‘Ter’ but not containing ‘fs’.
< <2020 Values before 2020 (date fields).
<= <=2020-06 Values on or before June, 2020 (date fields).
> >2020-06 Values after June, 2020 (date fields).
>= >=2020-06-15 Values on or after June 15th, 2020 (date fields).
combination >2009 <2020 Values from 2010 to 2019 (date fields).
23 Values exactly matching 23 (numeric fields).
< <23 Values lower than 23 (numeric fields).
<= <=23 Values lower than, or equal to, 23 (numeric fields).
> >23 Values higher than 23 (numeric fields).
>= >=23 Values higher than, or equal to, 23 (numeric fields).
combination >=20 <30 !23 Values from 20 to 29, but not equal to 23 (numeric fields).
Some more advanced examples:
Asian Results containing ‘Asian’, but also containing ‘Caucasian’.
Asian !Caucasian Results containing ‘Asian’, but not containing ‘Caucasian’.
Asian|African !Caucasian Results containing ‘Asian’ or ‘African’, but not ‘Caucasian’.
"South Asian" Results containing ‘South Asian’, but not ‘South East Asian’.
2.2 Genes
Figure 2.2: Gene menu.
When no gene is selected, the default page of the genes
tab shows all genes. When a gene is selected (shown
in the page header), the default page of the gene tab
is the gene homepage.
View all genes
Here you can see all the genes for this instal-
lation. When you click on a gene entry, you’re
taken to the gene homepage.
View gene homepage
Here you can see the details of a gene. For more information, see section The gene
homepage. This menu item is not available when no gene has been selected.
View graphs
This displays the statistics of the variants within a gene. This menu item is not available
when no gene has been selected.
6
2. View and search data in an LOVD installation Transcripts
Create a new gene entry
This menu item is only available for Managers or higher. See section Creating a new
gene database on how to add a new gene.
2.3 Transcripts
Figure 2.3: Transcript menu.
When no gene is selected, the default page of the tran-
scripts tab shows all transcripts. When a gene is se-
lected (shown in the page header), the default page of
the transcripts tab shows all transcripts of the selected
gene.
View all transcripts
View all transcripts stored in the database. Click on the transcript to view the transcript’s
details and variant overview.
View all transcripts of a gene
View all transcripts of the currently selected gene. Click on the transcript to view the
transcript’s details and variant overview. This menu item is not available when no gene
has been selected.
Create a new transcript information entry
This menu item is only available for Curators or higher. See section Creating new
transcripts on how to add a new transcript to a gene.
Transcript detailed view
When clicking a transcript from one of the transcript data listings, the transcript’s details
are shown. Below the transcript’s details, a variant listing is shown of all variants found
on this transcript. Click on a variants to view the variant’s details.
2.4 Variants
Figure 2.4: Variants menu.
When no gene is selected, the default page of the vari-
ants tab shows all variants on the genome level. When
a gene is selected (shown in the page header), the de-
fault page of the variants tab shows all unique variants
in the selected gene.
View all variants
This view displays all variants in this LOVD in-
stallation on the genome level. Variants within,
but also outside of genes are shown. You can
click on a variant to view its details.
View all variants affecting transcripts
This view displays all variants in this LOVD in-
stallation that are found within a gene, and have
been mapped to a transcript. You can click on
the a variant to view its details.
7
2. View and search data in an LOVD installation Individuals
View unique variants in a gene
This view displays the gene’s unique variants. Each variant is shown only once, regardless
of the number of observations. The number of times a variant is found is displayed in the
field “Reported”. The information in other fields are summarized and not all information
for the variants may be displayed. Click on a variant to see all reported observations.
This menu item is not available when no gene has been selected.
View all variants in a gene
View of all variants reported in the selected gene. Variants are not grouped like in the
unique variant view. Click on a variant to see the variant’s details. This menu item is
not available when no gene has been selected.
Full data view for a gene
This view shows all variant observations together with the variant screening(s) and the
individual in which the variant has been reported. Although this data view is very wide, it
allows searching for variants only found in individuals with certain characteristics. Click
on a variant to see the variant’s details. This menu item is not available when no gene
has been selected.
Create a new data submission
This menu item is only available when logged in. See chapter Adding data to LOVD
on how to create a new data submission.
View active genomic custom columns
This menu item is only available for Managers or higher. See chapter Custom columns
for more information on custom columns.
Enable more genomic custom columns
This menu item is only available for Managers or higher. See section Enabling custom
columns on how to enable custom columns.
Variant detailed view
When clicking on a variant from one of the variant data listings, its details are shown.
If the variant is affecting any transcripts, a listing is shown below the variant’s genomic
details. Click on any of the entries to view the data in a tabular view. If the variant
has been found in an individual, at the bottom of the page the listing for the variant
screenings used to identify the variant is shown. On the top of the page a link is shown
to the individual in which the variant is found.
2.5 Individuals
Figure 2.5: Individuals menu.
When no gene is selected, the default page of the in-
dividuals tab shows all individuals. When a gene is
selected (shown in the page header), the default page
of the individuals tab shows all individuals with vari-
ants in the selected gene.
View all individuals
This view shows all individuals in this LOVD
installation. You can click on an individual to
view its details.
8
2. View and search data in an LOVD installation Diseases
View all individuals with variants in a gene
This view displays all individuals with variants in the currently selected gene. You can
click on an individual to view its details. This menu item is not available when no gene
has been selected.
Create a new data submission
This menu item is only available when logged in. See chapter Adding data to LOVD
on how to create a new data submission.
View active custom columns
This menu item is only available for Managers or higher. See chapter Custom columns
for more information on custom columns.
Enable more custom columns
This menu item is only available for Managers or higher. See section Enabling custom
columns on how to enable custom columns.
Individual detailed view
When clicking on an individual from one of the data listings, the individual’s details
are shown. Below the individual’s details, the phenotype entries are shown if any are
stored. Also variant screenings performed are listed, and variants found in this individual.
Clicking on any of these entries will show the respective details.
2.6 Diseases
Figure 2.6: Diseases menu.
When no gene is selected, the default page of the dis-
eases tab shows all diseases. When a gene is selected
(shown in the page header), the default page of the
diseases tab shows all diseases associated with the se-
lected gene.
View all diseases
This view shows all the diseases in the database.
Also the number of individuals reported with
this disease is displayed and the number of phe-
notypes reported. You can click on a disease to
view its details.
View all diseases associated with a gene
This view displays all diseases associated with the currently selected gene. Also the num-
ber of individuals reported with this disease is displayed and the number of phenotypes
reported. You can click on a disease to view its details. This menu item is not available
when no gene has been selected.
Create a new data submission
This menu item is only available when logged in. See chapter Adding data to LOVD
on how to create a new data submission.
View available phenotype columns
This menu item is only available for Curators or higher. See chapter Custom columns
for more information on custom columns.
9
2. View and search data in an LOVD installation Screenings
Disease detailed view
On the disease’s detailed view, all individuals diagnosed with this disease are listed. From
the table, a link is provided to view all phenotype entries for this disease.
2.7 Screenings
Figure 2.7: Screenings menu.
When no gene is selected, the default page of the
screenings tab shows all screenings. When a gene is se-
lected (shown in the page header), the default page of
the screenings tab shows all screenings that screened
for variants in the selected gene.
View all screenings
This view shows all the screenings in the
database. You can click on a screening to view
its details.
View all screenings for a gene
This view displays all screenings that screened for variants in the currently selected gene.
You can click on a screening to view its details. This menu item is not available when no
gene has been selected.
Create a new data submission
This menu item is only available when logged in. See chapter Adding data to LOVD
on how to create a new data submission.
View active custom columns
This menu item is only available for Managers or higher. See chapter Custom columns
for more information on custom columns.
Enable more custom columns
This menu item is only available for Managers or higher. See section Enabling custom
columns on how to enable custom columns.
Screening detailed view
On the screening’s detailed view, all genes screened for variants are listed, as well as any
variants found.
10
3. Installing LOVD
Please note that if you’re just going to use an LOVD installation that already exists,
you do not need to install anything on your computer. Any web browser that you
already have installed, such as Mozilla Firefox, Google Chrome or Microsoft Internet
Explorer, will do. This chapter describes how to install a new LOVD.
Installing LOVD is a “piece of cake”. However, you might require help from your system
administrator, since there are a few dependencies that need to be taken care of first.
3.1 Before you install
LOVD is a web-based software project. Therefore, installation requires a correctly set-up
webserver. A suitable server with the necessary software installed is available at virtually all
academic institutions and countless commercial hosting providers. If you don’t want to run
LOVD on a server but rather want to have it running on your computer, we can recommend the
XAMPP package, which installs all needed software on your computer regardless of whether
it’s Linux, Windows or Mac. For Windows users, a working alternative is the WampServer
package. Also, at the time of this writing, we are offering free server space if you need to set
up an LOVD. See our website for more information. In that case you don’t need to install
anything and you can skip this chapter.
If you’re experienced with web servers and you want to set it up yourself: LOVD has been
extensively tested with the Apache webserver, but any webserver able to run PHP scripts should
suffice. You’ll need PHP 5.3.0 or higher with mbstring support enabled and openssl installed
and MySQL 4.1.2 or higher; MariaDB also works as an alternative to MySQL. LOVD will force
the use of the UTF-8 character set, but we recommend setting this as the default value for your
software nonetheless. Also, you’ll need to install a properly configured Mail Transfer Agent for
sending emails (such as registration information).
LOVD may work with other database platforms, but we are not developing for other database
backends. You are welcome to try other database backends and report the results to us, but
we can’t provide any support for it. For more information, see the FAQ about software needed.
Before installing LOVD, be sure you have the required credentials for connecting to the
MySQL database. You need a hostname, username, password and a database name to be able
to install LOVD. If you are installing LOVD on a remote server, be sure to have the (s)FTP
username and password to be able to copy the necessary files to the server.
Download & Extract
To download LOVD, go to the LOVD website and click on the “Download” tab. You can
download LOVD in two formats; GZIPped TARball and ZIP archive. The first format is
common for Unix and Linux systems while the ZIP archive is popular on the Windows platform.
Usually you will be able to open both formats.
Download the file of your choice and save it to your hard drive. Now extract the file
using GZIP/TAR or ZIP to the desired location. On a server, common directories may
11
3. Installing LOVD Install process
be /var/www on Unix or Linux servers, or C:\htdocs on a Windows server. When using
XAMPP, the directory is C:\xampp\htdocs for Windows, /opt/lampp/htdocs for Linux, or
/Applications/XAMPP/htdocs for Mac. To be sure, consult the documentation of the web-
server software you are using.
Pre-install Setup
You will need to rename the standard config file config.ini.php-lovd to config.ini.php and edit
it in, for example, a basic text editor. This is absolutely mandatory, because you will need
to enter the MySQL hostname, username, password and database name here. In case you’re
using XAMPP, the needed values are “localhost”, “root”, “” (empty) and “test”, respectively.
No quotes around the values needed. Please note that these are not the recommended settings
for production environments, but it will help you quickly set up LOVD on your computer.
Please go through the entire config.ini.php file to determine if you need to change any of
the other settings.
A .htaccess file is put in the root directory of your LOVD installation protecting
the config.ini.php file, as well as setting some PHP options. This will prevent the
config file from being accessed by others on Apache HTTP servers (if configured
properly), the most commonly used webserver. If you use Apache, please check
that your version and configuration support this feature. Make sure you have the
.htaccess file into your LOVD directory, on Unix and Linux systems it’s a hidden
file so it can be missed easily. For the .htaccess file to work, you need to have
“Limit” and “Options” enabled in Apache’s “AllowOverride” setting.
Also, make sure you have MultiViews or mod_rewrite enabled. This allows a PHP
file like “/setup.php” to be accessed as “/setup”. The mod_rewrite rules in the
.htaccess file require “FileInfo” enabled in Apache’s “AllowOverride” setting.
More information about .htaccess files:
http://httpd.apache.org/docs/2.0/howto/htaccess.html
More information about AllowOverride:
http://httpd.apache.org/docs/2.0/mod/core.html#allowoverride
If you use a different webserver, make sure to configure it to deny access to
the config.ini.php file. LOVD will access the file through the filesystem. Also,
since the .htaccess file sets a couple of options, please disable the following PHP
options: register_globals, magic_quotes_gpc, mysql.trace_mode. Also make
sure there is “MultiViews” functionality, which allows a PHP file like “/setup.php”
to be accessed as “/setup”.
3.2 Install process
To install LOVD on a remote webserver, upload the LOVD directory with all the files to the
webserver by, for instance, (s)FTP. If you install LOVD on your own computer, you do not
need that step.
Next, point your web browser to the directory where you’ve saved the LOVD files. This
could, for instance, be http://localhost/LOVDv.3.0/ or, if you’re using a remote server,
12
3. Installing LOVD Install process
something like http://www.your-domain.org/LOVD/. LOVD will tell you it’s not installed
yet, and include a link to the install directory.
Figure 3.1: When pointing your browser to the LOVD location, it will tell you it’s not installed yet. Click
the link to start the install process.
LOVD will first check a few requirements. Both the PHP and MySQL versions will be checked,
to make sure your LOVD will function properly on your webserver environment. Also some
settings of the web server, PHP and MySQL will be checked. Finally, LOVD will check if your
config file has been hidden. If all looks well, LOVD will tell you all requirements are OK and
you’re ready to start installing LOVD.
Installing LOVD consists of only 4 simple steps and will take only a couple of minutes, or
less.
Figure 3.2: If all requirements are OK, you’re ready to start installing LOVD.
Administrator account details
Fill in the database administrator data to install LOVD. The database administrator will be
the first user registered with LOVD and has full access to all of LOVD’s functionalities. The
database administrator is the only user capable of creating manager accounts. Managers can
only create curator and submitter accounts.
Most of the form is pretty straight forward, but I will highlight one field - “Allowed IP
address list”. An IP address is an address a computer is known by on the network. To help
prevent others to try and guess the username/password combination, you can restrict access
to the database administrator account to a number of IP addresses or ranges. This also means
you need to be very careful with this setting, as being too restrictive may lock you out of your
account. The default, unrestricted, value is *.
13
3. Installing LOVD Install process
Figure 3.3: The database administrator registration form, with example data filled in.
The database administrator is the absolute owner of the LOVD installation. Not
only are they the only one that can uninstall LOVD from the database using the
uninstaller, they will also be able to create, edit or delete all user accounts in the
system and (depending on the settings) receive copies of emailed notifications.
After completing the database administrator account details, click the “Continue »” button at
the bottom. LOVD will apply a simple username and password quality check. If LOVD tells
you that the provided details are OK, click the “Next »” button.
Installing database tables
The next step is to create and fill all necessary LOVD database tables. LOVD will do this
automatically, and you can watch the progress bar complete while the tables are created, the
country list filled, the database administrator account created, the custom columns preconfig-
ured, the standard columns enabled, and the custom links generated. This may take a while
on non-optimal conditions, so please be patient. When everything is done, a “Next »” button
appears - click it to continue.
Configuring LOVD system settings
The final form in the installation process is completing the initial configuration of the LOVD
system settings. These settings can be changed after installation at any time through the
14
3. Installing LOVD Install process
Figure 3.4: Watch the progress bar complete while LOVD informs you which part of the database table
installation is currently in progress.
LOVD setup.
The only two settings that cannot be changed at a later time, are the install lock, which
is checked by default, and the human build that the system will use to map your variants to.
Setting the uninstall lock will prevent uninstallation of LOVD by the database administrator.
The only way to remove this lock after installation is directly through the MySQL database
backend.
For more information on the options of the LOVD system settings, see the LOVD system
settings section of the manual.
After filling in the form, click “Continue »”. If everything was filled in correctly, LOVD will
register the LOVD system settings. Click “Next »” to continue to the last step. Almost done!
15
3. Installing LOVD Install process
Figure 3.5: The system settings form, with example data filled in.
Done
When everything has been filled in and stored correctly, the installation is complete. Now that
you’re done installing LOVD, click the “Continue to Setup area »” button to be forwarded to
the LOVD setup area. From there, you can perform the most important actions for managers
in LOVD, such as creating new gene databases or disease information entries, registering new
user accounts or authorizing curators, or manage the custom columns and links. The button
to create a new gene will be highlighted, as a suggestion of your next step!
16
4. LOVD Setup
To change system-wide settings, but also to perform actions with system-wide effects, start
at the LOVD setup area. The setup area is only available for managers and the database
administrator and can be accessed by clicking on the “Setup” tab in the menu. If you do
not see a “Setup” tab, you first need to log into the system with a manager or administrator
account.
The LOVD setup shows some statistics on the left of the screen, like date of installation,
number of registered users and variant counts, separated by status. Furthermore, there are
two columns of options. The left column has options for the system settings, authorized users,
the custom columns, custom links, full data download and the LOVD system logs. The right
column has options for genes, transcripts, diseases, individuals and variants. Some of the
general options from the LOVD setup are also available through the Setup tab’s dropdown
menu, allowing you to quickly navigate to other setup options without having to go through
the setup main page. The other options shown in the setup area are available through their
own tab’s dropdown menus.
In this chapter, we will describe changing the LOVD system settings, how to check, search
and clean up the LOVD system logs, and how to uninstall LOVD. The other actions available
from the LOVD setup are described in their respective chapters (see the table of contents).
4.1 LOVD system settings
Required level: Manager
Available from: LOVD 3.0 Build 01
The LOVD system settings allow you to adapt
your LOVD installation to your preferences. For
instance by changing the installation’s displayed
name or email address (general settings), proxy server settings (connection settings), settings
on statistics, or the security settings.
To view or edit the LOVD system settings, click on the “Setup” tab, then on “View and
change LOVD System settings (...)”, or move your mouse over the “Setup” tab and click the
“LOVD system settings” menu option from the dropdown list.
General system settings
Title of this LOVD installation
This title will be shown on the top of every page, above the menu tabs. The default value
is “LOVD - Leiden Open Variation Database”.
Institute
The institute which runs this database is displayed in the public area and in emails sent
by LOVD. It’s commonly set to a laboratory name or a website name. If it’s not specified,
LOVD will use the (autodetected) website name LOVD has been installed on.
17
4. LOVD Setup LOVD system settings
Database URL
This is the URL with which the database can be accessed by the outside world, including
“http://” or “https://”, and is not necessarily the URL you are using right now to access
the database. It will also be used in emails sent by LOVD. This field is mandatory if you
select the “Include in the global LOVD listing” option.
If you click the “check” link, LOVD will verify or try to predict the value.
LOVD email address
This email address will be used to send emails from LOVD to users. LOVD needs this
address to prevent problems with spam filters, to make sure that emails from LOVD
arrive. Please note that although strictly speaking this email address does not need to
exist, we recommend that you use a valid address to make sure that bounces of emails
sent from LOVD (to submitters or curators) are still caught by someone, so that they
can be handled.
Forward messages to database admin
With this setting enabled, LOVD will forward messages to the database administrator
about submitter registrations, submissions, and such.
Human Build to map to (UCSC/NCBI)
This value can only be set during installation, and cannot be changed later. It defines on
which version of the Human Build (hg18/Build 36.1 or hg19/GRCh37) genomic variants
are described. Links to the UCSC and Ensembl genome browsers and the NCBI sequence
viewer also depend on this setting.
From LOVD 3.0-beta-07, the hg18 setting is no longer available for new LOVD instal-
lations, although it will remain to be supported. When hg20 will come out, LOVD will
start supporting multiple genome builds per installation.
List database changes in feed for how long?
Note: Not yet implemented!
LOVD includes a “newsfeed” that allows users to get a list of changes recently made in
the database. Select here how many months back you want changes to appear on this
list. Set to “Not available” to disable the newsfeed.
Connection settings (optional)
Some networks have no access to the outside world except through a so-called proxy server
(more info on WikiPedia). If this applies to the network this server is installed on, please fill
in the proxy server information here.
Proxy server host name
The host name of the proxy server, such as “www-cache.institution.edu”.
Proxy server port number
The port number of the proxy server, such as 3128.
Proxy server username
In case the proxy server requires authentication, please enter the required username here.
Proxy server password
In case the proxy server requires authentication, please enter the required password here.
18
4. LOVD Setup LOVD system settings
Customize LOVD
Here you can customize the way LOVD looks. Right now, there is only one option included,
we will add more later.
System logo
If you wish to have your custom logo on the top left of every page instead of the default
LOVD logo, enter the path to the image here, relative to the LOVD installation path.
If left empty, it will be set to the default value, which is “gfx/LOVD_logo130x50.jpg”.
Currently, only images already uploaded to the LOVD server are allowed here.
Global LOVD statistics
Your LOVD installation can send some general information on your installation back to us. We
use this information to see how many LOVDs there are worldwide, which versions of LOVD
are currently in use, how LOVD is being used (amount of data), to see what type of software
is used to run LOVD and to construct the public list of LOVD installs.
Send statistics
When this setting is enabled, LOVD will collect general usage statistics and send this
to us. The following information is sent: the number of submitters, genes, individuals,
variants and unique variants in your system. No specific information is sent, just the
numbers.
Include in the global LOVD listing
On our website, we keep a list of public LOVD installations. This list is also feeding
our worldwide LSDB list, through which submitters can locate databases for a specific
gene to submit data to. If you enable the “Include in the global LOVD listing” setting,
your LOVD installation will send us all the information we need to build these lists: the
LOVD installation’s name, the URL, the available gene databases, the date of last update
of the gene databases, the disease abbreviations and names of the diseases related to these
genes and finally the names, institutes and email addresses of the curators of these gene
databases. If you change this setting, please allow one day for the setting to take effect.
Security settings
In this section you can control some security settings of LOVD.
Allow submitter registration?
Enabling this setting allows submitters to create their own accounts in your LOVD in-
stallation. Having it enabled is the default setting, and this could not be disabled prior
to LOVD 3.0-17.
Note, that submitters can never register when your LOVD installation is set to read-
only because of an active announcement with the read-only setting enabled. See the
Announcements section for more information.
Lock users after 3rd failed login?
With this setting enabled, submitters, curators and managers will be locked out of the
system after they have provided the wrong password three times. A manager or, in the
case of a locked manager, the database administrator needs to unlock the user’s account
once it’s locked.
This does not affect the database administrator account.
19
4. LOVD Setup System logs
Allow (locked) users to retrieve a new password?
If a submitter, curator, or manager has lost their password, enabling this “I forgot my
password” feature allows them to receive a unlocking code in their email with which they
can unlock their account and choose a new password.
Enable submitters to change data?
This setting allows submitters to make changes to data previously submitted by them or
assigned to them.
Enable getting counts of hidden entries?
Note: Not yet implemented!
Enabling this feature allows the public to find the number of entries in the database
(including hidden entries) matching one or more search terms on a specified set of columns.
This feature will only mention the number of variant entries matched, without showing
them.
Force SSL-only access to LOVD?
SSL is a secure protocol allowing for encryption of data sent between you and LOVD.
When you record sensitive individual information in LOVD, you should enable this
setting, as the individual information can otherwise be “sniffed” off the network. If you
do not record sensitive information, enabling SSL is recommended.
Use data versioning of biological data?
Note: Not yet implemented!
Versioning allows you to see all previous versions of a certain data entry (individuals,
variants, phenotype information, etc) and allows you to return the entry to a previous
state. Please note that this feature requires quite a lot of space in the database. Disabling
this feature later will not free any space, just prevent more space from being used.
4.2 System logs
Required level: Manager
Available from: LOVD 3.0 Build 01
System logs were introduced in LOVD 2.0 to al-
low authorized users to keep track of events in
LOVD. This can be for security purposes, to fol-
low each other’s progress when working together, or to track down errors in case something
went wrong. The logs are initiated when LOVD is installed.
What is logged by LOVD
LOVD logs four types of events: authorization events and errors, general events, general errors,
and installation and upgrade events. In case the event or error was triggered by an authorized
user, the username of this user is also logged.
Authorization events and errors (“Auth”)
This list stores all successful and unsuccessful login attempts and password reset attempts. In
all cases, the IP address from where the login or password reset attempts have been made,
is also logged. For successful and unsuccessful login attempts the given username and the
length of the given password is stored, so you can easily uncover brute force attempts where in
general the attacker will try many random passwords. If a user can’t log in because of the IP
restriction on the account, the current IP restriction is also stored in the log entry. Please note
20
4. LOVD Setup System logs
that it is recommended to have LOVD lock user accounts after three failed login attempts. See
subsection Security settings for more information.
General events (“Event”)
General events are logged to show a user’s activity, to allow collaborating users to track each
other’s activities or to check what happened to a certain data entry over time.
General errors (“Error”)
Whenever an unrecoverable error occurs, LOVD logs the error and stops processing. Also some
non-fatal errors are logged, such as when only part of the requested action could be completed.
In principle, during any database event, an error can occur. This is then logged under the
name of the event, so any of the event names used in the general event log can also be found
in the error log.
Installation and upgrade events (“Install”)
LOVD creates a log entry on completion of the LOVD installation procedure. Also, after each
upgrade, LOVD will add an entry stating from which version to which version it has been
upgraded, and how many database queries have been used for the upgrade. Also errors during
an LOVD upgrade, might they occur, will be logged here.
Viewing and searching through the logs
To browse the system logs, click the “View system logs” option of the “Setup” tab dropdown
menu, or the “View, search and delete system logs” link in the setup area. The system log
overview is fully searchable and sortable, allowing you to find log entries quickly.
The “Log” column shows the type of log every - Auth, Event, Error or Install. The “Date”
column shows the date the log entry was created. The “User” column shows, if available,
which user caused the log entry to be created. The “Event” column lists the type of event that
occurred. Finally, the “Entry” column provides more information about the event that has
occurred. For login attempts, it will contain the IP address of the user attempting to log in.
For most event types, it will include the ID of the entry that was created, edited or deleted.
Removing log entries
Delete log entry
Options menu button
To remove a single log entry, click on the red cross in the 6th
column. To remove multiple log entries at once, first apply as
many search terms on the log entries as needed to restrict the
view to the entries you want to delete. Either manually select
the checkboxes next to the entries you want deleted, or click the option button on the top left
of the log overview, and select the “Select all ... entries” option, after which you can deselect
log entries you do not want deleted. Then, open the option menu again and click the “Delete
selected entries” option. Please note that deleting log entries can not be undone.
21
4. LOVD Setup Announcements
4.3 Announcements
For messages meant for visitors and users of your LOVD installation, you can create announce-
ments. They will appear on the top of every page, can automatically appear and disappear on
a requested date and time, and can optionally make LOVD read-only, disallowing submitter
registrations and users lower than Managers to log into LOVD.
Creating a new announcement
Required level: Manager
Available from: LOVD 3.0 Build 17
To create a new announcement, click the “Create
a new announcement, optionally making LOVD
read-only” link in the Setup area, or click the
“Create a new system announcement” link in the Setup tab drop-down menu.
Announcement details
Creating an announcement does not require many fields.
Announcement type
This defines the icon next to the announcement. An Information dialog has an informa-
tion icon, a Question dialog has a question mark, a Warning dialog has an exclamation
mark.
Announcement text
Type here the announcement itself. If you choose to make LOVD read-only as well, be
sure to let users know from when they will be able to log in again.
Start date
Use this field to create an announcement before it should be online. The announcement
will be active only after this date and time. If you leave this field empty, the current
time will be selected, and the announcement will be shown immediately. To deactivate
an announcement, put a date in the future, like 9999-12-31.
End date
Use this field to automatically let an announcement disappear at a certain date or time.
If you leave this field empty, the end date will be set to 9999-12-31 23:59:59. To deactivate
an announcement, put a date in the past here.
Make LOVD read-only?
Enabling this feature blocks logins and submitter registrations when this announcement
is active. Only Managers and up will still be able to log into LOVD. Users of a lower level
that are active when this announcement activates, will be logged out. A true read-only
state is currently not enforced; Managers can still make changes to all data. Use this
feature when the server is undergoing maintenance, for instance. If you want to make
LOVD read-only, but only in the future, set a date in the future in “Start date”, and
make sure you make an extra announcement that introduces the downtime.
After completing the form, click the “Create announcement” button. If the “Start date”
field was empty or a day in the past, and the “End date” was empty or a date in the future, the
announcement will be visible immediately. For Manager level users and up, announcements
are clickable, and they link to their detailed view, making it easy for Managers to find active
announcements.
22
4. LOVD Setup Uninstalling LOVD
Editing an announcement
Required level: Manager
Available from: LOVD 3.0 Build 17
To edit an announcement, click the announce-
ment on the top of the page if it’s active to go to
its detailed view directly, or go to the list of an-
nouncements by using the “Manage system announcements” link in the Setup area or the “View
system announcements” in the Setup tab drop-down menu, after which you can click the an-
nouncement. On the detailed view, open the “Options” menu, and click “Edit announcement”.
Complete the form to update the announcement. If you wish to disable to announcement, edit
the “Start date” field to be a date in the future, or edit the “End date” field to be a date in
the past. For details on all fields, see section Creating a new announcement.
Deleting an announcement
Required level: Manager
Available from: LOVD 3.0 Build 17
To delete an announcement, click the announce-
ment on the top of the page if it’s active to go
to its detailed view directly, or go to the list of
announcements by using the “Manage system announcements” link in the Setup area or the
“View system announcements” in the Setup tab drop-down menu, after which you can click the
announcement. On the detailed view, open the “Options” menu, and click “Delete announce-
ment”. Fill in your password and submit the form to delete the announcement. Note, that you
can also disable an announcement without deleting it, for instance if you know in the future
you’ll make a similar announcement. To disable an announcement, edit the announcement
instead of deleting it, and either set the “Start date” field to be a date in the future, or edit
the “End date” field to be a date in the past.
4.4 Uninstalling LOVD
Required level: Database administrator
Available from: LOVD 3.0 Build 01
Only the database administrator can uninstall
LOVD, provided the uninstall lock has not been
set during installation of LOVD. The uninstall
lock is set within the MySQL database and can only be removed by directly accessing MySQL.
If you know how to handle MySQL, you can also uninstall LOVD through MySQL directly by
removing all LOVD tables, but this is not recommended.
To uninstall LOVD and remove all data stored in LOVD, click on the “Uninstall LOVD”
link in the setup area. This link is only available if the uninstall lock is disabled. You will need
to fill in the database administrator’s password twice to complete the uninstallation process.
Once you have uninstalled LOVD, you have lost all variant and individual informa-
tion. If you wish to store these data elsewhere, make sure you download all data
first!
Please note that the LOVD uninstaller will not remove the LOVD files itself, just
the database tables that it has created during install. Thus, to completely remove
LOVD from the system, also remove the files from the server.
23
5. Authorized users
In LOVD 3.0, authorized users are everyone who registered for an account at the LOVD instal-
lation, including the database administrator who created their account during the installation
process. The authorized users come in five levels; the database administrator of which there
is only one, managers, curators, collaborators and submitters. The different levels of users are
described in more detail below.
Registering for an account is necessary to be able to submit data or to become a gene curator.
Directly after registering, you are allowed to submit individual, phenotype and variant data
to the database, but the data needs to be checked and published by a curator or a manager.
Curators and managers can submit and publish data in one step.
User levels
Database administrator
The database administrator is the first user within LOVD; this account is created during the
installation of LOVD. After installation, the database administrator can create other users
(managers, curators and submitters) in the system, if desired. These users can also register
themselves, after which the database administrator can upgrade them.
The administrator has full access to all areas and settings of LOVD. The administrator is
also the only user who can uninstall LOVD, provided the uninstall lock has not been set during
LOVD installation.
When the “Forward messages to database admin” setting in the LOVD system settings
is enabled, the database administrator will receive copies of submitter registrations and data
submissions or edits.
Manager
A manager has access to almost everything the database administrator has access to. However,
the manager is not able to create new managers or to edit existing managers. Also, a manager
cannot uninstall LOVD even if the uninstall lock is not in place.
A manager can only be created by the administrator and often assists the administrator or
takes over the customisation of LOVD for the curators.
Curator
The curator level user is actually a submitter, which has been given curatorship of one or more
genes. Therefore, a curator only has access to the gene databases they are appointed to, and
not to the system-wide setup area. However, also the database administrator or a manager
can act as a curator by being appointed to certain genes, but in this case there is of course no
restriction in access.
To assign a user to become curator, follow the steps explained in section Assigning curators
and collaborators (available for managers and up).
24
5. Authorized users Registering a new account
Collaborator
The collaborator level user is a new type of user, introduced in LOVD 3.0. Collaborators
are submitters with read access to non-public data on a certain given gene. Just like curators,
these users must be appointed to genes by managers or the database administrator. See section
assigning curators and collaborators for more information.
Submitter
Submitters have no special rights except to submit data to the database, which then needs to
be checked and published by curators or managers. Depending on the LOVD system settings,
submitters are also able to edit the data they have submitted previously.
Submitter accounts can also be created, edited or deleted by managers or the database
administrator, although usually this should not be necessary. Curators do not require a separate
submitter account; they can use their curator account to submit new data.
5.1 Registering a new account
Please note that you do NOT need to register to view the data available in the
database. You only need an account for submitting new variant data.
Anyone can create a new submitter account. For collaborators, curators or managers, register-
ing as a submitter is often the first step; their account can then be upgraded by a manager or
the database administrator, respectively. The major difference between registration and direct
creation of a new account by a manager or the database administrator, is that the registration
can be performed by the public, and therefore it requires you to be logged out of LOVD. The
registration form is protected using a reCAPTCHA module, which makes sure the form can
only be used by humans, and not by spam bots.
Required level: None (public)
Available from: LOVD 3.0 Build 01
To register a new submitter account, click
the “Register as submitter” link on the top right
corner of the screen, next to the “Log in” link.
First, you are asked to provide an ORCID ID, if you have one. ORCID provides a persistent
digital identifier that distinguishes you from every other researcher and, through integration in
key research workflows such as manuscript and grant submission, supports automated linkages
between you and your professional activities ensuring that your work is recognized. If you don’t
have an ORCID ID yet, you can get one created by using the register link also given on the
page. If you don’t want to register at ORCID at this time, click the “I don’t have an ORCID
ID »” button to continue to the registration page. If you do have an ORCID ID, fill it in and
click the “Continue »” button. Your ORCID ID will be verified, and the associated data is
shown on the screen. If this data is correct, click “Yes, this is correct »” to continue to the
registration page. As much information as possibly will be pre-filled for you. If the information
shown is not correct, click “« No, this is not correct” so you can try and enter a correct ORCID
ID or register without using one.
25
5. Authorized users Registering a new account
User details
This part of the registration form contains the basic fields with which the user identifies them-
self.
Name
Please enter your name in the way you want to be referenced to; usually in the format
“<First name> <Last name>”.
Institute
The institute for which you work.
Deparment
If your institute consists of department, please enter the department for which you work.
Postal address
Please provide the full postal address of your institute.
Email address(es), one per line
Your account can hold multiple email addresses, which will all receive notifications sent
by LOVD. This is useful if you’re sharing an account with a colleague, or when you would
like to also get emails on a different account. You can enter as many email addresses as
you like, one email address per line, no spaces, quotes or other special characters allowed.
Telephone
Optionally, provide your phone number where you can be reached.
Username
LOVD requires the username to be 4 to 20 characters long, and starting with a letter
followed by letters, numbers, dots, underscores and dashes only.
Password
LOVD requires the password to be at least 4 characters long, containing at least one
number or special character. Please choose your password wisely; don’t use the same
password as your username and better not use words that are in a dictionary.
Password (confirm)
To make sure you din’t make a typo while entering your password, please repeat it so we
can check if the two fields are equal.
Referencing the lab
This part describes the reference that LOVD makes to your institute.
Country
Please select the country from the given list.
City
Even though you entered the city also in the address field above, please enter it here as
well. It’s used for sorting purposes when creating a list of the institutes registered to the
installation.
Reference
Your submissions will contain a reference to you in the format "Country:City" by default.
You may change this to your preferred reference here.
26
5. Authorized users Creating new user accounts
Security
To prevent unauthorized use of your account, we implemented a security feature that you can
configure here.
Allowed IP address list
Note: Please be extremely careful using this setting. Using this setting too strictly, can
deny you access to LOVD, even if the correct credentials have been provided.
An IP address is an address a computer is known by on the network. To help prevent
others to try and guess your username/password combination, you can restrict access to
your account to a number of IP addresses or ranges. For instance, to make sure your
account can only be used when accessed from your institute or from your home.
Set to “*” to allow all IP addresses, use “-” to specify a range (like “192.168.0.1-20”) and
use “;” to separate addresses or ranges (like “192.168.0.1;192.168.1.34”).
Registration authentication
To prevent automatic submission of the registration form, we implemented a reCAPTCHA
module. In the provided text field, type the two words you see in the image. This will proof
that you are a human and not a computer.
After completing the form, press the “Register” button. LOVD sends you a confirmation
of your registered information through email. If the “Forward messages to database admin”
setting in the LOVD system settings is enabled, the database administrator also receives a copy
of your data.
5.2 Creating new user accounts
Required level: Manager
Available from: LOVD 3.0 Build 01
Besides the public registration form, managers
can also create new users. This offers the ad-
vantage that the new user’s level can be set to
the required level in the same step, and the manager does not need to log out first. You can
create a new user by clicking on the “Create a new user account” option from the “Users”
tab dropdown menu, or the “Create a new authorized user or submitter” link in the setup
area. The process is largely equal to the submitter registration process, except that there is no
reCAPTCHA test but instead you must enter your password for authorization, and the form
has some additional fields, explained below.
User details
This section contains one additional field, compared to the registration page.
Must change password at next logon
If you want to force the user to pick a new password after logging in for the first time,
select this checkbox. The user will not be able to work with LOVD until they have
changed their password.
27
5. Authorized users Editing user accounts
Security
This section contains more options when creating a new user account for a new user, compared
with when registering your own account.
Level
Managers only see the option “Submitter” here. The database administrator may also
select “Manager” here. Please note that to create a Curator account, you need to create a
Submitter and then grant this user rights on the necessary genes. See section Assigning
curators and collaborators for more information. For a complete description on all user
levels, see the subsection User levels.
Locked
Users can be locked, which blocks access to LOVD even if they provide the correct
username and password. This locking happens when too many times an invalid password
was given while logging in with this username (depending on the LOVD system settings),
or it can be done manually.
Other fields
This option is only available while creating a new user, it’s not shown on the submitter regis-
tration form.
Send email with account details to user
When enabled, the user’s details will be emailed to the email address(es) given, informing
the user immediately about their account details. The submitter registration form does
not have this checkbox, but this feature is always active for submitter registrations.
5.3 Editing user accounts
Required level: Submitter
Available from: LOVD 3.0 Build 01
Every user in LOVD can edit their own account.
Editing other user’s accounts requires you to
have a level higher than the user you are try-
ing to edit. Managers can edit submitter accounts (including collaborators and curators). The
database administrator can also edit manager accounts.
To edit your own account, click the “Your account” link on the top right-hand side of the
screen, which leads directly to your account overview. Then, click the “Options” button and
click “Update your registration”.
To edit someone else’s account, click the “Users” tab. Locate the user you wish to edit by
searching or browsing through the given user listing. Clicking the entry will direct you to the
user’s account details. If you have permission to edit this account, you’ll see an “Options”
button. Click it and click “Edit user”.
The fields on the form are explained in the section Registering a new account. Please note
that the “New password” fields are optional when editing an existing user account. You only
fill them in when you want to change the password.
After you submit the form, LOVD redirects you automatically back to the user’s account
details.
28
5. Authorized users Locking users out of the system
5.4 Locking users out of the system
Required level: Manager
Available from: LOVD 3.0 Build 01
A user is automatically locked if a wrong pass-
word is used three times while logging in with
this username, provided this security setting is
enabled (see section LOVD system settings”), but this lock may also be placed onto, or re-
moved from an account manually. Locking or unlocking a user account requires you to have
a level higher than the user you are trying to lock or unlock. Proceed to the user’s account
details page through the “Users” tab. Open the “Options” menu, and click the “Lock user”
option. If the user is already locked, there will be an “Unlock user” option.
The “Lock user” and “Unlock user” menu options are quick ways to deny or allow access to
LOVD, although it can also be accomplished through the “Edit user” option.
Users who are logged in, can also be booted out of the system. If a user is logged in, the
option “Force user log out” is added to the “Options” menu. This will destroy the user’s session,
causing the user to log out. Locking the user essentially also causes the user to be logged out
of the system the next time the user performs an action, although in that case it’s not possible
for the user to log back in until the account is unlocked.
5.5 Sharing access with other users
Required level: Submitter
Available from: LOVD 3.0 Build 16
An authorized user can share access to their data
with other users. The other users can then see
any non-public data entries owned by the shar-
ing user, and if specified, they can also edit those entries. Additionally, all non-public fields of
all entries owned by the sharing user, become available to this user, too.
A user can manage the people with whom they share their data from their account page.
When logged in, there is a link named “Share access to your entries with other users” under
the options menu on the user account page. When clicking this link, the user is presented with
a page similar to that of Figure 5.1. This page shows in the bottom table the users to whom
access is shared and whether they have edit permissions. The checkbox under “Allow edit”
denotes whether the user has edit permissions on the shared data. One can remove users from
this list by clicking the red cross next to their name, or add new users by finding and clicking
their name in the top table. Finally, one can save changes to the bottom table by verifying
their password and clicking “Save access permissions”.
29
5. Authorized users Sharing access with other users
Figure 5.1: The “Sharing access” page, with a list of users one can select on top and a list of users previously
selected on bottom.
30
6. Gene databases
Although in LOVD 3.0 you can enter data into the database without having genes in your
installation, the genes still embody an important part of LOVD. Configuring genes in LOVD
allows you to see the effects of variants on transcript level, and draws submitters with variant
data to your installation.
Gene databases can also be created automatically for you, when you are importing VCF
files in LOVD. However, this chapter deals with manually creating gene databases. You can
create new genes through the LOVD setup area. Editing and deleting genes is done through
the “Genes” tab. Curators assigned to genes can also edit these after they’ve been created, but
can not delete genes. Emptying genes (removing all associated variant and patient data) and
managing its variants is done through the configuration area. This chapter describes how to
create, edit and delete gene databases in LOVD.
6.1 Creating a new gene database
Required level: Manager
Available from: LOVD 3.0 Build 01
Creating a new gene database in LOVD is largely
automated. Click the “Create a new gene entry”
option of the “Genes” tab dropdown menu, or
the “Create a new gene database” link in the setup area. Fill in the HGNC ID or the gene
symbol of the gene you want to create, and click “Continue »”. LOVD will check if the gene
already exists in this LOVD installation, and if the gene symbol or HGNC ID is correct. For
this, it contacts the HGNC website. If the gene symbol you used has been replaced by a new
one, or if LOVD can find genes for which the given symbol is an alias, LOVD will report back
the official symbol(s).
Unfortunately, due to some problems on the side of the NCBI, we are unable to
handle variants on the mitochondrial genome at this time. NCBI does not handle
the MT genes by their official names, and doesn’t allow for automatic retrieval of
reference sequences for the MT genes. When the NCBI has fixed this problem, we
will implement support for MT genes.
LOVD will show a progress bar while it contacts several webservices to retrieve gene infor-
mation, reference sequence information and available transcript information. Usually retrieving
this information takes about 1-3 seconds, but this depends on the internet connection between
the server and the internet and the current load on the webservices which are contacted. When
LOVD has retrieved all the information, you are forwarded to the data entry form where you
can review the retrieved information and complete this gene’s settings.
31
6. Gene databases Creating a new gene database
General information
This part describes the bare essentials of the gene information. Therefore, most of the infor-
mation in this section has been filled in for you, and some values are fixed to ensure the data
is correct.
Full gene name
This information has been filled in for you, and can’t be changed.
Official gene symbol
This information has been filled in for you, and can’t be changed.
Chromosome
This information has been filled in for you, and can’t be changed.
Chromosomal band
The chromosomal band on which the gene lies, is retrieved from the HGNC. You may
modify it, if you wish.
Imprinting
If known, please fill in if this gene is imprinted (maternal or paternal) or not.
Date of creation
Note: This field can only be filled in when creating a gene database and can never be
edited afterwards!
The database’s date of creation is mentioned on the gene homepage. Today’s date will
automatically be stored if you leave this field empty, but in case you already had a gene
database but you’re moving it to this LOVD installation, you may want to fill in a different
date.
Relation to diseases
This gene has been linked to these diseases
By linking the gene to disease(s), LOVD can help predicting next steps in data submission,
and the link to the disease information will be shown on the gene homepage. If a disease
you need is not present in this list, you can click the “configure more diseases” link below
the selection list to create a new disease now. Afterwards, reload the gene form so you
can select the new disease.
Alternatively, create the disease after the gene has been created.
Reference sequences
Collecting variants requires a proper reference sequence. Without a genomic and a transcript
reference sequence the variants in this LOVD database cannot be interpreted properly or
mapped to the genome. When properly configured, LOVD will add links to the Ensembl,
NCBI and UCSC genome browsers from the gene homepage, generating a nice visual overview
of the variants in the database.
Genomic reference sequence
Select the genomic reference sequence (NG or NC accession number). Only the references
that are available to LOVD are shown. Checking for an available NG reference sequence
is done at the NCBI. The NC reference sequence is always available, and depends on the
chromosome on which the gene lies.
32
6. Gene databases Creating a new gene database
Transcript reference sequence(s)
LOVD retrieves a list of available transcripts from Mutalyzer. Mutalyzer currently only
supports NCBI reference sequences. Please select which transcript you want to use to
name the variants in this gene. If there are more transcripts, usually you would pick
the transcript that encodes for the longest protein, or the transcript that is expressed
in the tissue you focus your research on. If you want to add more transcripts later, or
change which transcript(s) you want to use for this gene database, see the chapter Gene
transcripts.
Links to information sources
Here you can add links to other resources that will be displayed on the gene’s LOVD gene
homepage, such as Entrez Gene, OMIM, HGMD or GeneTests, but you can also add links to
any website you want.
Homepage URL
If you have a separate homepage about this gene, you can specify the URL here. For the
format: use the complete URL, including “http://” or “https://”.
External links
Here you can provide links to other resources on the internet that you would like to
link to, such as other gene variant databases, or websites with more information about
diagnostics. If you want to include more than one link, put every link on a new line in this
field. If you do not want to include a title for this link, simply paste the full URL in this
field, such as “http://DMD.LOVD.nl/”. If you do want to include a title, use the format
“Description <URL>”, such as “Other LOVDs on this gene <http://DMD.LOVD.nl/>”.
HGNC ID
This information has been filled in for you, and can’t be changed.
Entrez Gene (Locuslink) ID
This information has been filled in for you, and can’t be changed.
OMIM Gene ID
This information has been filled in for you, and can’t be changed.
Provide link to HGMD
If you wish to include a link from the gene homepage to the gene’s page on the HGMD
site, enable this checkbox.
Provide link to GeneCards
If you wish to include a link from the gene homepage to the gene’s page on the GeneCards
site, enable this checkbox.
Provide link to GeneTests
If you wish to include a link from the gene homepage to the gene’s page on the GeneTests
site, enable this checkbox.
This gene has a human-readable reference sequence
Although GenBank files are the official reference sequence, they are not very readable for
humans. If you have a human-readable format of your reference sequence online, please
select the type here; “Coding DNA” or “Genomic”.
33
6. Gene databases Creating a new gene database
Human-readable reference sequence location
To create a human-readable reference sequence file, you can use our Reference Sequence
Parser. It retrieves the reference sequence from Mutalyzer, and formats it into a human-
readable format with good annotation of the upstream sequence, the exons, the introns,
the downstream sequence, the predicted protein sequence and the alternative stop codons.
Fill in the complete URL of the file, including “http://” or “https://”.
Customizations
LOVD allows you to customize the gene homepage by adding citation references, headers,
footers, notes and a disclaimer. The header and footer will also be shown on the variant
listings.
Citation reference(s)
Using our PubMed custom link, you can add links to PubMed articles to cite your
database or that you want to point visitors to.
Include disclaimer
If you want a disclaimer added to the gene’s LOVD gene homepage, select your preferred
option here.
Text for own disclaimer (HTML enabled)
Only in case you selected the “Use own disclaimer” in the field above, you can enter the
text here. Text in this field will be ignored if you disabled the disclaimer or selected the
standard LOVD disclaimer.
Page header (HTML enabled)
If you want a gene-specific header on all public gene-specific pages, please enter the text
here.
Header aligned to
In case you defined a page header, here you can select how you want it aligned - left,
center or right.
Page footer (HTML enabled)
If you want a gene-specific footer on all public gene-specific pages, please enter the text
here.
Footer aligned to
In case you defined a page footer, here you can select how you want it aligned - left,
center or right.
Notes for the LOVD gene homepage (HTML enabled)
Text entered here will appear in the General Information box on the gene’s homepage.
In general, curators put additional information about the database here, such as how the
data in the database was collected, grants supporting this work, or news.
Notes for the variant listings (HTML enabled)
Text entered here will appear below the gene’s variant listings.
Security settings
Using the following settings you can control some security settings of LOVD.
Allow public to download variant entries
This controls whether or not the public can also make downloads of your gene’s variants.
34
6. Gene databases The gene homepage
6.2 The gene homepage
Required level: None (public)
Available from: LOVD 3.0 Build 01
LOVD automatically generates a gene homepage
for every gene created within LOVD. The gene
homepage is the entry point for visitors of a
locus-specific database. In installations where LOVD is used for next-generation sequencing,
the gene homepage serves more as a summary page of the gene-specific data in LOVD. Besides
showing the basic information known about the gene in question (symbol, name, chromosome
band, variant statistics, etc), curators also have quite a few options to customize the gene’s
homepage.
If the gene you wish to view is already selected (its name is on the top of the page), simply
click the “Genes” tab to open the gene’s homepage. Otherwise, move your mouse over the
“Genes” tab, and select the “View all genes” menu option. Then, locate the gene you wish to
edit by searching or browsing through the given genes listing. Clicking the entry will direct
you to the gene’s homepage.
Once on the gene’s homepage, the gene will be selected (its name will appear on the very
top of the page), which allows faster navigation to information related to the gene of interest.
For instance, when a gene is selected and you click the “Variants” tab, you are directed to the
gene-specific variant overview. If no gene is selected, clicking on the same tab shows all variants
in the database on the genome level. If you do not like this behavior, simply move your mouse
over a tab, and select a different option from the dropdown menu.
6.3 Editing a gene database
Required level: Curator
Available from: LOVD 3.0 Build 01
Curators, appointed to a gene database, have the
rights to edit its settings. Managers and up can
edit all gene databases in the LOVD installation.
To edit the gene’s settings, first proceed to the gene’s homepage.
Options menu button
Click on the “Options” menu button to open up the gene
entry’s menu. If you do not see the “Options” menu button, you
are not logged in or you do not have rights to edit this gene’s
settings. In the opened menu, click “Edit gene information” to
open up the gene’s edit form. The fields on the form are explained in the section Creating
a new gene database. After you submit the form, LOVD redirects you automatically back to
the gene’s homepage.
6.4 Deleting a gene database
Required level: Manager
Available from: LOVD 3.0 Build 01
Only managers and up can delete gene databases
from LOVD. To delete the gene database in
question, first proceed to the gene’s homepage.
Click on the “Options” menu button to open up the gene entry’s menu, and select the “Delete
gene entry” option. To complete the removal, you need to fill in your password and submit the
form.
35
6. Gene databases Assigning curators and collaborators
Removing a gene can not be undone, you will need to create the gene database again.
If in any doubt, first make a download of the database so that you can restore your
data if needed. Please note that deleting a gene removes also its transcripts in the
database and therefore all variant annotation on the gene in question, but it does
not remove the genomic variants from the database. To remove these as well, you
should first empty the gene database, which deletes all its variants and also deletes
all other connected data such as individuals and phenotypes, as long as these are
not connected to other genes as well.
6.5 Assigning curators and collaborators
Required level: Manager
Available from: LOVD 3.0 Build 01
Managers and up can assign curators and col-
laborators to gene databases, as well as revoke
curator or collaborator rights. Directly after cre-
ating a new gene database, you are forwarded to the page that allows you to make these changes,
but you can access that page at any time by using the “Add/remove curators/collaborators”
link in the “Options” menu on the gene’s homepage.
Figure 6.1: The “Authorize curators” form, with on the top the users who are available to be selected, and
on the bottom the selected curators and collaborators.
On the top of the page, you see a listing of all available users in the system, whichever
level they have. Users that are already selected as curators or collaborators are shown in the
bottom. To add a user as a curator or collaborator, search for the user in the top user list, and
click the user entry. The user is then moved to the bottom.
In the bottom table, you see two checkboxes for each user. Also, you can sort the curators
by dragging and dropping them in the list (see subsection Sorting curators). The first checkbox
indicates whether or not they are allowed to edit the data in this gene’s database. Users allowed
36
6. Gene databases Assigning curators and collaborators
to edit the data, are curators. Unchecking this checkbox turns this user in a collaborator for
this gene; they can still see all public and unpublic data in this gene database, but they can’t
edit it, like curators can. If the user is to be a curator, they will receive notifications of variant
data submissions and submission updates. Collaborators do not receive such emails.
The second checkbox indicates whether or not the user’s name and email address is shown
on the gene homepage and on the top of every page while this gene is selected. Curators
can be hidden from the gene homepage and the page headers by unchecking this checkbox.
Collaborators are always hidden, it is therefore not possible to change the second checkbox
while the first checkbox is unchecked.
To remove an user as a curator or collaborator, click the red cross at the far right side of
the table. You can only assign or remove curators if your user level is higher than that of the
user you wish to assign/remove.
Please note that managers and the database administrator can never be made collaborators,
since disallowing them to edit data contradicts their user level. They will always be allowed to
edit all data in the system. Selecting them as curators doesn’t grant them additional access
rights, but does enable the notification emails.
Also, please note that all genes in LOVD should have at least one visible curator. To be
able to successfully submit the “Authorize curators” form, there needs to be at least one user
with the “Allow edit” and “Shown” checkboxes checked.
Sorting curators
Figure 6.2: The “Sort curators” form, allowing curators to resort the gene’s list of curator names, and show
or hide curators from the gene homepage and the page headers.
Required level: Curator
Available from: LOVD 3.0 Build 01
Since the curator names are shown on the
gene homepage and on the page headers, it is
sometimes necessary to sort the curator names
in a specific order. This can be done on the “Authorize curators” form (see figure 6.1 on page
36). Curators, who don’t have access to that form, use the “Sort/hide curator names” option
from the “Options” dropdown menu on the gene homepage. This form greatly resembles the
bottom part of the “Authorize curators” form, allowing to sort and show or hide the curator
names (see figure 6.2 on page 37).
Drag/sort handle
To resort the list of curators, move your mouse over the drag
handle (see figure) on the left of the curator name, and click and
drag the name up or down the list. Release the mouse button in
the preferred location. Don’t forget to click the “Save” button to save the new sort order!
37
7. Gene transcripts
LOVD3 handles transcripts very differently from LOVD2. In LOVD3, configuring at least
one transcript for a certain gene is necessary to be able to add variant data to the gene
database. Genomic variants can always be added, but to record the effect of a variant on
a certain gene, that gene must have at least one transcript defined. As a source for transcript
information, LOVD relies on Mutalyzer, which gathers transcript information from different
sources. Therefore, it is possible that new transcripts recently included in the NCBI database,
are not yet available in LOVD because either the NCBI hasn’t rebuilt its mapping database
yet, or Mutalyzer didn’t pick up the new mapping information yet. LOVD3 does not restrict
you in the number of transcripts you can configure per gene, but note that for each transcript
added, each variant gains more data fields that need to be filled in by the submitter, so make
sure that the additional transcripts are actually needed.
7.1 Which transcript(s) should I pick?
In principle, we suggest using the predominant transcript, especially if only changes in this
transcript cause a change in phenotype. Otherwise we recommend using the longest transcript
(i.e., the transcript resulting in the longest protein). Using the predominant transcript makes
confirmation of the variant effect on RNA level easier and usually the variant numbering on
this transcript will be most familiar with other research groups. Using the longest transcript
has the advantage of being able to annotate all exonic variants with a (predicted) effect on
protein level.
As said, LOVD3 allows you to use more than one transcript per gene. Good examples
that justify using multiple transcripts in LOVD, is when different transcripts are expressed
in different tissues, when changes in different transcripts cause different phenotypes, or when
different research groups focus on different transcripts (for example, when no transcript is
available that contains all exons).
7.2 Creating new transcripts
Required level: Curator
Available from: LOVD 3.0 Build 01
The simplest way to create a gene transcript
in LOVD, is to select it when creating a gene
database. However, if you’d like to add more
transcripts later, please proceed to the gene homepage. Click on the “Options” menu button
to open up the gene entry’s menu. If you do not see the “Options” menu button, you are not
logged in or you do not have rights to edit this gene’s settings. In the opened menu, click “Add
transcript(s) to gene” to open up the gene’s edit form. Please wait while we contact Mutalyzer
to provide a list of available transcripts. If you get the error message “No more transcripts
available that have not been added yet!”, then all transcripts that are available to Mutalyzer
have already been added to this gene.
Select the transcript(s) you would like to add, and click the button “Add transcript(s) to
gene”. After the confirmation, you will be forwarded to the gene homepage. Beneath the header
“Active transcripts” you can see which transcripts are now active.
38
7. Gene transcripts Editing a transcript
7.3 Editing a transcript
Required level: Curator
Available from: LOVD 3.0 Build 01
Because LOVD standardizes the transcript in-
formation, there is very little information that
is freely editable. At this moment, you are only
allowed to assign or change Ensembl identifyers to the transcript(s) you use. To edit a certain
transcript, proceed to the gene homepage, scroll down to “Active transcripts” and click the
transcript in question. Alternatively, click the “Transcripts” tab from anywhere in LOVD. If
you already had a gene database selected, you now see the transcripts active in this gene and
you can click one to view its details. If you did not have a gene database selected, you now see
all transcripts in the database. Use the filtering boxes to find the transcript you are looking
for, and click it to view its details.
Click on the “Options” menu button to open up the transcript entry’s menu. If you do not
see the “Options” menu button, you are not logged in or you do not have rights to edit this
transcript’s settings. In the opened menu, click “Edit transcript information” to open up the
transcript’s edit form.
General information
This part contains IDs to other sources, to aid in data exchange.
Transcript Ensembl ID
If this transcript is also known in Ensembl, enter its Ensembl ENST ID here.
Protein Ensembl ID
If this transcript’s protein product is also known in Ensembl, enter its Ensembl ENSP ID
here.
Protein Uniprot ID
If this transcript’s protein product has an Uniprot ID, enter it here.
7.4 Deleting a transcript
Required level: Curator
Available from: LOVD 3.0 Build 01
Deleting a transcript removes all information re-
lated to the transcript in question from all vari-
ants in the database. Just like when deleting a
gene, this does not remove the genomic variants from the database! From the transcript’s de-
tailed view, click on the “Options” menu button to open up the transcript’s menu, and select
the “Delete transcript entry” option. On the next page, confirm by typing your password in
the input box and submit the form to complete the removal.
39
8. Custom columns
To make sure LOVD can be used by a great variety of users who all focus on storing different
data, LOVD allows great flexibility in the form of custom columns; data fields that can be
personalized by the curators, or even completely newly defined. All standard LOVD columns
can be edited and removed, except for the HGVS recommended columns, which can only be
edited but not removed. Besides this default set of selected columns which are added by default,
LOVD also comes with a set of columns that have not been added to the data tables yet, but
can be added with a click of a button. Additional columns can be created to suit your every
need.
8.1 Custom column categories
In LOVD3, custom columns come in five different categories.
Individual
Information on the individual, not related to disease, not changing over time, such as
date of birth, geographic or ethnic origin.
Phenotype
Information on the phenotype, related to disease, possibly changing over time, such as
blood pressure, body length or date seen by specialist.
Screening
Information on the detection of new variants, such as detection technique, laboratory
conditions or type of sample taken from the individual.
Variant On Genome
Information on the variant(s) found, in general or on the genomic level, such as restriction
site change, DNA change on genomic level, or reference describing the variant.
Variant On Transcript
Information on the variant(s) found, specific for the transcript level, such as predicted
effect on protein level, DNA change on mRNA level, or exon number.
Of these five different categories, two are shared: they can be turned on or off by curators
for specific diseases or genes, their so-called parent objects. Some of these columns’ settings can
also be changed per parent object they are enabled in. The two shared custom column types
are “Phenotype”, configurable per disease, and “Variant On Transcript”, configurable per gene.
The other three categories are system-wide; meaning they are either always on (enabled),
or always off (disabled). These column are referred to as non-shared columns, and can only
be enabled, disabled and managed by Manager level users, or the Database administrator.
The three non-shared custom column types are “Individual”, “Screening” and “Variant On
Genome”.
40
8. Custom columns Creating a new custom column
8.2 Creating a new custom column
Required level: Manager
Available from: LOVD 3.0 Build 01
By creating a new custom column, you can de-
fine what kind of information you want to store
in the database. Please note that defining this
type of information, does not automatically make LOVD store this information. You will need
to enable the column after defining it, so it actually gets added to the data entry form and
show up in the data tables.
To create a new custom column, click on the “Create new custom data column” option
from the “Setup” tab dropdown menu, or the “Create new custom data column” link in the
setup area. Firstly, you will need to choose which type of column you would like to create.
For more information on the different column types, see the previous section. Please note that
you can never change the type of a column once it has been chosen. Select the type of column
you would like to create, by clicking its description. You are then forwarded to the entry form
specific for this type of custom column.
Column name and descriptions
Here the description of the new column is defined; its displayed name and the explanation of
its contents to the users.
Column ID
Choose a simple unique name for your column, consisting of only letters, numbers and
underscores. Subcategories must be divided by a slash (/), such as “Geographic_origin/
Country”, “Blood_pressure/Systolic”, “Protocol/Date_updated”, “Frequency/dbSNP”
or “Protein/Codon”.
Column heading
This will appear above the column in data tables and on the legend. In principle, this
is free text, but try to keep it short, because a long name will increase the width of the
column.
Description on short legend (HTML enabled)
For shared columns, this value can be changed separately for each parent object this column
has been added to.
Describe the meaning of the column in short. This will appear when a user moves their
mouse over the column header in the data tables.
Description on full legend (HTML enabled)
For shared columns, this value can be changed separately for each parent object this column
has been added to.
Describe the meaning of the column. You can be very elaborate here. This text will be
shown on the full legend of the data table.
Data and form settings
Here you define what the column looks like on the data entry form, and what kind of data it will
store. There are two ways to define the data type of your custom column. The recommended
way is to use the data type wizard, which will fill in the MySQL and the form type values.
Only if you really know what you’re doing, you can edit the MySQL data type and the form
type directly. Its formats are out of the scope of this manual, and therefore not explained here.
41
8. Custom columns Creating a new custom column
Using the data type wizard
To start the data type wizard, click the “Start data type wizard” button. The wizard will open
in a new window.
Firstly, you need to select what type of data entry field you want to create for your custom
column. In the “Basic form style” field, choose from one of these options:
Text/numeric input field
A standard input field allowing textual or numerical free text input.
Integer input field
A standard input field, visually similar to the text/numeric input field, but allowing only
whole numbers to be filled in.
Decimal input field
A standard input field, visually similar to the text/numeric input field, but allowing only
numbers with a configurable number of decimals.
Large multi-row textual input field
A large text field with multiple rows, allowing large amounts of text to be filled in.
Drop down list (one option selected)
A drop down list with a set of options of which the user must choose one value.
Selection list (multiple options selected)
A selection list where the user can select one or more options or ranges.
Date input field
A standard input field, visually similar to the text/numeric input field, but allowing only
dates (year, month, day), optionally also storing time (hours, minutes, seconds). The
input format is YYYY-MM-DD or YYYY-MM-DD HH:MM:SS.
On/off checkbox
A simple checkbox allowing only a yes/no answer.
Select the wanted data entry type and click “Next »”.
The next page shows you some additional options that depend on the type of field you’ve
chosen.
Column name on form (all field types)
The name the column will have on the data entry form. This is usually the same as the
“Column heading” field.
Help text (all field types)
If you think the data field needs clarification for users, especially those who don’t know
this field well, add such clarification here. By filling in this field, LOVD will add a question
mark icon next to the field on the data entry form. When the user moves their mouse
over the question mark icon, the text entered here is shown. Since the text is shown as
a highlight, it does not disrupt the structure of the data entry form, so feel free to type
lengthy texts.
42
8. Custom columns Creating a new custom column
Notes on form (all field types, HTML enabled)
For shared columns, this value can be changed separately for each parent object this column
has been added to.
If you think the data field needs clarification for all users, add such clarification here.
The text given here will be shown directly underneath the data entry field. Therefore,
keep it short, since long texts will make the data entry form very long.
Width on form (characters) (all input fields and text area)
The input field width on the form, in number of characters.
Height on form (lines) (text area and multiple selection list)
The height of your field on the data entry form, in lines. For multiple selection lists, this
implies the number of options visible at the same time.
Maximum input length (characters) (text and integer input field types)
The maximum number of characters allowed the be filled in. If a user tries to enter more
characters in your field, an error is issued. For the integer input type, this implies the
maximum value that can be filled in.
Number of digits before the decimal point (decimal field only)
The maximum number of digits allowed before the decimal point. This practically limits
the maximum value of the field.
Number of digits following the decimal point (decimal field only)
The maximum number of digits allowed at the right of the decimal point. This limits the
maximum precision of values in the field.
Regular expression pattern (text input only)
For advanced users only. You can enter a full regular expression pattern (PHP’s Perl-
compatible regular expression syntax), including ‘/’ delimiters and possible modifiers.
Using this, you can force a certain format for the input. Make sure it’s valid, otherwise
you risk getting all this column’s data input rejected.
Allow only positive values (integer and decimal fields)
Select this to allow only positive numbers to be entered.
Provide “– select –” option (drop down list only)
This will add an option named “– select –” to the list of options, that will be selected by
default and will be regarded as an empty value. If this option is not set, the first option
of the list will be the default selected option.
Provide “select all” link (multiple selection list only)
This will add a link next to the selection list that allows the user to instantly select all
available options.
List of possible options (both list types)
For shared columns, this value can be changed separately for each parent object this col-
umn has been added to.
Enter the options available for this field, one options per line. If you want to use abbrevi-
ations, use: Abbreviation = Long name, like “DMD = Duchenne Muscular Dystrophy”.
In that case the user will see the long name in the selection list, but the abbreviation will
be stored in the database.
Also store time? (date field only)
Select this to also store time (hours, minutes, seconds) in this date field.
43
8. Custom columns Creating a new custom column
Default value (all input fields except text area)
A default value that will appear in the field when creating a new data entry.
Click the “Finish” button to have the data type wizard fill in the “MySQL data type” and
“Form type” fields for you, based on the information you provided.
Column settings
Here you can change some of the column’s settings. For shared columns (see section Custom
column categories”), most of these settings can also be changed per parent object where this
column has been added to.
Include this column for newly configured genes/diseases (shared columns only)
When this is selected, new genes (for VariantOnTranscript columns) or diseases (for
Phenotype columns) will have this custom column enabled by default. When you leave
this off, the curators of new genes or diseases will have to enable the column themselves,
should they want to use it.
Column display width in pixels
For shared columns, this value can be changed separately for each parent object this column
has been added to.
Here you can define how wide the column should be in data listings. This is measured in
pixels. Since the width depends on the screen’s resolution, a hint is provided how wide
the currently selected width is on the current screen.
Mandatory field
For shared columns, this value can be changed separately for each parent object this column
has been added to.
With this option selected, users can’t leave this column empty.
Show contents to public
For shared columns, this value can be changed separately for each parent object this column
has been added to.
This controls whether or not users with no specific authorization on the data entry can
see the contents of this column.
Show field on submission form
For shared columns, this value can be changed separately for each parent object this column
has been added to.
If you don’t want submitters to fill in this column, but reserve the use for curators, disable
this checkbox. Please note that unsetting this will not hide the contents of the column
from the public, it merely stops them from entering data in it.
Link settings
Here you can select which custom links will be active in this custom column.
Active custom links
Select any number of custom links, or leave all unselected if you do not wish to use custom
links in this field. Note that the use of custom links only makes sense for fields that accept
text input.
Enter your password at the bottom of the form and submit it. Your custom column is now
created, and you can choose to enable the column if you wish. Also, you might want to check
the column order, since newly created custom columns are appended to be the last column.
44
8. Custom columns Enabling custom columns
8.3 Enabling custom columns
Directly after creating a new custom column, or at any later time, you can enable a custom
column. It must already exist in the database, otherwise you first need to create it. Non-
shared custom columns (Individual, Screening and Variant On Genome categories) are enabled
system-wide, which requires manager access. Shared custom columns (Phenotype and Variant
On Transcript categories) can be enabled by parent-object (disease or gene, respectively) and
require curator access.
Enabling non-shared custom columns
Required level: Manager
Available from: LOVD 3.0 Build 01
The non-shared, system-wide custom column
types are Individual, Screening and Variant On
Genome. To enable a non-shared custom col-
umn, you should start from the list of currently available columns. You can get there in two
ways:
Depending on which type of column you wish to enable, click the “Enable more custom
columns” link in the “Individuals” or “Screenings” menu tabs’ dropdown menu, or the
“Enable more genomic custom columns” link from the “Variants” menu tab dropdown
menu.
Click the “Browse all custom data columns” link of the setup menu tab dropdown menu,
or from the setup area, click the “Browse all custom data columns already available to
enable or disable them, or view or edit their settings” link listed under “Custom data
columns”. This is the list of all custom columns. To filter this list for category, click the
options wheel icon on the top left hand side of the columns listing to open up the menu,
and select the category you are interested in. You can also filter for category by typing
(part of) the name in the “Category” column filter box, and press the “Enter” key. To
further filter the list for columns not yet added to the data table, fill in a zero (‘0’) in the
“Active” column filter box and press the “Enter” key.
From the column overview, click the column you wish to enable.
In the detailed view of the custom column, you can review all the column’s settings to
verify that it suits your needs. Click the “Options” menu button to open up the column’s
menu, and click on “Enable column”. Please note that when your database already contains
a lot of information, enabling a new non-shared column may take some time. If this is the
case, LOVD will display a warning. Type in your password in the “Enter your password for
authorization” field for verification of your authorization, and submit the form. The column is
now enabled and visible in the data entry forms and the data listings and detailed views. You
may want to review or change the order of the custom columns now.
Enabling shared custom columns
Required level: Curator
Available from: LOVD 3.0 Build 01
The shared custom column types are Phenotype
and Variant On Transcript. Before enabling
more shared columns, you might first want to
check out the default order in which they will appear. To change the default order for shared
custom columns, see subsection Changing the system-wide custom column order.
To enable a shared custom column, you should start from the list of currently available
columns. You can get there in two ways:
45
8. Custom columns Editing custom column settings
From any disease or gene that you have authorization of, open the “Options” menu
button and click the “View all available phenotype columns” or “View all available variant
columns” link, depending on which type of column you wish to enable.
If you’re a manager or higher, click the “Browse all custom data columns” link of the
setup menu tab dropdown menu, or from the setup area, click the “Browse all custom
data columns already available to enable or disable them, or view or edit their settings”
link listed under “Custom data columns”. This is the list of all custom columns. To filter
this list for category, click the options wheel icon on the top left hand side of the columns
listing to open up the menu, and select the category you are interested in. You can also
filter for category by typing (part of) the name in the “Category” column filter box, and
press the “Enter” key.
Please note that in this custom column overview, the “Active” field simply states whether or
not this column has been added to the data table, i.e. is active for any parent object.
From the column overview, click the column you wish to enable.
In the detailed view of the custom column, you can review all the column’s settings to verify
that it suits your needs. Click the “Options” menu button to open up the column’s menu, and
click on “Enable column”. Please note that if this shared custom column was not active yet and
your database already contains a lot of information, enabling this column may take some time.
If this is the case, LOVD will display a warning. From the “Add this column to” selection list,
select the parent objects (diseases or genes) you wish to enable this column for. For help on
how to use this type of selection list, move your mouse over the blue help icon. If the parent
object you are looking for is not shown in this list, you have no authorization on the object to
change its column’s settings, or the column is already active for the object.
Finally, type in your password in the “Enter your password for authorization” field for
verification of your authorization, and submit the form. The column is now enabled and visible
in the data entry forms and the data listings and detailed views. To make sure the column
ended up in the right order between the already enabled ones, you may want to review or
change the object-specific order of shared custom columns.
8.4 Editing custom column settings
Shared columns have some settings, mostly related to the display of the column, which can be
set per parent object (a certain disease or gene). We will refer to these settings as object-specific
settings. All other settings are system-wide and can only be performed by a manager or higher.
Non-shared columns only have system-wide settings and can not be configured per disease or
gene.
Editing system-wide custom column settings
Required level: Manager
Available from: LOVD 3.0 Build 01
Both shared and non-shared columns have sys-
tem-wide settings that can be changed by a man-
ager or higher. However, the way these columns
respond to changes to the system-wide settings are not the same. For non-shared columns,
each change to the system-wide settings will be effective immediately. For shared columns,
only the settings that are not object-specific (see above) are effective immediately. All changes
to object-specific settings however, come to serve as new default values for when the custom
column in question is activated for new genes or diseases. Already enabled shared custom
46
8. Custom columns Editing custom column settings
columns will not have their object-specific settings reset, unless they are explicitly reset to the
(new) default settings (described in the paragraph below).
To edit a custom column’s system-wide settings, you should start from the list of currently
available columns. Click the “Browse all custom data columns” link of the setup menu tab
dropdown menu, or from the setup area, click the “Browse all custom data columns already
available to enable or disable them, or view or edit their settings” link listed under “Custom
data columns”. This is the list of all custom columns. To filter this list for category, click the
options wheel icon on the top left hand side of the columns listing to open up the menu, and
select the category you are interested in. You can also filter for category by typing (part of) the
name in the “Category” column filter box, and press the “Enter” key. Now, click the column
which settings you wish to edit. Click the “Options” menu button to open up the column’s
menu, and click on “Edit custom data column settings”.
The form to edit the system-wide settings is equal to the form used to create a new custom
column, with two exceptions. The “Column ID” field is not present here, since you can not
change a column’s ID once you created it. Also, for shared columns, at the bottom of the form
a checkbox is present labeled “Apply changes to all genes/diseases where this column is active”.
Checking this checkbox effectively resets all enabled instances of the column and applies all
changes you make on this form to them, overwriting possible modifications of object-specific
settings. All other fields on this form are explained in the section Creating a new custom
column.
Editing object-specific (shared) custom column settings
Required level: Curator
Available from: LOVD 3.0 Build 01
The object-specific settings, editable per gene or
disease, are (also see section Creating a new
custom column”):
Description on short legend
Description on full legend
Notes on form
List of possible options (for selection list type columns)
Column display width in pixels
Mandatory field
Show contents to public
Show field on submission form
To change these settings, first you need to proceed to the detailed view of the disease or gene
in question. For Phenotype columns, move your mouse over the “Diseases” menu tab, and click
the “View all diseases” link from the dropdown menu. For Variant On Transcript columns,
move your mouse over the “Genes” menu tab, and click the “View all genes” link from the
dropdown menu. Then, select the parent object you would like to change the object-specific
settings for.
From the parent object’s detailed view, open the “Options” menu and click the “View
enabled phenotype columns” or “View enabled variant columns” link. From the list of enabled
columns, click the one you wish to edit the settings for. Open up the “Options” menu and
then click “Edit settings for this disease only” for Phenotype columns, or “Edit settings for this
gene only” for Variant On Transcript columns. For explaination of the available fields, please
see the section Creating a new custom column. After submitting the form, the changes are
effective immediately, but applied to the chosen parent object only.
47
8. Custom columns Changing the order of custom columns
8.5 Changing the order of custom columns
Custom columns are shown in a predefined, but adaptable order. This order determines how
custom columns are shown in the data tables, in the download files, and on data entry forms.
It is therefore important that the columns are sorted in a sensible order.
Just like the custom column settings, shared columns can have an object-specific order,
different from the default order. Similarly, the order of non-shared columns is system-wide and
needs to be configured by a manager or up.
Please note that columns from different categories can not be mixed. Some data listings
show overviews of different types of data joined together, such as variants on genomic level
joined with the variant’s effect on transcript level. In this case, the columns representing
genomic data, such as chromosome, DNA description on genomic level and the allele field, can
not be mixed with columns representing data related to the change on the transcript, such as
exon number, DNA description on the transcript level or the effect on protein level. Only the
order in which each category’s columns are shown, can be changed.
Changing the system-wide custom column order
Required level: Manager
Available from: LOVD 3.0 Build 01
For non-shared columns, changing the system-
wide custom column order will effectively change
the current order in which they are shown in
data listings and data entry forms. For shared columns, changing the system-wide order will
merely change the default order in which the columns appear when new parent objects (diseases,
genes) are created. It also influences where a newly enabled column will show up amidst the
columns already active for the object it just got added to. The order of already enabled shared
custom columns will not be affected.
To change the custom column’s system-wide order, you should start from the list of currently
available columns. Click the “Browse all custom data columns” link of the setup menu tab
dropdown menu, or from the setup area, click the “Browse all custom data columns already
available to enable or disable them, or view or edit their settings” link listed under “Custom
data columns”. This is the list of all custom columns. To filter this list for category, click the
options wheel icon on the top left hand side of the columns listing to open up the menu, and
select the category you are interested in. Now, click the options wheel icon again, and click
the “Change order of columns” link. Alternatively, first select one of the columns from the
selected category, and on the detailed view open the “Options” menu and click the “Re-order
all «category» columns” link.
Drag/sort handle
You now see all custom columns in this category, both active
and not active. On the left of each column’s header you see a
handle (see figure) to drag the column up or down. To change
the order in which the columns are shown, move your mouse over the drag handle, and click
and drag the name up or down the list. Release the mouse button where you wish to drop the
column. Don’t forget to click the “Save” button to save the new sort order!
48
8. Custom columns Disabling custom columns
Changing the object-specific order of shared custom columns
Required level: Curator
Available from: LOVD 3.0 Build 01
When a new gene or disease is created, the cur-
rent system-wide order of Variant On Transcript
or Phenotype columns respectively, is copied and
becomes this object’s order of columns. Curators and up can change this order, for instance
when a new column has been enabled, since newly enabled columns are very likely to end up
as the last column which may not be desired.
To change the order, first you need to proceed to the detailed view of the disease or gene in
question. For Phenotype columns, move your mouse over the “Diseases” menu tab, and click
the “View all diseases” link from the dropdown menu. For Variant On Transcript columns,
move your mouse over the “Genes” menu tab, and click the “View all genes” link from the
dropdown menu. Then, select the parent object you would like to change the order of the
custom columns of.
From the parent object’s detailed view, open the “Options” menu and click the “Re-order
enabled phenotype columns” or “Re-order enabled variant columns” link. Alternatively, click
the “View enabled phenotype columns” or “View enabled variant columns” link from the menu,
and on the page that follows open the “Options” menu to click the “Change order of columns”
link.
Drag/sort handle
You now see the enabled columns for the selected parent ob-
ject, with on the left of each column’s header a handle (see figure)
to drag the column up or down. To change the order in which
the columns are shown, move your mouse over the drag handle, and click and drag the name
up or down the list. Release the mouse button where you wish to drop the column. Don’t
forget to click the “Save” button to save the new sort order!
8.6 Disabling custom columns
Custom columns that you no longer wish to use, can in most circumstances be removed by
disabling the column. Exceptions in this case are HGVS standard columns. HGVS standard
custom columns are columns that are part of the mandatory minimal data set as defined by the
HGVS for Locus-Specific DataBases (LSDBs). This is to preserve the minimal quality of the
data within the database, and LOVD will not allow you to remove these columns. Disabling
non-shared custom columns is a system-wide change, which requires manager access. Disabling
shared custom columns can be done per parent-object and requires curator access.
Disabling non-shared custom columns
Required level: Manager
Available from: LOVD 3.0 Build 01
To disable a non-shared custom column, you
should start from the list of currently active
columns. You can get there in two ways:
Depending on which type of column you wish to disable, click the “View active custom
columns” link in the “Individuals” or “Screenings” menu tabs’ dropdown menu, or the
“View active genomic custom columns” link from the “Variants” menu tab dropdown
menu.
Click the “Browse all custom data columns” link of the setup menu tab dropdown menu,
or from the setup area, click the “Browse all custom data columns already available to
enable or disable them, or view or edit their settings” link listed under “Custom data
49
8. Custom columns Disabling custom columns
columns”. This is the list of all custom columns. To filter this list for category, click
the options wheel icon on the top left hand side of the columns listing to open up the
menu, and select the category you are interested in. You can also filter for category by
typing (part of) the name in the “Category” column filter box, and press the “Enter” key.
To further filter the list for columns currently enabled, fill in a one (‘1’) in the “Active”
column filter box and press the “Enter” key.
From the column overview, click the column you wish to disable.
Click the “Options” menu button to open up the column’s menu, and click on “Disable
column and remove values”. Please note that when your database already contains a lot of
information, disabling a non-shared column may take some time. If this is the case, LOVD will
display a warning. Type in your password in the “Enter your password for authorization” field
for verification of your authorization, and submit the form. The column is now disabled and
removed from the data entry forms and the data listings and detailed views.
If the “Disable column and remove values” link is not enabled, i.e. you see it, but you can’t
click it, the column is an HGVS standard column, and it can not be removed.
Disabling shared custom columns
Required level: Curator
Available from: LOVD 3.0 Build 01
Shared custom columns can be disabled for one
parent object only, or from multiple parent ob-
jects at the same time.
To disable the given column for one parent object only, proceed to the detailed view of this
parent object (disease or gene). Then, open the “Options” menu button and click the “View
enabled phenotype columns” or “View enabled variant columns” link, depending on the type
of column you wish to disable. Click the column, then from its “Options” menu button, select
“Remove column from this disease” or “Remove column from this gene”, depending on the
type of column. Please note that if this shared custom column will no longer be active for any
parent object and your database already contains a lot of information, disabling this column
may take some time. If this is the case, LOVD will display a warning. Type in your password
in the “Enter your password for authorization” field for verification of your authorization, and
submit the form.
If the “Remove column” link is not enabled, i.e. you see it, but you can’t click it, the column
is an HGVS standard column, and it can not be removed.
To disable the given column for multiple parent objects at the same time, start with one of
the following steps.
From any disease or gene that you have authorization of, open the “Options” menu
button and click the “View all available phenotype columns” or “View all available variant
columns” link, depending on which type of column you wish to disable.
If you’re a manager or higher, click the “Browse all custom data columns” link of the
setup menu tab dropdown menu, or from the setup area, click the “Browse all custom
data columns already available to enable or disable them, or view or edit their settings”
link listed under “Custom data columns”. This is the list of all custom columns. To filter
this list for category, click the options wheel icon on the top left hand side of the columns
listing to open up the menu, and select the category you are interested in. You can also
filter for category by typing (part of) the name in the “Category” column filter box, and
press the “Enter” key.
50
8. Custom columns Deleting custom columns
To further filter the list for columns currently enabled, fill in a one (‘1’) in the “Active” column
filter box and press the “Enter” key. Please note that in this custom column overview, the
“Active” field simply states whether or not this column has been added to the data table, i.e.
is active for any parent object.
From the column overview, click the column you wish to disable.
In the detailed view of the custom column, open its “Options” menu button, then select
“Disable column”. Please note that if this shared custom column will no longer be active for any
parent object and your database already contains a lot of information, disabling this column
may take some time. If this is the case, LOVD will display a warning. From the “Remove this
column from” selection list, select the parent objects (diseases or genes) you wish to remove
this column from. For help on how to use this type of selection list, move your mouse over
the blue help icon. If the parent object you are looking for is not shown in this list, you have
no authorization on the object to change its column’s settings. Finally, type in your password
in the “Enter your password for authorization” field for verification of your authorization, and
submit the form. The column is now disabled and removed from the data entry forms and the
data listings and detailed views.
If the “Disable column” link is not enabled, i.e. you see it, but you can’t click it, the column
is an HGVS standard column, and it can not be removed.
8.7 Deleting custom columns
Required level: Manager
Available from: LOVD 3.0 Build 01
Custom columns, which are created by users
(managers or the database administrator), can
also be deleted permanently from the system,
for instance if they were for testing purposes only or if they are no longer needed. First, you
need to make sure the column is no longer active. See section Disabling custom columns on
how to inactivate a column.
First, proceed to the column’s detailed view; access the custom data columns listing through
the setup menu tab dropdown menu or setup area, find the column you wish to delete, and
click on its entry. Then, from its “Options” menu button, select “Delete column”. Type in
your password in the “Enter your password for authorization” field for verification of your
authorization, and submit the form.
If the “Delete column” link is not enabled, i.e. you see it, but you can’t click it, the column
is either still active (check the ‘Active in LOVD?’ field), it’s an HGVS standard column (check
the ‘HGVS required column’ field), or it is created by LOVD itself (check the ‘Created by’
field). In any of these cases, the column can not be removed.
8.8 Downloading custom column data to text files
Required level: Manager
Available from: LOVD 3.0 Build 04
LOVD supports exporting the custom data col-
umns, including the columns’ system-wide set-
tings, to the LOVD import format. This file can
then be used as a backup or to share the custom columns specifications with other LOVD3
installations, by (re)importing the file into LOVD (from LOVD 3.0-05). Please note that from
LOVD 3.0-05, the custom column data is also included in the full LOVD download, available
from the setup area.
51
8. Custom columns Importing custom column data from text files
To download all custom column specifications, click the “Download all LOVD custom
columns” link in the setup menu tab dropdow menu, or from the setup area, click the “Down-
load all LOVD custom columns in the LOVD import format” link listed under “Custom data
columns”. We do not recommend you to edit this file.
For more information on the format, please see section The LOVD3 import format.
8.9 Importing custom column data from text files
Required level: Manager
Available from: LOVD 3.0 Build 05
Custom columns downloaded in the LOVD im-
port format can be reimported into LOVD.
LOVD will only import the custom columns
from the file which are not already in the system. LOVD does not compare the column’s
settings in the file versus what is in the database, LOVD just checks if the column IDs are
present in the database or not.
Please see section Importing data into LOVD on how to import data into LOVD.
52
9. Adding data to LOVD
All registered users can submit or add data to LOVD. A complete submission contains infor-
mation on an individual, disease and phenotype information (optional), variant screening(s),
and at least one found variant. You can add more information to your submission at any later
time, like new variants, phenotype information or a new screening. If you are a submitter level
user, all new data submissions have to be published by a curator before the data is visible
to the public. When finishing a submission, the curator(s) will receive an email notification,
inviting them to publish the data.
This chapter describes adding data to LOVD using the web forms. If you are a curator or
up and you wish to add data to LOVD using a tab-delimited file upload, please see chapter
Downloading & importing data. If you’re a programmer and you would like to submit data
in JSON format directly from your application using the LOVD3 submission API, please see
chapter The LOVD APIs.
9.1 Starting a submission by creating an individual
Required level: Submitter
Available from: LOVD 3.0 Build 01
You can submit new data by clicking the “Sub-
mit” tab, or by selecting the option “Create a
new data submission” from the dropdown menu
of the tabs “Individuals”, “Screenings” or “Variants”. Depending on your authorisation level,
you have different options for submitting data. As an submitter level user, your submission
always starts directly with creating an individual to whom you can link phenotype or variant
screening information. If you are registered as a curator or higher, choose “I want to submit
information on individuals” to enter individual information. As a curator or higher, you can
also choose to submit only summary variant data, although we do not recommend this. Please
see section Submitting summary variant data for details.
In the data entry form for data on the individual, most fields are optional in a standard
LOVD installation. You can check the help icon next to the form fields to see details about
the fields and suggestions on how to use the fields. After completing the form, click “Create
individual information entry”. When successful, a message is displayed several seconds: “Suc-
cessfully created the individual information entry!”. Hereafter, you are redirected to the menu
as displayed in figure 9.1, where you can choose how to proceed.
53
9. Adding data to LOVD Starting a submission by creating an individual
Figure 9.1: After completing the data entry form, you can choose to add phenotype information (if a disease
or “healthy/control” has been selected) or a variant screening to this individual. A submission
can only be finished after at least one screening with a variant is filled in.
Adding phenotype information to the individual
Required level: Submitter
Available from: LOVD 3.0 Build 01
When you created an individual, and this in-
dividual has been diagnosed with one or more
diseases, or when this individual is marked as
healthy/control, it is possible to add extra phenotype details to this individual. Select “I want
to add phenotype information to this individual” (figure 9.1), fill all required fields and click
“Create phenotype information entry”.
The option “I want to add phenotype information to this individual” is disabled when no
relation to diseases has been selected during the creation of this individual. If you wish to add
phenotype information while this option is disabled, you have to edit the individual, see section
Adding phenotype information to an individual on how to proceed.
Adding a variant screening to the individual
Required level: Submitter
Available from: LOVD 3.0 Build 01
By selecting “I want to add a variant screen-
ing to this individual” you can add a screen-
ing to the individual. For “Detection template”,
“Technique(s) used” and “Genes screened”, more than one item can be selected. Complete
the form, and when ready click “Create screening information entry”. When the entry is suc-
cessful, a message is displayed for several seconds: “Successfully created the screening entry!”.
Hereafter you are redirected to a menu as displayed in figure 9.2, where you can choose how to
proceed.
Adding a variant to a screening
Required level: Submitter
Available from: LOVD 3.0 Build 01
After adding a screening, you can add a variant
to this screening. It is possible to add more than
one variant to a screening. A submission can
only be finished when at least one variant has been added to the submission.
Confirming variants using a screening
When different variant screenings have been applied to the individual, for instance to confirm a
variant found using a different method, the screenings can be stored separately in the database.
54
9. Adding data to LOVD Starting a submission by creating an individual
Figure 9.2: After adding a screening, you can add a variant to this screening. “Back to the individual” will
leave this screening unfinished, and will return you to the choice to add phenotype information or
another screening.
Figure 9.3: Creating a new variant entry. Note: Only managers and up have the option “I want to upload a
file with genomic variant data” available.
Multiple screenings can be linked to the same variant, or have their own sets of variants. The
option to confirm variants using a screening is only available when at least two screenings are
added to the individual and variants have already been submitted. After choosing this option,
you are shown a list of variants already linked to other screenings of the individual, but not to
the currently selected screening (see figure 9.4). Click the checkmarks left of the variants that
you would like to mark as confirmed, and click “Save variant list”.
Adding a variant located within a gene
After choosing this option, you are shown a list of genes (see figure 9.5). If certain genes have
been selected while creating the screening, these are pre-selected. You can remove or edit the
pre-selection by removing or editing the configured filter in the “Symbol” column. Then click
the gene for which you want add a variant to proceed to the variant entry form. You can
check the help icon next to the form fields to see details about the fields and suggestions on
how to use the fields. Complete the form, and when ready, click the “Create variant entry”
55
9. Adding data to LOVD Starting a submission by creating an individual
Figure 9.4: Select a variant to confirm. Shown are the variants already linked to other screenings of the
individual, but not to the currently selected screening.
button. If successful, you are redirected to the options to submit more variants, or return to
the individual.
Figure 9.5: Click the gene for which you want to submit a variant.
Adding a variant only described on genomic level
You can create a variant which is only described on genomic level. The data entry form is
similar to the form for adding a variant within a gene, but lacks the transcript-specific fields.
Check the help icons next to the form fields to see details about the fields and suggestions on
how to use the fields. Complete the form, and when ready, click the “Create variant entry”
button. If successful, you are redirected to the options to submit more variants, or return to
the individual.
Uploading file with genomic variant data
If you are a manager or higher, you can upload a file with genomic variant data. This option
is not displayed for users with levels lower than manager. For uploading genomic variant data
56
9. Adding data to LOVD Continuing an unfinished submission
files, the Variant Call Format (VCF) version 4.0 or higher is supported.
Adding a variant to the individual
Required level: Submitter
Available from: LOVD 3.0 Build 01
The option “Add a variant to this individual”
as displayed in figure 9.1 is only available when
you already created a screening, and you selected
“Back to the individual” after creating a screening.
When you want to add a variant to the individual, using a screening you previously created,
you have to select the appropriate screening. Click the “Add a variant to this individual” option,
then click the screening you wish to add another variant to, and you will be redirected to the
menu where you can submit a new variant. See section Adding a variant to a screening.
Finishing the submission
Required level: Submitter
Available from: LOVD 3.0 Build 01
The option “I want to finish this submission” is
enabled for submitters when they completed a
submission, i.e., an individual, screening and at
least one variant have been added. Finishing a submission will send an email to the curator(s)
of the gene(s) affected by the variant(s) submitted, or the manager(s), for variants described
only on genomic level. They are thereby requested to publish the newly submitted data. You
as submitter of the data, will receive a copy of this email. As long as the data is not yet
published, the data is invisible for other users. You will however be able to see the data
previously submitted by you, at all times.
9.2 Continuing an unfinished submission
Required level: Submitter
Available from: LOVD 3.0 Build 01
If, for whatever reason, a data submission has
not been finished, it is stored in the list of un-
finished submissions. This also means that the
curator(s) did not get an email with the request to publish the newly submitted data. You can
continue an unfinished submission at any time, adding any missing information, and finishing
the submission to alert the curator(s) of the new data. To proceed with an unfinished sub-
mission, select “Unfinished submissions” in the top right corner of the screen. You will see an
overview of data submissions which are not yet finished. Select any submission to proceed. The
normal submission process will continue where it was left, for instructions see the appropriate
section in this chapter.
9.3 Submitting summary variant data
Required level: Curator
Available from: LOVD 3.0 Build 01
If you are a curator or higher, you can choose to
submit only summary variant data. This means
that no individual, phenotype or screening data
is submitted, only variant data. Although you can submit summary variant data, it is highly
discouraged because individual and phenotype data make the variant data much more valuable.
An example of a valid reason to submit summary variant data is for storing variant frequency
data of large populations.
57
9. Adding data to LOVD Adding data to already finished submissions
9.4 Adding data to already finished submissions
Required level: Submitter
Available from: LOVD 3.0 Build 01
It is still possible for the submitter to add data
to an individual or a screening when a submitter
finished the submission, regardless of whether
the curator published the data or not.
Adding a variant to a screening
Options menu button
To add a variant to an existing screening, click on the “Screen-
ings” tab and select a screening for which you are authorized.
Click on the “Options” menu button to open up the screening
entry’s menu. If you do not see the “Options” menu button, you
are not logged in or you do not have rights to edit this screening. In the opened menu, click
“Add variant to screening”. From here you can follow the steps described in the section Adding
a variant to a screening. After you submitted the variant data, LOVD sends an email to the
curator(s) and redirects you to the variant overview.
Adding screening to individual
Options menu button
To add a screening to an existing individual, click on the “Indivi-
duals” tab and select an individual for which you are authorized.
Click on the “Options” menu button to open up the individual
entry’s menu. If you do not see the “Options” menu button, you
are not logged in or you do not have rights to edit this individual. In the opened menu,
click “Add screening to individual” to open up the screening data entry form. You are now
in the submission process described in section Adding a variant screening to the individual.
The option “Back to individual” is not available when you submit a screening to an existing
individual. You can only finish this submission, if you also add at least one new variant to
this new screening, or select at least one previously submitted variant as confirmed by this new
screening. After finishing the submission, LOVD sends an email to the curator(s) requesting
the publication of the submission.
Adding phenotype information to an individual
Options menu button
To add phenotype information to an existing individual, click on
the “Individuals” tab and select an individual for which you are
authorized. Click on the “Options” menu button to open up the
individual entry’s menu. If you do not see the “Options” menu
button, you are not logged in or you do not have rights to edit this individual. In the opened
menu, click “Add phenotype information to individual” to open up the phenotype data entry
form, or, in the case this individual has been diagnosed with multiple diseases, to select which
disease you wish to add phenotype data for. If you do not see the “Add phenotype information
to individual” option, then the individual does not have any diseases linked yet. In that case,
edit the individual and select at least one disease from the list.
After you submitted the phenotype data, LOVD sends an email to the curator(s) and
redirects you to the phenotype data overview.
58
10. Downloading & importing data
10.1 The LOVD3 import format
The LOVD3 import format is based on the LOVD2 tab-delimited import format, but all data
is split into separate sections, preventing data duplication. Examples of sections are Genes,
Transcripts, and Diseases. Each section has its own set of fields. Sections refer to each other
using IDs. For instance, the Transcripts section has a geneid field that refers to an entry in the
Genes section with the same value in its id field. This way, transcripts are connected to genes.
### LOVD-version 3000-010 ### Full data download ### To import, do not remove or alter this header ###
# charset = UTF-8
# max_errors = 50
## Genes ## Do not remove or alter this header ##
"{{id}}" "{{name}}" "{{chromosome}}" "{{chrom_band}}" "{{id_hgnc}}" "{{id_entrez}}" "{{id_omim}}"
"IVD" "isovaleryl-CoA dehydrogenase" "15" "q14-q15" "6186" "3712" "607036"
## Transcripts ## Do not remove or alter this header ##
"{{id}}" "{{geneid}}" "{{name}}" "{{id_ncbi}}" "{{id_protein_ncbi}}"
"00064" "IVD" "isovaleryl-CoA dehydrogenase, transcript variant 1" "NM_002225.3" "NP_002216.2"
## Diseases ## Do not remove or alter this header ##
"{{id}}" "{{symbol}}" "{{name}}" "{{id_omim}}"
"00006" "IVA" "isovaleric acidemia" "243500"
## Genes_To_Diseases ## Do not remove or alter this header ##
"{{geneid}}" "{{diseaseid}}"
"IVD" "00006"
## Individuals ## Do not remove or alter this header ##
"{{id}}" "{{owned_by}}" "{{statusid}}" "{{Individual/Lab_ID}}" "{{Individual/Reference}}"
"00000124" "00001" "9" "FB102" "{PMID:Vockley et al (2000):10677295}"
## Individuals_To_Diseases ## Do not remove or alter this header ##
"{{individualid}}" "{{diseaseid}}"
"00000124" "00006"
## Screenings ## Do not remove or alter this header ##
"{{id}}" "{{individualid}}" "{{owned_by}}" "{{Screening/Technique}}" "{{Screening/Template}}"
"0000000116" "00000124" "00001" "RT-PCR;SEQ" "DNA;RNA"
## Screenings_To_Genes ## Do not remove or alter this header ##
"{{screeningid}}" "{{geneid}}"
"0000000116" "IVD"
Figure 10.1: Example (partial) LOVD import format file. This example file contains information about the
IVD gene, its first transcript variant, the IVA disease, the link between the IVD gene and the
IVA disease, and an individual linked to the IVA disease and screened for variants in the IVD
gene. Note the geneid field in the Transcripts section, which links a transcript to a gene, and the
individualid field in the Screenings section, which links a screening to an individual. The link
between genes and diseases and between screenings and genes are in a separate section because
each gene can be linked to multiple diseases, and each screening can test for variants in multiple
genes. Please note that a full LOVD download contains many more sections, and more columns.
This file has been shortened to fit this page. This example file is therefore not a valid import file.
The first line of the file contains the file’s header line, which indicates the LOVD version
number as well as the type of file. The LOVD version number is encoded and provided by
59
10. Downloading & importing data The LOVD3 import format
LOVD when creating a download. When importing, LOVD can decode the version and in case
the download format has changed between versions, convert the data into the correct format.
When this line is not included in the file that is imported, LOVD cannot process the file, and
halt.
Please NOTE that spreadsheets are well known for introducing errors in import-
ing/exporting text files, due to automatic interpretation of the values. When using
a spreadsheet program to edit a downloaded file, format all cells to "Text" before
importing/pasting the downloaded data.
Also some cases have been reported where MS Excel removed contents of large text
fields (> 255 characters).
The file’s data sections are indicated by lines starting with two hash characters (##),
followed by the name, again two hash characters, and a note that the header should not be
modified or removed. Other lines starting with two hash characters are regarded comments. A
downloaded file may contain comments, like the number of entries for each section.
The following sections are currently recognized:
Columns
Custom columns and their system-wide settings. In a full data download, this section
contains records created during installation of LOVD as well as records created by users.
During import, columns in the import file that already exist in the database are skipped.
In that case a warning is displayed, but the import will continue.
Genes
Genes, including external IDs. Can currently not yet be imported. When importing,
genes can be listed in the file, but they should already be present in the database. If not
present, they should be created manually before importing the file. Links between genes
and diseases are described in the “Genes_To_Diseases” section.
Transcripts
Transcript variants, including external IDs. Can currently not yet be imported. When
importing, transcripts can be listed in the file, but they should already be present in the
database. If not present, they should be created manually before importing the file. A
transcript entry is linked to a gene using the “geneid” field.
Diseases
General disease information. Diseases should have a unique name and OMIM ID. During
import, diseases in the import file that already exist in the database (based on name or
OMIM ID) are skipped. In that case a warning is displayed, but the import will continue.
Links between diseases and genes are described in the “Genes_To_Diseases” section.
Genes_To_Diseases
Links genes and diseases by referring to their IDs.
Individuals *
Individuals and related information, like links to the parents of the individual. Links
between individuals and diseases are described in the “Individuals_To_Diseases” section.
Individuals_To_Diseases
Links individuals to diseases.
60
10. Downloading & importing data The LOVD3 import format
Phenotypes *
Phenotype information of a certain individual, related to a certain disease. A phenotype
entry is linked to a disease using the “diseaseid” field. A phenotype entry is linked to an
individual using the “individualid” field.
Screenings *
Variant screening information, with which variants are detected. A screening is linked
to an individual using the “individualid” field. Links between screenings and genes are
described in the “Screenings_To_Genes” section. Links between screenings and variants
are described in the “Screenings_To_Variants” section.
Screenings_To_Genes
Linking screenings to genes, indicating which genes were screened using a certain screen-
ing.
Variants_On_Genome *
Genomic information of all variants detected. Links between variants and screenings are
described in the “Screenings_To_Variants” section.
Variants_On_Transcripts *
Possible effects on a transcript caused by a genomic variant. A variant on transcript is
linked to a variant on genome using the “id” field.
Screenings_To_Variants
Linking screenings to variants, indicating which variants were detected using a certain
screening.
Categories indicated with an asterisk (*) are data types with custom columns (also see Custom
column categories”), and the exact list of fields in this category depend on the LOVD settings.
Lines in the import file starting with one hash character are settings. The following settings
are currently recognized:
charset
Indicates which carset was used when creating the file. During import, usually the file
encoding is detected given the file’s contents, in which case this setting is ignored.
max_errors
When this setting is not defined in the import file, LOVD stops processing an import
file when 50 errors occurs. This default value can be modified in the import file with
variable “max_errors”. Increasing the “max_errors” allows LOVD to process the import
file without interruption. Decreasing the “max_errors” interrupts the import process
earlier. Regardless of the value of “max_errors”, all errors must be solved before the
import is saved to LOVD. Warnings however, do not interrupt the import process, and
data can be saved in LOVD even when warnings are displayed.
Each section header is followed immediately by a line that indicates the names of the fields
used in this section. When reading a downloaded file, this nicely indicates which column
represents which data. When importing a file, being able to change this line allows you to skip
certain columns or decide yourself in which order you would like to display the columns in the
file. To clearly separate the line with column names from the data lines, the column names are
surrounded by two curly braces on each side ({{ and }}). Field names can not contain spaces,
match the field’s name in the database exactly, and the field names are separated by exactly
one tab character from each other.
61
10. Downloading & importing data The LOVD3 import format
The section’s data is also in tab-delimited format. Each field is preferably enclosed by
double quotes. All existing quotes in the data, are escaped by the backslash character (\), so
" becomes \". Other special characters are \t for a tab character, and \r\n for a linebreak.
Specific fields explained
For each section, the import format contains all fields that are stored in the database. Some of
these fields are not displayed on the normal LOVD data entry forms, and therefore may cause
confusion. Others are displayed, but for the user appear as selection lists with human-readable
values, whereas in the database only numbers are stored. To aid in understanding these fields
and their values, all fields that may cause confusion are listed here.
Custom columns are not listed here, since every LOVD installation has different columns
enabled and custom columns provide explanations about their use by themselves.
allele (from section Variants_On_Genome)
Indicates on which allele the variant is located. Does not necessarily imply inheritance!
This field cannot be updated during an import.
ID Name Description
0 Unknown Heterozygous, parents not screened, or de novo and al-
lele couldn’t be confirmed
1 Parent #1 Heterozygous, parents not screened, but useful in com-
bination with ‘Parent #2‘ to indicate cis or trans com-
pound heterozygosity
2 Parent #2 Heterozygous, parents not screened, but useful in com-
bination with ‘Parent #1‘ to indicate cis or trans com-
pound heterozygosity
3 Both (homozygous) Variant is present on both alleles
10 Paternal (inferred) Variant is on paternal allele, not confirmed in father but
inferred from other information
11 Paternal (confirmed) Variant is on paternal allele, confirmed in father
20 Maternal (inferred) Variant is on maternal allele, not confirmed in mother
but inferred from other information
21 Maternal (confirmed) Variant is on maternal allele, confirmed in mother
If left empty during import, the default value is “0”.
chromosome (from sections Genes and Variants_On_Genome)
The chromosome related to this entry (gene or variant). When importing, do not fill
‘chr’ here as prefix, just the chromosome number or letter. This field cannot be updated
during an import.
chrom_band (from section Genes)
The chomosome band, like ‘q15’.
col_order (from section Columns)
The order in which the columns of this column’s category are shown. Low values are
shown before higher values.
created_by (from sections Columns, Genes, Transcripts, Diseases, Individuals, Phenotypes,
Screenings and Variants_On_Genome)
The internal ID of the user that created this data entry. If left empty during import,
the current user performing the import will be selected as the creator of this data entry.
62
10. Downloading & importing data The LOVD3 import format
Creators are allowed to edit the entry and add new data to the entry. They are fixed, and
can not be re-assigned at a later time. This field cannot be updated during an import.
created_date (from sections Columns, Genes, Transcripts, Diseases, Individuals, Pheno-
types, Screenings and Variants_On_Genome)
The date the entry was created, in the format YYYY-MM-DD HH:MM:SS. This field
cannot be updated during an import.
description_form (from section Columns)
The column’s notes on the data entry form. This text is shown on the data entry form,
just below the data field, for instance as clarification. See also section Creating a new
custom column.
description_legend_short (from section Columns)
Description on short legend for this custom column. See also section Creating a new
custom column.
description_legend_full (from section Columns)
Description on full legend for this custom column. See also section Creating a new
custom column.
diseaseid (from sections Phenotypes)
ID referring to the ID in section Diseases. This field cannot be updated during an import.
effectid (from sections Variants_On_Genome and Variants_On_Transcripts)
The variant’s effect on a protein’s function. The first digit indicates the variant’s effect
as reported by the source. The second digit indicates the variant’s effect as concluded by
the curator. The possible values of each digit:
ID Name Description
1 - Does not affect function, strong proof
3 -? Probably does not affect function, strong evidence
5 ? Effect unknown
7 +? Probably affects function, strong evidence
9 + Affects function, strong proof
A score of 97 means a variant is reported to affect the function of the protein having
strong proof, but the curator thinks more proof is needed, still accepting there is strong
evidence for the variant’s effect. All options are:
ID Name
11 -/-
13 -/-?
15 -/?
17 -/+?
19 -/+
ID Name
31 -?/-
33 -?/-?
35 -?/?
37 -?/+?
39 -?/+
ID Name
51 ?/-
53 ?/-?
55 ?/?
57 ?/+?
59 ?/+
ID Name
71 +?/-
73 +?/-?
75 +?/?
77 +?/+?
79 +?/+
ID Name
91 +/-
93 +/-?
95 +/?
97 +/+?
99 +/+
In the Variants_On_Transcripts section, this field indicates the effect of the variant
on this specific transcript. In the Variants_On_Genome section, this field indicates
the overall effect of the variant on the function of any gene it influences; basically, the
maximum score of all of the variant’s effectid values. If left empty during import, the
default value will be “55”.
fatherid (from section Individuals)
Optional; The internal ID of the individual in the database that is the father of this
individual.
63
10. Downloading & importing data The LOVD3 import format
form_type (from section Columns)
The custom column’s form type definition. When importing new custom columns, we
recommend you use the Data type wizard available when creating a new custom column,
and to use the form type definition generated by the wizard. See also section Creating
a new custom column.
head_column (from section Columns)
The custom column’s header, shown above the column in data views. See also section
Creating a new custom column.
hgvs (from section Columns)
If set to 1, this column is HGVS recommended. These columns can not be removed. This
setting can not be set when importing columns. Default value is 0.
id_entrez (from section Genes)
This field cannot be updated during an import.
id_hgnc (from section Genes)
This field cannot be updated during an import.
id_mutalyzer (from section Transcripts)
This field cannot be updated during an import.
id_ncbi (from section Transcripts)
This field cannot be updated during an import.
id_omim (from section Genes)
This field cannot be updated during an import.
id_protein_ncbi (from section Transcripts)
This field cannot be updated during an import.
imprinting (from section Genes)
Whether or not a gene is imprinted (either maternal or paternal).
individualid (from sections Screenings and Phenotypes)
ID referring to the ID in section Individuals. This field cannot be updated during an
import.
mandatory (from section Columns)
If set to 1, this column is mandatory. When entering new data, this custom column’s
field must be filled in. See also section Creating a new custom column. Default value
is 0.
mapping_flags (from section Variants_On_Genome)
Information about how LOVD handles the mapping of this variant. LOVD has an auto-
matic mapping script that finds transcripts in the range of a genomic variant, and can
annotate the genomic variant on the transcript using the Mutalyzer web service. Whether
or not LOVD is allowed to map the variant, and how LOVD will handle the mapping, is
stored in this field. This field is a boolean flag column; multiple options can be grouped
in this field by adding the numbers up.
64
10. Downloading & importing data The LOVD3 import format
Possible values:
ID Name Description
0 No mapping allowed
1 MAPPING_ALLOW When set, the variant can be map-
ped by the LOVD mapping script
2 MAPPING_ALLOW_CREATE_GENES When set, LOVD is allowed to cre-
ate new genes in the database if
needed to annotate the variant
4 MAPPING_IN_PROGRESS Not used when importing; when set,
LOVD is currently busy mapping
the variant
8 MAPPING_NOT_RECOGNIZED Not used when importing; when set,
LOVD did not recognize the vari-
ant, and was therefore unable to
map the variant
16 MAPPING_ERROR Not used when importing; when set,
LOVD has encountered an error
while mapping
32 MAPPING_DONE Not used when importing; when set,
LOVD is done mapping the vari-
ant, regardless of whether the vari-
ant actually got mapped
For instance, a value of 11 means for this variant mapping has been enabled (1), LOVD is
allowed to create new genes while mapping the variant (2), but LOVD does not recognize
the variant and therefore can not map it (8). 1 + 2 + 8 = 11. If left empty during import,
the default value will be “0”.
motherid (from section Individuals)
Optional; The internal ID of the individual in the database that is the mother of this
individual.
mysql_type (from section Columns)
The custom column’s MySQL data type. When importing new custom columns, we
recommend you use the Data type wizard available when creating a new custom column,
and to use the MySQL data type generated by the wizard. See also section Creating a
new custom column.
note_index (from section Genes)
Notes that should appear on the gene home page.
note_listing (from section Genes)
Notes that should appear on gene-specific data listings.
owned_by (from section Individuals, Phenotypes, Screenings and Variants_On_Genome)
Optional; The internal ID of the user that owns this data entry. Owners are allowed
to edit the entry and add new data to the entry. Owners are not fixed, and can be
re-assigned. When no value is provided during import, this value is set to the user ID of
the user importing the data.
panelid (from section Individuals)
Optional; The internal ID of the individual in the database that represents the group to
which this individual or group of individuals belong to.
65
10. Downloading & importing data The LOVD3 import format
panel_size (from section Individuals)
The number of individuals represented by this entry (default: 1). Only used when multiple
individuals, for instance from one family, are aggregated into one entry in the database.
position_c_cds_end (from section Transcripts)
The position, relative to the translation start site, of where the translation ends. Is
always a positive whole number, should always be dividable by three. This field cannot
be updated during an import.
position_c_mrna_start (from section Transcripts)
The position, relative to the translation start site, of where the transcript starts. Is always
a negative whole number. This field cannot be updated during an import.
position_c_mrna_end (from section Transcripts)
The position, relative to the translation start site, of where the transcript ends. Is always
a positive whole number. This field cannot be updated during an import.
position_c_start (from section Variants_On_Transcripts)
The position, relative to the translation start site, of the first base of the variant. The
first base of the variant is defined by the HGVS nomenclature rules, and may be the same
as the last base. This field cannot be updated during an import.
position_c_start_intron (from section Variants_On_Transcripts)
The position, relative to the start or end (whichever is closest) of the intron, of the first
base of the variant. The first base of the variant is defined by the HGVS nomenclature
rules, and may be the same as the last base. This field only applies to variants that start
in an intron. This field cannot be updated during an import.
position_c_end (from section Variants_On_Transcripts)
The position, relative to the translation start site, of the last base of the variant. The
last base of the variant is defined by the HGVS nomenclature rules, and may be the same
as the first base. This field cannot be updated during an import.
position_c_end_intron (from section Variants_On_Transcripts)
The position, relative to the start or end (whichever is closest) of the intron, of the last
base of the variant. The last base of the variant is defined by the HGVS nomenclature
rules, and may be the same as the first base. This field only applies to variants that end
in an intron. This field cannot be updated during an import.
position_g_mrna_start (from section Transcripts)
The genomic position, relative to the chromosome, of where the transcript starts. This
field cannot be updated during an import.
position_g_mrna_end (from section Transcripts)
The genomic position, relative to the chromosome, of where the transcript ends. This
field cannot be updated during an import.
position_g_start (from section Variants_On_Genome)
The genomic position, relative to the chromosome, of the first base of the variant. The
first base of the variant is defined by the HGVS nomenclature rules, and may be the same
as the last base. This field cannot be updated during an import.
position_g_end (from section Variants_On_Genome)
The genomic position, relative to the chromosome, of the last base of the variant. The
66
10. Downloading & importing data The LOVD3 import format
last base of the variant is defined by the HGVS nomenclature rules, and may be the same
as the first base. This field cannot be updated during an import.
preg_pattern (from section Columns)
For text field custom columns, regular expression checks can be performed. See also
section Creating a new custom column.
public_view (from section Columns)
If set to 1, this column’s contents are visible to the public (only for public entries). See
also section Creating a new custom column.
public_add (from section Columns)
If set to 1, submitters can fill in this field. Otherwise, only curators and higher level users
can enter data in this field.
refseq_genomic (from section Genes)
The genomic reference sequence, this field cannot be updated during an import.
refseq_UD (from section Genes)
This is an internal ID for the genomic reference sequence, generated by Mutalyzer. This
field cannot be updated during an import.
select_options (from section Columns)
When the custom column is a selection field, the selection options are listed here. See also
section Creating a new custom column for the format. Please remember that linebreaks
in the LOVD import format are displayed as \r\n.
standard (from section Columns)
If set to 1, this column is enabled by default. When importing, this is only useful for
shared custom columns. When set, the column will then be enabled by default for a new
disease or gene, depending on the column category. See also section Creating a new
custom column. Default value is 0.
statusid (from section Individuals, Phenotypes and Variants_On_Genome)
Optional; This numeric status ID defines if the data is public or not.
ID Name Description
1 In progress Not used when importing; data entry is in the process of being
submitted
2 Pending Data entry has been submitted, awaiting approval of curator
4 Non public Data entry is not public, hidden from view for non-authorized
users
7 Marked Data entry is public but marked, shows up as red for authorized
users
9 Public Data entry is public
Data with status “In progress”, value 1, can not be imported. Instead, there are 3 options:
1. Ask the submitter to finish the submission.
2. Change the statusid value to a valid value, being 4 or higher.
3. Exclude this record for import, by either removing it from the import file, or hiding
the record by putting a # in the beginning of the line. If you do this, make sure
that all related data from other sections are excluded as well, or LOVD will return
errors when trying to resolve references in the file.
67
10. Downloading & importing data Downloading & importing data
When no value is provided during import, this value is set to ‘9’ (Public).
symbol (from section Diseases)
The disease’s abbreviation, preferably the most commonly used one.
transcriptid (from section Variants_On_Transcripts)
ID referring to the ID in section Transcripts. This field cannot be updated during an
import.
type (from section Variants_On_Genome)
The type of variant on DNA level, as defined by the Mutalyzer web service. All possible
values are:
ID Name Description
compound Compound variant Not normally in use; multiple variants grouped to-
gether
del Deletion One or more DNA bases have been deleted
delins Deletion/Insertion One or more DNA bases have been deleted, while
others have been inserted; when not a substitution
dup Duplication Duplication of one or more DNA bases
ins Insertion Insertion of one or more DNA bases; when not a
duplication
subst Substitution One DNA base has been replaced by another
updated_by (from section Genes)
The internal ID of the user who was the last to modify data that is linked to the gene.
This field cannot be updated during an import.
updated_data (from section Genes)
The date data linked to the gene was modified last. This field cannot be updated during
an import.
variants_found (from section Screenings)
If set to 1, this screening is reported to have found variants. If set to 0, this screening is
reported to not have found variants. Please note that other values are not allowed.
width (from section Columns)
The displayed column width in pixels. See also section Creating a new custom column.
10.2 Downloading & importing data
Downloading data from LOVD
Required level: Submitter
Available from: LOVD 3.0 Build 01
For backup purposes or to move data sets from
one LOVD into another, LOVD supports differ-
ent download options. All downloaded file types
lack the LOVD system settings, registered user accounts, and object-specific custom column
settings.
In order to have a full backup, for instance to restore LOVD in case of a hardware failure,
more information is needed. It is therefore recommended not to rely only on this feature for
a full backup of LOVD. However, it works perfectly as a backup for your variant and patient
data, for instance if you accidentally deleted the wrong entry or the wrong column.
If you’re planning large parallel changes to data entries in LOVD using spreadsheet software
such as OpenOffice.org Calc or MS Excel, you could use the download files as a starting point.
68
10. Downloading & importing data Downloading & importing data
In that case, read the instructions at Downloading & importing the complete data before
you begin.
Importing data sets into LOVD
Required level: Curator
Available from: LOVD 3.0 Build 01
For managers it is possible to import data di-
rectly into LOVD, using the LOVD3 import for-
mat. For curators, only simulation is available
(see below), starting from LOVD 3.0-14. See section The LOVD3 import format for more
details about the file format. Files created or modified using spreadsheet software such as
OpenOffice.org Calc or MS Excel must be saved as a text file. The file must be tab delimited,
otherwise LOVD will produce an error.
To import a dataset to LOVD, click the “Import data” link from the “Setup” tab dropdown
menu, or from the setup area, click the “Import data using the LOVD import format” link listed
under “Download & Import”. Curators can import data from the Configuration area. Click
the “Import data using the LOVD import format” link listed under “Download & Import”.
The LOVD import has a simulate option, allowing you to check if the import file is correct,
without importing anything. Check the “Simulate (don’t actually import the data)” checkbox
to use this simulation option. This option is always enabled for curators, and cannot be disabled.
This allows curators to test their import files, but it still requires a manager or up to actually
import the file.
On the import form, in the “Import options” section, you’ll find the “Import mode”. The two
options available are “Update existing data” (see section Update existing data via import”)
and “Add only, treat all data as new” (see section Insert new data via import”).
Insert new data via import
Required level: Curator
Available from: LOVD 3.0 Build 01
The option “add only” on the import page will
insert all data in the import file as new, also
if the identifiers used are already present in the
database. See section The LOVD3 import format for more details about the file format.
Update existing data via import
Required level: Curator
Available from: LOVD 3.0 Build 14
For managers and higher it is possible to update
certain data via an import (curators can run a
simulate). There are some restrictions on what
you can modify and what not. In general, when you can modify certain data via the LOVD
data entry forms, you can modify them via the update import as well. Furthermore, to prevent
unintended edits, you can currently only modify one field per line.
You cannot modify the created_by, created_date, edited_by, edited_date fields (from sec-
tions Columns, Genes, Transcripts, Diseases, Individuals, Phenotypes, Screenings and Vari-
ants_On_Genome). These fields are set by LOVD and changes in these fields are ignored. See
the section Specific fields explained to check which fields you are not allowed to update.
The IDs in the import file are used to identify the records in the LOVD database. Therefore,
you cannot modify the ID fields in your import file. To make sure your IDs in the LOVD
database correspond with the IDs in your import file, and to prevent unintended edits, it is
recommended to make a new download (complete data set, custom columns, own data set or a
gene’s data set, depending on what you would like to update) before you start preparing your
changes.
69
10. Downloading & importing data Downloading & importing the complete data
On the import form, select the “Update existing data” option for the “Import mode” field,
if you wish to modify data in your LOVD database. You can use the simulate option to check
your file for errors first.
10.3 Downloading & importing the complete data
Downloading the complete data set from LOVD
Required level: Manager
Available from: LOVD 3.0 Build 01
LOVD supports a full download that contains
most (currently not all) data stored in LOVD.
The data sections included in the download
file are: Columns, Genes, Transcripts, Diseases, Genes_To_Diseases, Individuals, Individ-
uals_To_Diseases, Phenotypes, Screenings, Screenings_To_Genes, Variants_On_Genome,
Variants_On_Transcripts and Screenings_To_Variants. In order to have a full backup, for
instance to restore LOVD in case of a hardware failure, more information is needed. The
download file lacks the LOVD system settings, registered user accounts, and object-specific
custom column settings. It is therefore recommended not to rely only on this feature for a full
backup of LOVD. However, it works perfectly as a backup for your variant and patient data,
for instance if you accidentally deleted the wrong entry or the wrong column.
To download the full dataset from LOVD, click the “Download all data” link from the
“Setup” tab dropdown menu, or from the setup area, click the “Download all data in LOVD
import format” link listed under “Download & Import”. The download begins immediately.
Depending on your browser, it will save the file to a default location on your hard disk, or ask
you whether to open or to save the file.
Importing the complete data set into LOVD
Required level: Manager
Available from: LOVD 3.0 Build 01
A complete data set downloaded from the LOVD
can be imported into a LOVD. This can only be
done by the manager. Not all data can and will
be imported and some data needs to be modified to be able to import in LOVD. Genes and
transcripts can currently not be imported directly. See section The LOVD3 import format
for details on each section.
10.4 Downloading & importing the custom column
data
Downloading custom columns data from LOVD
Required level: Manager
Available from: LOVD 3.0 Build 04
Managers can download a data file with only the
custom columns which are added to an LOVD
installation. This can be done for backup pur-
poses, but also for importing to an other LOVD installation. The records downloaded can
be both records created during installation of LOVD, as well as records created by users. To
download the custom columns data, click the “Download all LOVD custom columns” link from
the setup menu tab dropdown menu, or from the setup area, click the “Download all LOVD
custom columns in the LOVD import format” link listed under “Custom data columns”. The
download begins immediately. Depending on your browser, it will save the file to a default
location on your hard disk, or ask you whether to open or to save the file.
70
10. Downloading & importing data Downloading & importing own data
Importing a custom columns data set into LOVD
Required level: Manager
Available from: LOVD 3.0 Build 05
The custom column data set downloaded by a
manager can be uploaded to the same or any
other LOVD. Columns which already exists in
the database are not imported, but skipped instead. For this, LOVD checks if the column’s ID
already exists in the database. No other fields are compared.
10.5 Downloading & importing own data
Downloading own data set from LOVD
Required level: Submitter
Available from: LOVD 3.0 Build 01
LOVD allows you to collect a file containing all
information in LOVD that has been submitted
by you, or is currently owned by you. Proceed
to your account details by clicking the “Your account” link on the top right-hand side of the
screen. Then, click the “Options” button and click “Download all my data”. The download
begins immediately. Depending on your browser, it will save the file to a default location on
your hard disk, or ask you whether to open or to save the file.
This file, compared to the full data download that LOVD offers to managers and the
database administrator, lacks the Columns data section. The following sections contain data
that is not owned by the user in question, but merely serve as a reference to allow interpretation
of all data: Genes and Transcripts (the ones where variants were reported in are shown), and
Diseases (the ones linked to submitted Individuals are shown). These section are marked with
## For reference only, not part of the selected data set.
Importing own data set into LOVD
Required level: Manager
Available from: LOVD 3.0 Build 13
The own data set downloaded by a submitter
can also be reuploaded into LOVD. But as with
all import files, only a manager can import the
data file.
If the diseases in the import file do not exist in LOVD, these diseases will be added during
the import. Downloads in this format do not contain any links between genes and diseases. To
create this link, you will have to add records to the “Genes_To_Diseases” section, or manually
create the links. See Relation to diseases for how to create a link between a gene and a
disease.
For more details on each section of the import file, see section The LOVD3 import format.
71
10. Downloading & importing data Downloading & importing a gene’s data
10.6 Downloading & importing a gene’s data
Downloading a gene’s data set from LOVD
Required level: Curator
Available from: LOVD 3.0 Build 02
Curators can download a file containing all infor-
mation related to a gene they have authorization
on. This can be done for backup purposes, but
also for importing to an other LOVD installation. From the gene homepage, click the “Op-
tions” button and click “Download all this gene’s data”. The download begins immediately.
Depending on your browser, it will save the file to a default location on your hard disk, or ask
you whether to open or to save the file.
This file, compared to the full data download that LOVD offers to managers and the
database administrator, lacks the Columns data section. All sections are filtered to show only
data related to the gene in question. The following sections are perhaps not obvious: Diseases
(the ones related to the gene in question, as well as the ones linked to the individuals in this
file, are shown), Phenotypes (the ones linked to the individuals in this file are shown), and
Screenings (the ones which found variants in the gene is question are shown). The individuals
in this file may have more variants reported, which are not affecting this gene and therefore
not shown in this file.
Importing a gene’s data set into LOVD
Required level: Manager
Available from: LOVD 3.0 Build 01
The gene data set downloaded can be uploaded
without modifications into the same or any other
LOVD installation. However, the gene and its
transcript(s) must exist in the database in which the file is imported. The column section is
missing in this download file, but apart from that, this is the same import file as the complete
data set. See section Importing the complete data set into LOVD on details about importing
a gene’s data set.
72
11. The LOVD APIs
LOVD3 contains an LOVD2-style data retrieval API, useful for simple queries and retrieval
of basic gene and variant information, and a new data submission API, introduced in LOVD
3.0-21, useful for submitting data from other software tools without the need of using the web
forms.
11.1 Data retrieval API
Required level: None
Available from: LOVD 3.0 Build 01
JSON support: LOVD 3.0 Build 22
Just like LOVD2 (from version 2.0-22, released
October 5th 2009), LOVD3 includes a simple
webservice enabling simple queries or listing of
variant data (not patient data). This API only
shows very basic information and can therefore not be disabled. The LOVD installations that
have indicated to be included in the global LOVD listing are included in the overall LOVD
querying service, which is based on this API.
Examples of possibilities are searching on a gene symbol, getting the list of available genes
in the database, or on a per-gene basis, list all variants or search for a certain variant or DNA
location. Even though LOVD3 is not gene-based like LOVD2 was, we have decided to keep the
same gene-centered design of the API to make sure LOVD2 and LOVD3 can be queried alike.
The output it creates is either an Atom 1.0 feed with the LOVD information in plain text, or
a JSON file.
A more advanced API will be included in LOVD3 later, allowing the querying of variants
genome-wide and getting more detailed information out of LOVD, such as patient and phe-
notype data. This API will be configurable, so submitters decide for themselves under which
data sharing license which type of information will be shared.
Terms of service and fair use policy
These terms of service and fair use policy are applicable to all APIs present on the
LOVD site and any LOVD installations hosted by the Leiden University Medical
Center, recognizable by domain names ending by .lovd.nl or .lumc.nl. Other servers
hosting LOVDs may also have terms of service in place. If in doubt, try to contact
the party hosting the LOVD installation.
Read the API possibilities below carefully, and choose the most efficient method to query
the API meaning, the least amount of requests to get the information you need.
Limit your requests to a maximum of 5 per second per server/domain name.
If the API indicates a certain entry does not exist, do not repeat the same request for at
least 4 hours, unless you have reason to believe the entry may exist now.
Not required, but appreciated; please set a ‘User agent’ string that identifies you, so we
can see how the service is being used and we can contact you if necessary.
73
11. The LOVD APIs Data retrieval API
Format
Since 3.0-22, the LOVD2-style API allows for JSON data to be returned. The original format,
also still available in 3.0-22, is an Atom feed, and is still the standard. When searching for
genes, an Atom feed is returned with zero or more entries. When requesting a specific entry,
just the Atom entry is returned. The Atom format is described in detail on Wikipedia.
The content of the Atom entries is in plain text, with headers and values separated by a
colon (:). Other formats as a ‘payload’ of the Atom entries are not available.
The new LOVD3 API (release date unavailable) will probably support multiple formats,
such as VarioML and JSON, and will not support Atom feeds, since this API serves a different
purpose.
Genes
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>
Results for your query of the database
</title>
<link rel="alternate" type="text/html" href="http://databases.lovd.nl/shared/"/>
<link rel="self" type="application/atom+xml" href="http://databases.lovd.nl/shared/api/rest/genes"/>
<updated>2018-04-17T20:15:10+02:00</updated>
<id>tag:databases.lovd.nl,2012-05-02:web01:shared/REST_api</id>
<generator uri="http://www.LOVD.nl/" version="3.0-21">
Leiden Open Variation Database
</generator>
<rights>Copyright (c), the curators of this database</rights>
<entry xmlns="http://www.w3.org/2005/Atom">
<title>IVD</title>
<link rel="alternate" type="text/html" href="http://databases.lovd.nl/shared/genes/IVD"/>
<link rel="self" type="application/atom+xml" href="http://d...lovd.nl/shared/api/rest/genes/IVD"/>
<id>tag:databases.lovd.nl,2011-04-05:IVD</id>
<author>
<name>Gerard C.P. Schaafsma</name>
</author>
<contributor>
<name>Ivo F.A.C. Fokkema</name>
</contributor>
<published>2011-04-05T16:04:49+02:00</published>
<updated>2017-08-07T13:40:16+02:00</updated>
<content type="text">
id:IVD
entrez_id:3712
symbol:IVD
name:isovaleryl-CoA dehydrogenase
chromosome_location:15q14-q15
position_start:chr15:40697686
position_end:chr15:40713512
refseq_genomic:NG_011986.1
refseq_mrna:NM_002225.3
refseq_build:hg19
</content>
</entry>
</feed>
Figure 11.1: Example LOVD API output, in the default Atom format. The longest line has been shortened
to fit this page. This example output of a search on gene symbol returns the IVD gene and its
basic information. Source: LOVD3 shared installation.
The gene information shared through the API consists of the official gene symbol (id,
symbol), the gene’s Entrez ID (entrez_id), the gene’s official name (name), the chromosome
74
11. The LOVD APIs Data retrieval API
[
{
"id":"IVD",
"entrez_id":"3712",
"symbol":"IVD",
"name":"isovaleryl-CoA dehydrogenase",
"chromosome":"15",
"chromosome_location":"15q14-q15",
"position_start":"chr15:40697686",
"position_end":"chr15:40713512",
"refseq_genomic":"NG_011986.1",
"refseq_mrna":[
"NM_001159508.1",
"NM_002225.3"
],
"refseq_build":"hg19",
"created_by":"Gerard C.P. Schaafsma",
"created_date":"2011-04-05T16:04:49+02:00",
"curators":[
"Ivo F.A.C. Fokkema"
],
"updated_date":"2017-08-07T13:40:16+02:00"
}
]
Figure 11.2: Example LOVD API output, in the JSON format, of the same API search result as the previous
figure. Note the slight differences in the data returned; the JSON format adds the chromo-
some field, returns all transcripts associated with the gene in question, and stores the curator
information in an array. Source: LOVD3 shared installation.
band (chromosome_location) and exact locations (position_start, position_end, not
always available), its genomic reference sequence (refseq_genomic), first transcript added
(refseq_mrna, all transcripts when using JSON) and the code of the reference sequence build
that the genomic positions are based on (refseq_build). The JSON data has slightly more
fields (created_by, created_date, curators, updated_date), which are also available in
the Atom entry itself (not the plain text payload).
The official gene symbol is mentioned twice, because in LOVD2 multiple databases could
exist for the same gene by setting a suffix on the gene symbol; there the ‘id’ field could have a
different value than the ‘symbol’ field. Having two fields for the gene symbol is retained in the
API to keep the format between LOVD3 and LOVD2 consistent.
Please note, also for consistency with the LOVD2 API, that in the Atom entry, the ‘ref-
seq_mrna’ field can contain only one value whilst in LOVD3 one gene can contain multiple
transcripts. The Atom entry shows only the first transcript, sorted on their NCBI ID. The
JSON data shows all transcripts.
75
11. The LOVD APIs Data retrieval API
Variants
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>
Results for your query of the IVD gene database
</title>
<link rel="alternate" type="text/html" href="http://databases.lovd.nl/shared/"/>
<link rel="self" type="application/atom+xml" href="http://...lovd.nl/shared/api/rest/variants/IVD"/>
<updated>2017-08-07T13:40:16+02:00</updated>
<id>tag:databases.lovd.nl,2012-05-02:web01:shared/REST_api</id>
<generator uri="http://www.LOVD.nl/" version="3.0-21">
Leiden Open Variation Database
</generator>
<rights>Copyright (c), the curators of this database</rights>
<entry xmlns="http://www.w3.org/2005/Atom">
<title>IVD:c.860G&gt;A</title>
<link rel="alternate" type="text/html" href="http://...?search_VariantOnGenome/DBID=IVD_000001"/>
<link rel="self" type="application/atom+xml" href="http://.../api/rest/variants/IVD/0000000563"/>
<id>tag:databases.lovd.nl,2011-04-06:IVD/0000000563</id>
<author>
<name>Gerard C.P. Schaafsma</name>
</author>
<contributor>
<name>Ivo F.A.C. Fokkema</name>
</contributor>
<published>2011-04-06T16:20:25+02:00</published>
<updated>2017-03-28T16:27:49+02:00</updated>
<content type="text">
symbol:IVD
id:0000000563
position_mRNA:NM_002225.3:c.860
position_genomic:chr15:40707154
Variant/DNA:c.860G&gt;A
Variant/DBID:IVD_000001
Times_reported:1
</content>
</entry>
</feed>
Figure 11.3: Example LOVD API output, in the default Atom format. The three longest lines have been
shortened to fit this page. This example output of a search on DB ID returns one variant in the
IVD gene and its basic information. Source: LOVD3 shared installation.
The variant information shared through the API consists of the official gene symbol of the
selected gene (symbol), the variant’s internal ID (id), the variant’s position relative to the tran-
script in HGVS-like format (position_mRNA), the variant’s genomic position in HGVS-like
format (position_genomic), the DNA field in HGVS format, HTML encoded in the Atom for-
mat to not break XML parsers (Variant/DNA), the variant’s DBID value (Variant/DBID)
and the panel size of the individual of the variant entry (Times_reported). The JSON data
has slightly more fields (owned_by, created_by, created_date, edited_date), which are
also available in the Atom entry itself (not the plain text payload). Also, the JSON data will
list the variant’s position and the variant’s DNA change on transcript level for all transcripts
that the variant is mapped on.
If the variant could not be interpreted, the position fields will contain a question mark.
The difference between the ‘id’ field and the ‘Variant/DBID’ field is that the first is the ID
of the variant observation, whilst the latter is the ID unique for this variant, but shared for
each observation. It is used link back to LOVD from genome browsers, for instance. When
76
11. The LOVD APIs Data retrieval API
[
{
"symbol":"IVD",
"id":"0000000563",
"position_mRNA":[
"NM_002225.3:c.860"
],
"position_genomic":"chr15:g.40707154",
"Variant\/DNA":[
"NM_002225.3:c.860G>A"
],
"Variant\/DBID":"IVD_000001",
"Times_reported":"1",
"owned_by":[
"Ivo F.A.C. Fokkema"
],
"created_by":[
"Gerard C.P. Schaafsma"
],
"created_date":"2011-04-06T16:20:25+02:00",
"edited_date":"2017-03-28T16:27:49+02:00"
}
]
Figure 11.4: Example LOVD API output, in the JSON format, of the same API search result as the previous
figure. Note the slight differences in the data returned; the JSON format adds the data owner(s),
the data creator(s), the dates the data was created and last updated and returns all transcripts
associated with the variant in question, storing the data in an array. The genomic position is
formatted slightly differently. Source: LOVD3 shared installation.
variant observations are grouped together, the ‘Times_reported’ field will contain the sum of
the values of all observations together.
77
11. The LOVD APIs Data retrieval API
Possibilities
A full list of options for this API is included below. Please note that although “rest.php” is
included in all the URLs, simply “rest” will work also. However, for LOVD2 installations, this
does not always work, and as such the extension is included. To obtain JSON output, add the
format=application/json flag to all URLs.
Genes
Listing of all genes in the database
http://databases.lovd.nl/shared/api/rest.php/genes
Searching on the gene symbol (full match only)
http://databases.lovd.nl/shared/api/rest.php/genes?search_symbol=IVD
Showing only one specific gene entry
http://databases.lovd.nl/shared/api/rest.php/genes/IVD
Searching on the genomic position
Chromosome only:
http://databases.lovd.nl/shared/api/rest.php/genes?search_position=chr15
Chromosomal location:
http://databases.lovd.nl/shared/api/rest.php/genes?search_position=chr15:40705600
Chromosomal range, exact match (only match genes having exactly this range)
http://databases.lovd.nl/shared/api/rest.php/genes?
search_position=chr15:40697686_40713512&position_match=exact
Chromosomal range, exclusive match (only match genes completely within this range)
http://databases.lovd.nl/shared/api/rest.php/genes?
search_position=chr15:40657686_40762512&position_match=exclusive
Chromosomal range, partial match (match any gene overlapping the given region)
http://databases.lovd.nl/shared/api/rest.php/genes?
search_position=chr15:40657686_40762512&position_match=partial
78
11. The LOVD APIs Data retrieval API
Variants
Listing of all variant entries in a certain gene
http://databases.lovd.nl/shared/api/rest.php/variants/IVD
Searching on the DNA position
Coding DNA or genomic position, exact match only
http://databases.lovd.nl/shared/api/rest.php/variants/IVD?search_position=c.157
This does not allow for partial matches, so variant c.157_158del is not matched. c.157
will match c.157+? and c.157_158 will match c.157+?_158-?. However, c.157 does not
match c.157+5. Searching on genomic locations can be achieved using g. as a prefix.
http://databases.lovd.nl/shared/api/rest.php/variants/IVD?search_position=g.40699840
Genomic position only, exclusive match (only match variants completely within this range)
http://databases.lovd.nl/shared/api/rest.php/variants/IVD?
search_position=g.40710300_40710410&position_match=exclusive
Genomic position only, partial match (match any variant overlapping the given region)
http://databases.lovd.nl/shared/api/rest.php/variants/IVD?
search_position=g.40710300_40710410&position_match=partial
Searching on the DNA field
http://databases.lovd.nl/shared/api/rest.php/variants/IVD?
search_Variant/DNA=c.157C%3ET
This does not allow for partial matches, but c.(157C>T) or c.157C>T? will also match.
Searching on the DBID field
http://databases.lovd.nl/shared/api/rest.php/variants/IVD?
search_Variant/DBID=IVD_000001
Showing only one specific variant entry (internal ID only)
http://databases.lovd.nl/shared/api/rest.php/variants/IVD/0000001350
World-wide LOVD quering service
There is also a world-wide LOVD query API that allows you to query a genomic location to
find out whether there is a variant reported in any public LOVD installation that has registered
at LOVD.nl. Please contact us directly for more information on that API.
79
11. The LOVD APIs Data submission API
11.2 Data submission API
Required level: Submitter
Available from: LOVD 3.0 Build 18/21
LOVD3 includes a data submission API, use-
ful for submitting JSON data files directly into
LOVD3 without the need of web forms. This is
especially useful for diagnostic labs that wish to submit their found variants to LOVD3 without
the hassle of having to submit them manually or to construct LOVD3 import files.
Note that this API was introduced in LOVD 3.0-18, but was only fully functional from
LOVD 3.0-21.
The submission format
The format used by the submission API is a JSON implementation of the VarioML format. For
an example file, please see http://LOVD.nl/3.0/submission_api_format.json. Since Vario-
ML is originally an XML format, all XML attributes have been prefixed by an @ character,
and text nodes are stored in #text elements. The JSON format allows for multiple individuals
to be submitted at once; the file is required to contain at least one individual with each at least
one variant. The mandatory columns are the same as otherwise mandatory in LOVD3. For
fields that require a fixed set of options, such as the individual’s gender, the possible options
are mentioned in a comment in the example JSON file. JSON officially can’t contain comments
so a JSON parser might fail on the example file, but LOVD3 is OK with them.
Do note that not all fields that may be configured in LOVD3 will be representable (yet) in
this format. All fields currently supported are present in the example file (see above). If you
have more data that you’d like to submit using this format, please contact us. We aim to map
as many LOVD3 fields as possible to VarioML.
Mandatory fields to set before submission
Before you can submit your data using this example file, you’ll have to change the values of
some of the fields. The lsdb element has an @id and an @uri field that needs to be set.
The @id is the LOVD’s ID, which can be found by the database administrator in the API
authorization token dialog (see Getting your authorization token. If you do not know who
the LOVD’s administrator is, submit the file without a valid ID (see Submitting the JSON
file”) and LOVD will respond with the administrator’s contact information.
The source element under lsdb also requires a few fields to be filled in. For name’, fill
in the name of the lab that is submitting the data. Under contact’, fill in your name under
name’, and your email under email. The db_xref fields are also required, and are explained
below.
Getting your authorization token
To submit data to LOVD3 using the submission API, you need to create an authorization
token for your submitter account. To do so, log into LOVD3 and proceed to your account page
by clicking the “Your account” link in the top right side of the screen. In the “API token”
field, click “Show / More information”. In the new dialog, click the “Create new token” button
to create a token. Select the desired validity and click “Create new token”. If the token was
created successfully, click “Back” and copy your token from the bottom of the information
dialog (see figure 11.5). In the JSON data, under lsdb / source / contact / db_xref’,
fill in both @accession fields. Where @source is lovd’, fill in your numeric account ID
80
11. The LOVD APIs Data submission API
(on the top of your account page). Where @source is lovd_auth_token’, fill in your created
token.
Figure 11.5: The authorization token dialog, showing your current token at the bottom and including buttons
to create a new token or just revoking the current one. The database administrator also can find
the LOVD’s ID at the top of this dialog.
Submitting the JSON file
To submit your JSON file, POST it to /api/submissions for the intended LOVD instance. In
case the intended LOVD is located at https://databases.lovd.nl/shared/, then POST your
file to https://databases.lovd.nl/shared/api/submissions. Before submitting though,
please read the information under Different versions of this API. See figure 11.6 for an example
on how to submit using curl.
curl --data @submission.json "https://databases.lovd.nl/shared/api/submissions"
Figure 11.6: Example of how to submit a VarioML JSON file to the submission API, using curl. In this ex-
ample, the JSON file is named submission.json and is located in the current working directory.
The submission API will respond in JSON, sending its version, a messages array, a warnings
array, an errors array, and a data array (see figure 11.7).
The messages array is for information of successful submissions. The warnings array is
for output of information you should review because it might be a potential problem, although
it will not prevent a successful submission. The errors array contain fatal errors. The data
array is reserved for returning data and not used in POST requests.
A successful submission results in an LOVD3 import file being created on the server. This
file then needs to be imported into LOVD3. In LOVD 3.0-21, submissions done through the API
are not yet scheduled for import automatically, it requires manual intervention of a manager.
See the INSTALL.txt file that is shipped with LOVD for more information.
81
11. The LOVD APIs Data submission API
{
"version": 1,
"messages": [],
"warnings": [],
"errors": [
"VarioML error: LSDB root element not found, or has no ID."
],
"data": []
}
Figure 11.7: Example submission API output, when sending {"lsdb":{}}. All arrays shown are always
present, but can be empty.
Different versions of this API
Before you submit, make sure you read this information, to prevent unexpected
problems if we would update the API.
To allow easy further development of this API, we might change the way the API works or
change the way the API returns data. To make sure this doesn’t harm your application, you
can instruct LOVD to use a fixed version of the API. To do so, you must include the APIs
version in the URL. For instance, to always use version 1 of the API, even when version 2 is
already released, use /api/v1/submissions instead of /api/submissions. When you’re not
supplying a version number in the URL you POST to, LOVD will automatically use the latest
version of the API. Make a decision based on what works best for you in your situation.
82
12. Keeping your data secure
LOVD contains several important security measures to protect your data from unauthorized
access. This page explains IT experts what kind of security measures are implemented in
LOVD, but it also shows what you as a LOVD user can do to protect your data.
12.1 Built-in security measures
After a public request on a programmer’s internet forum a LOVD installation had been sub-
jected to various attacks and hack attempts. Furthermore, the source code has been security
audited by three different software packages to ensure no security holes were left open.
Some of the security risks LOVD protects you against, are displayed below.
Safe login procedure
If someone tries to break into LOVD by repeatedly trying different passwords (brute-forcing) for
a correct username, this account will be locked, preventing unauthorized access. The account
can be unlocked by a manager or the database administrator. They can also check the LOVD
logs which IP address was responsible of the locking of the account, which can be used by the
server’s system administrator to block access to LOVD from this IP address entirely.
As an additional security measure, each user can restrict access to their account from only
a certain IP address or a range of IP addresses, preventing unauthorized access, even with the
correct password, from unauthorized IP addresses.
Protection against SQL injection
SQL injection is the process of including unwanted SQL database commands into a database
through the manipulation of online web forms. SQL injection can be used for, amongst other
things, unauthorized modification of database contents or unauthorized access to the adminis-
trator account.
Protection against Cross-site scripting (XSS)
Cross-site scripting is a vulnerability where malicious users can include Javascript code into
webpages, through entering a script in web forms, or including code in variables which are
being printed on the web page. This can, for instance, be used to forward a user unnoticed to
a different site. The protection against XSS is the reason most forms in LOVD do not allow
HTML content.
Password protected data manipulation forms
To prevent manipulation of your variant or patient data when your computer is used by someone
else while you are logged into LOVD, all data manipulation forms are password protected.
Before the form can be submitted and processed, your password is required to confirm the
changes. This also protects you against Cross-site request forgery (CSRF) attacks.
83
12. Keeping your data secure What you can do to protect your data
12.2 What you can do to protect your data
A chain is only as strong as the weakest link. Even with all the effort we have put into making
LOVD as safe as possible, some weak links may still exists. Read this section to learn about
how to protect your data in LOVD further.
1. Choose your password carefully and protect it. Even though LOVD does include a pass-
word quality check, please take care in choosing a password that can not be guessed by
others and you don’t use for other systems as well. Also, don’t write it down on a sticky
note stuck near your computer. In case you’re the system administrator who installed
LOVD, make sure the MySQL password is also chose securely.
2. Don’t leave your computer unattended while logged in. This will give anyone who uses
your computer in your absence access to the data stored in LOVD. Also, don’t leave
your computer unattended if you’re not logged in but had your browser remember your
password for you. Once you’re done using LOVD, log out.
3. Be careful where you leave your backup files. Making backups of your data in LOVD is a
smart thing to do. Errors made by both machine (hardware error) or man (accidentally
deleting data) can be solved easily if you have proper backups. However, these backups
do contain all your sensitive patient and variant data in a non-encrypted way. Be careful
where you store your backup files. Don’t store them on network drives accessible by more
people than the ones who you would allow to access LOVD itself.
4. Use SSL. Ask your systems administrator to enable SSL (https) on the server your LOVD
is installed on, and enable the “Use SSL only to access LOVD” option in the LOVD
system settings. This encrypts any data exchange between you and LOVD, such as your
password and sensitive patient information.
5. Don’t allow access to your LOVD files or the database to other users on the server. If there
are other users on the server you have LOVD hosted on, make sure they cannot access
the LOVD directory or get access to the same database LOVD stores its information in.
84
13. Updating LOVD
Several times a year, a new LOVD build is released. An update may contain bug fixes, new
features, new custom columns and such. Therefore, each update has a priority setting to
indicate how important it is to update your LOVD installation to the new release.
Depending on whether or not LOVD has found that there is an update available, an update
icon appears at the bottom right-hand side of the screen:
There is an update available.
There is no update available.
There was an error while checking for updates.
If you are logged in as an authorized user, you can click the update notification icon for
more information on the status of the update. If an update is available, detailed information
is presented:
Last checked for updates: Shows the date LOVD last checked for a new update.
Latest version: Shows the detected update.
Release date: The date this update has been released.
Priority level: Shows how important the LOVD developers consider this update. Can contain
“Optional”, “Common”, “Suggested”, “Recommended”, Important or Critical”, with
increasing priority.
Release info: Information on the changes that have been done in this release. Please note
that this is usually only a very short list of updates. A more elaborate description can
always be found in the news section of the LOVD website, and the full list can be found
in the LOVD changelog.
If you choose to upgrade LOVD, follow these steps:
1. Download the new build. Either using the direct link to it from the update window, or
from the website.
2. Unpack the new build and overwrite the LOVD files.
3. If you’re working from your local machine, upload the updated files to your webserver.
4. Log into LOVD. This is an important step. If you are already logged in, perform some
activity, like clicking on the Setup tab. LOVD will then upgrade the database tables to
make sure the database backend has the same version as the files. Skipping this step may
result in serious errors occurring.
5. You’re done!
85
14. Troubleshooting
In case you run into any kind of problem or when you have a question, we recommend you first
check in the manual to see if perhaps the answer can be found there. A newer version of the
manual may be available online, on the LOVD website. If that doesn’t resolve your problem
or answer your question, please follow the following steps:
Check the Frequently Asked Questions on our website to see if that provides you any
answers.
If not, check the LOVD forum to see if that helps you.
If not, please submit your question to the LOVD3 support forum.
If you’re sure the problem you are having is an LOVD bug, please use our bug tracking
system to report your issue.
Only in case you don’t want to publicly put your problem or question on the forum or
bug tracking system, you can contact us also directly through the website.
86