Problem about using protocol prepare protein!

Hello!
I want to write a script to prepare some proteins by the protocol of prepare protein.
Here is the code of the script. But I always get the error information, which is "Error: The parameter Input Protein can only be set to an object of type class MolecularDataModel::OrdCollection. at file line 17 in access to ReplaceItem".

Thank you for your help!

# Include DSCommands
use DSCommands;
use MdmDiscoveryScript;
use ProtocolDiscoveryScript;

my \$proteinfile = 'F:\pretherm\dsscript\1otr.pdb';

my \$moleculeData = DiscoveryScript::Open(\$proteinfile);
my \$session = Protocol:Big Grinocument:Big GrinefaultSession();
my \$protocolName = 'Prepare Protein';

# Creating protocol document
my \$document = Protocol:Big Grinocument::Create(\$protocolName, \$session);

# Edit protocol parameters.
# - specifying the molecule is required
\$document->ReplaceItem('Input Protein', \$moleculeData);

# Launch Pipeline Pilot protocol
my \$task = \$session->Launch(\$document);