Thank you both for your help,
I feared that Perl was capturing the keyboard commands, and the sig.exe would sadly not help in my case, because I wanted to use the function in a Linux environment.

But after playing with sig.exe a bit, I realized that all it does is creating a file that gives the signal. So by creating the file manually, you can override the whole process.

All you need to do is finding the directory where NONMEM is running (NM_run1 in PSN) and manually create an empty file with a different name according to the desired action. Here's a list:

Print toggle (monitor estimation progress):
print.sig

Paraprint toggle (monitor parallel processing traffic):
paraprint.sig

Next (move on to next estimation mode or next estimation):
next.sig

Stop (end the present run cleanly):
stop.sig

Subject print toggle:
subject.sig

The function I wanted is "Next". NONMEM grinds a couple if iterations more and then it terminates nicely as if the maximum number of function evaluations had been reached.

I hope this info can help others too.

Thank you,
Paolo

On 2012/05/25 17:57, Bauer, Robert wrote:
You should read the next several paragraphs in the guide, stating how you can 
alternatively control NONMEM if the control keys do not work in certain 
environments.  This is done using the sig.exe program supplied with NONMEM.


Robert J. Bauer, Ph.D.
Vice President, Pharmacometrics, R&D
ICON Development Solutions
7740 Milestone Parkway
Suite 150
Hanover, MD 21076
Tel: (215) 616-6428
Mob: (925) 286-0769
Email: robert.ba...@iconplc.com
Web: www.iconplc.com

-----Original Message-----
From: owner-nmus...@globomaxnm.com [mailto:owner-nmus...@globomaxnm.com] On Behalf 
Of Fidler,Matt,FORT WORTH,R&D
Sent: Friday, May 25, 2012 11:26 AM
To: Paolo Denti; nmusers
Subject: RE: SPAM: [NMusers] Interactive Control of NONMEM runs

I believe Perl Speaks NONMEM runs

->  Perl which calls
    ->  NONMEM

Therefore, I think all the control-codes from the console are sent to the Perl 
process, not the NONMEM process.  Currently, the work-around is to run NONMEM 
directly.

However, it is theoretically possible to look at the execute code and add a 
patch that monitors key behaviors(via Perl's ReadKey) 
http://search.cpan.org/dist/TermReadKey/ReadKey.pm  You just need to figure out 
what the control characters are: http://www.perlmonks.org/?node_id=710306.


Matt.




-----Original Message-----
From: owner-nmus...@globomaxnm.com [mailto:owner-nmus...@globomaxnm.com] On 
Behalf Of Paolo Denti
Sent: Wednesday, May 23, 2012 5:57 AM
To: nmusers
Subject: SPAM: [NMusers] Interactive Control of NONMEM runs

Hello everyone,
In the NONMEM 7.2 guide, I found this interesting section:
I.11 Interactive Control of a NONMEM batch Program
A NONMEM run can now be controlled to some extent from the console by
issuing certain
control characters.
Console iteration printing on/off during any Estimation analysis
(ctrl-J from console NONMEM,
Iterations button from PDx-POP).
Exit analysis at any time, which completes its output, and goes on to
next mode or estimation
method (ctrl-K from console, or Next button in PDx-POP).
Exit program gracefully at any time (ctrl-E or Stop button).
Monitor the progress of each individual during an estimation by
toggling ctrl-T. Wait 15
seconds or more to observe a subject's ID, and individual objective
function value. It is also
good to test that the problem did not hang if a console output had not
been observed for a long
while.
It seems like there is a feature to interact with a NONMEM run and
interrupt it but still get the results in a neat way, which would be
very useful, especially with long runs.

I've tried using CTRL+K, but I had no luck. I am using the execute
script of Perl Speaks NONMEM to run my models, so maybe console commands
(except CTRL+C) get filtered away. Any experience from anybody in the
group? Is this feature working when running NONMEM directly, without a
wrapper like PSN? Any workaround?

Any help would be greatly appreciated.

Thank you,
Paolo

--
------------------------------------------------
Paolo Denti, PhD
Junior Lecturer
Division of Clinical Pharmacology
Department of Medicine
University of Cape Town

K45 Old Main Building
Groote Schuur Hospital
Observatory, Cape Town
7925 South Africa
phone: +27 21 404 7719
fax: +27 21 448 1989
email: paolo.de...@uct.ac.za
------------------------------------------------



This e-mail (including any attachments) is confidential and may be legally 
privileged. If you are not an intended recipient or an authorized 
representative of an intended recipient, you are prohibited from using, copying 
or distributing the information in this e-mail or its attachments. If you have 
received this e-mail in error, please notify the sender immediately by return 
e-mail and delete all copies of this message and any attachments.

Thank you.
ICON plc made the following annotations.
------------------------------------------------------------------------------
This e-mail transmission may contain confidential or legally privileged 
information
that is intended only for the individual or entity named in the e-mail address. 
If you
are not the intended recipient, you are hereby notified that any disclosure, 
copying,
distribution, or reliance upon the contents of this e-mail is strictly 
prohibited. If
you have received this e-mail transmission in error, please reply to the 
sender, so that
ICON plc can arrange for proper delivery, and then please delete the message.
Thank You,
ICON plc
South County Business Park
Leopardstown
Dublin 18
Ireland
Registered number: 145835




--
------------------------------------------------
Paolo Denti, PhD
Junior Lecturer
Division of Clinical Pharmacology
Department of Medicine
University of Cape Town

K45 Old Main Building
Groote Schuur Hospital
Observatory, Cape Town
7925 South Africa
phone: +27 21 404 7719
fax: +27 21 448 1989
email: paolo.de...@uct.ac.za
------------------------------------------------


Reply via email to