├── .gitignore ├── Makefile ├── README.md ├── loop.asqg ├── loop.fa ├── loop.fa.fai ├── loop.gfa ├── loop.gv ├── loop.gv.png ├── loop.sam ├── sample.asqg ├── sample.fa ├── sample.fa.fai ├── sample.gfa ├── sample.gv ├── sample.gv.png └── sample.sam /.gitignore: -------------------------------------------------------------------------------- 1 | *.bam 2 | *.bam.bai 3 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | ALL=sample.asqg sample.gv sample.sam \ 2 | sample.gv.png \ 3 | sample.fa sample.fa.fai \ 4 | sample.bam sample.bam.bai \ 5 | loop.asqg loop.gv loop.sam loop.fa loop.fa.fai loop.gv.png 6 | 7 | all: $(ALL) 8 | 9 | clean: 10 | rm -f $(ALL) 11 | 12 | .PHONY: all clean 13 | .DELETE_ON_ERROR: 14 | .SECONDARY: 15 | 16 | %.asqg: %.gfa 17 | abyss-todot --asqg $< >$@ 18 | 19 | %.gv: %.gfa 20 | abyss-todot --gv $< >$@ 21 | 22 | %.sam: %.gfa 23 | abyss-todot --sam $< >$@ 24 | 25 | %.bam: %.sam 26 | samtools view -Su $< |samtools sort - $* 27 | 28 | %.bam.bai: %.bam 29 | samtools index $< 30 | 31 | %.gv.png: %.gv 32 | dot -Tpng $< >$@ 33 | 34 | %.fa: %.gfa 35 | awk '$$1 == "S" { print ">" $$2 "\n" $$3 }' $< >$@ 36 | 37 | %.fa.fai: %.fa 38 | samtools faidx $< 39 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Compare assembly graph file formats 2 | =================================== 3 | 4 | + ASQG [Sample](sample.asqg), [Specification](https://github.com/jts/sga/wiki/ASQG-Format) 5 | + FASTG [Specification](http://fastg.sourceforge.net/FASTG_Spec_v1.00.pdf) 6 | + GraphViz [Sample](sample.gv), [Specification](https://github.com/bcgsc/abyss/wiki/ABySS-File-Formats#dot) 7 | + GFA [Sample](sample.gfa), [Specification](https://github.com/pmelsted/GFA-spec/blob/master/GFA-spec.md) 8 | + SAM [Sample](sample.sam), [Specification](http://samtools.github.io/hts-specs/SAMv1.pdf) 9 | 10 | Render `sample.gv` using GraphViz. 11 | 12 | ![sample.gv](sample.gv.png) 13 | 14 | Render `loop.gv` using GraphViz. 15 | 16 | ![loop.gv](loop.gv.png) 17 | -------------------------------------------------------------------------------- /loop.asqg: -------------------------------------------------------------------------------- 1 | HT VN:i:1 2 | VT 1 * LN:i:3 3 | VT 2 * LN:i:3 4 | VT 3 * LN:i:3 5 | VT 4 * LN:i:3 6 | ED 1 1 1 2 3 0 1 3 0 -1 7 | ED 2 2 1 2 3 1 2 3 1 -1 8 | ED 3 3 0 1 3 0 1 3 1 -1 9 | ED 4 4 1 2 3 0 1 3 0 -1 10 | -------------------------------------------------------------------------------- /loop.fa: -------------------------------------------------------------------------------- 1 | >1 2 | AAA 3 | >2 4 | ACG 5 | >3 6 | CAT 7 | >4 8 | TTT 9 | -------------------------------------------------------------------------------- /loop.fa.fai: -------------------------------------------------------------------------------- 1 | 1 3 3 3 4 2 | 2 3 10 3 4 3 | 3 3 17 3 4 4 | 4 3 24 3 4 5 | -------------------------------------------------------------------------------- /loop.gfa: -------------------------------------------------------------------------------- 1 | H VN:Z:1.0 2 | S 1 AAA 3 | S 2 ACG 4 | S 3 CAT 5 | S 4 TTT 6 | L 1 + 1 + 2M 7 | L 2 + 2 - 2M 8 | L 3 - 3 + 2M 9 | L 4 - 4 - 2M 10 | -------------------------------------------------------------------------------- /loop.gv: -------------------------------------------------------------------------------- 1 | digraph adj { 2 | "1+" [l=3 C=0] 3 | "1-" [l=3 C=0] 4 | "2+" [l=3 C=0] 5 | "2-" [l=3 C=0] 6 | "3+" [l=3 C=0] 7 | "3-" [l=3 C=0] 8 | "4+" [l=3 C=0] 9 | "4-" [l=3 C=0] 10 | "1+" -> "1+" [d=-2] 11 | "1-" -> "1-" [d=-2] 12 | "2+" -> "2-" [d=-2] 13 | "3-" -> "3+" [d=-2] 14 | "4+" -> "4+" [d=-2] 15 | "4-" -> "4-" [d=-2] 16 | } 17 | -------------------------------------------------------------------------------- /loop.gv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjackman/assembly-graph/cdf863827da56a440cc4f2ce67313f9af57deb12/loop.gv.png -------------------------------------------------------------------------------- /loop.sam: -------------------------------------------------------------------------------- 1 | @HD VN:1.0 2 | @PG ID:abyss-todot VN:1.5.2 CL:abyss-todot --sam loop.gfa 3 | @SQ SN:1 LN:3 4 | @SQ SN:2 LN:3 5 | @SQ SN:3 LN:3 6 | @SQ SN:4 LN:3 7 | 1 0 1 2 255 2M1H * 0 0 * * 8 | 1 0 1 1 255 1H2M * 0 0 * * 9 | 2 16 2 2 255 2M1H * 0 0 * * 10 | 3 16 3 1 255 1H2M * 0 0 * * 11 | 4 0 4 2 255 2M1H * 0 0 * * 12 | 4 0 4 1 255 1H2M * 0 0 * * 13 | -------------------------------------------------------------------------------- /sample.asqg: -------------------------------------------------------------------------------- 1 | HT VN:i:1 2 | VT 1 * LN:i:8 3 | VT 2 * LN:i:10 4 | VT 3 * LN:i:21 5 | VT 4 * LN:i:7 6 | VT 5 * LN:i:8 7 | VT 6 * LN:i:4 8 | ED 1 2 3 7 8 0 4 10 0 -1 9 | ED 2 3 0 -1 10 21 20 21 0 -1 10 | ED 3 4 20 20 21 6 6 7 1 -1 11 | ED 4 5 0 -1 7 0 -1 8 1 -1 12 | -------------------------------------------------------------------------------- /sample.fa: -------------------------------------------------------------------------------- 1 | >1 2 | CGATGCAA 3 | >2 4 | TGCAAAGTAC 5 | >3 6 | TGCAACGTATAGACTTGTCAC 7 | >4 8 | GCATATA 9 | >5 10 | CGATGATA 11 | >6 12 | ATGA 13 | -------------------------------------------------------------------------------- /sample.fa.fai: -------------------------------------------------------------------------------- 1 | 1 8 3 8 9 2 | 2 10 15 10 11 3 | 3 21 29 21 22 4 | 4 7 54 7 8 5 | 5 8 65 8 9 6 | 6 4 77 4 5 7 | -------------------------------------------------------------------------------- /sample.gfa: -------------------------------------------------------------------------------- 1 | H VN:Z:1.0 2 | S 1 CGATGCAA 3 | S 2 TGCAAAGTAC 4 | S 3 TGCAACGTATAGACTTGTCAC RC:i:4 5 | S 4 GCATATA 6 | S 5 CGATGATA 7 | S 6 ATGA 8 | L 1 + 2 + 5M 9 | L 3 + 2 + 0M 10 | L 3 + 4 - 1M1D2M1S 11 | L 4 - 5 + 0M 12 | -------------------------------------------------------------------------------- /sample.gv: -------------------------------------------------------------------------------- 1 | digraph adj { 2 | "1+" [l=8 C=0] 3 | "1-" [l=8 C=0] 4 | "2+" [l=10 C=0] 5 | "2-" [l=10 C=0] 6 | "3+" [l=21 C=0] 7 | "3-" [l=21 C=0] 8 | "4+" [l=7 C=0] 9 | "4-" [l=7 C=0] 10 | "5+" [l=8 C=0] 11 | "5-" [l=8 C=0] 12 | "6+" [l=4 C=0] 13 | "6-" [l=4 C=0] 14 | "1+" -> "2+" [d=-5] 15 | "2-" -> "1-" [d=-5] 16 | "2-" -> "3-" [d=0] 17 | "3+" -> "2+" [d=0] 18 | "3+" -> "4-" [d=-1] 19 | "4+" -> "3-" [d=-1] 20 | "4-" -> "5+" [d=0] 21 | "5-" -> "4+" [d=0] 22 | } 23 | -------------------------------------------------------------------------------- /sample.gv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sjackman/assembly-graph/cdf863827da56a440cc4f2ce67313f9af57deb12/sample.gv.png -------------------------------------------------------------------------------- /sample.sam: -------------------------------------------------------------------------------- 1 | @HD VN:1.0 2 | @PG ID:abyss-todot VN:1.5.2 CL:abyss-todot --sam sample.gfa 3 | @SQ SN:1 LN:8 4 | @SQ SN:2 LN:10 5 | @SQ SN:3 LN:21 6 | @SQ SN:4 LN:7 7 | @SQ SN:5 LN:8 8 | @SQ SN:6 LN:4 9 | 2 0 1 4 255 5M5H * 0 0 * * 10 | 1 0 2 1 255 3H5M * 0 0 * * 11 | 3 0 2 1 255 21H0M * 0 0 * * 12 | 2 0 3 22 255 0M10H * 0 0 * * 13 | 4 16 3 21 255 1M6H * 0 0 * * 14 | 3 16 4 7 255 1M20H * 0 0 * * 15 | 5 16 4 1 255 8H0M * 0 0 * * 16 | 4 16 5 1 255 7H0M * 0 0 * * 17 | --------------------------------------------------------------------------------