Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mlin's new demux launcher #838

Merged
merged 58 commits into from Jul 10, 2018
Merged

mlin's new demux launcher #838

merged 58 commits into from Jul 10, 2018

Conversation

tomkinsc
Copy link
Member

@tomkinsc tomkinsc commented Jul 5, 2018

This is a branch off @mlin's branch proposed in #809. It adds an applet title so the launcher job includes more than just the run_id in its title. It also adds auto-scaling, currently commented out as the instance type passed to dx run seems to propagate to override instance types specified in individual tasks. The L# directories are now placed below reads/.

@dpark01
Copy link
Member

dpark01 commented Jul 6, 2018

Is this a non-deterministic Travis test failure? (pasting it here for future reference in case the error disappears on re-run).

_______ ERROR at teardown of test_kraken_multi[TestMetagenomicsViralMix] _______
[gw1] linux -- Python 3.6.5 /home/travis/build/broadinstitute/viral-ngs/tools/conda-tools/default/bin/python
def reset():
>       shutil.rmtree(new_tempdir)
conftest.py:64: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tools/conda-tools/default/lib/python3.6/shutil.py:480: in rmtree
    _rmtree_safe_fd(fd, path, onerror)
tools/conda-tools/default/lib/python3.6/shutil.py:438: in _rmtree_safe_fd
    onerror(os.unlink, fullname, sys.exc_info())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
topfd = 11, path = '/tmp/pytest-of-travis/pytest-0/popen-gw1/test-function0'
onerror = <function rmtree.<locals>.onerror at 0x7f004cc5f1e0>
    def _rmtree_safe_fd(topfd, path, onerror):
        names = []
        try:
            names = os.listdir(topfd)
        except OSError as err:
            err.filename = path
            onerror(os.listdir, path, sys.exc_info())
        for name in names:
            fullname = os.path.join(path, name)
            try:
                orig_st = os.stat(name, dir_fd=topfd, follow_symlinks=False)
                mode = orig_st.st_mode
            except OSError:
                mode = 0
            if stat.S_ISDIR(mode):
                try:
                    dirfd = os.open(name, os.O_RDONLY, dir_fd=topfd)
                except OSError:
                    onerror(os.open, fullname, sys.exc_info())
                else:
                    try:
                        if os.path.samestat(orig_st, os.fstat(dirfd)):
                            _rmtree_safe_fd(dirfd, fullname, onerror)
                            try:
                                os.rmdir(name, dir_fd=topfd)
                            except OSError:
                                onerror(os.rmdir, fullname, sys.exc_info())
                        else:
                            try:
                                # This can only happen if someone replaces
                                # a directory with a symlink after the call to
                                # stat.S_ISDIR above.
                                raise OSError("Cannot call rmtree on a symbolic "
                                              "link")
                            except OSError:
                                onerror(os.path.islink, fullname, sys.exc_info())
                    finally:
                        os.close(dirfd)
            else:
                try:
>                   os.unlink(name, dir_fd=topfd)
E                   FileNotFoundError: [Errno 2] No such file or directory: 'libgkl_compression2251932993111688424.so'
tools/conda-tools/default/lib/python3.6/shutil.py:436: FileNotFoundError

…Seq runs, change demux_outputs class to array:file
demux_instance_type="mem1_hdd2_x32"
min_base_quality=25
echo "Detected $total_tile_count tiles, interpreting as HiSeq4k run, executing on a $demux_instance_type machine."
elif [ "$total_tile_count" -le 1408 ]; then
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had noticed a while ago that I've had difficulty getting hdd2 AWS/DX instances to run. @mlin can you confirm if these are being phased out? Should we stick to ssd2 instances instead?

@dpark01
Copy link
Member

dpark01 commented Jul 6, 2018

Note for future reference... that Travis failure was indeed non-deterministic. I'm not exactly sure how "No such file or directory: 'libgkl_compression2251932993111688424.so'" could possibly be non-deterministic, but ... something to keep an eye on. I'll open an issue.

Copy link
Member

@dpark01 dpark01 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Once any remaining technical items are sorted out and the whole system has been hand-tested on dx with a few different flowcell sizes (miseq, hs2500rr, nova), these changes look good from a review standpoint.

@tomkinsc tomkinsc merged commit a30825c into master Jul 10, 2018
@tomkinsc tomkinsc deleted the ct-mlin-demux-launcher branch July 10, 2018 14:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants