A pedigree visualization tool based on dot format and visualized by graphviz
Project description
GraphPed: a novel graph-based visualization method for large and complex pedigrees
author: Yin Huang
citation:
Install
pip install graphped
How to use
1. In command line
!GraphPed -h
-
- standard pedigrees in the ped file
GraphPed -p data/example_fam.ped -o data/cli/ -f pdf
-
- extended pedigrees in the ped file
GraphPed -p data/example_fam_ext.ped -o data/cli/ -f svg -a data/default.yaml
2.In jupyter notebook
from graphped.plot import *
fam=readped('data/example_fam.ped')
plotped(fam)
Or
show(GraphPed(fam))
GraphPed function can plot all the pedigrees in the fam dataframe.
Adding self-defined attributes. the number of traits in the input file should match with the number of traits in the attribute yaml file.
attrs=load_attributes('data/default.yaml')
famext=readped('data/example_fam_ext.ped',attrs)
plotped(famext,attrs)
Write to output folder with pdf format
plotped(famext,attrs,output='data/jpn',format='pdf')
Or output multiple pedigrees.
GraphPed(famext,attrs,output='data/jpn',format='pdf')
Tutorial
Setting the attribute yaml file
- reference:
For one trait ped file, if the trait values are affected status, which should be coded as follows: -9 or 0 is missing,1 is unaffected, and 2 is affected. you don’t need to set the attribute file. Otherwise, you need to set your attribute file by following:
The format of the attribute of yaml file
trait name:
attribute name:
(the pairs of tait value and attribute value)
tait value1: attribute value1
tait value2: attribute value2
...
If you have more than one traits, you need to set each trait separately in the yaml file. The following is an example.
trait1:
fillcolor:
1: 'white'
2: 'dimgrey'
-9: 'aquamarine3'
trait2:
style:
True: filled,setlinewidth(4)
False: filled
trait3:
fontcolor:
True: darkorange
False: black
attrs=load_attributes('data/default.yaml')
attrs
Two example pedigrees
one is standard, one is extended with 3 traits.
Standard ped file
Fam F4 P3 F1 1 1
Fam F3 P3 F1 2 1
Fam F2 P3 F1 2 1
Fam F1 P1 P2 2 2
Fam P3 0 0 1 2
Fam P1 0 0 1 -9
Fam P2 0 0 2 -9
fam=readped('data/example_fam.ped')
fam
plotped(fam)
plotped(fam)
Extended ped file
Fam1 F4 P3 F1 1 1 True False
Fam1 F3 P3 F1 2 1 True True
Fam1 F2 P3 F1 2 1 True False
Fam1 F1 P1 P2 2 2 True False
Fam1 P3 0 0 1 2 True False
Fam1 P1 0 0 1 -9 False True
Fam1 P2 0 0 2 -9 False True
famext=readped('data/example_fam_ext.ped',attrs)
famext
plotped(famext,attrs)
dots=GraphPed(fam)
show(dots)
Write out plots
plotped(fam,output='data/exampleplots',format='png')
Show the plot from data/exampleplots/Fam.png
Real data examples
all_fam=readped('data/Fig_2_3_fam.ped')
all_fam
Fig.1 The workflow of GraphPed
show workflow
Fig.2 The pedigrees of complex families
plotped(all_fam[all_fam.fid=='25_2'])
Fig.S2 The largest pedigree in ADSP
plotped(all_fam[all_fam.fid=='4_649'])
Fig.3 The pedigrees with incorrect information
plotped(all_fam[all_fam.fid=='10R_R99'])
Fig.4 The pedigrees with multiple phenotypes
self-defined multiple-trait yaml
ad:
fillcolor:
1: 'white'
2: 'dimgrey'
-9: 'aquamarine3'
vcf:
style:
True: filled,setlinewidth(4)
False: filled
trim:
fontcolor:
True: darkorange
False: black
attrs=load_attributes('data/self_defined_mutiple_traits.yaml')
ped=readped('data/Fig4_fam_ext.ped',attrs)
ped
plotped(ped,attrs)
Show multiple figures with self-defined attributes
self-defined single-trait yaml
ad:
fillcolor:
1: 'white'
2: 'dimgrey'
-9: 'aquamarine3'
attr=load_attributes('data/self_defined_single_trait.yaml')
all_fam=readped('data/Fig_2_3_fam.ped',attr)
all_fam
dots=GraphPed(all_fam,attr)
show(dots)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.