Giter VIP home page Giter VIP logo

kaikonnect's Introduction

Kaikonnect

A wrapper to serve as an interconnect between Kaiko and TagGraph for peptide open modification searching. Thanks to the structures of Kaiko and TagGraph, Kaikonnect is capable of taking in several .mzML or Thermo .raw simultaneously for joint analysis.

Prerequisites:

A linux machine with:

  1. Docker
  2. Python 2.7
  3. optparse for python 2.7 (this should be installed automatically via pip during execution if not found)

Installation and Execution:

First, clone the repo:

git clone https://github.com/wohllab/kaikonnect

and change into the new directory...

cd kaikonnect/

Second, docker builds and downloads:

This interconnect will bind Kaiko (the PNNL variant of DeepNovo) and the Elias lab's TagGraph softwares together. Accordingly, both will need to be downloaded. For Kaiko, we will also download the default model from MassIVE over FTP. If you are attempting to connect from within a controlled environment, you may find it necessary to stage the model manually. Please refer to the tag_grab.sh script for the relevant URLs.

To download all necessary components, and build the docker images, run: sh tag_grab.sh

When prompted, enter root password to elevate access for "sudo" commands. This is necessary to build docker images, unless your user has been granted special permissions.

Third, let's execute Kaikonnect!

If using Thermo instrument data, Kaikonnect will use the available pwiz docker image to convert the raw data to mzML through msconvert under wine. Otherwise, we can take in mzML files directly. In all cases, users are required to provide the mzML_folder argument. This argument will either be used as the data input, or as the mzML file output after conversion.

As Kaikonnect handles the execution of several docker containers, it is common that root privileges are required. It is easiest, therefore, to run the whole python script under root or through sudo. If this is not done, and the --no_sudo flag is not thrown, a warning message will be displayed which a user can press through to ignore. Users in this situation may find themselves prompted for sudo passwords multiple times throughout the execution of Kaikonnect, where progress hangs until a sudo password is supplied.

An example command line, with the provided data (staged when running tag_grab.sh):

sudo python kaikonnect.py --mzML_folder example/mzml_files/ --output_folder test_output/ --fasta example/human_uniprot_12092014_crap.fasta

or more simply, by executing... sudo sh test_script.sh

For additional configuration options, run:

$ python kaikonnect.py --help
Usage: kaikonnect.py [options]

Options:
  -h, --help            show this help message and exit
  -s, --no_sudo
  -r RAW_FOLDER, --raw_folder=RAW_FOLDER
  -m MZML_FOLDER, --mzML_folder=MZML_FOLDER
  -o OUTPUT_FOLDER, --output_folder=OUTPUT_FOLDER
  --kaiko_topk=KAIKO_TOPK
  --kaiko_beam_size=KAIKO_BEAM_SIZE
  -f FASTA, --fasta=FASTA
  --tg_per_fraction
  --tg_FDR_cutoff=TG_FDRCUTOFF
  --tg_logEM_cutoff=TG_LOGEMCUTOFF
  --tg_Display_Protein_Num=TG_DISPLAYPROTEINNUM
  --tg_ExperimentName=TG_EXPERIMENTNAME
  --tg_ppmstd=TG_PPMSTD
  --tg_modtolerance=TG_MODTOLERANCE
  --tg_maxcounts=TG_MAXCOUNTS
  --tg_modmaxcounts=TG_MODMAXCOUNTS
  --tg_EMinitIterations=TG_EMINITITERATIONS
  --tg_EMmaxIterations=TG_EMMAXITERATIONS

Please refer to Kaiko and TagGraph for details about the argument implementations.

kaikonnect's People

Contributors

heejongkim avatar wbarshop avatar williambarshop avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.