[Bioperl-l] different syntaxes for SeqI constructor and Factory constructor?
cjfields at uiuc.edu
Thu Dec 7 13:44:32 EST 2006
On Dec 6, 2006, at 9:13 PM, zhihua li wrote:
> Hi netters,
> Recently I found this:
> For constructing a new SeqI object, I had to write:
> -file => '/home/myfile',
> -format => 'Fasta'); #Note the dash before the
> two arguments.
> If I omitted the dash:
> file => '/home/myfile',
> format => 'Fasta');
> I'd get error:
> MSG: Unknown format given or could not determine it 
> STACK Bio::SeqIO::new /usr/lib/perl5/site_perl/5.8.7/Bio/SeqIO.pm:377
> So it seems to me that the dashes before the arguments are
> essential. However, when I tried to build a factory for
> StandaloneBlast, I found the other way around.
> If the script had the dash:
> -program => 'blastn',
> -database => '/home/mydatabase');
> I'd get the error message: MSG: Unallowed parameter: - !
> STACK Bio::Tools::Run::StandAloneBlast::AUTOLOAD /usr/lib/perl5/
> STACK Bio::Tools::Run::StandAloneBlast::new /usr/lib/perl5/
> If I left out the dash by saying:
> program => 'blastn',
> database => '/home/mydatabase');
> Everyting is fine.
> Now I'm confused. Why sometimes I have to add the dash, while
> sometimes I'm not allowed to?
> Thanks in advance!
I agree that this should be more consistent. Does anyone know the
reasoning for this?
Lab of Dr. Robert Switzer
Dept of Biochemistry
University of Illinois Urbana-Champaign
More information about the Bioperl-l