13 Replies Latest reply on Sep 18, 2017 10:55 AM by 808799

    TB 4.1 - How to import substances from IUCLID 6 ?

    New User

      Hello,

       

      We're currently testing QSAR Toolbox 4.1 in client-server mode and I'm wondering how to use the import function. Buttons in the client software are now available but apparently this functionnality doesn't work in multi-user mode. We would like to create custom databases containing groups of substances coming from IUCLID6. In TB 3.3, import from IUCLID could be done from the server application, is there a similar function ? Where can it be found ?

       

      Or could you modify TB4.1 so that it allows the one-shot import of a few substances on a client in client-server mode ?

       

      Thank you for your help !

       

      PS : I'm also interested in getting TB4.1 run as a Windows service but this one has already been posted.

       

      Best regards,

      Bruno Biedermann

        • Re: TB 4.1 - How to import substances from IUCLID 6 ?
          1006501 New User

          Dear Bruno,

           

          As it is stated in the installation manual "When connected to a multi-user server the user will have restrictions on certain features, such as creation of new profiles and importing of databases".

          Tutorials for some of the main TB functionalities ( including tutorial on how to import/export a custom database (and import/export to IUCLID6)) could be found at the link below:

          https://qsartoolbox.freshdesk.com/solution/folders/16000085980

           

          Kind regards,
          Darina

            • Re: TB 4.1 - How to import substances from IUCLID 6 ?
              New User

              Dear Darina,

               

              Thank you for answering but I’m still a bit puzzled. Users won’t be able to import from IUCLID6 which is fine by me but how can I import those IUCLID6 substances when
              I log directly on QSAR Toolbox server ?

              Do I need to install a standalone client, connect it to the client-server postgreSQL database and perform substance loading from there ?

              Or is there a way to start QSAR client in Single-user mode on the server to import the substances ?

               

              I need to have a way to create custom DB containing IUCLID6 substances in the multi-user QSAR database, otherwise I don’t get how this import from IUCLID6 function
              could be useful to us.

               

              Thank you for your help.

                • Re: TB 4.1 - How to import substances from IUCLID 6 ?
                  1006501 New User

                  Dear Bruno,

                   

                  Please find below the answer from my colleague Georgi Chankov who is in charge with this:

                   

                  The easiest way will be to:

                  1. Shut down the server. Make sure all clients have disconnected
                  2. Go to the folder containing the server executable (e.g. C:\Program Files (x86)\QSAR Toolbox\QSAR Toolbox 4.1\Toolbox Server\Bin)
                  3. Open ToolboxServerApp.exe.config file using Notepad.
                  4. Search for "SingleUser" and you will find the line "<add key="SingleUser" value="false"></add>".
                  5. Change the value from false to true.
                  6. Make sure none of the remote clients will attempt to connect to the server, start the server and connect to it with the local client.
                  7. Do the import procedure.
                  8. Shut down the client and server.
                  9. Reverse the changes to the config file and restart the server.
                  10. You can now allow remote clients to connect.

                   

                  Hope this is of help.

                   

                  Kind regards,

                  Darina

                   

                    • Re: TB 4.1 - How to import substances from IUCLID 6 ?
                      New User

                      Dear Darina,

                       

                      I've not tested your solution yet but this seems to be exactly the kind of thing I need !

                       

                      Thank you very much for your answer.

                        • Re: TB 4.1 - How to import substances from IUCLID 6 ?
                          New User

                          Dear Darina,

                           

                          The solution you provided enabled import from IUCLID6 functionnality and QSAR Toolbox Web Service is able to list all substances from a IUCLID6 instance.

                          When I try to import a substance the QSAR client sometimes throws the error pasted below.

                          Is there a list of prerequisites on the IUCLID6 substance to make this work ?

                           

                          Another question, when an import succeeds I can't find a trace of either the imported substance or the new database which should have contained the substance ; is that normal or am I missing something ?

                           

                          Thank you very much for your help!

                          Have a nice weekend.20170901-Error on import.png

                            • Re: TB 4.1 - How to import substances from IUCLID 6 ?
                              588921 Novice

                              We've prepared a patch that should fix your issue. Could you install it and confirm that it is in fact fixed?

                               

                              http://storage.oasis-lmc.org/_ALL_/web/Toolbox4/QSARToolbox4.1To4.1.1Patch.zip

                                • Re: TB 4.1 - How to import substances from IUCLID 6 ?
                                  New User

                                  Hello Mr Chankov,

                                   

                                  Sorry for my late response, I was on paternity leave.

                                  Patch has been applied but there's a different error now:

                                   

                                  Reasons:

                                  Object reference not set to an instance of an object.

                                  System.NullReferenceException: Object reference not set to an instance of an object.

                                     at Toolbox.General.Data.ToolboxData..ctor(IData mData)

                                     at Toolbox.General.Metadata.Description.AddNumeicalMetaData(String metaDataLabel, IData data)

                                     at Toolbox.Client.WPFClient.Dialogs.IUCLIDImportWizard.Tools.WSTypesToTransportableTypes.ToToolboxDesignation(EndpointStudyRecord esr, IUCLID6Template template, Object entryNode, IUCLID6FieldMappingRecord valueMappingRecord)

                                     at Toolbox.Client.WPFClient.Dialogs.IUCLIDImportWizard.Tools.WSTypesToTransportableTypes.<ToToolboxData>d__0.MoveNext()

                                     at Toolbox.Client.WPFClient.Dialogs.IUCLIDImportWizard.Tools.WSTypesToTransportableTypes.<ToTransportable>d__18.MoveNext()

                                     at System.Linq.Enumerable.<SelectManyIterator>d__14`2.MoveNext()

                                     at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)

                                     at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)

                                     at Toolbox.Client.WPFClient.Dialogs.IUCLIDImportWizard.IUCLIDImportWindow.<IUCLIDImportWizard_OnFinish>d__8.MoveNext()

                                  --- End of stack trace from previous location where exception was thrown ---

                                     at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<ThrowAsync>b__4(Object state)

                                     at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)

                                     at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

                                   

                                  When this happens I can either choose to continue: the import progress bar doesn't move anymore or stop: everything closes.

                                  After that there's still no trace of the custom database holding imported substances.

                                   

                                  Can you find what's preventing the import to finish successfully ?

                                   

                                  Thank you for your help!

                                   

                                  Best regards,

                                    • Re: TB 4.1 - How to import substances from IUCLID 6 ?
                                      588921 Novice

                                      I'm not sure if this is going to fix your issue, but I have added some additional checks to the source code. Could you replace the DLL and try importing again? The DLL should be located in your Client folder (e.g. C:\Program Files (x86)\QSAR Toolbox\QSAR Toolbox 4.1\Toolbox Client\Bin)

                                       

                                      link to the DLL:

                                      http://storage.oasis-lmc.org/_ALL_/web/Toolbox4/Toolbox.Client.WPFClient.Dialogs.IUCLIDImportWizard.dll

                                        • Re: TB 4.1 - How to import substances from IUCLID 6 ?
                                          New User

                                          Hello,

                                           

                                          It fixed the import errors for 2 of our 3 IUCLID6 instances! Custom databases are now available for selection.

                                          The error is now:

                                          Reasons:

                                          Object reference not set to an instance of an object.

                                          System.NullReferenceException: Object reference not set to an instance of an object.

                                             at Toolbox.Client.WPFClient.Dialogs.IUCLIDImportWizard.Tools.WSTypesToTransportableTypes.<>c__DisplayClass26.<SubstanceUUIDToTransportableSubstance>b__24()

                                             at System.Threading.Tasks.Task`1.InnerInvoke()

                                             at System.Threading.Tasks.Task.Execute()

                                          --- End of stack trace from previous location where exception was thrown ---

                                             at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

                                             at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

                                             at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()

                                             at Toolbox.Client.WPFClient.Dialogs.IUCLIDImportWizard.Tools.WSTypesToTransportableTypes.<SubstanceUUIDToTransportableSubstance>d__29.MoveNext()

                                          --- End of stack trace from previous location where exception was thrown ---

                                             at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

                                             at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

                                             at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()

                                             at Toolbox.Client.WPFClient.Dialogs.IUCLIDImportWizard.IUCLIDImportWindow.<IUCLIDImportWizard_OnFinish>d__8.MoveNext()

                                          --- End of stack trace from previous location where exception was thrown ---

                                             at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<ThrowAsync>b__4(Object state)

                                             at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)

                                             at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

                                           

                                          This is already a huge improvement compared to no import at all, this is going to be a big help for our experts! But I hope you'll find a way to make the import work for all of our DBs.

                                           

                                          On a different topic someone already asked how to add QSAR Toolbox Server 4.1 to windows services management console but nobody answered. Running TooboxServerWindowsSvc.exe gives an error which says that the service needs to be installed first using installutil.exe but I've no idea on where to find this tool. Is it proprietary or Windows standard ?

                                           

                                          Thank you for your help!

                                          Best regards,