original_docstring: 
          Creates a logging object and logs some information from the input parameters
          
docstring: Creates a logging object and logs some information from the input parameters
docstring_tokens: Creates a logging object and logs some information from the input parameters
code: def createLogger(self):
          """
          Creates a logging object and logs some information from the input parameters
          """
          # Create a logger
          if self.logfile is not None:
              logging.basicConfig(filename=self.logfile, level=logging.DEBUG)
          else:
              logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)
  
          self.logger = logging.getLogger(self.__class__.LogName)
          self.logger.info("ST Pipeline {}".format(version_number))
  
          # Some info
          self.logger.info("Output directory: {}".format(self.output_folder))
          self.logger.info("Temporary directory: {}".format(self.temp_folder))
          self.logger.info("Dataset name: {}".format(self.expName))
          self.logger.info("Forward(R1) input file: {}".format(self.fastq_fw))
          self.logger.info("Reverse(R2) input file: {}".format(self.fastq_rv))
          self.logger.info("Reference mapping STAR index folder: {}".format(self.ref_map))
          if self.ref_annotation is not None:
              self.logger.info("Reference annotation file: {}".format(self.ref_annotation))
          if self.contaminant_index is not None:
              self.logger.info("Using contamination filter STAR index: {}".format(self.contaminant_index))
          self.logger.info("CPU Nodes: {}".format(self.threads))
          if not self.disable_barcode:
              self.logger.info("Ids(barcodes) file: {}".format(self.ids))
              self.logger.info("TaggD allowed mismatches: {}".format(self.allowed_missed))
              self.logger.info("TaggD kmer size: {}".format(self.allowed_kmer))
              self.logger.info("TaggD overhang: {}".format(self.overhang))
              self.logger.info("TaggD metric: {}".format(self.taggd_metric))
              if self.taggd_multiple_hits_keep_one:
                  self.logger.info("TaggD multiple hits keep one (random) is enabled")
              if self.taggd_trim_sequences is not None:
                  self.logger.info(
                      "TaggD trimming from the barcodes " + '-'.join(str(x) for x in self.taggd_trim_sequences))
          if not self.disable_mapping:
              self.logger.info("Mapping reverse trimming: {}".format(self.trimming_rv))
              self.logger.info("Mapping inverse reverse trimming: {}".format(self.inverse_trimming_rv))
              self.logger.info("Mapping tool: STAR")
              self.logger.info(
                  "Mapping minimum intron size allowed (splice alignments) with STAR: {}".format(self.min_intron_size))
              self.logger.info(
                  "Mapping maximum intron size allowed (splice alignments) with STAR: {}".format(self.max_intron_size))
              self.logger.info("STAR genome loading strategy {}".format(self.star_genome_loading))
              if self.disable_clipping:
                  self.logger.info("Not allowing soft clipping when mapping with STAR")
              if self.disable_multimap:
                  self.logger.info("Not allowing multiple alignments when mapping with STAR")
              if self.two_pass_mode:
                  self.logger.info("Using the STAR 2-pass mode for the mapping step")
          if not self.disable_annotation:
              self.logger.info("Annotation tool: HTSeq")
              self.logger.info("Annotation mode: {}".format(self.htseq_mode))
              self.logger.info("Annotation strandness {}".format(self.strandness))
              if self.include_non_annotated:
                  self.logger.info("Including non annotated reads in the output")
          if self.compute_saturation:
              self.logger.info("Computing saturation curve with several sub-samples...")
              if self.saturation_points is not None:
                  self.logger.info(
                      "Using the following points {}".format(' '.join(str(p) for p in self.saturation_points)))
          if not self.disable_umi:
              self.logger.info("UMIs start position: {}".format(self.umi_start_position))
              self.logger.info("UMIs end position: {}".format(self.umi_end_position))
              self.logger.info("UMIs allowed mismatches: {}".format(self.umi_allowed_mismatches))
              self.logger.info("UMIs clustering algorithm: {}".format(self.umi_cluster_algorithm))
              self.logger.info("Allowing an offset of {} when clustering UMIs " \
                               "by strand-start in a gene-spot".format(self.umi_counting_offset))
              self.logger.info("Allowing {} low quality bases in an UMI".format(self.umi_quality_bases))
              self.logger.info(
                  "Discarding reads that after trimming are shorter than {}".format(self.min_length_trimming))
              if self.umi_filter:
                  self.logger.info("UMIs using filter: {}".format(self.umi_filter_template))
          if not self.disable_trimming:
              if self.remove_polyA_distance > 0:
                  self.logger.info(
                      "Removing polyA sequences of a length of at least: {}".format(self.remove_polyA_distance))
              if self.remove_polyT_distance > 0:
                  self.logger.info(
                      "Removing polyT sequences of a length of at least: {}".format(self.remove_polyT_distance))
              if self.remove_polyG_distance > 0:
                  self.logger.info(
                      "Removing polyG sequences of a length of at least: {}".format(self.remove_polyG_distance))
              if self.remove_polyC_distance > 0:
                  self.logger.info(
                      "Removing polyC sequences of a length of at least: {}".format(self.remove_polyC_distance))
              if self.remove_polyN_distance > 0:
                  self.logger.info(
                      "Removing polyN sequences of a length of at least: {}".format(self.remove_polyN_distance))
              self.logger.info("Allowing {} mismatches when removing homopolymers".format(self.adaptor_missmatches))
              self.logger.info("Remove reads whose AT content is {}%".format(self.filter_AT_content))
              self.logger.info("Remove reads whose GC content is {}%".format(self.filter_GC_content))
code_tokens: def createLogger ( self ) : if self . logfile is not None : logging . basicConfig ( filename = self . logfile , level = logging . DEBUG ) else : logging . basicConfig ( stream = sys . stdout , level = logging . DEBUG ) self . logger = logging . getLogger ( self . __class__ . LogName ) self . logger . info ( "ST Pipeline {}" . format ( version_number ) ) self . logger . info ( "Output directory: {}" . format ( self . output_folder ) ) self . logger . info ( "Temporary directory: {}" . format ( self . temp_folder ) ) self . logger . info ( "Dataset name: {}" . format ( self . expName ) ) self . logger . info ( "Forward(R1) input file: {}" . format ( self . fastq_fw ) ) self . logger . info ( "Reverse(R2) input file: {}" . format ( self . fastq_rv ) ) self . logger . info ( "Reference mapping STAR index folder: {}" . format ( self . ref_map ) ) if self . ref_annotation is not None : self . logger . info ( "Reference annotation file: {}" . format ( self . ref_annotation ) ) if self . contaminant_index is not None : self . logger . info ( "Using contamination filter STAR index: {}" . format ( self . contaminant_index ) ) self . logger . info ( "CPU Nodes: {}" . format ( self . threads ) ) if not self . disable_barcode : self . logger . info ( "Ids(barcodes) file: {}" . format ( self . ids ) ) self . logger . info ( "TaggD allowed mismatches: {}" . format ( self . allowed_missed ) ) self . logger . info ( "TaggD kmer size: {}" . format ( self . allowed_kmer ) ) self . logger . info ( "TaggD overhang: {}" . format ( self . overhang ) ) self . logger . info ( "TaggD metric: {}" . format ( self . taggd_metric ) ) if self . taggd_multiple_hits_keep_one : self . logger . info ( "TaggD multiple hits keep one (random) is enabled" ) if self . taggd_trim_sequences is not None : self . logger . info ( "TaggD trimming from the barcodes " + '-' . join ( str ( x ) for x in self . taggd_trim_sequences ) ) if not self . disable_mapping : self . logger . info ( "Mapping reverse trimming: {}" . format ( self . trimming_rv ) ) self . logger . info ( "Mapping inverse reverse trimming: {}" . format ( self . inverse_trimming_rv ) ) self . logger . info ( "Mapping tool: STAR" ) self . logger . info ( "Mapping minimum intron size allowed (splice alignments) with STAR: {}" . format ( self . min_intron_size ) ) self . logger . info ( "Mapping maximum intron size allowed (splice alignments) with STAR: {}" . format ( self . max_intron_size ) ) self . logger . info ( "STAR genome loading strategy {}" . format ( self . star_genome_loading ) ) if self . disable_clipping : self . logger . info ( "Not allowing soft clipping when mapping with STAR" ) if self . disable_multimap : self . logger . info ( "Not allowing multiple alignments when mapping with STAR" ) if self . two_pass_mode : self . logger . info ( "Using the STAR 2-pass mode for the mapping step" ) if not self . disable_annotation : self . logger . info ( "Annotation tool: HTSeq" ) self . logger . info ( "Annotation mode: {}" . format ( self . htseq_mode ) ) self . logger . info ( "Annotation strandness {}" . format ( self . strandness ) ) if self . include_non_annotated : self . logger . info ( "Including non annotated reads in the output" ) if self . compute_saturation : self . logger . info ( "Computing saturation curve with several sub-samples..." ) if self . saturation_points is not None : self . logger . info ( "Using the following points {}" . format ( ' ' . join ( str ( p ) for p in self . saturation_points ) ) ) if not self . disable_umi : self . logger . info ( "UMIs start position: {}" . format ( self . umi_start_position ) ) self . logger . info ( "UMIs end position: {}" . format ( self . umi_end_position ) ) self . logger . info ( "UMIs allowed mismatches: {}" . format ( self . umi_allowed_mismatches ) ) self . logger . info ( "UMIs clustering algorithm: {}" . format ( self . umi_cluster_algorithm ) ) self . logger . info ( "Allowing an offset of {} when clustering UMIs " "by strand-start in a gene-spot" . format ( self . umi_counting_offset ) ) self . logger . info ( "Allowing {} low quality bases in an UMI" . format ( self . umi_quality_bases ) ) self . logger . info ( "Discarding reads that after trimming are shorter than {}" . format ( self . min_length_trimming ) ) if self . umi_filter : self . logger . info ( "UMIs using filter: {}" . format ( self . umi_filter_template ) ) if not self . disable_trimming : if self . remove_polyA_distance > 0 : self . logger . info ( "Removing polyA sequences of a length of at least: {}" . format ( self . remove_polyA_distance ) ) if self . remove_polyT_distance > 0 : self . logger . info ( "Removing polyT sequences of a length of at least: {}" . format ( self . remove_polyT_distance ) ) if self . remove_polyG_distance > 0 : self . logger . info ( "Removing polyG sequences of a length of at least: {}" . format ( self . remove_polyG_distance ) ) if self . remove_polyC_distance > 0 : self . logger . info ( "Removing polyC sequences of a length of at least: {}" . format ( self . remove_polyC_distance ) ) if self . remove_polyN_distance > 0 : self . logger . info ( "Removing polyN sequences of a length of at least: {}" . format ( self . remove_polyN_distance ) ) self . logger . info ( "Allowing {} mismatches when removing homopolymers" . format ( self . adaptor_missmatches ) ) self . logger . info ( "Remove reads whose AT content is {}%" . format ( self . filter_AT_content ) ) self . logger . info ( "Remove reads whose GC content is {}%" . format ( self . filter_GC_content ) )
short_docstring: Creates a logging object and logs some information from the input parameters
short_docstring_tokens: Creates a logging object and logs some information from the input parameters
comment: """
          Creates a logging object and logs some information from the input parameters
          """$SEP$# Create a logger$SEP$# Some info