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()
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)
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)