Как отредактировать grphviz файл .dot, чтобы он выглядел более прилично? - PullRequest
0 голосов
/ 08 марта 2020

У меня есть следующий код из файла .dot:

digraph "fowchart" {
p1 [shape=point,label="",fixedsize=true,width=0.1,xlabel="Channel.fromFilePairs"];
p2 [shape=circle,label="",fixedsize=true,width=0.1,xlabel="ifEmpty"];
p1 -> p2;

p2 [shape=circle,label="",fixedsize=true,width=0.1,xlabel="ifEmpty"];
p3 [shape=circle,label="",fixedsize=true,width=0.1,xlabel="map"];
p2 -> p3;

p3 [shape=circle,label="",fixedsize=true,width=0.1,xlabel="map"];
p4 [shape=circle,label="",fixedsize=true,width=0.1,xlabel="separate"];
p3 -> p4;

p4 [shape=circle,label="",fixedsize=true,width=0.1,xlabel="separate"];
p5 [shape=point];
p4 -> p5 [label="bim_ch"];

p4 [shape=circle,label="",fixedsize=true,width=0.1,xlabel="separate"];
p6 [label="maf"];
p4 -> p6 [label="raw_ch"];

p6 [label="maf"];
p7 [label="iteratCallRate"];
p6 -> p7 [label="qc1"];

p7 [label="iteratCallRate"];
p9 [label="HWEfilt"];
p7 -> p9 [label="qc2"];

p7 [label="iteratCallRate"];
p8 [label="checkIfMissingDroped"];
p7 -> p8 [label="qc2_A"];

p9 [label="HWEfilt"];
p10 [label="pruningLD"];
p9 -> p10 [label="qc3"];

p10 [label="pruningLD"];
p11 [label="PCA"];
p10 -> p11 [label="qc4"];

p10 [label="pruningLD"];
p11 [label="PCA"];
p10 -> p11 [label="qc4_PCA"];

p11 [label="PCA"];
p14 [label="heteroziogistyTes"];
p11 -> p14 [label="qc5_PCA"];

p11 [label="PCA"];
p14 [label="heteroziogistyTes"];
p11 -> p14 [label="qc5"];

p11 [label="PCA"];
p13 [shape=point];
p11 -> p13 [label="outliers_pca_evec"];

p11 [label="PCA"];
p12 [shape=point];
p11 -> p12 [label="PC_for_cov"];

p14 [label="heteroziogistyTes"];
p17 [label="plink"];
p14 -> p17 [label="qc6"];

p14 [label="heteroziogistyTes"];
p15 [shape=point];
p14 -> p15 [label="qc6_LD"];

p14 [label="heteroziogistyTes"];
p36 [label="filterByInfo"];
//p14 -> p36 [label="sample"];

p16 [shape=point,label="",fixedsize=true,width=0.1];
p17 [label="plink"];
p16 -> p17;

p17 [label="plink"];
p19 [label="shapeitCheck"];
p17 -> p19 [label="plinkOutChan"];

p18 [shape=point,label="",fixedsize=true,width=0.1];
p19 [label="shapeitCheck"];
p18 -> p19 [label="db_path"];

p19 [label="shapeitCheck"];
p21 [label="shapeit"];
p19 -> p21 [label="shapitCheckChan"];

p20 [shape=point,label="",fixedsize=true,width=0.1];
p21 [label="shapeit"];
p20 -> p21 [label="db_path"];

p21 [label="shapeit"];
p22 [shape=circle,label="",fixedsize=true,width=0.1,xlabel="flatMap"];
p21 -> p22 [label="shapeitChan"];

p22 [shape=circle,label="",fixedsize=true,width=0.1,xlabel="flatMap"];
p24 [label="impute2"];
p22 -> p24 [label="imputeChromChunckChannel"];

p23 [shape=point,label="",fixedsize=true,width=0.1];
p24 [label="impute2"];
p23 -> p24 [label="db_path"];

p24 [label="impute2"];
p25 [shape=circle,label="",fixedsize=true,width=0.1,xlabel="toSortedList"];
p24 -> p25 [label="impute2Chan"];

p24 [label="impute2"];
p27 [shape=circle,label="",fixedsize=true,width=0.1,xlabel="toSortedList"];
p24 -> p27 [label="impute2Chan2"];

p25 [shape=circle,label="",fixedsize=true,width=0.1,xlabel="toSortedList"];
p26 [shape=point];
p25 -> p26;

p27 [shape=circle,label="",fixedsize=true,width=0.1,xlabel="toSortedList"];
p28 [shape=point];
p27 -> p28;

p29 [shape=point,label="",fixedsize=true,width=0.1];
p30 [label="impute2Concat"];
p29 -> p30 [label="impute2MapChannel"];

p30 [label="impute2Concat"];
p33 [shape=circle,label="",fixedsize=true,width=0.1,xlabel="toList"];
p30 -> p33 [label="addedChrNum"];

p31 [shape=point,label="",fixedsize=true,width=0.1];
p32 [label="impute2Concat2"];
p31 -> p32 [label="impute2MapChannel2"];

p32 [label="impute2Concat2"];
p34 [shape=circle,label="",fixedsize=true,width=0.1,xlabel="toList"];
p32 -> p34 [label="addedChrNum_info"];

p33 [shape=circle,label="",fixedsize=true,width=0.1,xlabel="toList"];
p35 [label="mergeChromosomes"];
p33 -> p35;

p34 [shape=circle,label="",fixedsize=true,width=0.1,xlabel="toList"];
p35 [label="mergeChromosomes"];
p34 -> p35;

p35 [label="mergeChromosomes"];
p36 [label="filterByInfo"];
p35 -> p36 [label="genome"];

p35 [label="mergeChromosomes"];
p36 [label="filterByInfo"];
p35 -> p36 [label="genome_info"];

p36 [label="filterByInfo"];
p37 [label="postImpQC"];
p36 -> p37 [label="plink_post_imp"];

p37 [label="postImpQC"];
p38 [label="associationTest"];
p37 -> p38 [label="chrposa1a2"];

p37 [label="postImpQC"];
p40 [label="PRS"];
p37 -> p40 [label="chrposa1a2_forPRS"];

p38 [label="associationTest"];
p39 [label="gwasGraphs"];
p38 -> p39 [label="GWAS_results"];

}

, который генерирует следующее изображение .png:

enter image description here

Есть ли простой способ отредактировать код, чтобы хотя бы сделать его одним непрерывным графом? Это общий вывод инструмента создания конвейера следующего потока, поэтому он был бы весьма полезен для многих (я не считаю, что q для быть слишком конкретным c таким образом).

...