Giter VIP home page Giter VIP logo

flams's Introduction

Find Lysine Acetylation Modification Sites (working name)

Requirements:

Usage

Setup

Download the project:

git clone [email protected]:annkamsk/flams.git

cd flams

Create virtual environment and activate it:

python -m venv venv/

source venv/bin/activate

Install dependencies:

pip install -r requirements.txt

Run

python -m flams.main [-h] (--in INPUT | --id id) [--range RANGE] [-o output] [-m MODIFICATION [MODIFICATION ...]] [-t NUM_THREADS] pos

Required arguments:

  • MODIFICATION is one of: acetylation, lactylation, formylation, succinylation, hmgylation
  • one of:
    • INPUT is a path to fasta file with the queried protein (has to contain only 1 protein)
    • id is a uniprot ID of the queried protein
  • pos is a position of lysine in the queried protein sequence where you look for modifications

Optional arguments:

  • RANGE (default: 0) is an number of positions before and after pos to also search for modifications
  • NUM_THREADS (default: 1) is a BLAST parameter
  • output (default: out.tsv) is path to a csv file where the result will be saved

Example:

python -m flams.main --in P57703.fa --range 5 -o results.tsv 308 -m acetylation succinylation

python -m flams.main --id P57703 19 -m lactylation

Development

Linters

Before commiting the code run: black . flake8 flams

Tests

To run all tests: python -m unittest discover

To run a specific module: python -m unittest test.test_display

Push a commit

First, create a new branch: git checkout -b <new-branch> should be a short (1-3 words) hyphen-separated name vaguely related to what you've been working on (eg. input-read etc). Don't stress too much about it. You'll be moved automatically to that branch.

git add .
git commit -m "{Short description of change}"
git push

To merge the code from the branch to the main branch, you need to create a pull request (can be done through the web interface).

Creating local BLAST database

Manual: http://biopython.org/DIST/docs/tutorial/Tutorial.html#sec125

makeblastdb -in data/acetylation.faa -dbtype prot

Parsing PLM database format

Go to read_plm.py, change PLM_DATABASE to path of database, and OUTPUT to output path. Then run: python read_plm.py

flams's People

Contributors

kasgel avatar retro212 avatar annkamsk avatar

Watchers

 avatar  avatar

Forkers

hannelorelongin

flams's Issues

NcbiblastpCommandLine returns error if DB path contains a space

NcbiblastpCommandLine doesn't put the path to db in double quotes, so the command is executed as follows: blastp -db /Users/ak/Library/Application Support/flams/acetylation-1.0. This naturally returns error as the space character is not escaped.

This shouldn't affect Linux users, but on Mac the directory for storing app data is Application Support.

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.