Commit 21f4813c by Mustafa Tekpinar

If a pdbfile is provided, normweightmode becomes sstjetormaxtwocomponent…

If a pdbfile is provided, normweightmode becomes sstjetormaxtwocomponent automatically. Else, it is tjet.
parent 8603802b
# Sphinx build info version 1 # Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 22c71542c2e9339759d7f2af8f251cf8 config: fe2e7449c75c4a1331acfe403ef4e427
tags: 645f666f9bcd5a90fca523b33c5a78b7 tags: 645f666f9bcd5a90fca523b33c5a78b7
...@@ -60,7 +60,7 @@ you may not need ‘sudo’ word before the docker command at all. ...@@ -60,7 +60,7 @@ you may not need ‘sudo’ word before the docker command at all.
.. code:: bash .. code:: bash
sudo docker run -ti --rm --mount type=bind,source=$PWD,target=/home/tekpinar/research/myexample \ sudo docker run -ti --rm --mount type=bind,source=$PWD,target=/home/tekpinar/research/myexample \
tekpinar/esgemme-docker:v1.3.0 tekpinar/esgemme-docker:v1.4.0
You are in the container (your virtual operating system) now. You You are in the container (your virtual operating system) now. You
created a folder called myexample in your container with the previous created a folder called myexample in your container with the previous
...@@ -94,8 +94,7 @@ evolutionary information: ...@@ -94,8 +94,7 @@ evolutionary information:
.. code:: bash .. code:: bash
esgemme aliBLAT.fasta -r input -f aliBLAT.fasta \ esgemme aliBLAT.fasta -r input -f aliBLAT.fasta \
--pdbfile blat-af2.pdb \ --pdbfile blat-af2.pdb
--normweightmode sstjetormax
Predicting the effect of a subset of single point mutations Predicting the effect of a subset of single point mutations
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...@@ -117,11 +116,11 @@ structural information. First, let's do it without structural information: ...@@ -117,11 +116,11 @@ structural information. First, let's do it without structural information:
-m Stiffler_2015_BLAT_ECOLX.mut -m Stiffler_2015_BLAT_ECOLX.mut
You can include structural information in the following way: You can include structural information in the following way:
.. code:: bash .. code:: bash
esgemme aliBLAT.fasta -r input -f aliBLAT.fasta \ esgemme aliBLAT.fasta -r input -f aliBLAT.fasta \
--pdbfile blat-af2.pdb \ --pdbfile blat-af2.pdb \
--normweightmode sstjetormax \
-m Stiffler_2015_BLAT_ECOLX.mut -m Stiffler_2015_BLAT_ECOLX.mut
You will have BLAT_normPred_evolCombi.txt file in your folder. However, the output You will have BLAT_normPred_evolCombi.txt file in your folder. However, the output
......
...@@ -15,12 +15,30 @@ ESGEMME has the following external dependencies: ...@@ -15,12 +15,30 @@ ESGEMME has the following external dependencies:
* java * java
* naccess: http://www.bioinf.manchester.ac.uk/naccess/ * naccess: http://www.bioinf.manchester.ac.uk/naccess/
* muscle: https://www.drive5.com/muscle/
* seqinr R package: https://cran.r-project.org/web/packages/seqinr/index.html
* dssp for secondary structure prediction. After you installed JET2 define a parameter called JET2_PATH inside your .profile file.
You can open .profile as follows:
These tools should be installed to be able to use ESGEMME. .. code:: bash
gedit ~/.profile
You should add a command like below to the end of that file, save and exit.
.. code:: bash
export JET2_PATH=/home/tekpinar/JET2/
Please, do not forget to replace /home/tekpinar/JET2 with your own file path.
Then, source the saved .profile so that the environment variable will be taken into account:
.. code:: bash
source ~/.profile
JET2 is essential and it should be installed to be able to use ESGEMME.
Preparation of the environment and installation of ESGEMME Preparation of the environment and installation of ESGEMME
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...@@ -54,13 +72,16 @@ Prepare your environment and install the required packages: ...@@ -54,13 +72,16 @@ Prepare your environment and install the required packages:
#Dssp installation #Dssp installation
If you are using Ubuntu 20.04, you can install dssp by the following command If you are using Ubuntu 20.04, you can install dssp by the following command
.. code:: bash .. code:: bash
sudo apt-get install dssp sudo apt-get install dssp
Otherwise, you can install it from the source by the following commands. Otherwise, you can install it from the source by the following commands.
Please note that default dssp in Ubuntu 22.04 is not working properly. Please note that default dssp in Ubuntu 22.04 is not working properly.
.. code:: bash .. code:: bash
wget https://github.com/cmbi/dssp/archive/refs/heads/master.zip && \ wget https://github.com/cmbi/dssp/archive/refs/heads/master.zip && \
...@@ -75,6 +96,7 @@ Please note that default dssp in Ubuntu 22.04 is not working properly. ...@@ -75,6 +96,7 @@ Please note that default dssp in Ubuntu 22.04 is not working properly.
sudo rm -f master.zip sudo rm -f master.zip
#HHSUITE installation #HHSUITE installation
.. code:: bash .. code:: bash
wget https://github.com/soedinglab/hh-suite/releases/download/v3.3.0/hhsuite-3.3.0-AVX2-Linux.tar.gz && \ wget https://github.com/soedinglab/hh-suite/releases/download/v3.3.0/hhsuite-3.3.0-AVX2-Linux.tar.gz && \
...@@ -88,16 +110,43 @@ Please note that default dssp in Ubuntu 22.04 is not working properly. ...@@ -88,16 +110,43 @@ Please note that default dssp in Ubuntu 22.04 is not working properly.
Check the location of hhsuite folder and add it to your path Check the location of hhsuite folder and add it to your path
In my case it was in /home/tekpinar/research/lcqb folder. Therefore, I added the following line In my case it was in /home/tekpinar/research/lcqb folder. Therefore, I added the following line
to my .profile file. to my .profile file.
PATH="/home/tekpinar/research/lcqb/hhsuite/bin:/home/tekpinar/research/lcqb/hhsuite/scripts:$PATH" Open .profile file with gedit:
Then .. code:: bash
source ~/.profile
gedit ~/.profile
Now, add the following line to the end of the file.
.. code:: bash
PATH="/home/tekpinar/research/lcqb/hhsuite/bin:/home/tekpinar/research/lcqb/hhsuite/scripts:$PATH"
Of course, your path will not be /home/tekpinar/research/lcqb/ and you have to modify the path according to
your system. Save the file and exit. Then,
.. code:: bash
source ~/.profile
# #
cd ESGEMME cd ESGEMME
#Download ESGEMME from http://gitlab.lcqb.upmc.fr/tekpinar/ESGEMME repository and go inside the ESGEMME folder.! #Download ESGEMME from http://gitlab.lcqb.upmc.fr/tekpinar/ESGEMME repository and go inside the ESGEMME folder.!
You can download the master version using command line as follows:
.. code:: bash
git clone http://gitlab.lcqb.upmc.fr/tekpinar/ESGEMME.git
If you would like the development version:
.. code:: bash
git clone -b development http://gitlab.lcqb.upmc.fr/tekpinar/ESGEMME.git
.. code:: bash .. code:: bash
cd ESGEMME cd ESGEMME
...@@ -115,6 +164,7 @@ file according to your system. ...@@ -115,6 +164,7 @@ file according to your system.
cd ../ cd ../
#Installing the required R packages #Installing the required R packages
.. code:: bash .. code:: bash
sudo Rscript -e 'install.packages("seqinr", repos="http://cran.us.r-project.org", dependencies=TRUE)' sudo Rscript -e 'install.packages("seqinr", repos="http://cran.us.r-project.org", dependencies=TRUE)'
......
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
VERSION: '1.3.0', VERSION: '1.4.0',
LANGUAGE: 'en', LANGUAGE: 'en',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
BUILDER: 'html', BUILDER: 'html',
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" /> <meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Analyzing and Modifying the ESGEMME Output &mdash; esgemme 1.3.0 documentation</title> <title>Analyzing and Modifying the ESGEMME Output &mdash; esgemme 1.4.0 documentation</title>
<link rel="stylesheet" href="_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<!--[if lt IE 9]> <!--[if lt IE 9]>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" /> <meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Using ESGEMME via Docker &mdash; esgemme 1.3.0 documentation</title> <title>Using ESGEMME via Docker &mdash; esgemme 1.4.0 documentation</title>
<link rel="stylesheet" href="_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<!--[if lt IE 9]> <!--[if lt IE 9]>
...@@ -128,7 +128,7 @@ file in fasta format:</p> ...@@ -128,7 +128,7 @@ file in fasta format:</p>
<p>If it shows you a list of options, you are on a good track. On MacOS, <p>If it shows you a list of options, you are on a good track. On MacOS,
you may not need ‘sudo’ word before the docker command at all.</p> you may not need ‘sudo’ word before the docker command at all.</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>sudo docker run -ti --rm --mount <span class="nv">type</span><span class="o">=</span>bind,source<span class="o">=</span><span class="nv">$PWD</span>,target<span class="o">=</span>/home/tekpinar/research/myexample <span class="se">\</span> <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>sudo docker run -ti --rm --mount <span class="nv">type</span><span class="o">=</span>bind,source<span class="o">=</span><span class="nv">$PWD</span>,target<span class="o">=</span>/home/tekpinar/research/myexample <span class="se">\</span>
tekpinar/esgemme-docker:v1.3.0 tekpinar/esgemme-docker:v1.4.0
</pre></div> </pre></div>
</div> </div>
<p>You are in the container (your virtual operating system) now. You <p>You are in the container (your virtual operating system) now. You
...@@ -154,8 +154,7 @@ files.</p> ...@@ -154,8 +154,7 @@ files.</p>
<p>If you want to utilize structural information (highly recommended) as well as <p>If you want to utilize structural information (highly recommended) as well as
evolutionary information:</p> evolutionary information:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>esgemme aliBLAT.fasta -r input -f aliBLAT.fasta <span class="se">\</span> <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>esgemme aliBLAT.fasta -r input -f aliBLAT.fasta <span class="se">\</span>
--pdbfile blat-af2.pdb <span class="se">\</span> --pdbfile blat-af2.pdb
--normweightmode sstjetormax
</pre></div> </pre></div>
</div> </div>
</section> </section>
...@@ -174,11 +173,12 @@ structural information. First, let’s do it without structural information:</p> ...@@ -174,11 +173,12 @@ structural information. First, let’s do it without structural information:</p>
-m Stiffler_2015_BLAT_ECOLX.mut -m Stiffler_2015_BLAT_ECOLX.mut
</pre></div> </pre></div>
</div> </div>
<p>You can include structural information in the following way: <p>You can include structural information in the following way:</p>
.. code:: bash</p> <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>esgemme aliBLAT.fasta -r input -f aliBLAT.fasta <span class="se">\</span>
<blockquote> --pdbfile blat-af2.pdb <span class="se">\</span>
<div><p>esgemme aliBLAT.fasta -r input -f aliBLAT.fasta –pdbfile blat-af2.pdb –normweightmode sstjetormax -m Stiffler_2015_BLAT_ECOLX.mut</p> -m Stiffler_2015_BLAT_ECOLX.mut
</div></blockquote> </pre></div>
</div>
<p>You will have BLAT_normPred_evolCombi.txt file in your folder. However, the output <p>You will have BLAT_normPred_evolCombi.txt file in your folder. However, the output
format is completely different from the entire mutational landscape scanning file. format is completely different from the entire mutational landscape scanning file.
Each line of this file is a mutation and its predicted effect separated by a space. Each line of this file is a mutation and its predicted effect separated by a space.
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Index &mdash; esgemme 1.3.0 documentation</title> <title>Index &mdash; esgemme 1.4.0 documentation</title>
<link rel="stylesheet" href="_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<!--[if lt IE 9]> <!--[if lt IE 9]>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" /> <meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Welcome to esgemme’s documentation! &mdash; esgemme 1.3.0 documentation</title> <title>Welcome to esgemme’s documentation! &mdash; esgemme 1.4.0 documentation</title>
<link rel="stylesheet" href="_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<!--[if lt IE 9]> <!--[if lt IE 9]>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" /> <meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Preparing Your Own Input &mdash; esgemme 1.3.0 documentation</title> <title>Preparing Your Own Input &mdash; esgemme 1.4.0 documentation</title>
<link rel="stylesheet" href="_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<!--[if lt IE 9]> <!--[if lt IE 9]>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" /> <meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Installation &mdash; esgemme 1.3.0 documentation</title> <title>Installation &mdash; esgemme 1.4.0 documentation</title>
<link rel="stylesheet" href="_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<!--[if lt IE 9]> <!--[if lt IE 9]>
...@@ -92,13 +92,24 @@ steps required to install it from the source.</p> ...@@ -92,13 +92,24 @@ steps required to install it from the source.</p>
<ul> <ul>
<li><p>java</p></li> <li><p>java</p></li>
<li><p>naccess: <a class="reference external" href="http://www.bioinf.manchester.ac.uk/naccess/">http://www.bioinf.manchester.ac.uk/naccess/</a></p></li> <li><p>naccess: <a class="reference external" href="http://www.bioinf.manchester.ac.uk/naccess/">http://www.bioinf.manchester.ac.uk/naccess/</a></p></li>
<li><p>muscle: <a class="reference external" href="https://www.drive5.com/muscle/">https://www.drive5.com/muscle/</a></p></li>
</ul> </ul>
</li> </li>
<li><p>seqinr R package: <a class="reference external" href="https://cran.r-project.org/web/packages/seqinr/index.html">https://cran.r-project.org/web/packages/seqinr/index.html</a></p></li>
<li><p>dssp for secondary structure prediction.</p></li>
</ul> </ul>
<p>These tools should be installed to be able to use ESGEMME.</p> <p>After you installed JET2 define a parameter called JET2_PATH inside your .profile file.
You can open .profile as follows:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>gedit ~/.profile
</pre></div>
</div>
<p>You should add a command like below to the end of that file, save and exit.</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">export</span> <span class="nv">JET2_PATH</span><span class="o">=</span>/home/tekpinar/JET2/
</pre></div>
</div>
<p>Please, do not forget to replace /home/tekpinar/JET2 with your own file path.</p>
<p>Then, source the saved .profile so that the environment variable will be taken into account:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">source</span> ~/.profile
</pre></div>
</div>
<p>JET2 is essential and it should be installed to be able to use ESGEMME.</p>
</section> </section>
<section id="preparation-of-the-environment-and-installation-of-esgemme"> <section id="preparation-of-the-environment-and-installation-of-esgemme">
<h2>Preparation of the environment and installation of ESGEMME<a class="headerlink" href="#preparation-of-the-environment-and-installation-of-esgemme" title="Permalink to this heading"></a></h2> <h2>Preparation of the environment and installation of ESGEMME<a class="headerlink" href="#preparation-of-the-environment-and-installation-of-esgemme" title="Permalink to this heading"></a></h2>
...@@ -126,39 +137,67 @@ sudo apt-get clean <span class="o">&amp;&amp;</span> <span class="se">\</span> ...@@ -126,39 +137,67 @@ sudo apt-get clean <span class="o">&amp;&amp;</span> <span class="se">\</span>
sudo rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* sudo rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
</pre></div> </pre></div>
</div> </div>
<p>#Dssp installation <p>#Dssp installation</p>
If you are using Ubuntu 20.04, you can install dssp by the following command <p>If you are using Ubuntu 20.04, you can install dssp by the following command</p>
.. code:: bash</p> <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>sudo apt-get install dssp
<blockquote> </pre></div>
<div><p>sudo apt-get install dssp</p> </div>
</div></blockquote>
<p>Otherwise, you can install it from the source by the following commands. <p>Otherwise, you can install it from the source by the following commands.
Please note that default dssp in Ubuntu 22.04 is not working properly. Please note that default dssp in Ubuntu 22.04 is not working properly.</p>
.. code:: bash</p> <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>wget https://github.com/cmbi/dssp/archive/refs/heads/master.zip <span class="o">&amp;&amp;</span> <span class="se">\</span>
<blockquote> unzip -o master.zip <span class="o">&amp;&amp;</span> <span class="nb">cd</span> dssp-master/ <span class="o">&amp;&amp;</span> <span class="se">\</span>
<div><p>wget <a class="reference external" href="https://github.com/cmbi/dssp/archive/refs/heads/master.zip">https://github.com/cmbi/dssp/archive/refs/heads/master.zip</a> &amp;&amp; unzip -o master.zip &amp;&amp; cd dssp-master/ &amp;&amp; ./autogen.sh &amp;&amp; ./configure &amp;&amp; make &amp;&amp; sudo make install &amp;&amp; sudo ln -s /usr/local/bin/mkdssp /usr/local/bin/dssp &amp;&amp; cd ../ &amp;&amp; sudo rm -rf dssp-master/ &amp;&amp; sudo rm -f master.zip</p> ./autogen.sh <span class="o">&amp;&amp;</span> <span class="se">\</span>
</div></blockquote> ./configure <span class="o">&amp;&amp;</span> <span class="se">\</span>
<p>#HHSUITE installation make <span class="o">&amp;&amp;</span> <span class="se">\</span>
.. code:: bash</p> sudo make install <span class="o">&amp;&amp;</span> <span class="se">\</span>
<blockquote> sudo ln -s /usr/local/bin/mkdssp /usr/local/bin/dssp <span class="o">&amp;&amp;</span> <span class="se">\</span>
<div><p>wget <a class="reference external" href="https://github.com/soedinglab/hh-suite/releases/download/v3.3.0/hhsuite-3.3.0-AVX2-Linux.tar.gz">https://github.com/soedinglab/hh-suite/releases/download/v3.3.0/hhsuite-3.3.0-AVX2-Linux.tar.gz</a> &amp;&amp; mkdir hhsuite &amp;&amp; mv hhsuite-3.3.0-AVX2-Linux.tar.gz hhsuite/ &amp;&amp; cd hhsuite &amp;&amp; tar xvfz hhsuite-3.3.0-AVX2-Linux.tar.gz &amp;&amp; rm -f hhsuite-3.3.0-AVX2-Linux.tar.gz</p> <span class="nb">cd</span> ../ <span class="o">&amp;&amp;</span> <span class="se">\</span>
</div></blockquote> sudo rm -rf dssp-master/ <span class="o">&amp;&amp;</span> <span class="se">\</span>
sudo rm -f master.zip
</pre></div>
</div>
<p>#HHSUITE installation</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>wget https://github.com/soedinglab/hh-suite/releases/download/v3.3.0/hhsuite-3.3.0-AVX2-Linux.tar.gz <span class="o">&amp;&amp;</span> <span class="se">\</span>
mkdir hhsuite <span class="o">&amp;&amp;</span> <span class="se">\</span>
mv hhsuite-3.3.0-AVX2-Linux.tar.gz hhsuite/ <span class="o">&amp;&amp;</span> <span class="se">\</span>
<span class="nb">cd</span> hhsuite <span class="o">&amp;&amp;</span> <span class="se">\</span>
tar xvfz hhsuite-3.3.0-AVX2-Linux.tar.gz <span class="o">&amp;&amp;</span> <span class="se">\</span>
rm -f hhsuite-3.3.0-AVX2-Linux.tar.gz
</pre></div>
</div>
<p>#Add it to your path permanently inside .bashrc or .profile or .bash_profile <p>#Add it to your path permanently inside .bashrc or .profile or .bash_profile
Check the location of hhsuite folder and add it to your path Check the location of hhsuite folder and add it to your path
In my case it was in /home/tekpinar/research/lcqb folder. Therefore, I added the following line In my case it was in /home/tekpinar/research/lcqb folder. Therefore, I added the following line
to my .profile file. to my .profile file.
PATH=”/home/tekpinar/research/lcqb/hhsuite/bin:/home/tekpinar/research/lcqb/hhsuite/scripts:$PATH”</p> Open .profile file with gedit:</p>
<p>Then <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>gedit ~/.profile
source ~/.profile</p> </pre></div>
</div>
<p>Now, add the following line to the end of the file.</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nv">PATH</span><span class="o">=</span><span class="s2">&quot;/home/tekpinar/research/lcqb/hhsuite/bin:/home/tekpinar/research/lcqb/hhsuite/scripts:</span><span class="nv">$PATH</span><span class="s2">&quot;</span>
</pre></div>
</div>
<p>Of course, your path will not be /home/tekpinar/research/lcqb/ and you have to modify the path according to
your system. Save the file and exit. Then,</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">source</span> ~/.profile
</pre></div>
</div>
<p>#</p> <p>#</p>
<blockquote> <blockquote>
<div><p>cd ESGEMME</p> <div><p>cd ESGEMME</p>
</div></blockquote> </div></blockquote>
<p>#Download ESGEMME from <a class="reference external" href="http://gitlab.lcqb.upmc.fr/tekpinar/ESGEMME">http://gitlab.lcqb.upmc.fr/tekpinar/ESGEMME</a> repository and go inside the ESGEMME folder.! <p>#Download ESGEMME from <a class="reference external" href="http://gitlab.lcqb.upmc.fr/tekpinar/ESGEMME">http://gitlab.lcqb.upmc.fr/tekpinar/ESGEMME</a> repository and go inside the ESGEMME folder.!
.. code:: bash</p> You can download the master version using command line as follows:</p>
<blockquote> <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>git clone http://gitlab.lcqb.upmc.fr/tekpinar/ESGEMME.git
<div><p>cd ESGEMME</p> </pre></div>
</div></blockquote> </div>
<p>If you would like the development version:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>git clone -b development http://gitlab.lcqb.upmc.fr/tekpinar/ESGEMME.git
</pre></div>
</div>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">cd</span> ESGEMME
</pre></div>
</div>
</section> </section>
<section id="configuring-default-conf-file"> <section id="configuring-default-conf-file">
<h2>Configuring default.conf file<a class="headerlink" href="#configuring-default-conf-file" title="Permalink to this heading"></a></h2> <h2>Configuring default.conf file<a class="headerlink" href="#configuring-default-conf-file" title="Permalink to this heading"></a></h2>
...@@ -170,11 +209,10 @@ file according to your system.</p> ...@@ -170,11 +209,10 @@ file according to your system.</p>
<span class="nb">cd</span> ../ <span class="nb">cd</span> ../
</pre></div> </pre></div>
</div> </div>
<p>#Installing the required R packages <p>#Installing the required R packages</p>
.. code:: bash</p> <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>sudo Rscript -e <span class="s1">&#39;install.packages(&quot;seqinr&quot;, repos=&quot;http://cran.us.r-project.org&quot;, dependencies=TRUE)&#39;</span>
<blockquote> </pre></div>
<div><p>sudo Rscript -e ‘install.packages(“seqinr”, repos=”<a class="reference external" href="http://cran.us.r-project.org">http://cran.us.r-project.org</a>”, dependencies=TRUE)’</p> </div>
</div></blockquote>
<p>#Installing secondary programs such as ev_couplings to obtain MSA files.</p> <p>#Installing secondary programs such as ev_couplings to obtain MSA files.</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>wget https://github.com/debbiemarkslab/plmc/archive/refs/heads/master.zip <span class="o">&amp;&amp;</span> <span class="se">\</span> <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>wget https://github.com/debbiemarkslab/plmc/archive/refs/heads/master.zip <span class="o">&amp;&amp;</span> <span class="se">\</span>
unzip -o master.zip <span class="o">&amp;&amp;</span> <span class="se">\</span> unzip -o master.zip <span class="o">&amp;&amp;</span> <span class="se">\</span>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Search &mdash; esgemme 1.3.0 documentation</title> <title>Search &mdash; esgemme 1.4.0 documentation</title>
<link rel="stylesheet" href="_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
......
...@@ -66,8 +66,8 @@ ...@@ -66,8 +66,8 @@
\newlabel{installation:installing-the-dependencies}{{4.1}{9}{Installing the dependencies:}{section.4.1}{}} \newlabel{installation:installing-the-dependencies}{{4.1}{9}{Installing the dependencies:}{section.4.1}{}}
\@writefile{toc}{\contentsline {section}{\numberline {4.2}Preparation of the environment and installation of ESGEMME}{9}{section.4.2}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {4.2}Preparation of the environment and installation of ESGEMME}{9}{section.4.2}\protected@file@percent }
\newlabel{installation:preparation-of-the-environment-and-installation-of-esgemme}{{4.2}{9}{Preparation of the environment and installation of ESGEMME}{section.4.2}{}} \newlabel{installation:preparation-of-the-environment-and-installation-of-esgemme}{{4.2}{9}{Preparation of the environment and installation of ESGEMME}{section.4.2}{}}
\@writefile{toc}{\contentsline {section}{\numberline {4.3}Configuring default.conf file}{10}{section.4.3}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {4.3}Configuring default.conf file}{11}{section.4.3}\protected@file@percent }
\newlabel{installation:configuring-default-conf-file}{{4.3}{10}{Configuring default.conf file}{section.4.3}{}} \newlabel{installation:configuring-default-conf-file}{{4.3}{11}{Configuring default.conf file}{section.4.3}{}}
\@writefile{toc}{\contentsline {chapter}{\numberline {5}Indices and tables}{13}{chapter.5}\protected@file@percent } \@writefile{toc}{\contentsline {chapter}{\numberline {5}Indices and tables}{13}{chapter.5}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }} \@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }}
......
# Fdb version 3 # Fdb version 3
["makeindex esgemme.idx"] 1685453958 "esgemme.idx" "esgemme.ind" "esgemme" 1687444567 ["makeindex esgemme.idx"] 1685453958 "esgemme.idx" "esgemme.ind" "esgemme" 1690799114
"esgemme.idx" 1687444567 0 d41d8cd98f00b204e9800998ecf8427e "pdflatex" "esgemme.idx" 1690799114 0 d41d8cd98f00b204e9800998ecf8427e "pdflatex"
(generated) (generated)
"esgemme.ilg" "esgemme.ilg"
"esgemme.ind" "esgemme.ind"
["pdflatex"] 1687444567 "esgemme.tex" "esgemme.pdf" "esgemme" 1687444567 ["pdflatex"] 1690799114 "esgemme.tex" "esgemme.pdf" "esgemme" 1690799114
"/etc/texmf/web2c/texmf.cnf" 1686915816 475 c0e671620eb5563b2130f56340a5fde8 "" "/etc/texmf/web2c/texmf.cnf" 1686915816 475 c0e671620eb5563b2130f56340a5fde8 ""
"/usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map" 1577235249 3524 cb3e574dea2d1052e39280babc910dc8 "" "/usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map" 1577235249 3524 cb3e574dea2d1052e39280babc910dc8 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecrm1000.tfm" 1136768653 3584 adb004a0c8e7c46ee66cad73671f37b4 "" "/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecrm1000.tfm" 1136768653 3584 adb004a0c8e7c46ee66cad73671f37b4 ""
...@@ -140,13 +140,13 @@ ...@@ -140,13 +140,13 @@
"/usr/share/texmf/web2c/texmf.cnf" 1644012257 39432 7155514e09a3d69036fac785183a21c2 "" "/usr/share/texmf/web2c/texmf.cnf" 1644012257 39432 7155514e09a3d69036fac785183a21c2 ""
"/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map" 1686916200 128028 f533b797fba58d231669ea19e894e23e "" "/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map" 1686916200 128028 f533b797fba58d231669ea19e894e23e ""
"/var/lib/texmf/web2c/pdftex/pdflatex.fmt" 1686916204 1405647 c55a0c388547b619d75d774fd8f2cdb7 "" "/var/lib/texmf/web2c/pdftex/pdflatex.fmt" 1686916204 1405647 c55a0c388547b619d75d774fd8f2cdb7 ""
"esgemme.aux" 1687444567 6419 c32f711de29f755f1a8f1c5ee6077663 "pdflatex" "esgemme.aux" 1690799114 6419 037bf31d3f88d011950af339c73af556 "pdflatex"
"esgemme.ind" 1686042164 0 d41d8cd98f00b204e9800998ecf8427e "makeindex esgemme.idx" "esgemme.ind" 1686042164 0 d41d8cd98f00b204e9800998ecf8427e "makeindex esgemme.idx"
"esgemme.out" 1687444567 4691 484d3d84b85998e14ab085f1c3f73044 "pdflatex" "esgemme.out" 1690799114 4691 484d3d84b85998e14ab085f1c3f73044 "pdflatex"
"esgemme.tex" 1687444567 23794 9a708ce4fd09d7c14a8bc1cefc956d6a "" "esgemme.tex" 1690799113 25966 8a5eac4dcdc00629d4123d916f953398 ""
"esgemme.toc" 1687444567 1865 658ec1920d49935d82736b327430eefc "pdflatex" "esgemme.toc" 1690799114 1865 e1a0930e11e4c97727c86b4733bd4152 "pdflatex"
"sphinx.sty" 1657784170 12780 919e6ba449302e2597e7722681a087c6 "" "sphinx.sty" 1657784170 12780 919e6ba449302e2597e7722681a087c6 ""
"sphinxhighlight.sty" 1687444567 6679 76d10c62e0f0661410b46f5db6118e26 "" "sphinxhighlight.sty" 1690799113 6679 76d10c62e0f0661410b46f5db6118e26 ""
"sphinxlatexadmonitions.sty" 1657784170 6238 2d867d769abf3f72abc17ef52adff78b "" "sphinxlatexadmonitions.sty" 1657784170 6238 2d867d769abf3f72abc17ef52adff78b ""
"sphinxlatexcontainers.sty" 1686042164 901 d3a3a1b7b2547f47ade2499350b5c420 "" "sphinxlatexcontainers.sty" 1686042164 901 d3a3a1b7b2547f47ade2499350b5c420 ""
"sphinxlatexgraphics.sty" 1686042164 4840 a9578332b6f3b35e198751fb632c9b79 "" "sphinxlatexgraphics.sty" 1686042164 4840 a9578332b6f3b35e198751fb632c9b79 ""
...@@ -161,7 +161,7 @@ ...@@ -161,7 +161,7 @@
"sphinxlatexstyletext.sty" 1657784170 6177 c18841ce3fafc366cd3b145f8faa4c37 "" "sphinxlatexstyletext.sty" 1657784170 6177 c18841ce3fafc366cd3b145f8faa4c37 ""
"sphinxlatextables.sty" 1657784170 21848 2827eb0b11b99b185a8b77317d3e131c "" "sphinxlatextables.sty" 1657784170 21848 2827eb0b11b99b185a8b77317d3e131c ""
"sphinxmanual.cls" 1686042164 4241 7b0d7a37df7b5715fb0dbd585c52ecdb "" "sphinxmanual.cls" 1686042164 4241 7b0d7a37df7b5715fb0dbd585c52ecdb ""
"sphinxmessages.sty" 1687444567 745 3f5fcd6cdd7964ed608767954a8ced6f "" "sphinxmessages.sty" 1690799113 745 3f5fcd6cdd7964ed608767954a8ced6f ""
"sphinxoptionsgeometry.sty" 1686042164 2061 47bb34b8ed8a78823eb0c886abfb9f4d "" "sphinxoptionsgeometry.sty" 1686042164 2061 47bb34b8ed8a78823eb0c886abfb9f4d ""
"sphinxoptionshyperref.sty" 1686042164 1094 79beb8b8a3f10784f8cce804e0f9d3aa "" "sphinxoptionshyperref.sty" 1686042164 1094 79beb8b8a3f10784f8cce804e0f9d3aa ""
"sphinxpackagefootnote.sty" 1657784170 15217 dd26fe418b6fb1b26b18f042a7f43d40 "" "sphinxpackagefootnote.sty" 1657784170 15217 dd26fe418b6fb1b26b18f042a7f43d40 ""
......
This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2022/dev/Debian) (preloaded format=pdflatex 2023.6.16) 22 JUN 2023 16:36 This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2022/dev/Debian) (preloaded format=pdflatex 2023.6.16) 31 JUL 2023 12:25
entering extended mode entering extended mode
restricted \write18 enabled. restricted \write18 enabled.
%&-line parsing enabled. %&-line parsing enabled.
...@@ -799,14 +799,14 @@ Chapter 3. ...@@ -799,14 +799,14 @@ Chapter 3.
] ]
LaTeX Font Info: Trying to load font information for TS1+txtt on input line LaTeX Font Info: Trying to load font information for TS1+txtt on input line
455. 454.
(/usr/share/texlive/texmf-dist/tex/latex/txfonts/ts1txtt.fd (/usr/share/texlive/texmf-dist/tex/latex/txfonts/ts1txtt.fd
File: ts1txtt.fd 2000/12/15 v3.1 File: ts1txtt.fd 2000/12/15 v3.1
) )
LaTeX Font Info: Font shape `T1/txtt/m/it' in size <10> not available LaTeX Font Info: Font shape `T1/txtt/m/it' in size <10> not available
(Font) Font shape `T1/txtt/m/sl' tried instead on input line 456. (Font) Font shape `T1/txtt/m/sl' tried instead on input line 455.
Underfull \hbox (badness 10000) in paragraph at lines 460--464 Underfull \hbox (badness 10000) in paragraph at lines 459--463
[]\T1/qtm/m/n/10 Con-grat-u-la-tions! Now, you have all the in-put files re-qui []\T1/qtm/m/n/10 Con-grat-u-la-tions! Now, you have all the in-put files re-qui
red for ES-GEMME: I. An in-put MSA: red for ES-GEMME: I. An in-put MSA:
[] []
...@@ -814,18 +814,12 @@ red for ES-GEMME: I. An in-put MSA: ...@@ -814,18 +814,12 @@ red for ES-GEMME: I. An in-put MSA:
[8] [8]
Chapter 4. Chapter 4.
LaTeX Font Info: Trying to load font information for TS1+qtm on input line 4 LaTeX Font Info: Trying to load font information for TS1+qtm on input line 4
82. 81.
(/usr/share/texmf/tex/latex/tex-gyre/ts1qtm.fd (/usr/share/texmf/tex/latex/tex-gyre/ts1qtm.fd
File: ts1qtm.fd 2009/09/25 v1.2 font definition file for TS1/qtm File: ts1qtm.fd 2009/09/25 v1.2 font definition file for TS1/qtm
) [9 ) [9
] ] [10] [11] [12
Underfull \hbox (badness 5490) in paragraph at lines 561--563
\T1/qtm/m/n/10 master/ && ./au-to-gen.sh && ./con-fig-ure && make && sudo make
in-stall && sudo ln -s
[]
[10] [11] [12
] ]
Chapter 5. Chapter 5.
...@@ -836,11 +830,11 @@ Package rerunfilecheck Info: File `esgemme.out' has not changed. ...@@ -836,11 +830,11 @@ Package rerunfilecheck Info: File `esgemme.out' has not changed.
Here is how much of TeX's memory you used: Here is how much of TeX's memory you used:
14657 strings out of 480247 14657 strings out of 480247
233344 string characters out of 5896151 233344 string characters out of 5896151
571746 words of memory out of 5000000 597746 words of memory out of 5000000
32185 multiletter control sequences out of 15000+600000 32185 multiletter control sequences out of 15000+600000
520869 words of font info for 70 fonts, out of 8000000 for 9000 520869 words of font info for 70 fonts, out of 8000000 for 9000
15 hyphenation exceptions out of 8191 15 hyphenation exceptions out of 8191
70i,11n,76p,563b,568s stack positions out of 5000i,500n,10000p,200000b,80000s 70i,11n,76p,432b,568s stack positions out of 5000i,500n,10000p,200000b,80000s
{/usr/share/texmf/fonts/enc/dvips/tex-gyre/q-ts1.enc}{/usr/share/texmf/fonts/ {/usr/share/texmf/fonts/enc/dvips/tex-gyre/q-ts1.enc}{/usr/share/texmf/fonts/
enc/dvips/tex-gyre/q-ec.enc}</usr/share/texlive/texmf-dist/fonts/type1/public/a enc/dvips/tex-gyre/q-ec.enc}</usr/share/texlive/texmf-dist/fonts/type1/public/a
msfonts/cm/cmmi5.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts msfonts/cm/cmmi5.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts
...@@ -851,10 +845,10 @@ usr/share/texlive/texmf-dist/fonts/type1/public/txfonts/t1xbtt.pfb></usr/share/ ...@@ -851,10 +845,10 @@ usr/share/texlive/texmf-dist/fonts/type1/public/txfonts/t1xbtt.pfb></usr/share/
texlive/texmf-dist/fonts/type1/public/txfonts/t1xtt.pfb></usr/share/texlive/tex texlive/texmf-dist/fonts/type1/public/txfonts/t1xtt.pfb></usr/share/texlive/tex
mf-dist/fonts/type1/public/txfonts/t1xtt.pfb></usr/share/texlive/texmf-dist/fon mf-dist/fonts/type1/public/txfonts/t1xtt.pfb></usr/share/texlive/texmf-dist/fon
ts/type1/public/txfonts/tcxtt.pfb> ts/type1/public/txfonts/tcxtt.pfb>
Output written on esgemme.pdf (17 pages, 165015 bytes). Output written on esgemme.pdf (17 pages, 164984 bytes).
PDF statistics: PDF statistics:
264 PDF objects out of 1000 (max. 8388607) 259 PDF objects out of 1000 (max. 8388607)
225 compressed objects within 3 object streams 220 compressed objects within 3 object streams
51 named destinations out of 1000 (max. 500000) 51 named destinations out of 1000 (max. 500000)
173 words of extra memory for PDF output out of 10000 (max. 10000000) 173 words of extra memory for PDF output out of 10000 (max. 10000000)
...@@ -61,8 +61,8 @@ ...@@ -61,8 +61,8 @@
\title{esgemme} \title{esgemme}
\date{Jun 22, 2023} \date{Jul 31, 2023}
\release{1.3.0} \release{1.4.0}
\author{Mustafa Tekpinar} \author{Mustafa Tekpinar}
\newcommand{\sphinxlogo}{\vbox{}} \newcommand{\sphinxlogo}{\vbox{}}
\renewcommand{\releasename}{Release} \renewcommand{\releasename}{Release}
...@@ -155,7 +155,7 @@ you may not need ‘sudo’ word before the docker command at all. ...@@ -155,7 +155,7 @@ you may not need ‘sudo’ word before the docker command at all.
\begin{sphinxVerbatim}[commandchars=\\\{\}] \begin{sphinxVerbatim}[commandchars=\\\{\}]
sudo docker run \PYGZhy{}ti \PYGZhy{}\PYGZhy{}rm \PYGZhy{}\PYGZhy{}mount \PYG{n+nv}{type}\PYG{o}{=}bind,source\PYG{o}{=}\PYG{n+nv}{\PYGZdl{}PWD},target\PYG{o}{=}/home/tekpinar/research/myexample \PYG{l+s+se}{\PYGZbs{}} sudo docker run \PYGZhy{}ti \PYGZhy{}\PYGZhy{}rm \PYGZhy{}\PYGZhy{}mount \PYG{n+nv}{type}\PYG{o}{=}bind,source\PYG{o}{=}\PYG{n+nv}{\PYGZdl{}PWD},target\PYG{o}{=}/home/tekpinar/research/myexample \PYG{l+s+se}{\PYGZbs{}}
tekpinar/esgemme\PYGZhy{}docker:v1.3.0 tekpinar/esgemme\PYGZhy{}docker:v1.4.0
\end{sphinxVerbatim} \end{sphinxVerbatim}
\sphinxAtStartPar \sphinxAtStartPar
...@@ -195,8 +195,7 @@ evolutionary information: ...@@ -195,8 +195,7 @@ evolutionary information:
\begin{sphinxVerbatim}[commandchars=\\\{\}] \begin{sphinxVerbatim}[commandchars=\\\{\}]
esgemme aliBLAT.fasta \PYGZhy{}r input \PYGZhy{}f aliBLAT.fasta \PYG{l+s+se}{\PYGZbs{}} esgemme aliBLAT.fasta \PYGZhy{}r input \PYGZhy{}f aliBLAT.fasta \PYG{l+s+se}{\PYGZbs{}}
\PYGZhy{}\PYGZhy{}pdbfile blat\PYGZhy{}af2.pdb \PYG{l+s+se}{\PYGZbs{}} \PYGZhy{}\PYGZhy{}pdbfile blat\PYGZhy{}af2.pdb
\PYGZhy{}\PYGZhy{}normweightmode sstjetormax
\end{sphinxVerbatim} \end{sphinxVerbatim}
...@@ -223,12 +222,12 @@ esgemme aliBLAT.fasta \PYGZhy{}r input \PYGZhy{}f aliBLAT.fasta \PYG{l+s+se}{\PY ...@@ -223,12 +222,12 @@ esgemme aliBLAT.fasta \PYGZhy{}r input \PYGZhy{}f aliBLAT.fasta \PYG{l+s+se}{\PY
\sphinxAtStartPar \sphinxAtStartPar
You can include structural information in the following way: You can include structural information in the following way:
.. code:: bash
\begin{quote}
\sphinxAtStartPar \begin{sphinxVerbatim}[commandchars=\\\{\}]
esgemme aliBLAT.fasta \sphinxhyphen{}r input \sphinxhyphen{}f aliBLAT.fasta \textendash{}pdbfile blat\sphinxhyphen{}af2.pdb \textendash{}normweightmode sstjetormax \sphinxhyphen{}m Stiffler\_2015\_BLAT\_ECOLX.mut esgemme aliBLAT.fasta \PYGZhy{}r input \PYGZhy{}f aliBLAT.fasta \PYG{l+s+se}{\PYGZbs{}}
\end{quote} \PYGZhy{}\PYGZhy{}pdbfile blat\PYGZhy{}af2.pdb \PYG{l+s+se}{\PYGZbs{}}
\PYGZhy{}m Stiffler\PYGZus{}2015\PYGZus{}BLAT\PYGZus{}ECOLX.mut
\end{sphinxVerbatim}
\sphinxAtStartPar \sphinxAtStartPar
You will have BLAT\_normPred\_evolCombi.txt file in your folder. However, the output You will have BLAT\_normPred\_evolCombi.txt file in your folder. However, the output
...@@ -491,24 +490,37 @@ java ...@@ -491,24 +490,37 @@ java
\sphinxAtStartPar \sphinxAtStartPar
naccess: \sphinxurl{http://www.bioinf.manchester.ac.uk/naccess/} naccess: \sphinxurl{http://www.bioinf.manchester.ac.uk/naccess/}
\item {} \end{itemize}
\sphinxAtStartPar
muscle: \sphinxurl{https://www.drive5.com/muscle/}
\end{itemize} \end{itemize}
\item {}
\sphinxAtStartPar \sphinxAtStartPar
seqinr R package: \sphinxurl{https://cran.r-project.org/web/packages/seqinr/index.html} After you installed JET2 define a parameter called JET2\_PATH inside your .profile file.
You can open .profile as follows:
\begin{sphinxVerbatim}[commandchars=\\\{\}]
gedit \PYGZti{}/.profile
\end{sphinxVerbatim}
\item {}
\sphinxAtStartPar \sphinxAtStartPar
dssp for secondary structure prediction. You should add a command like below to the end of that file, save and exit.
\end{itemize} \begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n+nb}{export} \PYG{n+nv}{JET2\PYGZus{}PATH}\PYG{o}{=}/home/tekpinar/JET2/
\end{sphinxVerbatim}
\sphinxAtStartPar
Please, do not forget to replace /home/tekpinar/JET2 with your own file path.
\sphinxAtStartPar
Then, source the saved .profile so that the environment variable will be taken into account:
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n+nb}{source} \PYGZti{}/.profile
\end{sphinxVerbatim}
\sphinxAtStartPar \sphinxAtStartPar
These tools should be installed to be able to use ESGEMME. JET2 is essential and it should be installed to be able to use ESGEMME.
\section{Preparation of the environment and installation of ESGEMME} \section{Preparation of the environment and installation of ESGEMME}
...@@ -544,43 +556,68 @@ sudo rm \PYGZhy{}rf /var/lib/apt/lists/* /tmp/* /var/tmp/* ...@@ -544,43 +556,68 @@ sudo rm \PYGZhy{}rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
\sphinxAtStartPar \sphinxAtStartPar
\#Dssp installation \#Dssp installation
If you are using Ubuntu 20.04, you can install dssp by the following command
.. code:: bash
\begin{quote}
\sphinxAtStartPar \sphinxAtStartPar
sudo apt\sphinxhyphen{}get install dssp If you are using Ubuntu 20.04, you can install dssp by the following command
\end{quote}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
sudo apt\PYGZhy{}get install dssp
\end{sphinxVerbatim}
\sphinxAtStartPar \sphinxAtStartPar
Otherwise, you can install it from the source by the following commands. Otherwise, you can install it from the source by the following commands.
Please note that default dssp in Ubuntu 22.04 is not working properly. Please note that default dssp in Ubuntu 22.04 is not working properly.
.. code:: bash
\begin{quote}
\sphinxAtStartPar \begin{sphinxVerbatim}[commandchars=\\\{\}]
wget \sphinxurl{https://github.com/cmbi/dssp/archive/refs/heads/master.zip} \&\& unzip \sphinxhyphen{}o master.zip \&\& cd dssp\sphinxhyphen{}master/ \&\& ./autogen.sh \&\& ./configure \&\& make \&\& sudo make install \&\& sudo ln \sphinxhyphen{}s /usr/local/bin/mkdssp /usr/local/bin/dssp \&\& cd ../ \&\& sudo rm \sphinxhyphen{}rf dssp\sphinxhyphen{}master/ \&\& sudo rm \sphinxhyphen{}f master.zip wget https://github.com/cmbi/dssp/archive/refs/heads/master.zip \PYG{o}{\PYGZam{}\PYGZam{}} \PYG{l+s+se}{\PYGZbs{}}
\end{quote} unzip \PYGZhy{}o master.zip \PYG{o}{\PYGZam{}\PYGZam{}} \PYG{n+nb}{cd} dssp\PYGZhy{}master/ \PYG{o}{\PYGZam{}\PYGZam{}} \PYG{l+s+se}{\PYGZbs{}}
./autogen.sh \PYG{o}{\PYGZam{}\PYGZam{}} \PYG{l+s+se}{\PYGZbs{}}
./configure \PYG{o}{\PYGZam{}\PYGZam{}} \PYG{l+s+se}{\PYGZbs{}}
make \PYG{o}{\PYGZam{}\PYGZam{}} \PYG{l+s+se}{\PYGZbs{}}
sudo make install \PYG{o}{\PYGZam{}\PYGZam{}} \PYG{l+s+se}{\PYGZbs{}}
sudo ln \PYGZhy{}s /usr/local/bin/mkdssp /usr/local/bin/dssp \PYG{o}{\PYGZam{}\PYGZam{}} \PYG{l+s+se}{\PYGZbs{}}
\PYG{n+nb}{cd} ../ \PYG{o}{\PYGZam{}\PYGZam{}} \PYG{l+s+se}{\PYGZbs{}}
sudo rm \PYGZhy{}rf dssp\PYGZhy{}master/ \PYG{o}{\PYGZam{}\PYGZam{}} \PYG{l+s+se}{\PYGZbs{}}
sudo rm \PYGZhy{}f master.zip
\end{sphinxVerbatim}
\sphinxAtStartPar \sphinxAtStartPar
\#HHSUITE installation \#HHSUITE installation
.. code:: bash
\begin{quote}
\sphinxAtStartPar \begin{sphinxVerbatim}[commandchars=\\\{\}]
wget \sphinxurl{https://github.com/soedinglab/hh-suite/releases/download/v3.3.0/hhsuite-3.3.0-AVX2-Linux.tar.gz} \&\& mkdir hhsuite \&\& mv hhsuite\sphinxhyphen{}3.3.0\sphinxhyphen{}AVX2\sphinxhyphen{}Linux.tar.gz hhsuite/ \&\& cd hhsuite \&\& tar xvfz hhsuite\sphinxhyphen{}3.3.0\sphinxhyphen{}AVX2\sphinxhyphen{}Linux.tar.gz \&\& rm \sphinxhyphen{}f hhsuite\sphinxhyphen{}3.3.0\sphinxhyphen{}AVX2\sphinxhyphen{}Linux.tar.gz wget https://github.com/soedinglab/hh\PYGZhy{}suite/releases/download/v3.3.0/hhsuite\PYGZhy{}3.3.0\PYGZhy{}AVX2\PYGZhy{}Linux.tar.gz \PYG{o}{\PYGZam{}\PYGZam{}} \PYG{l+s+se}{\PYGZbs{}}
\end{quote} mkdir hhsuite \PYG{o}{\PYGZam{}\PYGZam{}} \PYG{l+s+se}{\PYGZbs{}}
mv hhsuite\PYGZhy{}3.3.0\PYGZhy{}AVX2\PYGZhy{}Linux.tar.gz hhsuite/ \PYG{o}{\PYGZam{}\PYGZam{}} \PYG{l+s+se}{\PYGZbs{}}
\PYG{n+nb}{cd} hhsuite \PYG{o}{\PYGZam{}\PYGZam{}} \PYG{l+s+se}{\PYGZbs{}}
tar xvfz hhsuite\PYGZhy{}3.3.0\PYGZhy{}AVX2\PYGZhy{}Linux.tar.gz \PYG{o}{\PYGZam{}\PYGZam{}} \PYG{l+s+se}{\PYGZbs{}}
rm \PYGZhy{}f hhsuite\PYGZhy{}3.3.0\PYGZhy{}AVX2\PYGZhy{}Linux.tar.gz
\end{sphinxVerbatim}
\sphinxAtStartPar \sphinxAtStartPar
\#Add it to your path permanently inside .bashrc or .profile or .bash\_profile \#Add it to your path permanently inside .bashrc or .profile or .bash\_profile
Check the location of hhsuite folder and add it to your path Check the location of hhsuite folder and add it to your path
In my case it was in /home/tekpinar/research/lcqb folder. Therefore, I added the following line In my case it was in /home/tekpinar/research/lcqb folder. Therefore, I added the following line
to my .profile file. to my .profile file.
PATH=”/home/tekpinar/research/lcqb/hhsuite/bin:/home/tekpinar/research/lcqb/hhsuite/scripts:\$PATH” Open .profile file with gedit:
\begin{sphinxVerbatim}[commandchars=\\\{\}]
gedit \PYGZti{}/.profile
\end{sphinxVerbatim}
\sphinxAtStartPar \sphinxAtStartPar
Then Now, add the following line to the end of the file.
source \textasciitilde{}/.profile
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n+nv}{PATH}\PYG{o}{=}\PYG{l+s+s2}{\PYGZdq{}}\PYG{l+s+s2}{/home/tekpinar/research/lcqb/hhsuite/bin:/home/tekpinar/research/lcqb/hhsuite/scripts:}\PYG{n+nv}{\PYGZdl{}PATH}\PYG{l+s+s2}{\PYGZdq{}}
\end{sphinxVerbatim}
\sphinxAtStartPar
Of course, your path will not be /home/tekpinar/research/lcqb/ and you have to modify the path according to
your system. Save the file and exit. Then,
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n+nb}{source} \PYGZti{}/.profile
\end{sphinxVerbatim}
\sphinxAtStartPar \sphinxAtStartPar
\# \#
...@@ -592,12 +629,22 @@ cd ESGEMME ...@@ -592,12 +629,22 @@ cd ESGEMME
\sphinxAtStartPar \sphinxAtStartPar
\#Download ESGEMME from \sphinxurl{http://gitlab.lcqb.upmc.fr/tekpinar/ESGEMME} repository and go inside the ESGEMME folder.! \#Download ESGEMME from \sphinxurl{http://gitlab.lcqb.upmc.fr/tekpinar/ESGEMME} repository and go inside the ESGEMME folder.!
.. code:: bash You can download the master version using command line as follows:
\begin{quote}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
git clone http://gitlab.lcqb.upmc.fr/tekpinar/ESGEMME.git
\end{sphinxVerbatim}
\sphinxAtStartPar \sphinxAtStartPar
cd ESGEMME If you would like the development version:
\end{quote}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
git clone \PYGZhy{}b development http://gitlab.lcqb.upmc.fr/tekpinar/ESGEMME.git
\end{sphinxVerbatim}
\begin{sphinxVerbatim}[commandchars=\\\{\}]
\PYG{n+nb}{cd} ESGEMME
\end{sphinxVerbatim}
\section{Configuring default.conf file} \section{Configuring default.conf file}
...@@ -615,12 +662,10 @@ pip3 install \PYGZhy{}e . \PYG{o}{\PYGZam{}\PYGZam{}}\PYG{l+s+se}{\PYGZbs{}} ...@@ -615,12 +662,10 @@ pip3 install \PYGZhy{}e . \PYG{o}{\PYGZam{}\PYGZam{}}\PYG{l+s+se}{\PYGZbs{}}
\sphinxAtStartPar \sphinxAtStartPar
\#Installing the required R packages \#Installing the required R packages
.. code:: bash
\begin{quote}
\sphinxAtStartPar \begin{sphinxVerbatim}[commandchars=\\\{\}]
sudo Rscript \sphinxhyphen{}e ‘install.packages(“seqinr”, repos=”\sphinxurl{http://cran.us.r-project.org}”, dependencies=TRUE)’ sudo Rscript \PYGZhy{}e \PYG{l+s+s1}{\PYGZsq{}install.packages(\PYGZdq{}seqinr\PYGZdq{}, repos=\PYGZdq{}http://cran.us.r\PYGZhy{}project.org\PYGZdq{}, dependencies=TRUE)\PYGZsq{}}
\end{quote} \end{sphinxVerbatim}
\sphinxAtStartPar \sphinxAtStartPar
\#Installing secondary programs such as ev\_couplings to obtain MSA files. \#Installing secondary programs such as ev\_couplings to obtain MSA files.
......
...@@ -16,5 +16,5 @@ ...@@ -16,5 +16,5 @@
\contentsline {chapter}{\numberline {4}Installation}{9}{chapter.4}% \contentsline {chapter}{\numberline {4}Installation}{9}{chapter.4}%
\contentsline {section}{\numberline {4.1}Installing the dependencies:}{9}{section.4.1}% \contentsline {section}{\numberline {4.1}Installing the dependencies:}{9}{section.4.1}%
\contentsline {section}{\numberline {4.2}Preparation of the environment and installation of ESGEMME}{9}{section.4.2}% \contentsline {section}{\numberline {4.2}Preparation of the environment and installation of ESGEMME}{9}{section.4.2}%
\contentsline {section}{\numberline {4.3}Configuring default.conf file}{10}{section.4.3}% \contentsline {section}{\numberline {4.3}Configuring default.conf file}{11}{section.4.3}%
\contentsline {chapter}{\numberline {5}Indices and tables}{13}{chapter.5}% \contentsline {chapter}{\numberline {5}Indices and tables}{13}{chapter.5}%
...@@ -23,7 +23,7 @@ copyright = '2023, Mustafa Tekpinar' ...@@ -23,7 +23,7 @@ copyright = '2023, Mustafa Tekpinar'
author = 'Mustafa Tekpinar' author = 'Mustafa Tekpinar'
# The full version, including alpha/beta/rc tags # The full version, including alpha/beta/rc tags
release = '1.3.0' release = '1.4.0'
# -- General configuration --------------------------------------------------- # -- General configuration ---------------------------------------------------
......
...@@ -60,7 +60,7 @@ you may not need ‘sudo’ word before the docker command at all. ...@@ -60,7 +60,7 @@ you may not need ‘sudo’ word before the docker command at all.
.. code:: bash .. code:: bash
sudo docker run -ti --rm --mount type=bind,source=$PWD,target=/home/tekpinar/research/myexample \ sudo docker run -ti --rm --mount type=bind,source=$PWD,target=/home/tekpinar/research/myexample \
tekpinar/esgemme-docker:v1.3.0 tekpinar/esgemme-docker:v1.4.0
You are in the container (your virtual operating system) now. You You are in the container (your virtual operating system) now. You
created a folder called myexample in your container with the previous created a folder called myexample in your container with the previous
...@@ -94,8 +94,7 @@ evolutionary information: ...@@ -94,8 +94,7 @@ evolutionary information:
.. code:: bash .. code:: bash
esgemme aliBLAT.fasta -r input -f aliBLAT.fasta \ esgemme aliBLAT.fasta -r input -f aliBLAT.fasta \
--pdbfile blat-af2.pdb \ --pdbfile blat-af2.pdb
--normweightmode sstjetormax
Predicting the effect of a subset of single point mutations Predicting the effect of a subset of single point mutations
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...@@ -117,11 +116,11 @@ structural information. First, let's do it without structural information: ...@@ -117,11 +116,11 @@ structural information. First, let's do it without structural information:
-m Stiffler_2015_BLAT_ECOLX.mut -m Stiffler_2015_BLAT_ECOLX.mut
You can include structural information in the following way: You can include structural information in the following way:
.. code:: bash .. code:: bash
esgemme aliBLAT.fasta -r input -f aliBLAT.fasta \ esgemme aliBLAT.fasta -r input -f aliBLAT.fasta \
--pdbfile blat-af2.pdb \ --pdbfile blat-af2.pdb \
--normweightmode sstjetormax \
-m Stiffler_2015_BLAT_ECOLX.mut -m Stiffler_2015_BLAT_ECOLX.mut
You will have BLAT_normPred_evolCombi.txt file in your folder. However, the output You will have BLAT_normPred_evolCombi.txt file in your folder. However, the output
......
...@@ -72,13 +72,16 @@ Prepare your environment and install the required packages: ...@@ -72,13 +72,16 @@ Prepare your environment and install the required packages:
#Dssp installation #Dssp installation
If you are using Ubuntu 20.04, you can install dssp by the following command If you are using Ubuntu 20.04, you can install dssp by the following command
.. code:: bash .. code:: bash
sudo apt-get install dssp sudo apt-get install dssp
Otherwise, you can install it from the source by the following commands. Otherwise, you can install it from the source by the following commands.
Please note that default dssp in Ubuntu 22.04 is not working properly. Please note that default dssp in Ubuntu 22.04 is not working properly.
.. code:: bash .. code:: bash
wget https://github.com/cmbi/dssp/archive/refs/heads/master.zip && \ wget https://github.com/cmbi/dssp/archive/refs/heads/master.zip && \
...@@ -93,6 +96,7 @@ Please note that default dssp in Ubuntu 22.04 is not working properly. ...@@ -93,6 +96,7 @@ Please note that default dssp in Ubuntu 22.04 is not working properly.
sudo rm -f master.zip sudo rm -f master.zip
#HHSUITE installation #HHSUITE installation
.. code:: bash .. code:: bash
wget https://github.com/soedinglab/hh-suite/releases/download/v3.3.0/hhsuite-3.3.0-AVX2-Linux.tar.gz && \ wget https://github.com/soedinglab/hh-suite/releases/download/v3.3.0/hhsuite-3.3.0-AVX2-Linux.tar.gz && \
...@@ -117,6 +121,7 @@ Now, add the following line to the end of the file. ...@@ -117,6 +121,7 @@ Now, add the following line to the end of the file.
.. code:: bash .. code:: bash
PATH="/home/tekpinar/research/lcqb/hhsuite/bin:/home/tekpinar/research/lcqb/hhsuite/scripts:$PATH" PATH="/home/tekpinar/research/lcqb/hhsuite/bin:/home/tekpinar/research/lcqb/hhsuite/scripts:$PATH"
Of course, your path will not be /home/tekpinar/research/lcqb/ and you have to modify the path according to Of course, your path will not be /home/tekpinar/research/lcqb/ and you have to modify the path according to
your system. Save the file and exit. Then, your system. Save the file and exit. Then,
...@@ -132,6 +137,7 @@ your system. Save the file and exit. Then, ...@@ -132,6 +137,7 @@ your system. Save the file and exit. Then,
You can download the master version using command line as follows: You can download the master version using command line as follows:
.. code:: bash .. code:: bash
git clone http://gitlab.lcqb.upmc.fr/tekpinar/ESGEMME.git git clone http://gitlab.lcqb.upmc.fr/tekpinar/ESGEMME.git
If you would like the development version: If you would like the development version:
......
...@@ -972,7 +972,7 @@ def parse_command_line(): ...@@ -972,7 +972,7 @@ def parse_command_line():
parser.add_argument('--normweightmode', dest='normweightmode', type=str, \ parser.add_argument('--normweightmode', dest='normweightmode', type=str, \
help="It can be one of these: 'tjet', 'cv', 'pc',"+\ help="It can be one of these: 'tjet', 'cv', 'pc',"+\
"max, tjetormax or sstjetormaxtwocomponent. Default is 'tjet'.", "max, tjetormax or sstjetormaxtwocomponent. Default is 'tjet'.",
required=False, default="sstjetormaxtwocomponent") required=False, default="tjet")
parser.add_argument('--verbose', dest='verbose', type=bool, \ parser.add_argument('--verbose', dest='verbose', type=bool, \
help="This argument controls amount of the output. Default is 'False'."+\ help="This argument controls amount of the output. Default is 'False'."+\
...@@ -1441,6 +1441,14 @@ def main(): ...@@ -1441,6 +1441,14 @@ def main():
args = parse_command_line() args = parse_command_line()
# If a structure file is provided, utilize structural information.
if(args.pdbfile==None):
args.normweightmode='tjet'
print("Using '{}' as normalization weight.".format(args.normweightmode))
else:
args.normweightmode='sstjetormaxtwocomponent'
print("Using '{}' as normalization weight.".format(args.normweightmode))
doit(args.input, args.mutations, args.retrievingMethod, args.blastFile,\ doit(args.input, args.mutations, args.retrievingMethod, args.blastFile,\
args.fastaFile, args.nIter,args.NSeqs, args.jetfile, args.pdbfile,\ args.fastaFile, args.nIter,args.NSeqs, args.jetfile, args.pdbfile,\
args.normweightmode, args.alphabet, args.verbose, args.offset, \ args.normweightmode, args.alphabet, args.verbose, args.offset, \
......
...@@ -29,7 +29,7 @@ then ...@@ -29,7 +29,7 @@ then
echo "Using blat-af2.pdb for the structural feature calculations!" echo "Using blat-af2.pdb for the structural feature calculations!"
echo "Entire mutational map of the protein will be calculated!" echo "Entire mutational map of the protein will be calculated!"
esgemme ../data/aliBLAT.fasta -r input -f ../data/aliBLAT.fasta \ esgemme ../data/aliBLAT.fasta -r input -f ../data/aliBLAT.fasta \
--pdbfile ../data/blat-af2.pdb --normweightmode max --pdbfile ../data/blat-af2.pdb
elif [ "$1" == "withpdb-withmutfile" ] elif [ "$1" == "withpdb-withmutfile" ]
then then
...@@ -38,28 +38,7 @@ then ...@@ -38,28 +38,7 @@ then
echo "Using blat-af2.pdb for the structural feature calculations!" 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!" echo "Only effects of mutations specified in the Stiffler_2015_BLAT_ECOLX.mut file will be calculated!"
esgemme ../data/aliBLAT.fasta -r input -f ../data/aliBLAT.fasta \ esgemme ../data/aliBLAT.fasta -r input -f ../data/aliBLAT.fasta \
--pdbfile ../data/blat-af2.pdb --normweightmode max \ --pdbfile ../data/blat-af2.pdb -m ../data/Stiffler_2015_BLAT_ECOLX.mut
-m ../data/Stiffler_2015_BLAT_ECOLX.mut
elif [ "$1" == "sstjetormax" ]
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 secondary structure based calculations!"
echo "Only effects of mutations specified in the Stiffler_2015_BLAT_ECOLX.mut file will be calculated!"
esgemme ../data/aliBLAT.fasta -r input -f ../data/aliBLAT.fasta \
--pdbfile ../data/blat-af2.pdb --normweightmode sstjetormax \
-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
elif [ "$1" == "tjetormax" ]
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 secondary structure based calculations!"
echo "Only effects of mutations specified in the Stiffler_2015_BLAT_ECOLX.mut file will be calculated!"
esgemme ../data/aliBLAT.fasta -r input -f ../data/aliBLAT.fasta \
--pdbfile ../data/blat-af2.pdb --normweightmode tjetormax \
-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 demust compare -i ../data/BLAT_ECOLX_Stiffler_2015_experimental.dat --itype singleline -j BLAT_normPred_evolCombi.txt --jtype singleline
else else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment