maickrau / GraphAligner

MIT License
261 stars 32 forks source link

vg validate says that gam file produced by GraphAligner is invalid #73

Closed rvarki closed 1 year ago

rvarki commented 1 year ago

Hi,

Sorry if this is not the correct forum to post this issue. I am running into an issue where the vg surject command is giving me an error when trying to convert a GraphAligner gam file into a bam file. After reading vg issue #3717, I checked whether the gam files produced by GraphAligner were valid using the vg validate command and noticed that there were many invalid alignments according to vg. Is there a way to get the gam file to be compatible with vg?

I was also able to reproduce this finding with the test data provided in the package. I am using graphaligner/1.0.16 and vg/1.43.0.

cd test GraphAligner -g graph.gfa -f read.fa -a graphaligner.gam -x vg vg validate -a graphaligner.gam graph.gfa &> validate_GA.txt

vg view -F graph.gfa -v > graph.vg vg index -x graph.xg -g graph.gcsa graph.vg vg map -F read.fa -x graph.xg -g graph.gcsa > vg.gam vg validate -a vg.gam graph.vg &> validate_vg.txt

validate_GA.txt validate_vg.txt

Best, Rahul

colindaven commented 1 year ago

Did you check the original graph.gfa was valid, rather than the gam being the problem ? This was the source of problems in my use cases. How did you construct the gfa ? I have had problems with pggb gfa s being incorrect according to vg.

rvarki commented 1 year ago

Thank you for the suggestion. After double-checking, I do not think the graph itself is the issue. In my actual experiment, I am creating the graph with the vg construct command. As a result, I am providing a .vg file as an input to GraphAligner rather than .gfa file. I also converted the .vg file into a .gfa file and reran the experiment, but I am getting the same result from vg validate that the graph is valid but the GraphAligner produced gam file is invalid.

maickrau commented 1 year ago

Commit cf51cc5 should fix this issue

rvarki commented 1 year ago

Thanks, everything seems to be working now. Sorry for the late response.