New filter rules for genetic genealogy

Hi I have added 8 new filter rules addons to gramps which could be useful for users interested into genetic genealogy.

Edit: New names and descriptions are:

  1. Patrilineal progenitor of <person>:
    Matches the earliest recorded patrilineal ancestor father.
  2. Matrilineal progenitrix of <person>:
    Matches the earliest recorded matrilineal ancestor mother.
  3. Y-chromosomal inheritance of <person>:
    Matches recorded descendants of person following Y-chromosomal inheritance patterns.
  4. Mitochondrial inheritance of <person>:
    Matches recorded descendants of person following mitochondrial inheritance patterns.
  5. Y-chromosomal inheritance of <filter>:
    Matches recorded descendants of a filter result following Y-chromosomal inheritance patterns.
  6. Mitochondrial inheritance of <filter>:
    Matches recorded descendants of a filter result following mitochondrial inheritance patterns.
  7. X-chromosomal ancestors of <person>:
    Matches ancestors of following a X-chromosomal inheritance pattern.
  8. X-chromosomal descendants of <person>:
    Matches descendants of person following a X-chromosomal inheritance pattern.

More infromation about Y-chromosomal and mitochondrial haplogroups:

Outdated Info

1) Earliest known paternal line father:
This filter rule matches the earliest known paternal line father where each son-father realtionship type is “birth”.
2) Earliest known maternal line mother:
This filter rule matches the earliest known maternal line mother where each daughter-mother realtionship type is “birth”.
3) Shared Y-DNA:
This filter rule matches all male descendants of a person sharing Y-DNA. The Y-chromosome is only passed on from father to sons.
4) Shared Mt-DNA:
This filter rule matches all descendants of a person sharing mitochondrial DNA. Mitochondrial DNA is passed on from mother to both (male and female) children.
5) Shared Y-DNA filter match:
Same as “Shared Y-DNA”, but allows a filter result as input.
6) Shared Mt-DNA filter match:
Same as “Shared Mt-DNA”, but allows a filter result as input.
7) Renamed “X-chromosomal inheritance of <person>” to “X-chromosomal ancestors of <person>”


Thanks @Mattkmmr! Do these work only by choosing a particular person as the starting point, or can they also use the results of another person filter as input?

For example, to find all of my Y-DNA cousins (all of the Y-DNA descendants of my earliest known Y-DNA ancestor), I would want to nest the first and third rules. Similarly, I could find all of my mt-DNA cousins if I could nest the second and fourth rules.

1 Like

Right now you have to choose them manually, but I’ll create new shared Y/Mt filter rules matching filter results, so you can stack them.

@GeorgeWilmes I’ve created variations of the filters allowing them to stack now.

I just copied the code for the six filter rules into my addons. Exploring them for the Male-line descendant thread

One suggestion. The rules end up in the Person filter’s “General Filter’s” category. Shouldn’t they be in “Descendant Filters” and “Ancestral filters” respectively?

Or maybe their own category “DNA based filters”


Thank you! I just used the following add-on rule to suggest a solution in another thread.

I had to install it to test the solution and discovered a couple tweaks that would be nice:

  1. Could you move it from General filters to Descendant filters? (Dave already suggested that.)
  2. Could you add an Inclusive: Include selected Gramps ID checkbox like the “Descendants of <person>” from Descendant filters?

Until Gramps actually stores DNA and we have the ability filters on that data, it probably doesn’t make sense to have such a category.

However, the idea raises a good point. Should these Rules be named with DNA terms if they are not testing DNA data? They are logical simulations of what DNA tests might say based on a source based tree rather than hard science.

I did a quick test. These are DNA based filters because they explicitly exclude non “Birth” children. But also true, it is presumed true that the “father” listed by the mother on the birth certificates are “biological” fathers. As you say, the filters are not based upon scientific evidence.

1 Like

If they were to be categorized, I would call them “biological”, since they could serve broader purposes than just DNA-related research.

Yes, the birth certificate may wrong, but if the researcher has decided to accept it as truth, then shouldn’t the software should respect that?

Also, even DNA evidence can be misleading – a son’s Y-DNA would still match his “father’s” even if the father’s brother were the real father.

The software Yes, and genealogically Yes.

But the birth certificate does not prove biology which a “DNA” search is expected to do.

The filters are of presumed or expected DNA matches, not actual DNA matches.

Yes I’ll put them to “Descendant Filters” and “Ancestral filters”.

Which filters are missing persons? Filter 3, 4, 5 and 6 should already include all persons and for filter 1 and 2 it does not make sense.

I don’t think that filter rules should test DNA data. The rules only filter the database which is the information the researcher has entered. That information may not be the biological reality e.g. wrong father in birth certificate or the researcher makes a mistake entering data.

For DNA testing I’d expect that we develop tools comparing DNA data. Currently we don’t have any DNA tools for Gramps, but their results or reported data would be entered into Gramps again. The new evidence gained by the tools could contradict old information.

Good Point.

The one tested was #3 Shared Y-DNA.
The results did not include the progenitor used to seed the filter, only his male biological descendants. I had to add a 2nd rule to include the progenitor.

The reason the Gramps user was using this rule was to feed data to a Chart showing all the immediate family in a line — including those who bore variants of his surname as a maiden name or a married name but specifically excluding descendants of daughters. That excluded descendants of daughters who married someone with the same surname but included direct male descendants with changed surnames.

To populate the chart boxes, he needed the the progenitor, his direct line male descendants. Then he needed their immediate children & possibly the spouses who contributed to the line.

So this added 2 variants of a 2-rule 2nd stage filter that populated more boxes in the graphs:

  1. If the graph didn’t need spouse boxes:
    a) Children of the results of the first filter
    b) the progenitor

  2. If the graph did need spouses:
    a) Children of the results of the first filter
    b) parents of the results of the first filter

I realize from writing this, that variant 2 would include 2 persons outside the spec: the parents of the progenitor. I should have layered in an exclusion rule for the parents of the progenitor.

Note that the graph does NOT include spouses of the daughters nor spouses who did not contribute offspring to the line.

@Nick-Hall is experimenting with storing DNA Centimorgan data in Gramps. It is reasonable to expect that, if his experiment proves out, that Centimorgan based filters will evolve. So it would be good to avoid 'DNA' terminology in these filter names.

Possible traditional alternative names for this ‘Shared Y-DNA’ filter would be ‘male patrilineal descendants’, ‘agnatic succession’, or marginally applicably ‘agnate kinship’.

The human genome has two types of DNA:

  1. autosomal DNA which is affected by recombination
  2. Y-DNA and Mt-DNA which are not affected by recombination

Recombination means that the inherited DNA from your parents is mixed up, so each sibling inherits a different mix of autosomal DNA, but the same amount from each parent. You can’t predict which piece was inherited from your father or from your mother. You have to compare the DNA sequence or mutation sequence (SNPs) between you and your parents to find that out. @Nick-Hall is working on this one.

In contrast to autosomal DNA, Y-DNA and Mt-DNA are not affected from recombination. They are inherited without changes. They are only affected by mutations during the lifetime, which must occure before you reproduce, so you the children inherit the changes. So in case of non-autosomal DNA the descendants of several generations can share the same Y-DNA and/or Mt-DNA and if they do so, they share a haplogroup/subclade.

I was just starting to make a similar, but @Mattkmmr has done it much better. I would just add one more point, which is that your genetic ancestors (those whose DNA actually made its way down to you) are only a subset of your biological ancestors. See this explanation.

1 Like

I understand that from (barely) recalling a college genetics class.

The point is about the evidence being filtered. This filter is based on citation source evidence.

Whereas one expects a filter with ‘Y-DNA’ or ‘Mt-DNA’ in its name to be filtering based on DNA sequence evidence directly. In those particular terms, filtering SNP data from the sex chromesomes - pair 23. This type of filtering would account for mutation instead of recombination & for the maternal X chromesome being able to come from either maternal grandparent. [sic - erroneous association of Mitochondrial DNA data with maternal X chromosome data]

Let’s not confuse mt-DNA with the X chromosome.

1 Like

You’re absolutely right. I was off-base on that. Thanks.

(They weren’t talking Mt DNA in the 80s intro to genetics classes!)

I’m unsure if users would really be confused with that. I think most would correctly guess that it filters the database information, not the DNA data directly.

Any suggestions how I should update the description to make it less confusing?
Maybe: Note: This rule is based on person relationships and does not compare DNA files.

How about disambiguating by renaming the rules?

  1. patrilineal progenitor of <person>
  2. matrilineal progenitor of <person>
  3. agnatic succession of <person>
  4. biological descendants of <person>
  5. agnatic succession of <filter>
  6. biological descendants of <filter>

If you wanted to make them more flexible, you could add an optional checkbox for ‘only biological relationships’ for 1, 2, 3 &5. It wouldn’t make sense for 4 & 6 since that is a built-in variant.

Sometimes be able to include adopted and surrogate relationships in the filter will be helpful.

(Say, for instance, that I want to find all the occurences of blended families in the inheriting line from <person>. I could run a filter which excludes #3 birth children from #3 (birth & blended) children. Then pipe that into a Family children filter where #3 is the father. It’d be painfully slow but would yield interesting results.

1 Like

In that case, number 2 should be “progenitrix” rather than “progenitor”. :slightly_smiling_face:

I had not known “agnatic” before. I learn a lot in this forum!