=head1 NAME

proteindb module - part of the Wise2 package

=head1 SYNOPSIS

This module contains the following objects

=over

=item ProteinDB


=back

=head1 DESCRIPTION

=head2 Object ProteinDB

=over

=item is_single_seq

 Type [boolean] Scalar No documentation

=item is_random_db

 Type [boolean] Scalar No documentation

=item single

 Type [ComplexSequence *] Scalar No documentation

=item sdb

 Type [SequenceDB *] Scalar No documentation

=item cses

 Type [ComplexSequenceEvalSet *] Scalar No documentation

=item rnd

 Type [RandomProteinDB *] Scalar No documentation

=item test_dna

 Type [boolean] Scalar No documentation



=back

A database of proteins. This takes
either a single sequence or a 
sequence database and allows a
method expecting protein complexsequences
to loop over it.

It also provides generic database indexing
for this


Horrible physical dependency in this
generated by the random protein db
requiring histogram and randommodel
stuff. Yuk!



=head2 Member functions of ProteinDB

=over

=item hard_link_ProteinDB

&Wise2::ProteinDB::hard_link_ProteinDB(obj)

  Bumps up the reference count of the object
  Meaning that multiple pointers can 'own' it



  Argument obj          [UNKN ] Object to be hard linked [ProteinDB *]
  Return [UNKN ] Undocumented return value [ProteinDB *]


=item alloc

&Wise2::ProteinDB::alloc(void)

  Allocates structure: assigns defaults if given 



  Return [UNKN ] Undocumented return value [ProteinDB *]


=item set_is_single_seq

&Wise2::ProteinDB::set_is_single_seq(obj,is_single_seq)

  Replace member variable is_single_seq
  For use principly by API functions



  Argument obj          [UNKN ] Object holding the variable [ProteinDB *]
  Argument is_single_seq [OWNER] New value of the variable [boolean]
  Return [SOFT ] member variable is_single_seq [boolean]


=item is_single_seq

&Wise2::ProteinDB::is_single_seq(obj)

  Access member variable is_single_seq
  For use principly by API functions



  Argument obj          [UNKN ] Object holding the variable [ProteinDB *]
  Return [SOFT ] member variable is_single_seq [boolean]


=item set_is_random_db

&Wise2::ProteinDB::set_is_random_db(obj,is_random_db)

  Replace member variable is_random_db
  For use principly by API functions



  Argument obj          [UNKN ] Object holding the variable [ProteinDB *]
  Argument is_random_db [OWNER] New value of the variable [boolean]
  Return [SOFT ] member variable is_random_db [boolean]


=item is_random_db

&Wise2::ProteinDB::is_random_db(obj)

  Access member variable is_random_db
  For use principly by API functions



  Argument obj          [UNKN ] Object holding the variable [ProteinDB *]
  Return [SOFT ] member variable is_random_db [boolean]


=item set_single

&Wise2::ProteinDB::set_single(obj,single)

  Replace member variable single
  For use principly by API functions



  Argument obj          [UNKN ] Object holding the variable [ProteinDB *]
  Argument single       [OWNER] New value of the variable [ComplexSequence *]
  Return [SOFT ] member variable single [boolean]


=item single

&Wise2::ProteinDB::single(obj)

  Access member variable single
  For use principly by API functions



  Argument obj          [UNKN ] Object holding the variable [ProteinDB *]
  Return [SOFT ] member variable single [ComplexSequence *]


=item set_sdb

&Wise2::ProteinDB::set_sdb(obj,sdb)

  Replace member variable sdb
  For use principly by API functions



  Argument obj          [UNKN ] Object holding the variable [ProteinDB *]
  Argument sdb          [OWNER] New value of the variable [SequenceDB *]
  Return [SOFT ] member variable sdb [boolean]


=item sdb

&Wise2::ProteinDB::sdb(obj)

  Access member variable sdb
  For use principly by API functions



  Argument obj          [UNKN ] Object holding the variable [ProteinDB *]
  Return [SOFT ] member variable sdb [SequenceDB *]


=item set_cses

&Wise2::ProteinDB::set_cses(obj,cses)

  Replace member variable cses
  For use principly by API functions



  Argument obj          [UNKN ] Object holding the variable [ProteinDB *]
  Argument cses         [OWNER] New value of the variable [ComplexSequenceEvalSet *]
  Return [SOFT ] member variable cses [boolean]


=item cses

&Wise2::ProteinDB::cses(obj)

  Access member variable cses
  For use principly by API functions



  Argument obj          [UNKN ] Object holding the variable [ProteinDB *]
  Return [SOFT ] member variable cses [ComplexSequenceEvalSet *]


=item set_rnd

&Wise2::ProteinDB::set_rnd(obj,rnd)

  Replace member variable rnd
  For use principly by API functions



  Argument obj          [UNKN ] Object holding the variable [ProteinDB *]
  Argument rnd          [OWNER] New value of the variable [RandomProteinDB *]
  Return [SOFT ] member variable rnd [boolean]


=item rnd

&Wise2::ProteinDB::rnd(obj)

  Access member variable rnd
  For use principly by API functions



  Argument obj          [UNKN ] Object holding the variable [ProteinDB *]
  Return [SOFT ] member variable rnd [RandomProteinDB *]


=item set_test_dna

&Wise2::ProteinDB::set_test_dna(obj,test_dna)

  Replace member variable test_dna
  For use principly by API functions



  Argument obj          [UNKN ] Object holding the variable [ProteinDB *]
  Argument test_dna     [OWNER] New value of the variable [boolean]
  Return [SOFT ] member variable test_dna [boolean]


=item test_dna

&Wise2::ProteinDB::test_dna(obj)

  Access member variable test_dna
  For use principly by API functions



  Argument obj          [UNKN ] Object holding the variable [ProteinDB *]
  Return [SOFT ] member variable test_dna [boolean]


=back

=over

=item new_ProteinDB_from_single_seq

&Wise2::new_ProteinDB_from_single_seq(seq)

  To make a new protein database
  from a single Sequence with default amino acid mapping



  Argument seq          [UNKN ] sequence which as placed into ProteinDB structure. [Sequence *]
  Return [UNKN ] Undocumented return value [ProteinDB *]


=item single_fasta_ProteinDB

&Wise2::single_fasta_ProteinDB(filename)

  pre-packed single fasta protein database




  Argument filename     [UNKN ] name of fasta file [char *]
  Return [UNKN ] Undocumented return value [ProteinDB *]


=item new_ProteinDB

&Wise2::new_ProteinDB(seqdb,cses)

  To make a new protein database



  Argument seqdb        [UNKN ] sequence database [SequenceDB *]
  Argument cses         [UNKN ] protein evaluation set [ComplexSequenceEvalSet *]
  Return [UNKN ] Undocumented return value [ProteinDB *]


=back

