def extract_and_assemble(bam_files, genome_file, white_list_file, output_dir, assembly_function_list, subsample_nb_read=None,rg_ids=[], adapter_file=None, force_merge=False): logging.info('processing %s'%output_dir) logging.info("--------------------------") logging.info("Extract the reads from bam") logging.info("--------------------------") list_consensus=RAD_bam_to_fastq.read_white_list(white_list_file) RAD_bam_to_fastq.extract_reads_from_all_bam_files_set_of_consensus(bam_files, list_consensus=list_consensus, output_dir=output_dir, all_read1_consensus_file=genome_file ) logging.info("--------------") logging.info("Assemble read2") logging.info("--------------") RAD_assemble_read2.run_all_fastq_files(output_dir, assembly_function_list, 600, force_merge=force_merge, subsample_nb_read=subsample_nb_read, rg_ids=rg_ids, adapter_file=adapter_file) logging.info("----------------------------") logging.info("Extract read groups from bam") logging.info("----------------------------") all_read_groups=get_readgroup_from_bam(bam_files) logging.info("-------------------------------------") logging.info("Align both reads back to the assembly") logging.info("-------------------------------------") RAD_smalt_align_reads_back_to_consensus.run_all_fastq_files(output_dir, all_read_groups=all_read_groups, snp_call=True) logging.info("---------------------") logging.info("Merge all the results") logging.info("---------------------") RAD_merge_results.merge_results(output_dir) logging.info("------------------------------") logging.info("Get the summary of the results") logging.info("------------------------------") RAD_summarize_assembly.run_all_summaries(output_dir)