def get_plot_data(self):
json_dic = {"<STR_LIT>": []}<EOL>sample_dic = {}<EOL>sample_assembly_map = {}<EOL>for entry in self.storage.values():<EOL><INDENT>sample_id = re.match("<STR_LIT>", entry["<STR_LIT>"]).groups()[<NUM_LIT:0>]<EOL>if sample_id not in sample_dic:<EOL><INDENT>sample_dic[sample_id] = {}<EOL><DEDENT>contig_id = self._get_contig_id(entry["<STR_LIT>"])<EOL>database = entry["<STR_LIT>"]<EOL>if database not in sample_dic[sample_id]:<EOL><INDENT>sample_dic[sample_id][database] = []<EOL><DEDENT>if sample_id not in sample_assembly_map:<EOL><INDENT>sample_assembly_map[sample_id] = entry["<STR_LIT>"]<EOL><DEDENT>sample_dic[sample_id][database].append(<EOL>{"<STR_LIT>": contig_id,<EOL>"<STR_LIT>": entry["<STR_LIT>"],<EOL>"<STR_LIT>": entry["<STR_LIT>"].replace("<STR_LIT:'>", "<STR_LIT>"),<EOL>"<STR_LIT>": entry["<STR_LIT>"],<EOL>"<STR_LIT>": entry["<STR_LIT>"],<EOL>"<STR_LIT>": entry["<STR_LIT>"],<EOL>},<EOL>)<EOL><DEDENT>for sample, data in sample_dic.items():<EOL><INDENT>json_dic["<STR_LIT>"].append(<EOL>{<EOL>"<STR_LIT>": sample,<EOL>"<STR_LIT:data>": {"<STR_LIT>": data},<EOL>"<STR_LIT>": sample_assembly_map[sample]<EOL>}<EOL>)<EOL><DEDENT>return json_dic<EOL>
Generates the JSON report to plot the gene boxes

        Following the convention of the reports platform, this method returns
        a list of JSON/dict objects with the information about each entry in
        the abricate file. The information contained in this JSON is::

            {contig_id: <str>,
             seqRange: [<int>, <int>],
             gene: <str>,
             accession: <str>,
             coverage: <float>,
             identity: <float>
             }

        Note that the `seqRange` entry contains the position in the
        corresponding contig, not the absolute position in the whole assembly.

        Returns
        -------
        json_dic : list
            List of JSON/dict objects with the report data.