def __init__(self,
              run_name,
              platform,
              unaligned_dir='bcl2fastq',
              fmt='bcl2fastq2',
              paired_end=True,
              no_lane_splitting=False,
              no_undetermined=False,
              top_dir=None,
              metadata=None,
              readme=None):
     # Make a mock-up of an analysis dir
     self.run_name = os.path.basename(str(run_name))
     self.platform = str(platform).lower()
     self.readme = readme
     # Store metadata
     self.metadata = { 'run_name': self.run_name,
                       'platform': self.platform, }
     if metadata is not None:
         for item in metadata:
             self.metadata[item] = metadata[item]
     name = "%s_analysis" % run_name
     if top_dir is None:
         top_dir = os.getcwd()
     MockIlluminaData.__init__(self,name,fmt,
                               unaligned_dir=unaligned_dir,
                               paired_end=paired_end,
                               no_lane_splitting=no_lane_splitting,
                               top_dir=top_dir)
     # Add undetermined
     if not no_undetermined:
         self.add_undetermined()
Exemplo n.º 2
0
 def __init__(self,
              run_name,
              platform,
              unaligned_dir='bcl2fastq',
              fmt='bcl2fastq2',
              paired_end=True,
              lanes=None,
              no_lane_splitting=False,
              no_undetermined=False,
              top_dir=None,
              metadata=None,
              readme=None):
     # Make a mock-up of an analysis dir
     self.run_name = os.path.basename(str(run_name))
     self.platform = str(platform).lower()
     self.readme = readme
     # Store metadata
     self.metadata = {
         'run_name': self.run_name,
         'platform': self.platform,
     }
     if metadata is not None:
         for item in metadata:
             self.metadata[item] = metadata[item]
     name = "%s_analysis" % run_name
     if top_dir is None:
         top_dir = os.getcwd()
     MockIlluminaData.__init__(self,
                               name,
                               fmt,
                               unaligned_dir=unaligned_dir,
                               paired_end=paired_end,
                               no_lane_splitting=no_lane_splitting,
                               top_dir=top_dir)
     # Add undetermined
     if not no_undetermined:
         self.add_undetermined(lanes=lanes)
Exemplo n.º 3
0
    def __init__(self,
                 run_name,
                 platform,
                 unaligned_dir='bcl2fastq',
                 fmt='bcl2fastq2',
                 paired_end=True,
                 lanes=None,
                 no_lane_splitting=False,
                 no_undetermined=False,
                 top_dir=None,
                 metadata=None,
                 readme=None,
                 project_metadata=None):
        """
        Create a mock-up of an analysis directory

        Arguments:
          run_name (str): name for the run e.g.
            '1130904_PJB_XXXXX'
          platform (str): name for the platform
            e.g. 'nextseq'
          unaligned_dir (str): for the bcl2fastq
            output directory (default: 'bcl2fastq')
          fmt (str): format of the outputs (can be
            'casava' or 'bcl2fastq2'; default is
            'bcl2fastq')
          paired_end (bool): whether run should be
            paired end (set True, default) or single
            end (set False)
          lanes (list): if not None then specify a
            list of lane numbers to include
          no_lane_splitting (bool): whether to
            mimic the '--no-lane-splitting' option
            of bcl2fastq2 in generating Fastq names
            (default: make separate Fastqs for each
            lane)
          no_undetermined (bool): whether to
            include 'undetermined' outputs (default:
            False, do include 'undetermined'
            outputs)
          top_dir (str): set parent directory to
            make the mock analysis directory in
            (default: current working directory)
          metadata (dict): if set then should be
            a dictionary of metadata items with
            corresponding values, which will be
            written to the metadata.info file
          readme (str): if set then will be
            written to a 'README' file in the mock
            analysis directory
          project_metadata (dict): if set then should
            be a dictionary where keys are names of
            projects and values are dictionaries of
            metadata items, which will be written to
            the README.info file for that project
        """
        # Make a mock-up of an analysis dir
        self.run_name = os.path.basename(str(run_name))
        self.platform = str(platform).lower()
        self.readme = readme
        # Store metadata
        self.metadata = {
            'run_name': self.run_name,
            'platform': self.platform,
        }
        if metadata is not None:
            for item in metadata:
                self.metadata[item] = metadata[item]
        self.project_metadata = dict()
        if project_metadata is not None:
            for project in project_metadata:
                self.project_metadata[project] = \
                            project_metadata[project]
        name = "%s_analysis" % run_name
        if top_dir is None:
            top_dir = os.getcwd()
        MockIlluminaData.__init__(self,
                                  name,
                                  fmt,
                                  unaligned_dir=unaligned_dir,
                                  paired_end=paired_end,
                                  no_lane_splitting=no_lane_splitting,
                                  top_dir=top_dir)
        # Add undetermined
        if not no_undetermined:
            self.add_undetermined(lanes=lanes)