Configuring Ancestor DNA Charts

This article aims to show you how to configure and create your own DNA charts, along with their accompanying DNA Ancestor and DNA Relative tables, for a select individual.

DNA charts and tables are automatically generated by determining the most recent common ancestors found in your database for your configured DNA tester and all their configured DNA matches. The tables will include a summary of the details derived from those matches, and will link to the DNA charts for each of those ancestors. Each chart will link up every DNA match for whom that ancestor is the most recent as well. For an in-depth description please read What are DNA Charts?.
Ancestor DNA Charts
Ancestor DNA Charts

Running Gigatrees

Building DNA charts is as easy as running one of the following commands. The configuration files listed in the commands can be found described below. You can simply copy and paste those configurations into similarily named text files and place them in the same folder as the application.

To build your DNA charts in HTML

gigatrees5.exe -c config.xml

To create a database of your DNA charts

gigatrees5.exe -c config.xml -c db.xml

DNA Chart Configuration

In order to configure DNA charts, whether doing so for HTML or a database, the first thing you will need to do is load the gigatrees plugin and the default theme and enable copying of the plugin files to your output folder. Next, in the default theme, $HOME_LINK$ is setup to link to the home page. However, when building standalone reports, the home page is not created, so you will need to override that placeholder as shown, filling in the record ID for the person for whom the DNA charts are being built. If you are creating these for multiple persons in your database, a list of all the DNA charts will be created in the mrca folder. In this case, when building for HTML, you will need to replace the record ID with the word index. If you're building a database, you can simply remove the record ID rather than replace it. This is because the database does not support filenames of "index". Next, you will need to setup the website metadata. You should, of course, add your website's title and any other items that you wish to include, such as the site owner's name, the site description, banner and favicon. Next, you will need to enter your GEDCOM filename and, if needed, change the output folder. You will also need to enable just the <Pages> you want to create. Since this demonstration is for DNA charts, those are the only two enabled below. Since profile pages are disabled, individual's record ids numbers will be shown preceding their name. You can also hide this under the miscellaneous option, for a cleaner look. Finally you will need to setup your DNA charts. First, leave the <DnaProbabilityFile> blank to use the default matricies. The article, Adding Your Ancestry Thulines™ explains in detail how to add your DNA matches found at using the <Relative> option. You can extrapolate from this for other DNA matching services. The example below is taken from that article. You would, of course, do this for all relevant matches. The <DNA> option also supports bulk entry.


    <Plugin> plugins\gigatrees </Plugin>
    <Plugin> plugins\theme.a   </Plugin>
    <CopyPlugins> true </CopyPlugins>
    <Placeholder> <Name> $HOME_LINK$ </Name> <Content> <![CDATA[ %RootPath%/mrca/record ID%Extension% ]]> </Content> </Placeholder>  

    <SiteTitle>       Census Table </SiteTitle>
    <SiteOwner>       ...          </SiteOwner>
    <SiteDescription> ...          </SiteDescription>
    <SiteBanner>      ...          </SiteBanner>
    <Favicon>         %PluginsURL%gigatrees/imgs/favicon.png </Favicon>
    <GedcomFile> family.ged </GedcomFile>
    <OutputPath> web        </OutputPath>
    <Tree>         false </Tree>
    <Names>        false </Names>
    <Profiles>     false </Profiles>
    <Sources>      false </Sources>
    <Blog>         false </Blog>
    <Places>       false </Places>
    <Map>          false </Map>
    <Timelines>    false </Timelines>
    <Ancestors>    false </Ancestors>
    <OriginMaps>   false </OriginMaps>
	<AncestorMaps> false </AncestorMaps>
    <DNAAncestors>  true </DNAAncestors>
    <DNARelatives>  true </DNARelatives>
    <Kinships>     false </Kinships>
    <Census>       false </Census>
    <Descendants>  false </Descendants>
    <Collections>  false </Collections>
    <Immigrants>   false </Immigrants>
    <Nobility>     false </Nobility>
    <Photos>       false </Photos>
    <Gallery>      false </Gallery>
    <Validation>   false </Validation>
    <Updates>      false </Updates>

    <HideRecordIds>     true </HideRecordIds>
    <DnaProbabilityFile>  </DnaProbabilityFile>

      <Tester>           Tim Forsythe </Tester>
      <Match>            Michael Dahm </Match>
      <SharedDna>        41           </SharedDna>
      <NumberOfSegments> 3            </NumberOfSegments>
      <TestingCompany>   Ancestry     </TestingCompany>
      <Living>           true         </Living>

If you're setting up your DNA chart(s) for HTML, you're done. Easy-peasy. If you want to build a database for hosting your charts online (as I have done for this demonstration), then you will need to configure it first.


If you want to publish your DNA charts online, you will need to create a database. This will require a few additional steps. If you already have plugins installed on your server, you may want set the <CopyPlugins> option to false. I install all my plugins at the root level, so that I do not need to have multiple sets for each demo. Next, define some placeholders to simplify the setup. You will need to set your /super/secret/server/path to match that provided to you by your hosting service and fill in your domain, database-name and your database extension (i.e. db, sqlite, etc.). The domain name must always point to the root domain. Next, the setup assumes you are going to install your DNA charts into a subfolder of your root domain that has the same name as your database. You can change the folder name here if you like, or remove the <RootPath> if installing at the root domain. This setup also assumes that your plugins are installed at the root level (like mine). If you are putting them into your subfolder, don't disable copying of plugins, and clear the <PluginsURL> option to use the default setting. The next step is to enable the database. You should not need to make any changes here as it uses the placeholders you setup prior. Lastly, anytime you are publishing your website online, you should enable the privatization <Security> setting and hide living individuals. This will obsfucate their names and strip sensitive data as well as other information you may have flagged as private.


    <CopyPlugins> false </CopyPlugins>
    <Placeholder> <Name> $SERVER$    </Name> <Content> /super/secret/server/path </Content> </Placeholder>
    <Placeholder> <Name> $DOMAIN$    </Name> <Content>        </Content> </Placeholder>
    <Placeholder> <Name> $SITE$      </Name> <Content> database-name             </Content> </Placeholder>
    <Placeholder> <Name> $DATABASE$  </Name> <Content> $SITE$.ext                </Content> </Placeholder>
    <Domain>      $DOMAIN$  </Domain>
    <RootPath>    /$SITE$   </RootPath>
    <PluginsURL> 	/plugins/ </PluginsURL>
    <EnableServerDatabase> true          </EnableServerDatabase>
    <LocalDatabasePath>    %OutputPath%  </LocalDatabasePath>
    <ServerDatabasePath>   $SERVER$      </ServerDatabasePath> 
    <ServerDatabaseName>   $DATABASE$    </ServerDatabaseName>
    <Privatize>  true </Privatize>
    <HideLiving> true </HideLiving>

So there you have it. When building a database for deployment, you will need to deploy it. See the Quick Start Guide for simple instructions on doing so. Whether building for HTML or a database, these instructions should get you started building your own DNA charts.