[phenixbb] executing Phenix in a python script on a Windows OS

Bernhard Rupp hofkristallamt at gmail.com
Tue Mar 2 11:47:32 PST 2021


Alternatively - why not script it together in a command file from a Windows terminal?

For many basic tasks this works fine (not necessarily elegant) & you can mix ccp4 and phenix as you like?

Best, BR


-----Original Message-----
From: phenixbb-bounces at phenix-online.org <phenixbb-bounces at phenix-online.org> On Behalf Of Robert Oeffner
Sent: Tuesday, March 2, 2021 11:21
To: phenixbb at phenix-online.org
Subject: Re: [phenixbb] executing Phenix in a python script on a Windows OS

Dear Muriel,

The file
C:\Users\MG\Phenix\phenix-installer-1.19.1-4122-intel-windows-x86_64\phenix_env.bat
should not be run from a python subprocess. It is only used once for initialising the pheinix environment in your command prompt so that you may start phenix.python, phenix.refine or any other phenix.some_command from there.

Once you have started a phenix.python session from a command prompt you then need to import various modules such as the phenix, iotbx, cctbx, etc in order to use functions available from these.

If you're not used to write and work with python scripts it's not productive use of time to write python scripts for phenix.refine. It may be easier to do what you want just using the command line interface of phenix.refine.

Regards,

Robert



On 02-03-2021 16:36, Muriel Gelin wrote:
> Here is what I have:
>
> In a prompt:
>
> C:\Users\MG>C:\Users\MG\Phenix\phenix-installer-1.19.1-4122-intel-wind
> ows-x86_64\phenix_env.bat
>
>
> C:\Users\MG>phenix.refine
> Usage: phenix.refine [options] [reflection_file] [pdb_file] 
> [parameter_file]
>
> ----------------------------------------------------------------------
> ----------
>
>
> In python:
>
> source =
> subprocess.Popen(str(r"C:\Users\MG\Phenix\phenix-installer-1.19.1-4122
> -intel-windows-x86_64\phenix_env.bat"),
> stdin=subprocess.PIPE, stdout=subprocess.PIPE, shell=True)
> >>> phenix.refine
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
> NameError: name 'phenix' is not defined
> >>> py phenix.refine
>   File "<stdin>", line 1
>     py phenix.refine
>        ^
>
> ----------------------------------------------------------------------
> ----------
>
>
> If somebody see what is the problem. I'm afraid I am stuck ...
>
> Thank you all.
>
> Muriel
>
>
>
> Le 02/03/2021 à 11:03, gelin a écrit :
>> Dear Bernhard,
>>
>> Thank you for your answer.
>>
>> Executing phenix_env.bat in Windows command prompt works well, since 
>> I can then execute phenix.refine in the prompt.
>>
>> So I tried to add in my python script something like that:
>> source = subprocess.Popen(my_path\phenix_env.bat,
>> stdin=subprocess.PIPE, stdout=subprocess.PIPE,
>>                               stderr=subprocess.PIPE) Unfortunately, 
>> it doesn't work. I suppose the prompt environment is not modified.
>>
>> Do you know how to do that in my python script so that I can then 
>> execute something like:
>> xtriage = subprocess.Popen(["phenix.xtriage", my_mtz, 
>> "parameters.reporting.log=" + "xtriage.log")],
>>                                stdin=subprocess.PIPE, 
>> stdout=subprocess.PIPE, stderr=subprocess.PIPE)
>>
>> Thank you for you help.
>>
>> Muriel
>>
>> Le 2021-03-01 18:36, Bernhard Rupp a écrit :
>>> Here is what I did:
>>>
>>> Install phenix
>>>
>>> make a batch command in your path (eg phx.bat) that executes the 
>>> environment setup, eg.
>>> C:\Phenix\phenix-installer-1.19-4092-intel-windows-x86_64\phenix_env
>>> .bat
>>>
>>>
>>> Open terminal, execute that batch (modify as you like), and there 
>>> you go
>>>
>>> c:\data\Dropbox\Refinements\5okl>phenix.refine
>>> Usage: phenix.refine [options] [reflection_file] [pdb_file] 
>>> [parameter_file] ....
>>>
>>> Best, BR
>>>
>>> -----Original Message-----
>>> From: phenixbb-bounces at phenix-online.org
>>> <phenixbb-bounces at phenix-online.org> On Behalf Of Muriel Gelin
>>> Sent: Monday, March 1, 2021 09:08
>>> To: phenixbb at phenix-online.org
>>> Subject: [phenixbb] executing Phenix in a python script on a Windows 
>>> OS
>>>
>>> Dear Phenix community,
>>>
>>> I wrote a python script to automate the processing of our data with 
>>> Phenix. I'm not a developer by profession, but a crystallographer, 
>>> and write scripts usually under Linux. My colleagues working under 
>>> Windows asked me to share my script.
>>>
>>> I managed to run a simple python script under windows, no problem. 
>>> But for a script that executes Phenix, it's not so easy (for me).
>>>
>>> Under Linux, I manage to source phenix_env.csh, but under Windows 
>>> what is the command to setup Phenix  in order to simply use 
>>> phenix.refine or phenix.xtriage in my script?
>>>
>>> All I can find is this page
>>> https://www.mrc-lmb.cam.ac.uk/public/xtal/doc/phenix/install-setup-r
>>> un.html
>>>
>>>
>>> but I don't think it answers my question.
>>>
>>> Thank you in advance for your help!
>>>
>>> Muriel
>>>
>>> --
>>> Dr Muriel Gelin
>>>
>>> Research Engineer
>>> Centre de biochimie Structurale de Montpellier Team "ABCIS: Avanced 
>>> Biology, Chemistry, Informatics Studio"
>>>
>>> CNRS UMR 5048 - UM - INSERM U 1054
>>> 29 rue de Navacelles
>>> 34090 MONTPELLIER Cedex - FRANCE
>>> http://www.cbs.cnrs.fr
>>>
>>> Tel: (33) 04 67 41 77 12
>>>
>>>
>>> --
>>> This message has been scanned for viruses and dangerous content by 
>>> MailScanner, and is believed to be clean.
>>>
>>> _______________________________________________
>>> phenixbb mailing list
>>> phenixbb at phenix-online.org
>>> http://phenix-online.org/mailman/listinfo/phenixbb
>>> Unsubscribe: phenixbb-leave at phenix-online.org
>>
--
Robert Oeffner, Ph.D.
Research Associate, The Read Group
Department of Haematology,
Cambridge Institute for Medical Research University of Cambridge Cambridge Biomedical Campus The Keith Peters Building Hills Road Cambridge CB2 0XY www.cimr.cam.ac.uk/investigators/read/index.html
tel: +44(0)1223 763234


-- 
This email has been checked for viruses by AVG.
https://www.avg.com

_______________________________________________
phenixbb mailing list
phenixbb at phenix-online.org
http://phenix-online.org/mailman/listinfo/phenixbb
Unsubscribe: phenixbb-leave at phenix-online.org




More information about the phenixbb mailing list