Tsjerk,

I substituted the .strip() method into my version instead of the [:-1] which was originally meant to discard tailing \n in the entries in "converge.nam". This seemingly identical approach worked! Guess I had more whitespace than I thought? Oh well...

Thank you very much!
Matt


On Tue, Nov 10, 2009 at 6:08 PM, Tsjerk Wassenaar <tsjerkw@gmail.com> wrote:
Hi Matt,

Well, then you're in for some nasty debugging. That will probably end
with you slapping yourself against the head, as I've done plenty ofc
times on such occasions. I tried the same things using the same sort
of code you posted, and it worked for me. Of course, I'd rather do
something like:

L = [ i.strip() for i in open("files.nam").readlines() if i.strip() ]
for i in L: cmd.load( i, i )

But those are details really.
You may want to print the list of filenames right after reading them
in, and again after changing the entries. That may give a clue of what
goes wrong.

Cheers,

Tsjerk

On Tue, Nov 10, 2009 at 6:05 PM, Mateusz Maciejewski
<s0676607@sms.ed.ac.uk> wrote:
> Dear Tsjerk,
>
> I actually also tried using full paths in the script, as in
>
>
> for n in range(len(linie)): linie[n] = ["/path/to/my/files/" +
> linie[n][:-1]]
>
>
> Then in the PyMOL interpreter/ log window I was getting
>
>
> ExecutiveProcessPDBFile-Error: Unable to open file
> '/path/to/my/files/compstatin.pdb_14'.
>
>
> in the traceback. Yes, the file is in the same directory as the pdb file and
> the script. Again if in the script I put names of files I want to open in
> the 'linie' list manually rather then make it read in from a file, then it
> works fine. Puzzling.
>
>
> Thanks,
> Matt
>
>
>
> On Tue, Nov 10, 2009 at 4:51 PM, Tsjerk Wassenaar <tsjerkw@gmail.com> wrote:
>>
>> Hi Mateusz,
>>
>> The first guess would be that you're not in the right directory, since
>> Pymol can't find the file. That seems a bit awkward, as I guess
>> they're in the same directory as "converged.nam", or aren't they? To
>> see what is in the directory, you can call cmd.ls() at the start of
>> the script. For what it's worth, the script is syntactically correct,
>> although it could be written a bit more neatly ;)
>>
>> Hope it helps,
>>
>> Tsjerk
>>
>> On Tue, Nov 10, 2009 at 5:08 PM, Mateusz Maciejewski
>> <s0676607@sms.ed.ac.uk> wrote:
>> > Hello,
>> >
>> > I'm writing a script in Python to be executed in PyMOL. Unfortunately I
>> > got
>> > stuck right at the beginning, when I'm trying to load .pdb's from
>> > "converged.nam" file. The relevant bit of the script is the following:
>> >
>> >
>> > from pymol.cgo import *
>> > from pymol import cmd
>> >
>> > loadedStuff=open("converged.nam", 'r')
>> > linie = loadedStuff.readlines()
>> > for n in range(len(linie)): linie[n] = linie[n][:-1]
>> > for n in range(len(linie)): print n, linie[n]
>> > for n in linie: cmd.load(n,n)
>> >
>> >
>> >
>> > Unfortunately, it is not working - I keep on getting:
>> >
>> >
>> >
>> > 0 compstatin.pdb_14
>> > 1 compstatin.pdb_72
>> > 2 compstatin.pdb_91
>> > 3 compstatin.pdb_93
>> > 4 compstatin.pdb_78
>> > 5 compstatin.pdb_34
>> > 6 compstatin.pdb_32
>> > 7 compstatin.pdb_7
>> > 8 compstatin.pdb_47
>> > 9 compstatin.pdb_31
>> > 10 compstatin.pdb_5
>> > ExecutiveProcessPDBFile-Error: Unable to open file 'compstatin.pdb_14'.
>> > Traceback (most recent call last):
>> >   File "/usr/local/pymol/modules/pymol/parsing.py", line 407, in
>> > run_file
>> >     execfile(file,global_ns,local_ns)
>> >   File "align.py", line 8, in ?
>> >     for n in linie: cmd.load(n,n)
>> >   File "/usr/local/pymol/modules/pymol/importing.py", line 575, in load
>> >     if _raising(r): raise pymol.CmdException
>> > CmdException: <pymol.CmdException instance at 0x56fdc6cc>
>> >
>> >
>> >
>> > When I manually form a list containing all the compstatin entries than
>> > it is
>> > working, so it must be something with how it processes the list which it
>> > gets from the file. I can't really understand why that is so, especially
>> > given how it correctly pronts out the content of the list that captures
>> > the
>> > content of the file. I am obviously making some silly mistake here...
>> > any
>> > suggestions?
>> >
>> > Thank you,
>> > Mateusz Maciejewski
>> >
>> > ----------------------------------------------
>> >
>> >
>> >
>> > Mateusz Maciejewski,
>> > University of Edinburgh
>> > Joseph Black Chemistry Bldg, West Mains Rd.,
>> > Edinburgh EH9 3JJ, U.K.
>> > Phone (44) (0) 131 650 4704 (group office)
>> >
>> >
>> > ------------------------------------------------------------------------------
>> > Let Crystal Reports handle the reporting - Free Crystal Reports 2008
>> > 30-Day
>> > trial. Simplify your report design, integration and deployment - and
>> > focus
>> > on
>> > what you do best, core application coding. Discover what's new with
>> > Crystal Reports now.  http://p.sf.net/sfu/bobj-july
>> > _______________________________________________
>> > PyMOL-users mailing list (PyMOL-users@lists.sourceforge.net)
>> > Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users
>> > Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net
>> >
>>
>>
>>
>> --
>> Tsjerk A. Wassenaar, Ph.D.
>>
>> Computational Chemist
>> Medicinal Chemist
>> Neuropharmacologist
>>
>
>



--
Tsjerk A. Wassenaar, Ph.D.

Computational Chemist
Medicinal Chemist
Neuropharmacologist