Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
only run CheckIlluminaDirectory w/ LINK_LOCS=true if HiSeqX/4k and Ch…
…eckIlluminaDirectory failed previously (#641) * remove broken symlinks in runs; call CheckIlluminaDirectory HiSeq4000 and HiSeq X runs write out a single “s.locs” file to Data/Intensities, rather than per-tile cluster location files within Data/Intensities/L*/*.locs. Related to this, CheckIlluminaDirectory with LINK_LOCS=‘true’ creates symlinks from where per-tile location files would be to the absolute path of the s.locs file. This can cause problems when moving a run to a new system, since the absolute paths will be incorrect. This addition checks to see if s.locs is present. If so, broken symlinks within the Data/Intensitites/L* are removed, and LINK_LOCS is specified for the CheckIlluminaDirectory call that now happens before demultiplexing. This call ensures the run looks correct, and in the case of HiSeq4000/HiSeqX runs, also creates symlinks for per-tile location files using absolute paths on the current system. This is all something of a workaround for Broad-derived HiSeq4000/HiSeqX runs, which are delivered with brittle absolute symlinks. With this addition, runs from Broad walkup or elsewhere are more cloud-compatible. In connection with this, a PR has been opened in the Picard repository to request that LINK_LOCS can create relative symlinks rather than absolute: broadinstitute/picard#877 * remove_broken_symlinks -> find_broken_symlinks, with logging changes remove_broken_symlinks has been renamed to find_broken_symlinks since it now returns a list of broken links rather than removing them directly. The function in util.file is now silent, and logging is performed where the function is called in illumina.py. * pass link_locs as python bool * run CheckIlluminaDirectory w/o `LINK_LOCS=true` and then, if it fails, and if it’s a HiSeq X / 4000, run it again with `LINK_LOCS=true` run CheckIlluminaDirectory w/o `LINK_LOCS=true` and then, if it fails, and if it’s a HiSeq X / 4000, run it again with `LINK_LOCS=true`
- Loading branch information