Пример #1
0
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)