Try to generate a cyclic peptide from an amino acid sequence with Python and RDKit

Introduction

In order to realize the subject, I found a library called CycloPs, so I tried it this time.

environment

What are CycloPs?

It is a tool that generates a virtual library of cyclic peptides from amino acid sequences. By binding residues to each other from a one-dimensional amino acid sequence, a cyclic peptide is produced. It can be used both on the GUI and on the command line. See the bibliographic treatise for details.

There are five types of patterns that bind residues to each other. It seems that each has detailed conditions, so please see the paper for details.

Install CycloPs

Originally it was developed in Python 2 series, but since RDkit did not work well in my environment, I installed it in 3 series.

 $ conda create -n cyclops python==3.6
 $ conda activate cyclops
 $ conda install -c rdkit rdkit
  $ git clone https://github.com/fergaljd/cyclops.git

Post-installation work

Since CycloPs does not work in Python3 series, it is necessary to modify the source. This time, you only need to use the command line. Therefore, modify `PepLibGen/StructGen/StructGen.py` as follows to make it work with Python3.

Fixes

--Modify the description such as print a, b to print (a, b). --Correct the description such as Except a, b to Except a as b. --An error occurs around line 940, so fix it as follows.

            # print(out,mollstr)
            # print(out, '$$$$')
            out.write(molstr)
            out.write('$$$$')
            out.write('\n')

--Fix other runtime errors to work with Python 3 (cut out).

Execution example

Execute by specifying the amino acid sequence and output SDF of the cyclic peptide registered in CPPsite 2.0. Then, the list of cyclic peptides produced by the five patterns is output to SDF. The following is an execution example.

python PepLibGen/StructGen/StructGen.py CSKSSDYQC hoge.sdf

Execution result example

The six structures obtained by specifying the amino acid sequence "CSKSSDYQC" are listed below.

First

This is a linear type. It seems that the specifications are such that non-annular ones are also output. CSKSSDYQC.mol.png

The second

Is this a connection between the N-terminus and the C-terminus? CSKSSDYQCHT.mol.png

Third

Is this the end and side chain? CSKSSDYQCSCXEXXXXXXX.mol.png

4th

Is this a side chain? CSKSSDYQCSCXEXXXZXXX.mol.png

Fifth

Is this a side chain? CSKSSDYQCSCXXXXXZXXX.mol.png

6th

This would be a bond between cysteine ​​residues. CSKSSDYQCSSCXXXXXXXC.mol.png

reference

Recommended Posts

Try to generate a cyclic peptide from an amino acid sequence with Python and RDKit
Perform a Twitter search from Python and try to generate sentences with Markov chains.
Try to extract a character string from an image with Python3
WEB scraping with python and try to make a word cloud from reviews
Try to bring up a subwindow with PyQt5 and Python
[Python] Try to recognize characters from images with OpenCV and pyocr
Try to generate an image with aliasing
Try to draw a life curve with python
How to generate a Python object from JSON
Try to make a "cryptanalysis" cipher with Python
Try to automatically generate Python documents with Sphinx
Generate an insert statement from CSV with Python.
Try to make a dihedral group with Python
Try to beautify with Talking Head Anime from a Single Image [python preparation]
Try to make a command standby tool with python
Try to operate DB with Python and visualize with d3
From buying a computer to running a program with python
I tried to automatically generate a password with Python3
Try running a Schedule to start and stop an instance on AWS Lambda (Python)
A learning roadmap that allows you to develop and publish services from scratch with Python
How to generate a public key from an SSH private key
I made a server with Python socket and ssl and tried to access it from a browser
Hash with python and escape from a certain minister's egosa
Just try to receive a webhook in ngrok and python
Precautions when inputting from CSV with Python and outputting to json to make it an exe
Define the reaction pattern with SMARTS with RDKit and generate a reactant
Try to create a python environment with Visual Studio Code & WSL
How to make a surveillance camera (Security Camera) with Opencv and Python
Get data from MySQL on a VPS with Python 3 and SQLAlchemy
How to create a heatmap with an arbitrary domain in Python
I tried to make a periodical process with Selenium and Python
Try to display google map and geospatial information authority map with python
Pass a list by reference from Python to C ++ with pybind11
Try adding a wall to your IFC file with IfcOpenShell python
Create folders from '01' to '12' with python
Try to operate Facebook with Python
[Python] Generate a password with Slackbot
[AWS lambda] Deploy including various libraries with lambda (generate a zip with a password and upload it to s3) @ Python
Introduction and usage of Python bottle ・ Try to set up a simple web server with login function
I want to pass an argument to a python function and execute it from PHP on a web server
2. Make a decision tree from 0 with Python and understand it (2. Python program basics)
[TCP / IP] After studying, try to make an HTTP client-like with Python
[Cloudian # 3] Try to create a new object storage bucket with Python (boto3)
Put Cabocha 0.68 on Windows and try to analyze the dependency with Python
Send an email to a specific email address with python without SMTP settings
Try converting latitude / longitude and world coordinates to each other with python
Try to make a capture software with as high accuracy as possible with python (2)
Tips: [Python] Randomly restore and extract an array from a fasta file
Create a tool to automatically furigana with html using Mecab from Python3
Try to make foldl and foldr with Python: lambda. Also time measurement
[Python] Create a linebot to write a name and age on an image
Migration from Python2 to Python3 (Python2 is rebuilt as a virtual environment and coexists)
Connect to postgreSQL from Python and use stored procedures in a loop.
Try to write python code to generate go code --Try porting JSON-to-Go and so on
python + faker Randomly generate a point with a radius of 100m from a certain point
Try to solve a set problem of high school math with Python
Make a decision tree from 0 with Python and understand it (4. Data structure)
Create a decision tree from 0 with Python and understand it (5. Information Entropy)
Try to reproduce color film with Python
Try logging in to qiita with Python
From Python to using MeCab (and CaboCha)