original_docstring: Returns ANIm result dataframes for files in input directory.
  
      - infiles - paths to each input file
      - org_lengths - dictionary of input sequence lengths, keyed by sequence
  
      Finds ANI by the ANIm method, as described in Richter et al (2009)
      Proc Natl Acad Sci USA 106: 19126-19131 doi:10.1073/pnas.0906412106.
  
      All FASTA format files (selected by suffix) in the input directory
      are compared against each other, pairwise, using NUCmer (which must
      be in the path). NUCmer output is stored in the output directory.
  
      The NUCmer .delta file output is parsed to obtain an alignment length
      and similarity error count for every unique region alignment between
      the two organisms, as represented by the sequences in the FASTA files.
  
      These are processed to give matrices of aligned sequence lengths,
      average nucleotide identity (ANI) percentages, coverage (aligned
      percentage of whole genome), and similarity error cound for each pairwise
      comparison.
      
docstring: Returns ANIm result dataframes for files in input directory.
  infiles - paths to each input file
  org_lengths - dictionary of input sequence lengths, keyed by sequence
  
  
  
  All FASTA format files (selected by suffix) in the input directory
  are compared against each other, pairwise, using NUCmer (which must
  be in the path). NUCmer output is stored in the output directory.
  
  The NUCmer .delta file output is parsed to obtain an alignment length
  and similarity error count for every unique region alignment between
  the two organisms, as represented by the sequences in the FASTA files.
  
  These are processed to give matrices of aligned sequence lengths,
  average nucleotide identity (ANI) percentages, coverage (aligned
  percentage of whole genome), and similarity error cound for each pairwise
  comparison.
docstring_tokens: Returns ANIm result dataframes for files in input directory . infiles - paths to each input file org_lengths - dictionary of input sequence lengths keyed by sequence All FASTA format files ( selected by suffix ) in the input directory are compared against each other pairwise using NUCmer ( which must be in the path ) . NUCmer output is stored in the output directory . The NUCmer . delta file output is parsed to obtain an alignment length and similarity error count for every unique region alignment between the two organisms as represented by the sequences in the FASTA files . These are processed to give matrices of aligned sequence lengths average nucleotide identity ( ANI ) percentages coverage ( aligned percentage of whole genome ) and similarity error cound for each pairwise comparison .
code: def calculate_anim(infiles, org_lengths):
      """Returns ANIm result dataframes for files in input directory.
  
      - infiles - paths to each input file
      - org_lengths - dictionary of input sequence lengths, keyed by sequence
  
      Finds ANI by the ANIm method, as described in Richter et al (2009)
      Proc Natl Acad Sci USA 106: 19126-19131 doi:10.1073/pnas.0906412106.
  
      All FASTA format files (selected by suffix) in the input directory
      are compared against each other, pairwise, using NUCmer (which must
      be in the path). NUCmer output is stored in the output directory.
  
      The NUCmer .delta file output is parsed to obtain an alignment length
      and similarity error count for every unique region alignment between
      the two organisms, as represented by the sequences in the FASTA files.
  
      These are processed to give matrices of aligned sequence lengths,
      average nucleotide identity (ANI) percentages, coverage (aligned
      percentage of whole genome), and similarity error cound for each pairwise
      comparison.
      """
      logger.info("Running ANIm")
      logger.info("Generating NUCmer command-lines")
      # Schedule NUCmer runs
      if not args.skip_nucmer:
          joblist = anim.generate_nucmer_jobs(infiles, args.outdirname,
                                              nucmer_exe=args.nucmer_exe,
                                              maxmatch=args.maxmatch)
          if args.scheduler == 'multiprocessing':
              logger.info("Running jobs with multiprocessing")
              cumval = run_mp.run_dependency_graph(joblist, verbose=args.verbose,
                                                   logger=logger)
              logger.info("Cumulative return value: %d" % cumval)
              if 0 < cumval:
                  logger.warning("At least one NUCmer comparison failed. " +
                                 "ANIm may fail.")
              else:
                  logger.info("All multiprocessing jobs complete.")
          else:
              logger.info("Running jobs with SGE")
              run_sge.run_dependency_graph(joblist, verbose=args.verbose,
                                           logger=logger)
      else:
          logger.warning("Skipping NUCmer run (as instructed)!")
  
      # Process resulting .delta files
      logger.info("Processing NUCmer .delta files.")
      data = anim.process_deltadir(args.outdirname, org_lengths, logger=logger)
      if data[-1]:  # zero percentage identity error
          if not args.skip_nucmer and args.scheduler == 'multiprocessing':
              if 0 < cumval:
                  logger.error("This has possibly been a NUCmer run failure, " +
                               "please investigate")
                  logger.error(last_exception())
                  sys.exit(1)
              else:
                  logger.error("This is possibly due to a NUCmer comparison " +
                               "being too distant for use. Please consider " +
                               "using the --maxmatch option.")
                  logger.error("This is alternatively due to NUCmer run failure, " +
                               "analysis will continue, but please investigate.")
      return tuple(data[:-1])
code_tokens: def calculate_anim ( infiles , org_lengths ) : logger . info ( "Running ANIm" ) logger . info ( "Generating NUCmer command-lines" ) if not args . skip_nucmer : joblist = anim . generate_nucmer_jobs ( infiles , args . outdirname , nucmer_exe = args . nucmer_exe , maxmatch = args . maxmatch ) if args . scheduler == 'multiprocessing' : logger . info ( "Running jobs with multiprocessing" ) cumval = run_mp . run_dependency_graph ( joblist , verbose = args . verbose , logger = logger ) logger . info ( "Cumulative return value: %d" % cumval ) if 0 < cumval : logger . warning ( "At least one NUCmer comparison failed. " + "ANIm may fail." ) else : logger . info ( "All multiprocessing jobs complete." ) else : logger . info ( "Running jobs with SGE" ) run_sge . run_dependency_graph ( joblist , verbose = args . verbose , logger = logger ) else : logger . warning ( "Skipping NUCmer run (as instructed)!" ) logger . info ( "Processing NUCmer .delta files." ) data = anim . process_deltadir ( args . outdirname , org_lengths , logger = logger ) if data [ - 1 ] : if not args . skip_nucmer and args . scheduler == 'multiprocessing' : if 0 < cumval : logger . error ( "This has possibly been a NUCmer run failure, " + "please investigate" ) logger . error ( last_exception ( ) ) sys . exit ( 1 ) else : logger . error ( "This is possibly due to a NUCmer comparison " + "being too distant for use. Please consider " + "using the --maxmatch option." ) logger . error ( "This is alternatively due to NUCmer run failure, " + "analysis will continue, but please investigate." ) return tuple ( data [ : - 1 ] )
short_docstring: Returns ANIm result dataframes for files in input directory.
short_docstring_tokens: Returns ANIm result dataframes for files in input directory .
comment: """Returns ANIm result dataframes for files in input directory.
  
      - infiles - paths to each input file
      - org_lengths - dictionary of input sequence lengths, keyed by sequence
  
      Finds ANI by the ANIm method, as described in Richter et al (2009)
      Proc Natl Acad Sci USA 106: 19126-19131 doi:10.1073/pnas.0906412106.
  
      All FASTA format files (selected by suffix) in the input directory
      are compared against each other, pairwise, using NUCmer (which must
      be in the path). NUCmer output is stored in the output directory.
  
      The NUCmer .delta file output is parsed to obtain an alignment length
      and similarity error count for every unique region alignment between
      the two organisms, as represented by the sequences in the FASTA files.
  
      These are processed to give matrices of aligned sequence lengths,
      average nucleotide identity (ANI) percentages, coverage (aligned
      percentage of whole genome), and similarity error cound for each pairwise
      comparison.
      """$SEP$# Schedule NUCmer runs$SEP$# Process resulting .delta files$SEP$# zero percentage identity error