When a sequence is generated on the fly, it can be initialized by using the method ‘RemoveAll’ of HSLSeqLib Library. When this sequence is traced, its property Name equals the name used as input value for the method ‘RemoveAll’.
However, when a submethod library is created with a method having a sequence as output parameter, the property ‘Name’ is ‘__temp’ which makes tracability and troubleshooting in trace files unconvenient.
@Martin - Yes, when sequences are instantiated as an output of a function (local submethod or SMT function) the default behavior of VENUS is to assign the name as ‘__temp’. Because the function is generating a new sequence that didn’t exist before, VENUS has to instantiate it local to the function for it to exist. This happens ‘behind the scenes’ and as a default these sequences get autoassigned a placeholder value, which happens to be ‘__temp’. This is a default feature for this specific scenario, and cannot be changed.
However, if a discrete name is desired you have a couple of options. When you use the ‘SeqCopySequence’ function to generate a copy or overwrite another sequence, the target sequence will inherit the name of the source sequence. In your case, you can also leverage the ‘SeqRemoveAll’ function you mentioned, in tandem with a copy to have your function output sequence inherit a name of your choosing. See the example below:
In the above example, you are still left with an empty sequence, but one that has a name of your choosing. The position and labware data would need to be appended.
awesome, @NickHealy_Hamilton, thank you a lot. This is exactly what I was looking for and an easy workaround that can be used in the beginning of each submethod where output sequences are used.
I’m also looking to generate sequences on the fly with specific names rather than ‘__temp’. The image shared is now a broken link. Could you confirm I understood the approach correctly:
Sub-Method 1 initialises empty sequence with name ‘egSeq1’ using ‘RemoveAll’ method. ‘egSeq1’ is populated with labwareID + pos values. Sub-Method 1 returns ‘egSeq1’ BUT its name is ‘__temp’
Sub-Method 2 takes ‘__temp’ as input and ‘SeqCopySequence’ method is used to rename ‘__temp’ back to ‘egSeq1’
I fixed it, I just added a line in between each of the image links, I guess that is necessary for multiple images. Not sure why you couldn’t edit though.