code: def _miraligner(fastq_file, out_file, species, db_folder, config):
      
      resources = config_utils.get_resources("miraligner", config)
      miraligner = config_utils.get_program("miraligner", config)
      jvm_opts =  "-Xms750m -Xmx4g"
      if resources and resources.get("jvm_opts"):
          jvm_opts = " ".join(resources.get("jvm_opts"))
      export = _get_env()
      cmd = ("{export} {miraligner} {jvm_opts} -freq -sub 1 -trim 3 -add 3 -minl 16"
             " -s {species} -i {fastq_file} -db {db_folder}  -o {tx_out_file}")
      if not file_exists(out_file + ".mirna"):
          with file_transaction(out_file) as tx_out_file:
              do.run(cmd.format(**locals()), "Do miRNA annotation for %s" % fastq_file)
              shutil.move(tx_out_file + ".mirna", out_file + ".mirna")
      return out_file + ".mirna"
docs: Run miraligner tool (from seqcluster suit) with default
      parameters.