1 FACULTEIT TEGEPASTE WETENSCHAPPEN VAKGREP ELEKTRNICA EN INFRMATIESYSTEMEN Voorzitter: prof. dr. ir. J. Van Campenhout Academiejaar ntwikkeling van e...
FACULTEIT TOEGEPASTE WETENSCHAPPEN VAKGROEP ELEKTRONICA EN INFORMATIESYSTEMEN Voorzitter: prof. dr. ir. J. Van Campenhout _________________ Academiejaar 2004-2005
Ontwikkeling van een visualisatietool als uitbreiding van een webgebaseerde PCR primerdatabank door
ir. Jelle Verspurten
Promotor: prof. dr. ir. P. De Neve Studiebegeleiders: ir. F. Pattyn en dr. ir. J. Vandesompele
Scriptie ingediend tot het behalen van de academische graad van
MASTER IN DE TOEGEPASTE INFORMATICA
FACULTEIT TOEGEPASTE WETENSCHAPPEN VAKGROEP ELEKTRONICA EN INFORMATIESYSTEMEN Voorzitter: prof. dr. ir. J. Van Campenhout _________________ Academiejaar 2004-2005
Ontwikkeling van een visualisatietool als uitbreiding van een webgebaseerde PCR primerdatabank door
ir. Jelle Verspurten
Promotor: prof. dr. ir. P. De Neve Studiebegeleiders: ir. F. Pattyn en dr. ir. J. Vandesompele
Scriptie ingediend tot het behalen van de academische graad van
MASTER IN DE TOEGEPASTE INFORMATICA
Woord vooraf
Woord vooraf Een aanvullend jaar, nieuwe faculteit, nieuwe proffen, nieuwe vrienden en natuurlijk een nieuwe thesis. Het maken van zo een thesis vergt veel van een student, maar zou nog veel moeilijker te verwezenlijken zijn zonder de hulp en steun van een aantal mensen. Via dit voorwoord zou ik dan ook graag deze mensen willen bedanken. Vooreerst zou ik professor De Neve willen bedanken voor de kans die u mij gaf om onder uw hoede te mogen werken en de andere leden van de jury voor uw interesse en het lezen van m’n thesis. Grote dank gaat ook uit naar de mensen van het Centrum voor Medische Genetica die mij hebben bijgestaan bij het vele werk en altijd klaar stonden voor het geven van goede raad. Meer in het bijzonder Filip, Jo en Piet die op elke vergadering mij steeds overlaadden met al hun wensen en ideeën, maar vervolgens al even snel met oplossingen en hints kwamen aandraven. Ik ben er van overtuigd dat het mooie resultaat zeer zeker een gevolg is van jullie gedrevenheid en motivatie. Tot slot zou ik ook mijn ouders willen bedanken om mij de kans te geven om me, na mijn eerste opleiding, nog een jaartje achter de schoolbanken te laten plaatsnemen en deze aanvullende studie te laten volgen. Het was een interessant en leerrijk jaar waarbij ik ontzettend veel heb bijgeleerd. __________________________ De auteur en de promotoren geven de toelating deze scriptie voor consultatie beschikbaar te stellen en delen ervan te kopiëren voor persoonlijk gebruik. Elk ander gebruik valt onder de beperkingen van het auteursrecht, in het bijzonder met betrekking tot de verplichting uitdrukkelijk de bron te vermelden bij het aanhalen van resultaten uit deze scriptie. The author and the promoters give permission to use this thesis for consultation and to copy parts of it for personal use. Every other use is subject to the copyright laws, more specifically the source must be extensively specified when using results from this thesis. Gent, Datum ir. J. Verspurten
Overzicht
Overzicht Ontwikkeling van een visualisatietool als uitbreiding van een webgebaseerde PCR primerdatabank door ir. Jelle Verspurten __________ Scriptie ingediend tot het behalen van de academische graad van Master in de Toegepaste Informatica Academiejaar 2004-2005 __________ Promotor: prof. dr. ir. P. De Neve Studiebegeleiders: ir. F. Pattyn en dr. ir. J. Vandesompele __________ Universiteit Gent Faculteit Toegepaste Wetenschappen Vakgroep Elektronica en informatiesystemen Voorzitter: prof. dr. ir. J. Van Campenhout
Samenvatting: In het Centrum voor Medische Genetica werd in 2002 een publieke databankapplicatie opgestart voor het bewaren en het opvragen van gevalideerde real-time PCR primer- en probesequenties. Als uitbreiding hierop werd via Scalable Vector Graphics (SVG) een visualisatietool ontwikkeld om de primers voor te stellen t.o.v. de transcripten waarop ze aligneren. Het zoeken naar de posities van de primers in de sequentie van het transcript is geautomatiseerd en de RTPrimerDB databank werd met de nieuwe informatie opgevuld. Een aantal nieuwe pagina’s werden aangemaakt op de website om een overzicht te geven van alle geninformatie en de gemaakte figuren te presenteren.
Hoofdstuk 3: Visualisatie met Scalable Vector Graphics............................... 7 3.1 Inleiding .................................................................................................................7 3.1.1 Doel ................................................................................................................7 3.1.2 Wat is SVG? ....................................................................................................7 3.1.3 Korte bespreking SVG structuur......................................................................7 3.1.4 SVG en webpagina’s .......................................................................................9 3.1.5 SVG en PHP....................................................................................................9 3.2 Overzichtsfiguur transcript (svggene.php, zie appendix I.a)...................................10 3.2.1 Doel ..............................................................................................................10 3.2.2 Data ophalen.................................................................................................10 3.2.3 Instellen parameters......................................................................................11 3.2.4 Schrijven van de SVG figuur..........................................................................12 3.2.5 Voorbeeld: MYCN, transcript ENST00000281043.........................................22 3.3 Overzichtsfiguur amplicon (primer.php, zie appendix I.b).....................................23 3.3.1 Doel ..............................................................................................................23 3.3.2 Data ophalen.................................................................................................23 3.3.3 Instellen parameters......................................................................................23 3.3.4 Schrijven van de SVG figuur..........................................................................24 3.3.5 Voorbeeld: MYCN.........................................................................................29
Hoofdstuk 4: RTPrimerDB (website)............................................................ 30 4.1 Inleiding ...............................................................................................................30 4.2 Overzichtspagina van een assay (assay_report.php) ..............................................31 4.2.1 Inleiding........................................................................................................31 4.2.2 Invoegen figuur .............................................................................................31 4.2.3 Andere aanpassingen ....................................................................................33 4.3 Overzichtspagina van een gen (gene_report.php) ..................................................36 4.3.1 Inleiding........................................................................................................36 4.3.2 Invoegen figuur .............................................................................................36 4.3.3 Andere eigenschappen gene_report.php ........................................................37
Inhoudsopgave
Hoofdstuk 5: Databankstructuur .................................................................. 40 5.1 Inleiding ...............................................................................................................40 5.2 Primerdatabank .....................................................................................................40 5.2.1 Inleiding........................................................................................................40 5.2.2 Alignering .....................................................................................................40 5.2.3 Databankstructuur ........................................................................................44 5.3 Bespreking overige tabellen ..................................................................................50 5.3.1 Informatie over gen en transcript (zie appendices IV.b en IV.c) .....................50 5.3.2 Informatie over de exonen (zie appendices IV.d)............................................50 5.3.3 Informatie over de SNP’s (zie appendices IV.e) .............................................50 5.3.4 Informatie over de proteïne domeinen (zie appendices IV.f en IV.g)...............51
HTML Hypertext Markup Language mRNA messenger RNA NCBI
National Center for Biotechnology Information
PCR
Polymerase Chain Reaction
PHP
PHP Hypertext Preprocessor
SNP
Single Nucleotide Polymorphism
SVG
Scalable Vector Graphics
T
Thymine
1
Inleiding
Hoofdstuk 1: Inleiding In het Centrum voor Medische Genetica van het UZ Gent wordt genetisch onderzoek verricht naar genetische afwijkingen bij de mens, verantwoordelijk voor erfelijke ziekten of kankers. Het grootste deel van de gebruikte labo-technieken is gebaseerd op het gebruik van PCR (meer in het bijzonder real-time PCR), een moleculair biologische methode om kleine stukjes DNA te kopiëren en kwantificeren. Deze techniek en andere genetische termen worden toegelicht in het tweede hoofdstuk. Het volgende hoofdstuk bevat de informatie met betrekking tot het visualiseren van de primers op een transcript. Hiertoe wordt gebruik gemaakt van Scalable Vector Graphics (SVG), een taal die het mogelijk maakt om afbeeldingen samen te stellen via het meegeven van coördinaten. De algemene werking wordt kort besproken, waarna uitgelegd wordt hoe de twee overzichtsfiguren werden samengesteld. De informatie hiertoe werd immers gehaald uit de eigen RTPrimerDB en andere op het Web beschikbare databanken. In hoofdstuk 4 staat vervolgens geschreven hoe de reeds bestaande website wordt aangepast om de gemaakte figuren voor te stellen. Een overzichtspagina per gen wordt aangemaakt waarbij naast de figuur ook een tabel komt met alle assay-informatie. Ook een aantal andere veranderingen werden uitgevoerd en zijn besproken. Hoofdstuk 5 tenslotte, bevat alle informatie met betrekking tot de structuur en het opvullen van de databanken. De posities van de primers, ingegeven door de submitters van de RTPrimerDB website, zijn immers niet gekend en dienen te worden berekend. Hiertoe wordt een aligneringsscript geschreven dat rekening houdt met invoerfouten en omwisselingen. Met deze posities worden ook een aantal andere waarden uitgerekend en weggeschreven in enkele nieuwe tabellen in de RTPrimerDB databank om het gebruik voor het visualiseren te vereenvoudigen.
2
Achtergrond
Hoofdstuk 2: Achtergrond 2.1 Inleiding Het Centrum voor Medische Genetica van het UZ Gent staat in voor het toegepast en fundamenteel genetisch onderzoek naar genetische afwijkingen bij de mens, die verantwoordelijk zijn voor erfelijke ziekten of kankers. Via zowel klinische als moleculaire methoden kunnen genetische afwijkingen worden opgespoord. Een groot deel van de labotechnieken is gebaseerd op het gebruik van PCR (meer in het bijzonder real-time PCR), een krachtige moleculair biologische methode om kleine stukjes DNA te kopiëren en kwantificeren (Pattyn F., 2002). De achtergrond van deze techniek wordt beknopt uitgelegd, om verdere zaken in deze scriptie te kunnen begrijpen. Enkele andere genetische termen worden eveneens besproken.
2.2 DNA DNA is een afkorting voor Deoxyribo Nucleic Acid (desoxyribonucleïnezuur), een voor het leven zeer belangrijke chemische verbinding. In DNA staat namelijk de complete erfelijke informatie van het organisme. DNA bevindt zich in de celkern waarvan bijna iedere lichaamscel er één heeft. Het DNA bestaat, naast de ruggengraat van ribose (een suiker) die de stukjes bij elkaar houdt, slechts uit vier verschillende bouwstenen (nucleotiden): Adenine (A), Thymine (T), Cytosine (C) en Guanine (G), vier verschillende zogenaamde basen die meestal worden aangeduid met hun eerste letter. De A in een streng past tegenover de T in de tegenoverliggende streng en de G past tegenover de C. De twee strengen die precies op elkaar passen en het DNA-molecule vormen, worden complementaire strengen genoemd. Deze strengen samen vormen een dubbele helix met de vorm van een spiraal of wenteltrap (Figuur 1).
2.3 Genstructuur Een gen is een streng van genetisch materiaal (DNA) dat de informatie bevat voor het uitvoeren van bepaalde functies zoals het aanmaken van een specifiek eiwit. Het bestaat in hoofdzaak uit intronen en exonen. De intronen zijn stukjes DNA die weggeknipt worden na het afschrijven van het gen. Het gevormde mRNA (messenger RNA) bestaat enkel uit exonen
3
Achtergrond en bevat nu de code voor de vertaling in een eiwit (Figuur 2). Een gen kan verschillende transcripten hebben voor het aanmaken van verschillende eiwitten. Een andere belangrijke genetische term in het kader van deze scriptie is een SNP (Single Nucleotide Polymorphism). Dit is een variatie die optreedt in een DNA-sequentie als één enkel nucleotide (base) veranderd is. Die set van variaties zorgen voor de verscheidenheid aan individuen binnen een organisme.
Figuur 1: DNA-stuctuur (bron: http://whyfiles.org/075genome/)
Figuur 2: Transcriptie van genomisch DNA naar mRNA gevolgd door translatie in een eiwit (bron: http://laxmi.nuc.ucla.edu:8888/Libraries/Images/MOLECULAR_BIOLOGY/gene_structure.gif)
4
Achtergrond
2.4 PCR 2.4.1 Algemeen De polymerase-kettingreactie, vaak afgekort tot PCR (Polymerase Chain Reaction), is een manier om uit zeer kleine hoeveelheden DNA (enkele moleculen) specifiek een of meer gedeeltes te vermenigvuldigen tot er genoeg van is om het te analyseren. PCR gebruikt een natuurlijk eiwit dat ervoor zorgt dat een DNA streng met een zeer hoge kwaliteit wordt gemaakt (Verspurten J., 2004). Twee zaken zijn dan echter zeker nodig om dit mogelijk te maken: •
In de eerste plaats dient er een DNA streng te zijn om te vermenigvuldigen, als het ware een voorbeeld-DNA of een sjabloon (template).
•
Ten tweede is het nodig om twee kleine DNA strengen te hebben die het complement zijn van een bepaald deel van het sjabloon, zodat deze kunnen gebruikt worden als startplaats voor de PCR reactie. Deze DNA sequenties noemt men primers. De ene noemt men de forward primer, de andere de reverse primer. Het verloop van de reactie kan worden uitgelegd aan de hand van een aantal stappen
die in elke cyclus worden doorlopen. •
Stap 1: denaturatie Hierbij worden de strengen van het oorspronkelijke DNA (sjabloon) uit elkaar
gehaald, door te verwarmen tot de denaturatietemperatuur (typisch 90°C).
•
Stap 2: annealing Dit is de stap waarin de kleine stukjes DNA (de primers) op juiste plaats (daar waar ze
complementair zijn) zich aanhechten aan de doelwitsequentie. Dit gebeurt bij de annealing temperatuur (bvb. 50-60°C)
5
Achtergrond •
Stap 3: elongatie Vervolgens wordt met behulp van een polymerase-enzym de streng gekopieerd, te
beginnen vanaf de primer (typisch bij 72°C). Een polymerase is een enzym dat het aanmaken van nieuwe basen katalyseert, een voorbeeld is Taq-polymerase.
Door het telkens herhalen van deze stappen zal na een aantal cycli een héél grote hoeveelheid DNA-fragmenten ontstaan. Deze fragmenten (ook wel amplicons genoemd) beginnen dus bij de forward primer en eindigen bij de reverse primer (bron figuren: http://www.patho.unibas.ch/molpath/english/diagmethoden/PCR/method.htm).
2.4.2 Real-time PCR (Pattyn F., 2002) Real-time PCR is een techniek om met behulp van PCR het kwantificeren en detecteren van DNA en RNA te bewerkstelligen. Tijdens elke cyclus wordt de amplificatie gevolgd door de toename te meten van de fluorescentie-intensiteit van intercalerende stoffen of sequentiespecifieke probes. Intercalerende stoffen (zoals SYBR green) zijn kleurstoffen die fluorescent worden wanneer zij binden met het dubbelstrengig DNA. Probes zijn (net als primers) enkelstrengige DNA moleculen met een specifieke basensequentie die complementair is aan een deel van het fragment. De probes dragen een fluorescente molecule om na hybridisatie (dit is het aanhechten van de probes aan de streng) te worden aangetoond. Er zijn drie verschillende soorten fluorescentieprobes die regelmatig gebruikt worden, nl. hybridisatie probes (ook FRET probes genoemd), hydrolisatie probes (TaqMan probes) en molecular beacons.
6
Visualisatie met Scalable Vector Graphics
Hoofdstuk 3: Visualisatie met Scalable Vector Graphics 3.1 Inleiding 3.1.1 Doel Het belangrijkste doel van de scriptie is het visualiseren van de verschillende primers ten opzichte van het bijhorende transcript. Hiertoe diende eerst alle informatie te worden verzameld uit de eigen RTPrimerDB databank, maar eveneens uit andere databanken, beschikbaar op het Internet (vnl. NCBI, National Center for Biotechnology Information en Ensembl). Het afhalen en verwerken van de informatie wordt op een andere plaats in dit eindwerk besproken. De keuze werd gemaakt om voor de visualisatie te werken met Scalable Vector Graphics (SVG).
3.1.2 Wat is SVG? SVG staat voor Scalable Vector Graphics. Het is een taal om tweedimensionale tekeningen en grafische toepassingen in XML te beschrijven. SVG, een volledig open standaard, aanbevolen en ontwikkeld door het World Wide Web Consortium (W3C), biedt een grote waaier aan mogelijkheden op vlak van interactiviteit zoals het reageren op user events (bijvoorbeeld
,
,…). Omdat er gebruik gemaakt wordt van
vectortekenen is er geen kwaliteitsverlies bij het aanpassen van de grootte. Eén van de grootste voordelen t.o.v. de grootste concurrent (FLASH), is de compatibiliteit met andere standaarden (vb. XSL en DOM). FLASH steunt op een technologie die niet open bron is. Om de SVG documenten te kunnen afbeelden dient de client momenteel nog een plugin te installeren (beschikbaar via Adobe of Corel), maar in de toekomst zouden SVG interpreters standaard in de browsers worden ingebouwd.
3.1.3 Korte bespreking SVG structuur Het principe van SVG bestaat erin dat al de af te beelden elementen worden beschreven via coördinaten. Op deze manier kunnen lijnen, rechthoeken (en andere geometrische vormen), maar ook tekst worden weergegeven in een figuur. Hierna volgen enkele voorbeelden van welke objecten getekend kunnen worden, waarbij de nadruk vooral wordt gelegd op de in deze scriptie van toepassing zijnde elementen.
7
Visualisatie met Scalable Vector Graphics 3.1.3.1
Algemene structuur SVG file Bovenaan elke SVG-file staat de XML-versie en de documentinformatie vermeld. De
Public Identifier (PUBLIC "-//W3C//DTD SVG 1.0//EN") en de System Identifier (http://www.w3.org/Graphics/SVG/DTD/svg10.dtd) worden meegegeven. De start van de SVG-figuur op zich wordt aangeduid door de
tag, waarin
verschillende attributen dienen te worden gedefinieerd. Zo worden de hoogte en de breedte meegegeven, alsook de coördinaten van de viewbox, dit is het deel van de figuur dat initieel zal worden getoond. Lijnen, teksten,… die samen een groep gerelateerde elementen vormen kunnen worden bijeengezet binnenin een containerelement via de
tags. Aan een groep elementen,
evenals aan individuele objecten op zich, kan een naam worden meegegeven via een attribuut. Dit kan allerlei doeleinden hebben met betrekking tot animaties en hergebruik. Samengevat zal de algemene structuur ongeveer eruit zien als onderstaande code. !"#$%& 2
%'()*"
34++555 55 2 7 3 2 4
++,-"++ #
34++555 5+8 2 34++555 5-
3
./0
+#6+./0+ # + 2 2 3
9
:
++&1 5(
7
+ +
+
9
+ +
3.1.3.2
Lijnen in SVG Het ligt voor de hand dat het tekenen van lijnen een belangrijk aspect vormt van de
figuur. Een lijn wordt in SVG bepaald door een aantal parameters. Vooreerst dient de positie te worden bepaald. Dit gebeurt met behulp van 4 coördinaten: x1, y1 (beginpunt), x2 en y2 (eindpunt). Ook de dikte (
2)
5
en de kleur (
) van de lijn wordt meegegeven
als attribuut. Een bijkomende mogelijkheid is het tekenen van stippellijnen (
2
:)
waarbij de lengte van achtereenvolgens de lijntjes en de gaatjes worden meegegeven. Het volgende stukje code levert de onderstaande figuur op (Figuur 3). :
4
:
4
:
49
;
5
248
:
8
:8
8
+ ;
5
24-
:
8
:8
-
+ ;
5
24
5
24 ;
8
:
8
<
:8
+ : :
8
8
<
4 :8
:; 8 +
2
:48=8
8
8
Visualisatie met Scalable Vector Graphics
Figuur 3: Voorbeeld van lijnen in SVG
3.1.3.3
Tekst in SVG Het weergeven van tekst in SVG is mogelijk door deze mee te geven tussen de
tags. Hierbij wordt via x,y coördinaten bepaald waar het schrijven begint en kan via allerlei attributen de tekstkleur, font en grootte worden gewijzigd. Zoals verder wordt vermeld, zal de opmaak van de tekst worden beschreven in een aparte Cascading Style Sheet (CSS, zie 3.2.4.2).
3.1.4 SVG en webpagina’s Er zijn verschillende manieren volgens welke de inhoud van een SVG file kan worden getoond in webpagina’s. De twee voornaamste worden hier kort besproken. Een stand-alone SVG webpagina, is het voorstellen van het document in een webbrowser als een op zichzelf bestaande pagina. ‘Embedding’ is het integreren van de figuur in een andere pagina (HTML, PHP,…). Deze tweede methode wordt meer in detail besproken in 4.2.2.
3.1.5 SVG en PHP De mogelijkheid bestaat om een SVG-bestand te creëren waarbij de output volledig afhangt van de waarden opgehaald uit een databank. Dit kan “on-the-fly” gebeuren, aangezien dit snel genoeg gebeurt. Hierbij wordt het schrijven van de SVG stap voor stap gedaan en kan de PHP functionaliteit gebruikt worden om berekeningen te maken, lussen te doorlopen en parameters te gebruiken. In de volgende paragrafen wordt de opbouw van de SVG figuren met behulp van PHP en informatie uit de databank meer in detail besproken.
9
Visualisatie met Scalable Vector Graphics
3.2 Overzichtsfiguur transcript (svggene.php, zie appendix I.a) 3.2.1 Doel Het doel van de figuur is een overzicht te geven van alle primers, peptidedomeinen en SNP’s in relatie tot een transcript. Dit transcript bestaat uit verschillende exonen, waarvan een deel coderend en een deel niet coderend is (enkel het coderende deel wordt vertaald in een functioneel eiwit). De data (posities, lengtes, sequenties,…) wordt gehaald uit een aantal tabellen van een Oracle databank (inhoud zie Hoofdstuk 4:). De figuur wordt gemaakt per transcript en is ingebed in het gene_report (zie 4.3.2).
3.2.2 Data ophalen Om de juiste data op te halen uit de databank, wordt bovenaan het PHP script de ‘query’ gedaan. De
>
(een id die de figuur uniek maakt) wordt meegegeven via
3
de methode GET. Het ophalen gebeurt telkens volgens dezelfde manier, bijvoorbeeld voor de transcriptinformatie: >?
3 G ; .&)&"# @ A6!B C/6.%'6# &1.D.1% ,F&6& &1.D#6E1."6*%#D*
informatie ,
,F&6&
G !6 &6 ($ .1%D#6E1."6*%#D.#E6# ;
wordt en
weggeschreven >
3
in
respectievelijk
>3
,
. Tot slot wordt een controle uitgevoerd om
connectieproblemen te melden en wordt de connectie gesloten. J H>
J
I M
10
Visualisatie met Scalable Vector Graphics 2 2
3
9
9
J N
!"*)
3
323N
9
!JJH>
+
9
+A!1#
:
9 +(
0 +%
;
I;
; O !"*)
!JJH>
I;
3.2.3 Instellen parameters Alvorens van start te gaan met het tekenen van de SVG, worden allerlei waarden ingesteld die later gebruikt kunnen worden. De variabele
>
2
2
(de hoogte van het
beeld) werd meegegeven met de methode GET (de reden wordt uitgelegd in 4.2.2), >
5
2
(de breedte van het beeld) wordt vast ingesteld op 800 (d.i. pixels). De lijnen (met name het transcript) zullen lopen van
tot
>9
>
(krijgen vaste waarden mee), en samen met de
lengte van het transcript kan zo de breedte van 1 base worden berekend. >9 >
; P
> >9
;
2 > H>
QG" 1ED)&10#FGRQ R; I+> 2;
>9
Vervolgens worden de waarden van de verschillende “J “
5
2
S
” en de verschillende
” in variabelen gestoken zodat ze later bij het definiëren van de stijlen
gemakkelijk kunnen gebruikt worden. Tenslotte worden de y-waarden (de hoogtes) bepaald waarop elke lijn moet worden getekend. Hierbij is
>
de hoogte van 1 lijn (20) en wordt de hoogste primerlijn op de
T
eerste lijn geschreven. Al de andere y-waarden worden berekend van onder naar boven, telkens ten opzichte van de onderliggende rij (met
>
J :, >
:, >
3:, >
:
en
>3
:,.de
hoogtes van respectievelijk de infolijn, de schaal, het transcript, de SNP-posities en de peptidedomeinen). Bij
:,
3:,
:
en 3
de verticale streepjes vastgelegd. Tot slot is >3 >
T
3: >
>3
: >
>
J : >
>
: >
:
de hoogte van de onderste primerlijn.
T +8; T ; 2
2
J : 8@>
:9 >
> : > 3: >
>
werden ook de waarden voor het tekenen van
8 ;
>
>
:
:U>
>
T ;
T ; T +7;
> :9U> T ; : > T ;
>
3:
>
3:U>
T + ;
>
3:9 >
3: >
T + ;
: > 3: > T ; > : > :U> T +7; >
:9 >
: >
T +7;
11
Visualisatie met Scalable Vector Graphics >3
: >
: >
T ;
>3
:
>3
:U>
>3
:9 >3
: >
>3
:
>3
: >
T +7; T +7; T ;
3.2.4 Schrijven van de SVG figuur 3.2.4.1
Hoofding en informatie Bovenaan de PHP pagina wordt de nodige informatie neergeschreven en de
tag
bevat naast de gebruikelijke attributen ook de hoogte en de breedte van zowel de SVG als de viewbox. Deze waarden worden meegegeven via de eerder gedeclareerde variabelen. De XML-header wordt geprint via PHP, omdat er anders een conflict zou optreden met de symbolen die het onderscheid tussen PHP en SVG aanduiden. 323 2
H " 2 2
:3 4 !"#$%&
N 2
34++555 52
2
2 >
3.2.4.2
> 2
+
N N %'()*" N
U
I;
N ++,-"++ #
+#6+./0+ # +
34++555 5+8 2 2 ; 3
N
+ 5(
5
N
;
;
2 >
> 5
5 2; 2;
3
2 ;
Definiëring stijlen De verschillende stijlen zijn gedefinieerd tussen
J
N N ++&1N
./0
tags en
J
tags. Het
:
element is een container element voor alle elementen naar waar gerefereerd wordt in
de rest van de SVG, het
:
De informatie wordt in een
element laat toe om een stylesheet te embedden in de SVG. " E#E
sectie gezet omdat de vreemde karakters dan worden
genegeerd door de parser. De attributen zijn dezelfde als bij HTML. Er zijn 2 stijlen voor het beschrijven van de lettertypes. De algemene stijl is weergeven van tekst. Het attribuut om de tekst duidelijk leesbaar te maken. Bij
J
, deze wordt steeds gebruikt voor het
is ingesteld op 3
is het
2
3
S )
op
:,
9
dit is
gezet, om zo
het primerid te centreren boven het amplicon. Ook de verschillende lijnen worden in stijlen gedefinieerd. De ingesteld m.b.v. de corresponderende variabele. Het attribuut
5 34
2
wordt bij
enkele stijlen zorgt ervoor dat de lijnen op het einde worden afgerond en geen rechthoekig uitzicht hebben. J :