On 16/12/2019 22:32, Karim Rafie wrote:


I am currently working on structure of a protein complex and am trying to identify the sequence of a protein chain (24mer) that hasn't been seen/described before. Thankfully, the map is good enough allowing me to identify two positions along this chain to which I can model in larger residues with a high degree of confidence, allowing me to identify a potential sequence. However, to use a more unbiased approach I decided to check all possible sequences that match the pattern of this 24mer, i.e. the number of residues between the two positions as well as allowing for a randomisation of these two positions with other large residues that could potentially fit.


I have all the potential sequences that match this patter and now I would like to write a script in coot that allows me to loop over all possible sequences and:

(1) read the coordinates of a polyAla mock chain with the correct coordinates

(2) simple mutate the chain to one of the identified possible sequences

(3) save the new coordinates as a pdb file

(repeat)

see attached.



I'm usually quite happy to read up and figure things out by myself, however I've never scripted in coot before and am a bit under a time pressure, which is why I'm reaching out to the community.


Any advice and/or info would be appreciated.

How about using Buccaneer side-chain building mode?

Paul.

########################################################################

To unsubscribe from the COOT list, click the following link:
https://www.jiscmail.ac.uk/cgi-bin/webadmin?SUBED1=COOT&A=1

(let ((seq "DVSGTVCLSALPPEATDTLNLIASDGPFPYSQD")) ;; or whatever
   (let ((imol (read-pdb "poly-ala-frag.pdb")) ;; or whatever
         (ch-id "A")) ;; presumably

      (let* ((residues (residues-in-chain imol ch-id))
             (n-residues (length residues))
             (n-trials (- (string-length seq) n-residues)))

        (for-each (lambda (i-trial)
                    (let ((file-name (string-append "trial" (number->string 
i-trial) ".pdb"))
                          (mol-name (string-append "trial" (number->string 
i-trial)))
                          (imol-copy (copy-molecule imol))
                          (frag-seq (substring seq i-trial (+ i-trial 
n-residues))))
                      (mutate-chain imol-copy ch-id frag-seq)
                      (set-molecule imol mol-name)
                      (write-pdb-file imol-copy file-name)))
                  (range n-trials)))))



########################################################################

To unsubscribe from the COOT list, click the following link:
https://www.jiscmail.ac.uk/cgi-bin/webadmin?SUBED1=COOT&A=1

Reply via email to