A wrapper for the entire rna alignment subgraph.

    :param list fastqs: The input fastqs for alignment
    :param dict univ_options: Dict of universal options used by almost all tools
    :param dict star_options: Options specific to star
    :return: Dict containing input bam and the generated index (.bam.bai)
    :rtype: dict

def align_rna(job, fastqs, univ_options, star_options):
    """
    A wrapper for the entire rna alignment subgraph.

    :param list fastqs: The input fastqs for alignment
    :param dict univ_options: Dict of universal options used by almost all tools
    :param dict star_options: Options specific to star
    :return: Dict containing input bam and the generated index (.bam.bai)
    :rtype: dict
    """
    star = job.wrapJobFn(run_star, fastqs, univ_options, star_options,
                         cores=star_options['n'],
                         memory=PromisedRequirement(lambda x: int(1.85 * x.size),
                                                    star_options['index']),
                         disk=PromisedRequirement(star_disk, fastqs, star_options['index']))
    s_and_i = job.wrapJobFn(sort_and_index_star, star.rv(), univ_options,
                            star_options).encapsulate()
    job.addChild(star)
    star.addChild(s_and_i)
    return s_and_i.rv()