def send_data(self):
        headers_barcodes = [ELEMENT_RUN_ELEMENT_ID, ELEMENT_RUN_NAME, ELEMENT_LANE, ELEMENT_PC_PASS_FILTER, ELEMENT_PROJECT,
                                 ELEMENT_LIBRARY_INTERNAL_ID, ELEMENT_SAMPLE_INTERNAL_ID, ELEMENT_BARCODE,
                                 ELEMENT_NB_READS_PASS_FILTER, ELEMENT_PC_READ_IN_LANE, ELEMENT_YIELD,
                                 ELEMENT_PC_Q30_R1, ELEMENT_PC_Q30_R2]
        headers_samples = [ELEMENT_PROJECT, ELEMENT_LIBRARY_INTERNAL_ID, ELEMENT_SAMPLE_INTERNAL_ID,
                   ELEMENT_NB_READS_PASS_FILTER, ELEMENT_YIELD, ELEMENT_PC_Q30_R1, ELEMENT_PC_Q30_R2]
        headers_unexpected = [ELEMENT_RUN_ELEMENT_ID, ELEMENT_RUN_NAME, ELEMENT_LANE, ELEMENT_BARCODE, ELEMENT_NB_READS_PASS_FILTER, ELEMENT_PC_READ_IN_LANE]

        cfg = Configuration()
        #Send run elements
        array_json = format_info(self.barcodes_info.values(), headers_barcodes, style='array')
        url=cfg.query('rest_api','url') + 'run_elements/'
        for payload in array_json:
            if not post_entry(url, payload):
                id = payload.pop(ELEMENT_RUN_ELEMENT_ID.key)
                patch_entry(url, payload, **{ELEMENT_RUN_ELEMENT_ID.key:id})

        #Send unexpected barcodes
        array_json = format_info(self.unexpected_barcode_info.values(), headers_unexpected, style='array')
        url=cfg.query('rest_api','url') + 'unexpected_barcodes/'
        for payload in array_json:
            if not post_entry(url, payload):
                id = payload.pop(ELEMENT_RUN_ELEMENT_ID.key)
                patch_entry(url, payload, **{ELEMENT_RUN_ELEMENT_ID.key:id})

        #Send samples information
        array_json = format_info(self.libraries_info.values(), headers_samples, style='array')
        url=cfg.query('rest_api','url') + 'samples/'
        for payload in array_json:
            lib_id = {ELEMENT_LIBRARY_INTERNAL_ID.key:payload.get(ELEMENT_LIBRARY_INTERNAL_ID.key)}
            if not post_entry(url, payload):
                patch_entry(url, payload, **lib_id)
    def send_data(self):

        cfg = Configuration()
        headers_samples = [ELEMENT_PROJECT, ELEMENT_LIBRARY_INTERNAL_ID, ELEMENT_SAMPLE_INTERNAL_ID,
                   ELEMENT_NB_READS_PASS_FILTER, ELEMENT_YIELD, ELEMENT_PC_Q30_R1, ELEMENT_PC_Q30_R2]
        array_json = format_info(self.all_info, headers_samples, style='array')
        url=cfg.query('rest_api','url') + 'samples/'
        for payload in array_json:
            if not post_entry(url, payload):
                id = payload.pop(ELEMENT_LIBRARY_INTERNAL_ID.key)
                patch_entry(url, payload, **{ELEMENT_LIBRARY_INTERNAL_ID.key:id})
 def write_report_json(self):
     return format_info(self.all_info, self.headers, style='json')
 def write_report_wiki(self):
     page_lines=[]
     page_lines.append('h1. Mapping Statistics')
     page_lines.extend(format_info(self.all_info, self.headers, style='wiki'))
     return '\n'.join(page_lines)
 def _generate_unexpected_per_lane_table(self, lane):
     return format_info([barcode for barcode in self.unexpected_barcode_info.values() if barcode[ELEMENT_LANE] == lane], self.headers_unexpected)
 def _generate_sample_per_lane_table(self, lane):
     return format_info([barcode for barcode in self.barcodes_info.values() if barcode[ELEMENT_LANE] == lane], self.headers_barcodes)
 def _generate_sample_summary_table(self):
     return format_info([self.libraries_info[library] for library in sorted(self.libraries_info)], self.headers_samples)
 def _generate_lane_summary_table(self):
     return format_info([self.lanes_info[lane] for lane in sorted(self.lanes_info)], self.headers_lane)