Denovo-GCN generates undirected graph representations of its input spectra, encoding each peak as a node, along with four additional "virtual peaks": the proton mass, water mass, peptide mass, and the mass of the peptide minus water loss. These virtual peaks aid in predicting the terminal amino acids of the peptide sequence. The graph's edges are constructed based on the differences between peak m/z values and a matrix of amino acid masses, compared against an error threshold, similar to the method employed by GraphNovo. Node features are derived by comparing peak m/z values with a matrix of theoretical m/z values for each unique amino acid and fragment ion type. The model's backbone comprises three blocks: (i) a three-layer CNN made up of 1D convolutional filters that learn local features of the graph, (ii) a two-layer graph convolutional network (GCN) that extracts higher-level relationships among the graph's nodes using features learned by the CNN block, and (iii) a series of linear layers and a softmax layer. The model's predictions are then passed to a knapsack algorithm, which selects a physically plausible amino acid candidate from the predictions, similar to DeepNovo.