Welcome To Support Community

Pipeline Pilot

Advanced Search
Ask Search:
TonTon (Accelrys, Inc.)  

I posted an example protocol to the Protocol Exchange for a Generate Frequencies component for two properties (not enough time to generalize this for n properties!). For the automobile data set it will give you the following results:


Best Answer chosen by Ton (Accelrys, Inc.) 
IanIan (BIOVIA) 
Very nice protocol! I modified your example so it should now work for N properties entered as an array of properties on the component.
How can I create a shorter protocol link ?
instead of http://server:9944/webport/default/main.htm?protocol=Protocols/Web%20Services/SomeFolder/MyProtocol
I would like to have a shortcut, something like http://server/myprotocol

Thanks !!

Best Answer chosen by Cypryan (Symyx Technologies, Inc.) 
Michael Peeler (BIOVIA)Michael Peeler (BIOVIA)
If you just want a link to run the protocol, you can use:




or, if you like cryptic,


using the GUID of the protocol. You can find a protocol's GUID by opening the protocol in the PLP client and looking in the Information tab (switch on from the View > Component Windows menu if necessary). Click on the line "Component Type GUID" and select+copy the GUID value from the Help panel.

Another way to approach this is to create a routing layer in a package configuration, where you can map any URL to your protocol, or maybe a whole family of REST URLs to multiple protocols. This is described in the RESTful Web Services Guide in the Developer section of the Help Center. Actually, that also covers the information above. It also covers the various URL query string parameters you can use to determine how the results of the protocol are to be passed back to the caller.

HOWEVER, your URL was explicitly running the protocol inside Web Port, and if you want to stick with that approach, then I think you have to invoke Web Port with your protocol referenced in the query string. I think the shortest you could make it is:


using the GUID, but you may not like to see the GUID in the Web Port GUI!

You could also defne your own aliases, using a package-based extension to the apache httpd.conf file, but I don't know if you really want to go that far?

Anyway, that's about all I can think of right now!
Dear all,

I am currently packaging a few applications in Pipeline Pilot and wondered if there is a way to add dependencies for installation of a package that also includes version numbers to ensure the correct functioning of the package. 
How can I achieve this, currently I only seem to be able to define dependencies using the vendor/packagname syntax. 

If not yet available it would be a nice add-on for future releases of Pipeline Pilot.


Best Answer chosen by peter.schmidtke
AlyonaAlyona (BIOVIA) 
Dear Peter,

Thank you for the request. The enhancement is scheduled for a future release, PPP-40318.

Kind regards,
I'm trying to perform a POST method to a RESTful API web service that is expecting an accompanying tab-delimited text file upload.
Using curl this would be done using the [-T, --upload-file] option but I'm no sure if the HTTP Connector provides the same functionality.

Any pointers would be much appreciated
Thanks very much
Best Answer chosen by TMagnay
Hi - I've solved this for my immediate use case.

To use the HTTP Connector to transmit a file I used the Binary Reader component to read in teh file , piped that into the HTTP Connector and made the binary data the content of the Request Body.

HTTP Connector Parameter Settings:
HTTP Body Content: Send Request Body
Request Body: Binary
Content Type: text/plain --- this would change depending on the content of the file being transfered

To capture the response from the Web Service I used the Data from XML component in hte method largely analogous to what is described in the Biovia Web Services documentation. I did add an 'Additional Allowed Response' in the HTTP Connector so that I could parse "Bad Request" responses without the component generating an error.

Dear all,

how can I get rid of the label automatically added to some ligand depictions stating AND Enantiomer. I tried to fiddle around with the depiction options, molecular information & properties, but cannot find how to do that.

Thanks in advance.

Best Answer chosen by peter.schmidtke
Hi Peter,

In the HTML Molecular Table Viewer stereochemistry depiction options you can set the chirality label options to custom labels then set the labels to whatever you want - including none but keep the commas. You might also want to turn off the display labels if you've got enhanced stereochemistry.

Looks like you can also create and use an xml file to do this globally rather than for each separate component but I haven't tried this.

Hope I've understood your question, and this helps.

I have found that DS or PP could cluster the molecules in two supervised way, either average number per cluster or the  cluster number must be fixed if you want to get the library clustered.

So I want to know if we can cluster the molecules just by setting a Tanimoto coefficient(e.g. 0.8) ?
Best Answer chosen by senliu
"Do you think there is a mol number limit when clustering a large molecular library?"

There is no fixed limit to the number of compounds. The upper limit in practice will be determined by your hardware and how long you are willing to wait. The time required by Cluster Molecules scales roughly as N * Nc, where N is the number of compounds and Nc the number of clusters (which of course you don't know in advance when using the MaximumDistance approach).

Using the approach I described above with the default FCFP_4 fingerprint, a MaximumDistance of 0.6, and all other parameters at their defaults, I got the following timing results on a basic laptop:

N=20000 (Nc=1280): 15 sec
N=50000 (Nc=2125): 45 sec
N=100000 (Nc=3530): 140 sec
N=200000 (Nc=6430): 550 sec

Does anyone know how I can recover a specific protocol (including old versions) that has been deleted by a user from their own users tab or other tabs such as protocols or components.

We take regular XMLDB backups, but I don’t want to re import the entire XMLDB (as it will revert other changes to other protocols made since the backup), I just want to recover a specific protocol and previous version history.

Looking in the XMLDB backup zip file, it looks like a zipped copy of the <pp home>/xmlbd folder. So in theory I think it should be possible to copy across the .xml.gz files of the deleted protocol and its previous versions to <pp home>/xmlbd/…/
But when I try this the protocol does not re appear in the client. I believe I remember something about a XMLDB management protocol that runs in the background on a scheduled task to update the state.xml file. 

Do I need to run something in DButils on the command line for the “recovered” protocol to be picked up?  Or am I on the wrong track with this?

This would also be useful for when a user accidentally keeps the latest version and deletes all previous versions (rather than deleting the latest version to revert to an older one).

Any suggestions appreciated.


Best Answer chosen by Joe_B
MikeMike (BIOVIA) 
Yes - the backup is just a compressed copy of the XMLDB folder and yes you can just take the required xml.gz files and copy them to the required location in the XMLDB.

To get Pipeline Pilot to recognize those copied files you do indeed have to update the appropriate state.xml file. This is normally handled by the server whenever changes are made to the XMLDB.

To update manually you need to run
>DbUtil -s <folder-name>
Folder-name will be the root location to where you copied the xml.gz files, if this is a users folder then the user name. eg
>DbUtil -s scitegicadmin

On a windows server DbUtil exists in the <PPS>\bin folder. On a linux PP server in <PPS>/linux_bin, you first need to source ppvars.sh.
Note: "DbUtil -s" is a recovery utility and should not be used on a routine basis to make changes to the XMLDB.

What's the syntax required to pass an array -tpe parameter when using hte runjob.pl functionality.
Syntax for a simple parameter is as below:

http://<PPserver>/perlbin/runjob.pl?_protocol=<Prtotocol Name>&<MyParam>=<MyValue>&__QuickRun=true

How should I modify this to pass an array for the <MyValue>? Maybe <MyValue1,MyValue2,...> or <MyValue1|MyValue2|...>?
Is it even possible - the alternative would be to pass a string containng multiple values and have the protocol resolve that into an array.

Thanks in advance,
Best Answer chosen by TMagnay
If you pass in the parameter multiple times, the protocol sees an array of values:

http://<PPserver>/perlbin/runjob.pl?_protocol=<Prtotocol Name>&<MyParam>=<MyValue1>&<MyParam>=<MyValue2>&<MyParam>=<MyValue3>&__QuickRun=true

You could also pass in a set of delimited values and expand the results explicitly in the protocol.
I am currently setting up a PP 2017R2 server with LDAP connected authentication by using Kerberos on a RHEL 7 machine. Kerberos has been configured on the system and is working just fine (I can login with my AD accounts on the linux box).
In the Authentication/Security Settings of the Pipeline Pilot server I clicked Allow SPNEGO (Kerberos) and didn’t change any other settings.
I can now login to the Server with my pipeline Pilot Client with my AD credentials.
However, when I want to access the admin page for example (or whatever other web resource) I get a popup window asking me to authentify (screenshot attached)

I tried every possible login/pw local and AD account and nothing works. I can only click cancel and the popup disappears and then I can use the classical web login (shown below the popup) where authentication works.
I noticed that this popup only shows up when I activate the Kerberos Authentication in the PP admin page.
How can I get rid of this authentication Popup ?
Thanks in advance

Best Answer chosen by peter.schmidtke
Stephen PickettStephen Pickett
Hi Peter
We had the same issue when this setting was on with previous versions of PP. We use PAM to access our LDAP rather than touching the default machine authentication. In this case you can turn off Kerberos and the pop up disappears.