Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
PRESCOTT
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Mustafa Tekpinar
PRESCOTT
Commits
9373675a
Commit
9373675a
authored
Aug 09, 2023
by
Mustafa Tekpinar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Several small changes related to the name change.
parent
f32168f1
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
41 additions
and
41 deletions
+41
-41
README.md
README.md
+5
-5
example-esgemme-script.sh
examples/example-esgemme-script.sh
+4
-4
escott.py
prescott/escott.py
+18
-18
setup.py
setup.py
+14
-14
No files found.
README.md
View file @
9373675a
[
![License: MIT
](
https://img.shields.io/badge/License-MIT-yellow.svg
)
](https://opensource.org/licenses/MIT)
![
image info
](
./images/esgemme-image.png
)
# PRESCOTT:
Evolutionary and Structural Global Epistatic Model for Mutational Effect
s
#
![image info](./images/esgemme-image.png)
# PRESCOTT:
Population awaRe Epistatic and StruCtural mOdel of muTational effecT
s
## Introduction
PRESCOTT is a program predicting mutational effects of a protein based on evolutionary and structural information.
PRESCOTT is a program predicting mutational effects of a protein based on
population,
evolutionary and structural information.
It can calculate effects of single point mutations and multiple point mutations.
We recommend using PRESCOTT via our web site or our docker image.
...
...
@@ -32,12 +32,12 @@ Let's assume that our input MSA is inputAli.fasta and input.pdb is our structure
Run the program by issuing the following command in a bash terminal:
```
bash
python
$PRESCOTT_PATH
/esgemme.py
inputAli.fasta
--pdbfile
input.pdb
escott
inputAli.fasta
--pdbfile
input.pdb
```
A quick help can be accessed by typing
```
bash
python
$PRESCOTT_PATH
/esgemme.py
--help
escott
--help
```
By default, GEMME will predict the effect of all possible single mutations at all positions in the
...
...
examples/example-esgemme-script.sh
View file @
9373675a
...
...
@@ -20,7 +20,7 @@ then
echo
"Running PRESCOTT with a user-provided alignment file."
echo
"Using a previously produced prot_jet.res file to check reproducibility!"
es
gemme
../data/aliBLAT.fasta
-f
../data/aliBLAT.fasta
--jetfile
../data/BLAT_jet.res
es
cott
../data/aliBLAT.fasta
-f
../data/aliBLAT.fasta
--jetfile
../data/BLAT_jet.res
elif
[
"
$1
"
==
"withpdb"
]
then
...
...
@@ -28,7 +28,7 @@ then
#Please note that CV isa structural feature and it can not be calculated if you don't specify a pdb file.
echo
"Using blat-af2.pdb for the structural feature calculations!"
echo
"Entire mutational map of the protein will be calculated!"
es
gemme
../data/aliBLAT.fasta
-f
../data/aliBLAT.fasta
\
es
cott
../data/aliBLAT.fasta
-f
../data/aliBLAT.fasta
\
--pdbfile
../data/blat-af2.pdb
elif
[
"
$1
"
==
"withpdb-withmutfile"
]
...
...
@@ -37,13 +37,13 @@ then
#Please note that CV isa structural feature and it can not be calculated if you don't specify a pdb file.
echo
"Using blat-af2.pdb for the structural feature calculations!"
echo
"Only effects of mutations specified in the Stiffler_2015_BLAT_ECOLX.mut file will be calculated!"
es
gemme
../data/aliBLAT.fasta
-f
../data/aliBLAT.fasta
\
es
cott
../data/aliBLAT.fasta
-f
../data/aliBLAT.fasta
\
--pdbfile
../data/blat-af2.pdb
-m
../data/Stiffler_2015_BLAT_ECOLX.mut
demust compare
-i
../data/BLAT_ECOLX_Stiffler_2015_experimental.dat
--itype
singleline
-j
BLAT_normPred_evolCombi.txt
--jtype
singleline
else
echo
"Running EGEMME with a user-provided alignment file."
echo
"Since a pdb file is not provided, only evolutionary information will be used!"
es
gemme
../data/aliBLAT.fasta
-f
../data/aliBLAT.fasta
es
cott
../data/aliBLAT.fasta
-f
../data/aliBLAT.fasta
fi
prescott/escott.py
View file @
9373675a
...
...
@@ -207,10 +207,10 @@ def launchJET(prot, retMet, bFile, fFile, pdbfile, chains, n, N, nl):
# shutil.copy2(os.path.join(esgemme_path, "default.conf"), os.getcwd())
# esgemme_default_conf_path = importlib.resources.path('esgemme', 'default.conf')
# print(esgemme_default_conf_path)
source
=
files
(
'
esgemme
'
)
.
joinpath
(
'default.conf'
)
with
as_file
(
source
)
as
esgemme
_default_conf_path
:
source
=
files
(
'
prescott
'
)
.
joinpath
(
'default.conf'
)
with
as_file
(
source
)
as
prescott
_default_conf_path
:
#third_party_api_requiring_file_system_path(eml)
shutil
.
copy2
(
esgemme
_default_conf_path
,
os
.
getcwd
())
shutil
.
copy2
(
prescott
_default_conf_path
,
os
.
getcwd
())
if
retMet
==
"input"
:
...
...
@@ -315,17 +315,17 @@ def launchPred(prot,inAli,mutFile, normWeightMode, alphabet):
# Removing this dependency makes the code more portable.
# Therefore, I copy the R scripts that are saved as the
# package resources to the current working directory.
source
=
files
(
'
esgemme
'
)
.
joinpath
(
'pred.R'
)
with
as_file
(
source
)
as
esgemme
_pred_R_path
:
shutil
.
copy2
(
esgemme
_pred_R_path
,
os
.
getcwd
())
source
=
files
(
'
prescott
'
)
.
joinpath
(
'pred.R'
)
with
as_file
(
source
)
as
prescott
_pred_R_path
:
shutil
.
copy2
(
prescott
_pred_R_path
,
os
.
getcwd
())
source
=
files
(
'
esgemme
'
)
.
joinpath
(
'computePred.R'
)
with
as_file
(
source
)
as
esgemme
_computePred_R_path
:
shutil
.
copy2
(
esgemme
_computePred_R_path
,
os
.
getcwd
())
source
=
files
(
'
prescott
'
)
.
joinpath
(
'computePred.R'
)
with
as_file
(
source
)
as
prescott
_computePred_R_path
:
shutil
.
copy2
(
prescott
_computePred_R_path
,
os
.
getcwd
())
source
=
files
(
'
esgemme
'
)
.
joinpath
(
'alphabets/'
+
alphabet
+
'.txt'
)
with
as_file
(
source
)
as
esgemme
_alphabet
:
shutil
.
copy2
(
esgemme
_alphabet
,
os
.
getcwd
())
source
=
files
(
'
prescott
'
)
.
joinpath
(
'alphabets/'
+
alphabet
+
'.txt'
)
with
as_file
(
source
)
as
prescott
_alphabet
:
shutil
.
copy2
(
prescott
_alphabet
,
os
.
getcwd
())
if
(
mutFile
!=
''
):
# rcmd="Rscript --save $PRESCOTT_PATH/computePred.R "+prot+" "+inAli+" FALSE "+mutFile+" "+normWeightMode+" "+alphabet
...
...
@@ -784,11 +784,11 @@ def check_argument_groups(parser, arg_dict, group, argument):
group_name
=
group
.
replace
(
"-"
,
""
)
if
arg_dict
[
group_name
]
==
"input"
:
if
c
!=
1
:
parser
.
error
(
"es
gemme
requires "
+
str
(
argument
)
+
\
parser
.
error
(
"es
cott
requires "
+
str
(
argument
)
+
\
" if "
+
group
+
" is set to input."
)
else
:
if
c
>
0
:
parser
.
error
(
"es
gemme
requires "
+
group
+
parser
.
error
(
"es
cott
requires "
+
group
+
" to be set to input if "
+
str
(
argument
)
+
" is used."
)
return
None
def
calculateSecondaryStructure
(
pdbfile
,
coilBreakerLength
):
...
...
@@ -891,11 +891,11 @@ def countCoilSegments(inputfile):
def
parse_command_line
():
"""
Parse command line.
It uses argparse to parse 'es
gemme
' command line arguments and returns the
It uses argparse to parse 'es
cott
' command line arguments and returns the
argparse parser.
"""
parser
=
argparse
.
ArgumentParser
(
prog
=
"es
gemme
"
,
prog
=
"es
cott
"
,
description
=
"""
PRESCOTT (Evolutionary and Structural Global Epistasis Model for predicting Mutational Effects)
is a tool to predict mutational outcomes based on sequence and structure analysis
...
...
@@ -1382,7 +1382,7 @@ def doit(inAli,mutFile,retMet,bFile,fFile,n,N, jetfile, pdbfile, normWeightMode,
#Check if the normalized data files were created.
if
(
os
.
path
.
exists
(
prot
+
"_normPred_evolCombi.txt"
)):
gemmeData
=
parseGEMMEoutput
(
prot
+
"_normPred_evolCombi.txt"
,
verbose
=
Tru
e
)
gemmeData
=
parseGEMMEoutput
(
prot
+
"_normPred_evolCombi.txt"
,
verbose
=
Fals
e
)
sequenceLength
=
len
(
gemmeData
[
0
])
beginning
=
1
end
=
sequenceLength
...
...
@@ -1457,7 +1457,7 @@ def main():
toc
=
time
.
perf_counter
()
print
(
f
"
PR
ESCOTT computation finished in {toc - tic:0.4f} seconds!"
)
print
(
f
"ESCOTT computation finished in {toc - tic:0.4f} seconds!"
)
if
(
__name__
==
'__main__'
):
main
()
...
...
setup.py
View file @
9373675a
################################################################################
#
esgemme - A Python program to predict mutational effects of proteins.
#
################################################################################
##
#
prescott: Population awaRe Epistatic and StruCtural mOdel of muTational effecTs
#
# Authors: Mustafa Tekpinar #
# Copyright (c) Mustafa Tekpinar - Alessandra Carbone 2023 #
# #
# This file is part of
esgemme.
#
# This file is part of
prescott.
#
# #
# License: MIT License #
# #
# Permission is hereby granted, free of charge, to any person obtaining a copy #
# of this software and associated documentation files (the "Software"), to deal#
# of this software and associated documentation files (the "Software"), to deal
#
# in the Software without restriction, including without limitation the rights #
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell #
# copies of the Software, and to permit persons to whom the Software is #
...
...
@@ -21,24 +21,24 @@
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE #
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,#
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE#
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
#
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
#
# SOFTWARE. #
################################################################################
################################################################################
##
from
setuptools
import
setup
,
find_packages
from
esgemme
import
__version__
as
cp_vers
from
prescott
import
__version__
as
cp_vers
setup
(
name
=
'
esgemme
'
,
setup
(
name
=
'
prescott
'
,
version
=
cp_vers
,
description
=
"PRESCOTT:
A Python program to predict mutational effects of protein
s."
,
description
=
"PRESCOTT:
Population awaRe Epistatic and StruCtural mOdel of muTational effecT
s."
,
long_description
=
open
(
'README.md'
)
.
read
(),
long_description_content_type
=
"text/markdown"
,
author
=
"Mustafa Tekpinar"
,
author_email
=
"tekpinar@buffalo.edu"
,
url
=
"https://github.com/tekpinar/
esgemme
"
,
download_url
=
"https://github.com/tekpinar/
esgemme
"
,
url
=
"https://github.com/tekpinar/
prescott
"
,
download_url
=
"https://github.com/tekpinar/
prescott
"
,
license
=
"MIT"
,
classifiers
=
[
'Development Status :: 5 - Production/Stable'
,
...
...
@@ -59,9 +59,9 @@ setup(name='esgemme',
# file where some variables must be fixed by install
entry_points
=
{
'console_scripts'
:
[
'es
gemme=esgemme.esgemme
:main'
'es
cott=prescott.escott
:main'
]
},
include_package_data
=
True
,
package_data
=
{
'
esgemme
'
:[
'default.conf'
,
'computePred.R'
,
'pred.R'
,
'alphabets/*'
]},
package_data
=
{
'
prescott
'
:[
'default.conf'
,
'computePred.R'
,
'pred.R'
,
'alphabets/*'
]},
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment