Exemple #1
0
 def test_organize_projects_from_flowcell(self, mock_dir_setup,
                                          mock_locate):
     mock_dir_setup.return_value = {'some_dir': 'P12345'}
     demux_fcid_dirs = ['201103_A00187_0332_AHFCFLDSXX']
     expected_projects = ['P12345']
     got_projects = organize_projects_from_flowcell(demux_fcid_dirs)
     self.assertEqual(expected_projects, got_projects)
Exemple #2
0
                restrict_to_samples=args.restrict_to_samples)
            if not project.samples:
                LOG.info('No samples found for project {} (path {})'.format(
                    project.project_id, qc_project_dir))
            for sample in project:
                qc_ngi.launchers.analyze(project, sample, quiet=args.quiet)

    ## Organize Flowcell
    elif 'organize_fc_dirs' in args:
        organize_fc_dirs_list = list(set(args.organize_fc_dirs))
        LOG.info("Organizing flowcell {} {}".format(
            inflector.plural("directory", len(organize_fc_dirs_list)),
            ", ".join(organize_fc_dirs_list)))
        projects_to_analyze = \
                organize_projects_from_flowcell(demux_fcid_dirs=organize_fc_dirs_list,
                                                restrict_to_projects=args.restrict_to_projects,
                                                restrict_to_samples=args.restrict_to_samples,
                                                fallback_libprep=args.fallback_libprep,
                                                quiet=args.quiet)
        for project in projects_to_analyze:
            try:
                create_charon_entries_from_project(
                    project=project,
                    best_practice_analysis=args.best_practice_analysis,
                    sequencing_facility=args.sequencing_facility,
                    force_overwrite=args.force_update)
            except Exception as e:
                LOG.error(e.message)
                print(e, file=sys.stderr)
        LOG.info("Done with organization.")
def flowcell_summarize(flowcells, brief=False, verbose=False):
    projects_to_analyze = \
            organize_projects_from_flowcell(demux_fcid_dirs=flowcells,
                                            quiet=True, create_files=False)
    project_summarize(projects_to_analyze, brief=brief, verbose=verbose)
                        LOG.error(
                            "Error when resetting Charon records for project " "{}: {}".format(delete_proj_analysis, e)
                        )

    ## QC Flowcell
    elif "qc_flowcell_dirs" in args:
        qc_flowcell_dirs_list = list(set(args.qc_flowcell_dirs))
        LOG.info(
            "Organizing flowcell {} {}".format(
                inflector.plural("directory", len(qc_flowcell_dirs_list)), ", ".join(qc_flowcell_dirs_list)
            )
        )
        projects_to_analyze = organize_projects_from_flowcell(
            demux_fcid_dirs=qc_flowcell_dirs_list,
            restrict_to_projects=args.restrict_to_projects,
            restrict_to_samples=args.restrict_to_samples,
            fallback_libprep=args.fallback_libprep,
            quiet=args.quiet,
        )
        for project in projects_to_analyze:
            try:
                create_charon_entries_from_project(
                    project=project,
                    best_practice_analysis=args.best_practice_analysis,
                    sequencing_facility=args.sequencing_facility,
                    force_overwrite=args.force_update,
                    delete_existing=args.delete_existing,
                )
            except Exception as e:
                print(e, file=sys.stderr)
        LOG.info("Done with organization.")
def flowcell_summarize(flowcells, brief=False, verbose=False):
    projects_to_analyze = \
            organize_projects_from_flowcell(demux_fcid_dirs=flowcells,
                                            quiet=True, create_files=False)
    project_summarize(projects_to_analyze, brief=brief, verbose=verbose)