Print

Print


On 02/12/11 14:45, Simon Kolstoe wrote:
> I've got a text file with multiple conformations of a ligand that has been docked to a protein using autodock, which I am trying to split into separate pdb files in order to visualise in pymol/coot etc.
>
> Previously I've used the script pasted below, but it is now falling over just after it creates the pdb file with the error:
>
> expr: syntax error
> csplit: }: bad repetition count
> ./split_results.com: line 11: syntax error near unexpected token `('
> ./split_results.com: line 11: `foreach f ($outputname.[0-9][0-9][0-9])'
>

This doesn't answer your question.

But I'd just do it in Coot:

(define (split-multi-alt-confs)
   (using-active-atom
   (let ((alt-confs (residue-alt-confs aa-imol aa-chain-id aa-res-no 
aa-ins-code)))
     (for-each (lambda (alt-conf)
         (let* ((ss (string-append "//*/*/*: ," alt-conf ""))
                (imol-new (new-molecule-by-atom-selection aa-imol ss))
                (new-name (string-append (strip-extension (molecule-name 
aa-imol))
                         "-alt-conf-" alt-conf)))
           (set-molecule-name imol-new new-name)))
           (residue-alt-confs aa-imol aa-chain-id aa-res-no aa-ins-code)))))


Centre on your interesting ligand with multiple alt-confs and then use 
scripting -> scheme

(split-multi-alt-confs)

If you want to write out the various pdb files, you can add in a
(write-pdb-file imol-new (string-append (molecule-name imol-new) ".pdb"))
before the set-molecule-name... line.

Paul.