Pedigree PED import fails when a family has childless relationships

Description

See the attached JSON. The problem is when this pedigree is exported as PED it can't be imported back

Environment

None

Activity

Show:
Andrew Misyura
October 13, 2016, 9:18 PM

The problem is in childless couples

In PED file there is no way to specify a relationship, so if a person is only linked to all other pedigree members through a childless relationship import fails as it has no idea where to put the person back in on import. The simple 2-person family below illustrates the problem (simpleJSON):
----------
[{"id":"1","proband":true,"sex":"unknown","birthDate":{},"deathDate":{},"lifeStatus":"alive","externalId":""},{"id":"2","sex":"unknown"},{"relationshipId":1,"childlessStatus":"childless","childlessReason":null,"partner1":"1","partner2":"2"}]
----------

There is no way to fix this import. The only thing we can do is warn on export that importing this family back is not possible and explain why (a childless relationship is present)

Sergiu Dumitriu
October 14, 2016, 1:38 PM
Edited

An alternative solution is to only export the nodes that are properly connected to the proband (and warn the user about that). If there's a partner that's not otherwise connected to the proband, then his medical details don't matter at all.

Andrew Misyura
October 14, 2016, 6:28 PM
Edited

A problem with this alternative is that other software may be able to use this disconnected PED file, so removing parts of the family on PED export may hurt integration (after all, usually people don't export as PED to import it back into PT, it is better to export as JSON for that purpose)

Andrew Misyura
October 14, 2016, 6:31 PM

I would say a better solution is to drop all disconnected parts, and import whatever can be imported - and display a warning

This will also solve a problem of importing PEDs produced by other software, which may have disconnections as well, and we have no control over that

Assignee

Andrew Misyura

Reporter

Sergiu Dumitriu

Labels

None

External issue ID

None

Components

Fix versions

Priority

Medium
Configure