<jupyter_start><jupyter_text>Build hNET in a neuronal membrane model Project BackgroundDeveloping an in silico model of the human Norepinephrine Transporter (hNET) in a neuronal cellular membrane.  Following the process established previously in this Lab to create a model of the human Serotonin Transporter in a neuronal membrane. NET Homology Model Construction IntroductionTo date, there is no structure of human nor-epinephrine transporter (hNET), however there are paralogs in dopamine and serotonin transporters. We will first have to create a homology model of hNET.  Source sequenceServer: https://www.uniprot.org/UniProt ID: **P23975**Sequence:3 isoforms have been sequenced.  We will use the canonical sequence **P23975-1** >sp|P23975|SC6A2_HUMAN Sodium-dependent noradrenaline transporter OS=Homo sapiens OX=9606 GN=SLC6A2 PE=1 SV=1 \MLLARMNPQVQPENNGADTGPEQPLRARKTAELLVVKERNG\VQCLLAPRDGDAQPRETWGKKIDFLLSVVGFAVDLANVWRF\PYLCYKNGGGAFLIPYTLFLIIAGMPLFYMELALGQYNREG\AATVWKICPFFKGVGYAVILIALYVGFYYNVIIAWSLYYLF\SSFTLNLPWTDCGHTWNSPNCTDPKLLNGSVLGNHTKYSKY\KFTPAAEFYERGVLHLHESSGIHDIGLPQWQLLLCLMVVVI\VLYFSLWKGVKTSGKVVWITATLPYFVLFVLLVHGVTLPGA\SNGINAYLHIDFYRLKEATVWIDAATQIFFSLGAGFGVLIA\FASYNKFDNNCYRDALLTSSINCITSFVSGFAIFSILGYMA\HEHKVNIEDVATEGAGLVFILYPEAISTLSGSTFWAVVFFV\MLLALGLDSSMGGMEAVITGLADDFQVLKRHRKLFTFGVTF\STFLLALFCITKGGIYVLTLLDTFAAGTSILFAVLMEAIGV\SWFYGVDRFSNDIQQMMGFRPGLYWRLCWKFVSPAFLLFVV\VVSIINFKPLTYDDYIFPPWANWVGWGIALSSMVLVPIYVI\YKFLSTQGSLWERLAYGITPENEHHLVAQRDIRQFQLQHWL\AI  Homology ModellingSearching for known structures for proteins containing similar amino acid sequences to those of our target protein (hNET) using the Phyre2 service.      Server: http://www.sbg.bio.ic.ac.uk/phyre2PDB homolog structure: **PHYRE2 – Intensive mode**PDB Selected templates:  1: **c4m48A_**  PDB header:transport protein  Chain: A: PDB Molecule:transporter;  PDBTitle: x-ray structure of dopamine transporter elucidates antidepressant2 mechanism  2: **c5i6xA_**  PDB header:membrane protein  Chain: A: PDB Molecule:sodium-dependent serotonin transporter;  PDBTitle: x-ray structure of the ts3 human serotonin transporter complexed with2 paroxetine at the central site  **Result**: 88% of residues modelled at >90% confidence from two templates with the following 75 residues modelled ab initio  1-50:  202-207:  597-617:  NB:The 50 residue N-terminus loop not resolved from homology was removed (using a text editor) but not capped.The 20 residue C-terminus loop not resolved from homology was removed (using a text editor) but not capped.RESULT: **hNET_truncated.pdb**<jupyter_code># create a file to automate rendering an image of the protein, 
# display projection Orthographic
# setting "bead" style, 
# setting the background to white,
# turning off fthe XYZ axes,  
# and taking a snapshot 
!printf "display projection Orthographic\nmol modcolor 0 0 Structure\nmol modstyle 0 0 NewRibbons 1.000000 12.000000 3.000000\naxes location Off\ncolor Display Background white\nrender snapshot hNET_truncated.tga {convert hNET_truncated.tga jpg:hNET_truncated.jpg; rm hNET_truncated.tga}\nexit" > output.tcl
# run VMD to render the image 
output = !vmd hNET_truncated.pdb -e output.tcl 

# clean up temporary files
!rm output.tcl<jupyter_output><empty_output><jupyter_text>Rendered proteinNB: Protein is not necessarily oriented  The following non-deterministic can be repeated for replicants.Starting files required:* folder martini.ff  * martini_v2.2.itp  * martini_v2.2P.itp  * martini_v2.2refP.itp  * martini_v2.0_brain_complex_b5-GMs_old.itp* ../martinize.py * ../insane.py * **hNET_truncated.pdb**   Convert atomistic protein structure to coarse grained model<jupyter_code># Use martinize script to make coarse grained model of the protein
# INPUT: hNET_truncated.pdb atomistic structure file
# OUTPUT: hNET_CG.pdb coarse grained structure file
# OUTPUT: hNET_CG.top topology file including references to topology include (ITP) files
# OUTPUT: hNET_CG.itp topology include file for the coarse grained representation of this protein
# OUTPUT: 
# OUTPUT: hNET_CG_mapping.ndx per bead mapping 
# OPTION: -dssp mkdssp is used to generate secondary structure 
# OPTION: -ff Martini 2.2 forcefield is used
# OPTION: -p position restraints Backbone
# OPTION: -elastic bonds are used
!python3 ../martinize.py -f hNET_truncated.pdb -o hNET_CG.top -x hNET_CG.pdb -n hNET_CG.ndx -nmap hNET_CG_mapping.ndx -dssp mkdssp -name hNET_CG -ff martini22 -p backbone -elastic

# create a file to automate rendering an image of the protein, 
# display projection Orthographic
# setting "bead" style, 
# setting the background to white,
# turning off the XYZ axes,  
# and taking a snapshot 
!printf "display projection Orthographic\nmol modstyle 0 0 Beads 1.000000 12.000000\naxes location Off\ncolor Display Background white\nrender snapshot hNET_CG.tga {convert hNET_CG.tga jpg:hNET_CG.jpg; rm hNET_CG.tga}\nexit" > output.tcl
# run VMD to render the image 
output = !vmd hNET_CG.pdb -e output.tcl 

# clean up temporary files
!rm output.tcl<jupyter_output>INFO       MARTINIZE, script version 2.6_3
INFO       If you use this script please cite:
INFO       <NAME> al., J. Chem. Theory Comput., 2013, DOI:10.1021/ct300646g
INFO       Chain termini will be charged
INFO       Residues at chain brakes will not be charged
INFO       The martini22 forcefield will be used.
INFO       Local elastic bonds will be used for extended regions.
INFO       Position restraints will be generated.
WARNING    Position restraints are only enabled if -DPOSRES is set in the MDP file
INFO       Read input structure from file.
INFO       Input structure is a PDB file.
INFO       Found 1 chains:
INFO          1:    (), 4340 atoms in 546 residues.
INFO       Total size of the system: 546 residues.
INFO       Writing coarse grained structure.
INFO       Writing index file.
INFO       Writing trajectory index file.
INFO       (Average) Secondary structure has been determined (see head of .itp-file).
INFO       Created coarsegrained topology
INFO       Written 1 IT[...]<jupyter_text>Rendered protein using Coarse grained beadsNB: Protein is not necessarily oriented  Insert protein into Neuronal membrane<jupyter_code># Insert protein into Neuronal membrane
!python2 ../insane.py -f hNET_CG.pdb -o hNET_neuronal.gro -p hNET_neuronal.top -d 0 -x 16.6 -y 19.4 -z 16 -sol PW -center -charge 0 -u CHOL:0.444 -u POPC:0.087 -u DPSM:0.058 -u DPPC:0.053 -u PUPE:0.05 -u DPGS:0.049 -u PAPC:0.046 -u PAPE:0.031 -u DOPC:0.022 -u PUPC:0.017 -u POPE:0.013 -u PNSM:0.013 -u PBSM:0.011 -u PNGS:0.011 -u DPG1:0.009 -u DPG3:0.009 -u DBGS:0.009 -u OAPE:0.007 -u OUPE:0.007 -u POSM:0.007 -u PFPC:0.006 -u OIPC:0.006 -u POGS:0.006 -u OUPC:0.004 -u DPCE:0.004 -u PADG:0.003 -u DBG1:0.002 -u PNG1:0.002 -u DBG3:0.002 -u PNG3:0.002 -u PPC:0.002 -u OIPE:0.001 -u POG1:0.001 -u POG3:0.001 -u DBCE:0.001 -u PNCE:0.001 -u IPC:0.001 -u PPE:0.001 -u IPE:0.001 -u PODG:0.001 -l DPPC:0.03 -l CHOL:0.446 -l PUPE:0.097 -l PAPE:0.061 -l POPC:0.049 -l PUPS:0.034 -l PAPS:0.028 -l PAPC:0.026 -l POPE:0.025 -l POPS:0.025 -l PUPI:0.02 -l DPSM:0.015 -l OUPE:0.014 -l OAPE:0.013 -l POPI:0.013 -l PAPI:0.013 -l DOPC:0.012 -l PUPC:0.01 -l OUPS:0.007 -l DPPS:0.005 -l PIPI:0.005 -l DPCE:0.004 -l PFPC:0.003 -l OIPC:0.003 -l OIPE:0.003 -l PNSM:0.003 -l PBSM:0.003 -l PAPA:0.003 -l PAP1:0.003 -l PAP2:0.003 -l PAP3:0.003 -l PADG:0.003 -l OUPC:0.002 -l POSM:0.002 -l POP1:0.002 -l POP2:0.002 -l POP3:0.002 -l IPE:0.002 -l POPA:0.001 -l DBCE:0.001 -l PNCE:0.001 -l PPC:0.001 -l IPC:0.001 -l PPE:0.001 -l PODG:0.001 -orient

# use GMX to convert GRO file into a PDB
output = !gmx editconf -f hNET_neuronal.gro -o  hNET_neuronal.pdb

# create a file to automate rendering an image of the protein, 
# hide water molecules
# rotate display to view protein 
# display projection Orthographic
# setting "bead" style, 
# setting the background to white,
# turning of fthe XYZ axes,  
# and taking a snapshot 
!printf "mol modselect 0 0 not resname PW\nrotate x by 120\nrotate y by 45\ndisplay projection Orthographic\nmol modstyle 0 0 Beads 1.000000 12.000000\naxes location Off\ncolor Display Background white\nrender snapshot hNET_neuronal.tga {convert hNET_neuronal.tga jpg:hNET_neuronal.jpg; rm hNET_neuronal.tga}\nexit" > output.tcl
# run VMD to render the image 
output = !vmd hNET_neuronal.pdb -e output.tcl 

# clean up temporary files
!rm output.tcl<jupyter_output>; X: 16.600 (21 lipids) Y: 19.400 (25 lipids)
; 486 lipids in upper leaflet, 489 lipids in lower leaflet
; NDX Solute 1 1263
; Charge of protein: -1.000000
; NDX Membrane 1264 11036
; Charge of membrane: -12.000000
; Total charge: -13.000000
; NDX Solvent 11037 110921
; NDX System 1 110921<jupyter_text>Rendered protein using Coarse grained beadsNB: Protein should now be oriented   Prepare for compilationby adding the include file for the protein to the topology file and changing the generic molecule named protein to the specific element we are using (nHET_CG)NB: Structure (pdb) file generated by martinize has different (older) bead names than used in the martini 2.2 itp file so these must be updated manuallyReplace molecule in hNET_CG.itp (generated by martinize.py) named AC1 with C1Replace molecule in hNET_CG.itp (generated by martinize.py) named AC2 with C2<jupyter_code>#Replace molecule in hNET_CG.itp (generated by martinize.py) named AC1 with C1
!sed -i 's/AC1/C1/g' hNET_CG.itp 

#Replace molecule in hNET_CG.itp (generated by martinize.py) named AC2 with C2
!sed -i 's/AC2/C2/g' hNET_CG.itp 

#Move hNET_CG.itp (generated by martinize.py) to martini.ff folder
!cp hNET_CG.itp martini.ff/.

#Replace molceule named “Protein” in hNET_neuronal.top (generated by insane.py) with “hNET_CG” (or the molcules name in hNET_CG.itp)  
!sed -i 's/Protein/hNET_CG/' hNET_neuronal.top 

# Add hNET_CG.itp (generated by martinize.py) to  hNET_neuronal.top (generated by insane.py)  
!sed -i '3 a #include "martini.ff/hNET_CG.itp"'  hNET_neuronal.top<jupyter_output><empty_output><jupyter_text>Compile the systemby adding the include file for the protein to the topology file and changing the generic molecule named protein to the specific element we are using (nHET_CG)NB: Structure (pdb) file generated by martinize has different (older) bead names than used in the martini 2.2 itp file so these must be updated manuallyReplace molecule in hNET_CG.itp (generated by martinize.py) named AC1 with C1  Replace molecule in hNET_CG.itp (generated by martinize.py) named AC2 with C2<jupyter_code>!gmx grompp -f Minimization1.mdp -c hNET_neuronal.gro -p hNET_neuronal.top -o hNET_neuronal_EM.tpr -r  hNET_neuronal.gro<jupyter_output>:-) GROMACS - gmx grompp, 2018.1 (-:

                            GROMACS is written by:
     <NAME>      <NAME>      <NAME>     <NAME>
    <NAME>    <NAME>   <NAME>     <NAME>  
  <NAME>    <NAME>   <NAME>   <NAME>   
 <NAME>en <NAME>    <NAME>        <NAME>    
  <NAME>      <NAME>      <NAME>    <NAME>  
  <NAME>   <NAME>    <NAME>      <NAME>   
    <NAME>       <NAME>      <NAME>     <NAME>  
   <NAME>     <NAME>     <NAME>    <NAME> 
 <NAME>    <NAME>   
                           and the project leaders:
        <NAME>, <NAME>, <NAME>, and <NAME>

Copyright (c) 1991-2000, University of Groningen, The Netherlands.
Copyright (c) 2001-2017, The GROMACS de[...]<jupyter_text>Minimize the system<jupyter_code>!export GMX_MAXCONSTRWARN=-1
!export GMX_SUPPRESS_DUMP=1
!gmx mdrun -v -deffnm hNET_neuronal_EM<jupyter_output>:-) GROMACS - gmx mdrun, 2018.1 (-:

                            GROMACS is written by:
     <NAME>      <NAME>      <NAME>     <NAME>
    <NAME>    <NAME>   <NAME>     <NAME>  
  <NAME>    <NAME>   <NAME>   <NAME>   
 <NAME> <NAME>    <NAME>        <NAME>    
  <NAME>      <NAME>      <NAME>    <NAME>  
  <NAME>   <NAME>    <NAME>      <NAME>   
    <NAME>       <NAME>      <NAME>     <NAME>  
   <NAME>     <NAME>     <NAME>    <NAME> 
 <NAME>    <NAME>   
                           and the project leaders:
        <NAME>, <NAME>, <NAME>, and <NAME>

Copyright (c) 1991-2000, University of Groningen, The Netherlands.
Copyright (c) 2001-2017, The GROMACS dev[...]
{'fraction_non_alphanumeric': 0.08946108772798547, 'fraction_numerical': 0.056284558884212264, 'mean_word_length': 3.776507686243595, 'pattern_counts': {'":': 0, '<': 98, '<?xml version=': 0, '>': 103, 'https://': 1, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 3, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '6', 'dir': 'jupyter-structured-clean-dedup', 'id': '453118', 'license': 'MIT', 'n_tokens_mistral': 4980, 'n_tokens_neox': 4322, 'n_words': 1411, 'path': 'buildNeuronalMembrane.ipynb', 'repo_name': 'khiron/testlipids', 'size': '12745'}