How to merge blast outputs

Is there a way to merge xml/blastxml outputs of blastx?

I have two sets of blast results for the same cds dataset, one against the Swissprot database and another against the NCBI nr database. (I would have done them together, but I wanted to subset the nr database so it wouldn’t have such a long run time.)

The two outputs don’t overlap. I’m searching for a way to combine them into a single xml/blastxml file in which the descriptions missing from one blast output can be replaced by those in the other.

On Biostars, I think I found a very old solution for python and another for java, but I wondered if there was now a simpler way on Galaxy. Any ideas would be very much appreciated.

In case anyone is confronted with this in the future, I found an easy solution to this.

On Blast2GO (or OmicsBox), I loaded my sequences and my blast results against Swissprot. Then I subset the dataframe to exclude the ones without blast results. I then selected all remaining rows and extracted them to a new dataframe. So I had a dataframe with only sequences accompanied by Swissprot hits, which I saved (.b2g or .box). I then started a new project by again loading all my sequences and the nr blast results, and saved that as well. Finally, I merged the two together by adding the sequence, GO description, and blast results for nr-blasted data to the Swissprot-blasted data if the data were missing. This procedure left me with all my sequences, their Swissprot results, and, when those were missing, the nr results, plus the sequences that had no results for either. (Later I also merged this with results from Interproscan.)

I saw an old post that indicated that there may be a wrapper on Galaxy that merges blast xml outputs, but I haven’t yet found it. Any other ideas are welcomed!