MIPWrangler

MIPWrangler is one command line program that contains several programs within that all combined together make up the MIPWrangler targeted molecular inversion probe (MIP) sequencing analysis pipeline. Currently installs only MAC, Ubuntu, and other UNIX based systems is supported.

Downloading code

back to top
Source code for the program is hosted at github and can be downloaded by either using git (recommended) or by downloading a compressed folder of the code
The recommended approach is to use git to clone the repository for the code because this is the easiest way to keep the code up to date.

Installing Dependencies

back to top

Compliers

You need to install either clang or g++-5 or greater to compile MIPWrangler, the latest g++ is recommended as it will provide the fastest program

Gcc

back to top
For Ubuntu, the repository for the newest gcc needs to be added and g++-6 or higher can be installed

Libraries

back to top
A few external libraries are needed for the libraries that MIPWrangler uses. Only cmake (needed by bamtools, restbed and jsoncpp) is needed.

To get the newest cmake, the following ppa can be added and then install via apt-get install

Or you can use the setup script from MIPWrangler to install MIPWrangler. You will then need to add MIPWrangler/bin, where it will install cmake, to your PATH variable before continuing.

To get git

For non-sudo users

back to top
For non-sudo users on a Ubuntu machine if you cannot get your admin to install the dependencies above I would recommend using linuxbrew which is a useful software for local users anyways as it contains more up to date software than the default Ubuntu repositories.

The install is easy and depends only that your machine has ruby,curl, git, and python-setuptools. If you don’t have those on your machine you may need your admin to run the following

You then can run the following to install

And then to add brew to your path to use brew itself and the tools it install

And to make it so it’s automatically added at login add to your ~/.profile or ~/.bash_profile depending which file exists

Now you can use brew to install dependencies and then compfile MIPWrangler,

Configuring

back to top
Once code has been downloaded it needs to be compiled but first come dependencies have to be downloaded and a compiler has to be chosen. MIPWrangler requires > g++-5 or clang++-3.8 to be compiled.

Installing Further Dependencies Libraries

back to top
Calling configure will create a file called compfile.mk which will contain info on the libraries needed and what compilers to use, this is give to setup.py to download the libraries MIPWrangler relay on. This may take some time especially if being done on a machine that doesn’t have many cores. Some of these dependencies might be worked out in future releases making install easier.

This command should report on whether anything failed to install, if this does happen, contact Nick Hathaway at to complain to him his install is annoying and therefore failing, and send along any errors messages that can be found.

Compiling

back to top
If the setup.py was able to install everything, next is to make MIPWrangler itself which takes a simple make command and will compile MIPWrangler in a directory called bin/ in the MIPWrangler directory

To use more cores to speed up make use -j, below would use 4 cores

Again if this fails to compile, complain to Nick () that he should get his act together to make this an easier install.

Adding MIPWrangler to path

back to top
To call MIPWrangler from the command line it will need to be called either with it’s full name or adding the bin directory in the MIPWrangler directory to your environmental path. This is done by modifying your ~/.profile file (on MAC and RedHat it’s ~/.bash_profile). Also this won’t take effect until this file is sourced either on your next log in or by called source ~/.profile

Adding auto flag completion

back to top
A lot of the flags in MIPWrangler can be long and annoying to type in so auto flag completion has been added in the folder MIPWrangler/etc/bash_completion.d in a file called MIPWrangler. The content of this file should be added to ~/.bash_completion though your shell environment must already be set up for bash completion which is true for most Ubuntu. There is also a command in ./setup.py that will add this to .bash_completion for you (it simply does what was said above and puts the contents of the file in MIPWrangler/etc/bash_completion.d/MIPWrangler to ~/.bash_completion)

Adding additional tools.

muscle is a third party tools that MIPWrangler calls from it’s sequence viewer and can be installed via the following

Calling MIPWrangler commands

To get a list of commands that MIPWrangler can call simply call it without any arguments

Version 1.0.0
Programs
Use MIPWrangler [PROGRAM] --help to see more details about each program
Commands are not case sensitive
MIPWrangler
mipsterMipExplorer
1) mipsAgainstHaplotypes
2) setUpViewMipsOnGenome
3) viewMipsOnGenome
mipsterMipTester
1) callMircosateliteSizes
mipsterServer
1) mav
2) mipAnalysisServerSetUp
MIPWranglerAnalysis
01) mipBarcodeCorrectionMultiple
02) mipClusteringMultiple
03) mipCorrectForContamWithSameBarcodesMultiple
04) mipPopulationClusteringMultiple
05) mipSetupAndExtractByArm
06) mipSkipBarcodeCorrectionMultiple
MIPWranglerSetUp
1) checkDirectoryStructure
2) cloneAnalysisDirectory
MIPWranglerSim
1) createArmFastaFiles
2) extractMipCaptureSequence
3) mipSimSetup
4) searchForArms
5) simMips
MIPWranglerUtils
01) createExtArmFastas
02) createLigArmFastas
03) createPrimerFileFromArmFile
04) mipFastasToSeqTable
05) processMipOverlapGraph
06) processMipOverlapGraphSingle
07) rearmTargetsAndCombine
08) typeFinalHaplotypes
09) writeOutPossibleHaplotypes