Db 1.1.0 1.5.2 delta

From BioPerl
Jump to: navigation, search

These are detailed notes on changes made between bioperl-release-1-1-0 and bioperl-db-release-1-5-2.

Bio::BioEntry
First commit of re-structured and re-written biosql adaptors.
Bio::DB::Annotation
First commit of re-structured and re-written biosql adaptors.
Bio::DB::BioDB
First commit of re-structured and re-written biosql adaptors.
Added documentation. Fixed Map/DBAdaptor to pull it parameters from a DBContextI object if provided. This makes the markerdb tests pass.
I've got comments working to the extent that they are stored, and can be explicitly retrieved (by PK). Automatic retrieval for built seq objects yet to follow. All tests pass now except a single one testing for DBLink::optional_id (not supported yet). Switched to AutoCommit off. Adapted load_seqdatabase.pl to work with the new code, not tested yet.
Various mostly small changes and fixes. load_seqdatabase.pl largely changed to adopt the new adaptor architecture. Currently being tested for swissprot.
Committed pending locuslink test. Fixed error handling (or the lack of it) in BioDB and SimpleDBContext. Fixed doc error in README.
Turned off DBI statement error printing by default. It can still be turned on by a flag to BioDB->new(). Added removal of all relationships in an ontology prior to serializing the new ones. Added removal of synonyms before serializing the new ones. Both of these keep stale records out of the database.
Passing on -verbose setting.
Added the capability to read in an initialization file.
Added dsn property to DBContextI. Added -dsn option and dsn() implementation to SimpleDBContext. Added --dsn option and documentation to the loader scripts. Changed build_dsn() in the Bio::DB::DBI modules to use the dsn verbatim if defined. Added tests to check this behavior and the parse results. Added recognition of and documentation for --initrc to the loading scripts.
Can't have defaults in the scripts anymore or otherwise they will always override what's in the --initrc file. Also, can't call ->isa() on an ordinary hash.
Bio::DB::BioDatabasePSeqStream
Remove modules no longer in use
Bio::DB::BioSQL::AbstractQuery
Retired or moved modules.
Bio::DB::BioSQL::AnnotationCollectionAdaptor
First commit of re-structured and re-written biosql adaptors.
I've got comments working to the extent that they are stored, and can be explicitly retrieved (by PK). Automatic retrieval for built seq objects yet to follow. All tests pass now except a single one testing for DBLink::optional_id (not supported yet). Switched to AutoCommit off. Adapted load_seqdatabase.pl to work with the new code, not tested yet.
Various mostly small changes and fixes. load_seqdatabase.pl largely changed to adopt the new adaptor architecture. Currently being tested for swissprot.
Added support for remote feature locations. Fixed a serious bug that became active if you removed objects that had children, and then re-create the object (the children would have been lost).
First revision of a Bio::ClusterI adaptor. Various fixes and small changes across the board. The ClusterI adaptor works except for storing the members (also, it's not been tested on Oracle yet), which is why the 2 tests in cluster.t are failing.
Various fixes across the board to get LocusLink and clusters to work. The only thing missing is retrieving the members of the cluster after find_by_XXX.
Solved a whole bunch of UPDATE-related problems. Seems to work now ...
Added possibility to remove associations. Enabled removing entire annotation collections. Added tests for this functionality. Improved documentation. Added a merge script that only updates on new version.
Fixed a bug in the AnnotationCollection adaptor which wasn't creating persistent objects.
This is the second series of changes required to make bioperl-db run on top of the after-Singapore schema. At this point query.t is very much broken due to the Taxon table changes. All other tests pass though.
Fixed missing import statement. Fixed missing version.
Various fixes to correctly deal with annotation objects that are possibly string-overloaded. Also, some fixes to deal with the fact that an object may be eq-overloaded. These are needed to work with the 1.5+ releases of Bioperl.
Bio::DB::BioSQL::BaseAdaptor
Retired or moved modules.
Bio::DB::BioSQL::BaseDriver
First commit of re-structured and re-written biosql adaptors.
Fixed a nasty caching bug. Added caching_mode() to the base adaptor implementation. Changed insert_object() in the driver to report undef upon failure as indicated by $rv. Made two more tests pass.
I've got comments working to the extent that they are stored, and can be explicitly retrieved (by PK). Automatic retrieval for built seq objects yet to follow. All tests pass now except a single one testing for DBLink::optional_id (not supported yet). Switched to AutoCommit off. Adapted load_seqdatabase.pl to work with the new code, not tested yet.
Various mostly small changes and fixes. load_seqdatabase.pl largely changed to adopt the new adaptor architecture. Currently being tested for swissprot.
Adapted for the SeqFeatureI name change of display_id to display_name.
Oracle driver and schema driver. The rest is fixes.
First revision of a Bio::ClusterI adaptor. Various fixes and small changes across the board. The ClusterI adaptor works except for storing the members (also, it's not been tested on Oracle yet), which is why the 2 tests in cluster.t are failing.
Various fixes across the board to get LocusLink and clusters to work. The only thing missing is retrieving the members of the cluster after find_by_XXX.
Better debug reporting.
Solved a whole bunch of UPDATE-related problems. Seems to work now ...
Improved debug information reporting. Fixed seq_id parsing for remote locations.
Improved logging upon error. Fixed test in fuzzy2.t: version parsing works now!
Added possibility to remove associations. Enabled removing entire annotation collections. Added tests for this functionality. Improved documentation. Added a merge script that only updates on new version.
First chunk of changes necessary to comply with the Singapore version of the schema. Not fully implemented yet, don't use this for anything real.
Fixes to make the seq adaptors work with the division column moving to bioentry.
Added compatibility with the Singapore schema to the PostgreSQL adaptors. All tests pass, even without spit-ups.
Wrote ontology test script that dumps an ontology (here: SOFA) into biosql, and subsequently re-retrieves it. Added code to compute, insert, and truncate the transitive closure table for ontologies. Added a test for that code, all tests pass.
Fixed a problem in BaseDriver::foreign_key_name which was due to the fact that the mapping algorithm in a not very obvious way relied on the sort order of hash keys, which changes in perl 5.8.x ... The problem only manifested for objects which implemented multiple interfaces that map to different tables. Introduced an explicit, inheritance-following sort order. All tests pass.
Brought the Oracle adaptor drivers up-to-date wrt the biosql singapore changes. Fixed a few bugs pertaining to those changes. All tests pass on Oracle! (Note that the pertinent changes in the Oracle version of biosql are not yet in the biosql repository - but they will be soon.)
Separated out bind_param() so that a RDBMS-specific driver can intercept it. DBD::Oracle needs some help here, but unfortunately that doesn't cut it if the tables are in fact synonyms. Odd, annoying.
Removed method length() from Persistent::PrimarySeq as Bio::PrimarySeq has that functionality now too (and is even a lot better). Separated out bind_param() and prepare() in BaseDriver so that they can be intercepted by an inheriting driver. Added code to the Oracle BiosequenceAdaptorDriver that does this and then applies some magic to make NVL()-wrapped LOB parameters work (well, actually only biosequence.seq).
Third iteration to get the NVL-wrapped LOB column update problem solved. Tests look promising (meaning they pass, and a separate test file exemplifying problem cases does too). We now keep 2 statements around and an interceptor decides which one to choose.
A few cosmetic fixes to get less warnings about things being uninitialized. Removed lookup by display_id from PrimarySeqAdaptor (as it's not backed at all by a UK constraint), added namespace to primary_id lookup, and made primary_id and accession ORed lookups.
Introduced a crc64() implementation into the base adaptor class. Added support for an optional CRC column in the biosequence table. Right now this column is only enabled for the Oracle driver.
Added 'name' key for biodatabase => matching field name in db
Added -flat_only option when finding by query.
Added context mappings for foreign keys to term in seqfeature.
Added the ability to return the ranks of annotations as they are stored in the database. Seems to work at least for bioentry annotations, but needs to be tested more rigorously to be sure.
Fix Bug address
Bio::DB::BioSQL::BasePersistenceAdaptor
First commit of re-structured and re-written biosql adaptors.
Fixed a nasty caching bug. Added caching_mode() to the base adaptor implementation. Changed insert_object() in the driver to report undef upon failure as indicated by $rv. Made two more tests pass.
Primarily a fix in the base persistence implementation, and re-wrote remove.t test.
I've got comments working to the extent that they are stored, and can be explicitly retrieved (by PK). Automatic retrieval for built seq objects yet to follow. All tests pass now except a single one testing for DBLink::optional_id (not supported yet). Switched to AutoCommit off. Adapted load_seqdatabase.pl to work with the new code, not tested yet.
Various mostly small changes and fixes. load_seqdatabase.pl largely changed to adopt the new adaptor architecture. Currently being tested for swissprot.
More fixes to the Oracle driver working. A quarter of swissprot made it, but then something got stuck somehow and I don't know what and how. :|
Added test for and fixed bug when updating SeqFeatureIs reported by Tom Henderson. FK objects are now also create()d on update if they don't have a valid primary key.
Added support for remote feature locations. Fixed a serious bug that became active if you removed objects that had children, and then re-create the object (the children would have been lost).
First revision of a Bio::ClusterI adaptor. Various fixes and small changes across the board. The ClusterI adaptor works except for storing the members (also, it's not been tested on Oracle yet), which is why the 2 tests in cluster.t are failing.
Various fixes across the board to get LocusLink and clusters to work. The only thing missing is retrieving the members of the cluster after find_by_XXX.
Further changes an fixes to accommodate Ensembl loading. Also added the capability of providing a closure to merge old and new object in load-seqdatabase.pl.
Added check for prepare() succeeding - Oracle does do a real prepare and will complain about a misformatted statement.
Added retrieval of cluster members upon find_by_XXXX, related fixes.
Better debug reporting.
Added possibility to remove associations. Enabled removing entire annotation collections. Added tests for this functionality. Improved documentation. Added a merge script that only updates on new version.
Pass adaptor as parameter to driver initialization in order to be able to set driver-specific properties of the DBI handle.
Fixed a bug in the AnnotationCollection adaptor which wasn't creating persistent objects.
Better UK error reporting.
Added Pg support submitted by Yves Bastide <ybastide@irisa.fr>. There is still a snag to be resolved created by Postgres aborting the entire transaction if a DML statement fails. Added column docid to reference. Changed Reference adaptor to store the CRC in that column instead of the medline column.
First chunk of changes necessary to comply with the Singapore version of the schema. Not fully implemented yet, don't use this for anything real.
Added compatibility with the Singapore schema to the PostgreSQL adaptors. All tests pass, even without spit-ups.
Wrote ontology test script that dumps an ontology (here: SOFA) into biosql, and subsequently re-retrieves it. Added code to compute, insert, and truncate the transitive closure table for ontologies. Added a test for that code, all tests pass.
Support of the latest biosql-schema renamings done (only rel.ships and path tables). Ontology term synonyms and dbxrefs are now supported too. Tests pass against Pg and mysql.
Added capability of sequentially searching multiple unique keys until a match is found. Changed get_unique_key_query in ReferenceAdaptor to exploit this (will search by Medline, PubMed, CRC, in this order). Promoted documentation of return value to all adaptors.
Add more throws to keep the code strict
Reverted previous change. You can't throw an exception here because it is a valid condition that can lead to the error. The documentation actually states what this condition is.
Fixed the bug I introduced to load_seqdatabase.pl. Got the ontology loader fully working, including generating the transitive closure at the end. Disabled cascading to storing children after an object was found by UK instead of inserted from scratch.
Separated out bind_param() so that a RDBMS-specific driver can intercept it. DBD::Oracle needs some help here, but unfortunately that doesn't cut it if the tables are in fact synonyms. Odd, annoying.
Added a Transaction and TransactionListener object. Not used very much yet, but every adaptor can have itself notified now about commits and rollbacks. Added is_dirty() to PersistentObject, and added code to manage and query it where it seems safe. All tests pass.
Removed statement from cache to have it re-created after an unexpected error. Some drivers, e.g., Oracle, get tripped up after certain errors if you don't do this.
Added regexp to catch mysql unique key violation error messages (which are not unexpected at that position).
Added --flatlookup option to load_seqdatabase, and support for it to find_by_unique_key() in BasePersistenceAdaptor. Fixed to small bugs in two test scripts.
Had forgotten to propagate the -flat_only to the _build_object() method. Ugh. Not testing things out does have repercussions.
Integrated load_interpro.pl into load_ontology.pl. To use this functionality right now you will need the bioperl main trunk. The changes in bioperl may be merged into the 1.4.x branch at some point, depending on release plans. Also fixed a bug in RelationshipAdaptor::remove_all_relationships.
Introduced a crc64() implementation into the base adaptor class. Added support for an optional CRC column in the biosequence table. Right now this column is only enabled for the Oracle driver.
Added -flat_only option when finding by query.
Passing on -verbose setting to driver module.
Various fixes to correctly deal with annotation objects that are possibly string-overloaded. Also, some fixes to deal with the fact that an object may be eq-overloaded. These are needed to work with the 1.5+ releases of Bioperl.
Fix Bug address
Bio::DB::BioSQL::BioDatabaseAdaptor
Retired or moved modules.
Support retrieving via ids and a separate method for accession
Allow all entries in a db to be retrieved when no dbid is returned
Bio::DB::BioSQL::BioNamespaceAdaptor
First commit of re-structured and re-written biosql adaptors.
Added support for remote feature locations. Fixed a serious bug that became active if you removed objects that had children, and then re-create the object (the children would have been lost).
Added capability of sequentially searching multiple unique keys until a match is found. Changed get_unique_key_query in ReferenceAdaptor to exploit this (will search by Medline, PubMed, CRC, in this order). Promoted documentation of return value to all adaptors.
Bio::DB::BioSQL::BioQuery
Retired or moved modules.
Bio::DB::BioSQL::BiosequenceAdaptor
First commit of re-structured and re-written biosql adaptors.
I've got comments working to the extent that they are stored, and can be explicitly retrieved (by PK). Automatic retrieval for built seq objects yet to follow. All tests pass now except a single one testing for DBLink::optional_id (not supported yet). Switched to AutoCommit off. Adapted load_seqdatabase.pl to work with the new code, not tested yet.
Oracle driver and schema driver. The rest is fixes.
Added support for remote feature locations. Fixed a serious bug that became active if you removed objects that had children, and then re-create the object (the children would have been lost).
Fixes to make the seq adaptors work with the division column moving to bioentry.
Added capability of sequentially searching multiple unique keys until a match is found. Changed get_unique_key_query in ReferenceAdaptor to exploit this (will search by Medline, PubMed, CRC, in this order). Promoted documentation of return value to all adaptors.
Introduced a crc64() implementation into the base adaptor class. Added support for an optional CRC column in the biosequence table. Right now this column is only enabled for the Oracle driver.
Alphabet compatibility with Biojava (uses all-upper as opposed to bioperl which uses all-lower case).
Bio::DB::BioSQL::ClusterAdaptor
First revision of a Bio::ClusterI adaptor. Various fixes and small changes across the board. The ClusterI adaptor works except for storing the members (also, it's not been tested on Oracle yet), which is why the 2 tests in cluster.t are failing.
Various fixes across the board to get LocusLink and clusters to work. The only thing missing is retrieving the members of the cluster after find_by_XXX.
Added retrieval of cluster members upon find_by_XXXX, related fixes.
This is the second series of changes required to make bioperl-db run on top of the after-Singapore schema. At this point query.t is very much broken due to the Taxon table changes. All other tests pass though.
Fixed forgotten -category parameter names.
Added capability of sequentially searching multiple unique keys until a match is found. Changed get_unique_key_query in ReferenceAdaptor to exploit this (will search by Medline, PubMed, CRC, in this order). Promoted documentation of return value to all adaptors.
Added a Transaction and TransactionListener object. Not used very much yet, but every adaptor can have itself notified now about commits and rollbacks. Added is_dirty() to PersistentObject, and added code to manage and query it where it seems safe. All tests pass.
Added remove_members to adaptor for clusters.
Fixed a somewhat serious bug in wrongly assigning subject to the cluster member and object to the cluster. This was introduced when migrating to the Singapore-version of subject and object instead of parent and child.
Made member look-up flat when storing members. Changed del-assocs-sql to include seqfeature only for FeatureHolderIs, remove cluster members using the adaptor instead of direct sql, and constrain term association not to include the type only if the new entry doesn't come with a type. Added optional progress logging to load_seqdatabase.pl.
Interesting to observe the knock-on effects on forgotten use statements if you execute less code.
Corrected authors. This never existed before, unlike e.g. SeqAdaptor.
Various fixes to correctly deal with annotation objects that are possibly string-overloaded. Also, some fixes to deal with the fact that an object may be eq-overloaded. These are needed to work with the 1.5+ releases of Bioperl.
Bio::DB::BioSQL::CommentAdaptor
I've got comments working to the extent that they are stored, and can be explicitly retrieved (by PK). Automatic retrieval for built seq objects yet to follow. All tests pass now except a single one testing for DBLink::optional_id (not supported yet). Switched to AutoCommit off. Adapted load_seqdatabase.pl to work with the new code, not tested yet.
Added support for remote feature locations. Fixed a serious bug that became active if you removed objects that had children, and then re-create the object (the children would have been lost).
Added capability of sequentially searching multiple unique keys until a match is found. Changed get_unique_key_query in ReferenceAdaptor to exploit this (will search by Medline, PubMed, CRC, in this order). Promoted documentation of return value to all adaptors.
Various fixes to correctly deal with annotation objects that are possibly string-overloaded. Also, some fixes to deal with the fact that an object may be eq-overloaded. These are needed to work with the 1.5+ releases of Bioperl.
Added the ability to return the ranks of annotations as they are stored in the database. Seems to work at least for bioentry annotations, but needs to be tested more rigorously to be sure.
Bio::DB::BioSQL::DBAdaptor
First commit of re-structured and re-written biosql adaptors.
I've got comments working to the extent that they are stored, and can be explicitly retrieved (by PK). Automatic retrieval for built seq objects yet to follow. All tests pass now except a single one testing for DBLink::optional_id (not supported yet). Switched to AutoCommit off. Adapted load_seqdatabase.pl to work with the new code, not tested yet.
Wrote ontology test script that dumps an ontology (here: SOFA) into biosql, and subsequently re-retrieves it. Added code to compute, insert, and truncate the transitive closure table for ontologies. Added a test for that code, all tests pass.
Doc fixed
Turned off DBI statement error printing by default. It can still be turned on by a flag to BioDB->new(). Added removal of all relationships in an ontology prior to serializing the new ones. Added removal of synonyms before serializing the new ones. Both of these keep stale records out of the database.
Integrated load_interpro.pl into load_ontology.pl. To use this functionality right now you will need the bioperl main trunk. The changes in bioperl may be merged into the 1.4.x branch at some point, depending on release plans. Also fixed a bug in RelationshipAdaptor::remove_all_relationships.
Various fixes to correctly deal with annotation objects that are possibly string-overloaded. Also, some fixes to deal with the fact that an object may be eq-overloaded. These are needed to work with the 1.5+ releases of Bioperl.
Add module that allows access to BioSQL using OBDA
Bio::DB::BioSQL::DBLinkAdaptor
First commit of re-structured and re-written biosql adaptors.
Various mostly small changes and fixes. load_seqdatabase.pl largely changed to adopt the new adaptor architecture. Currently being tested for swissprot.
Oracle driver and schema driver. The rest is fixes.
Added support for remote feature locations. Fixed a serious bug that became active if you removed objects that had children, and then re-create the object (the children would have been lost).
Added capability of sequentially searching multiple unique keys until a match is found. Changed get_unique_key_query in ReferenceAdaptor to exploit this (will search by Medline, PubMed, CRC, in this order). Promoted documentation of return value to all adaptors.
Added the ability to return the ranks of annotations as they are stored in the database. Seems to work at least for bioentry annotations, but needs to be tested more rigorously to be sure.
Bio::DB::BioSQL::DBXrefAdaptor
Retired or moved modules.
Bio::DB::BioSQL::LocationAdaptor
First commit of re-structured and re-written biosql adaptors.
Added support for remote feature locations. Fixed a serious bug that became active if you removed objects that had children, and then re-create the object (the children would have been lost).
Fixed parsing of remote location seqids into DBLinks.
Solved a whole bunch of UPDATE-related problems. Seems to work now ...
Improved debug information reporting. Fixed seq_id parsing for remote locations.
Added capability of sequentially searching multiple unique keys until a match is found. Changed get_unique_key_query in ReferenceAdaptor to exploit this (will search by Medline, PubMed, CRC, in this order). Promoted documentation of return value to all adaptors.
Strand cannot be null in the biosql schema.
Bio::DB::BioSQL::MultiDB
Add more throws to keep the code strict
Supports concurrent query if the namespace is not specified. it chooses to go thread or non-thread approach automatically by detecting if Thread.pm is installed
Bio::DB::BioSQL::OBDA
Add module that allows access to BioSQL using OBDA
Change email, change to use base
Bio::DB::BioSQL::OntologyAdaptor
Initial revision of Ontology Adaptor.
Wrote ontology test script that dumps an ontology (here: SOFA) into biosql, and subsequently re-retrieves it. Added code to compute, insert, and truncate the transitive closure table for ontologies. Added a test for that code, all tests pass.
Added capability of sequentially searching multiple unique keys until a match is found. Changed get_unique_key_query in ReferenceAdaptor to exploit this (will search by Medline, PubMed, CRC, in this order). Promoted documentation of return value to all adaptors.
Fixes/changes in order to create the identity paths with distance zero for the transitive closure over the relationships in an ontology. Added tests for zero distance paths too. All tests pass, for all three platforms.
Bio::DB::BioSQL::OntologyTermAdaptor
Retired or moved modules.
Bio::DB::BioSQL::Oracle::AnnotationCollectionAdaptorDriver
Oracle driver and schema driver. The rest is fixes.
Bio::DB::BioSQL::Oracle::BasePersistenceAdaptorDriver
Oracle driver and schema driver. The rest is fixes.
Fixed the Oracle driver. All tests pass except the one testing for the unsupported DBLink::optional_id.
First revision of a Bio::ClusterI adaptor. Various fixes and small changes across the board. The ClusterI adaptor works except for storing the members (also, it's not been tested on Oracle yet), which is why the 2 tests in cluster.t are failing.
Various fixes across the board to get LocusLink and clusters to work. The only thing missing is retrieving the members of the cluster after find_by_XXX.
Fixed adaptors and schema to accommodate ensembl loading.
Pass adaptor as parameter to driver initialization in order to be able to set driver-specific properties of the DBI handle.
Added Pg support submitted by Yves Bastide <ybastide@irisa.fr>. There is still a snag to be resolved created by Postgres aborting the entire transaction if a DML statement fails. Added column docid to reference. Changed Reference adaptor to store the CRC in that column instead of the medline column.
Brought the Oracle adaptor drivers up-to-date wrt the biosql singapore changes. Fixed a few bugs pertaining to those changes. All tests pass on Oracle! (Note that the pertinent changes in the Oracle version of biosql are not yet in the biosql repository - but they will be soon.)
Separated out bind_param() so that a RDBMS-specific driver can intercept it. DBD::Oracle needs some help here, but unfortunately that doesn't cut it if the tables are in fact synonyms. Odd, annoying.
Removed method length() from Persistent::PrimarySeq as Bio::PrimarySeq has that functionality now too (and is even a lot better). Separated out bind_param() and prepare() in BaseDriver so that they can be intercepted by an inheriting driver. Added code to the Oracle BiosequenceAdaptorDriver that does this and then applies some magic to make NVL()-wrapped LOB parameters work (well, actually only biosequence.seq).
Implemented both versions for view-based and alias-based API in Oracle BasePersistenceAdaptorDriver. Corrected the location of the progress log statement in load_seqdatabase.
Introduced a crc64() implementation into the base adaptor class. Added support for an optional CRC column in the biosequence table. Right now this column is only enabled for the Oracle driver.
Added -flat_only option when finding by query.
Added context mappings for foreign keys to term in seqfeature.
Bio::DB::BioSQL::Oracle::BiosequenceAdaptorDriver
Oracle driver and schema driver. The rest is fixes.
Fixed the Oracle driver. All tests pass except the one testing for the unsupported DBLink::optional_id.
Enabled omitting the row in biosequence if this doesn't pertain to an object or entity (judged by whether or not at least a single attribute has a value evaluating to TRUE).
Brought the Oracle adaptor drivers up-to-date wrt the biosql singapore changes. Fixed a few bugs pertaining to those changes. All tests pass on Oracle! (Note that the pertinent changes in the Oracle version of biosql are not yet in the biosql repository - but they will be soon.)
Separated out bind_param() so that a RDBMS-specific driver can intercept it. DBD::Oracle needs some help here, but unfortunately that doesn't cut it if the tables are in fact synonyms. Odd, annoying.
Removed method length() from Persistent::PrimarySeq as Bio::PrimarySeq has that functionality now too (and is even a lot better). Separated out bind_param() and prepare() in BaseDriver so that they can be intercepted by an inheriting driver. Added code to the Oracle BiosequenceAdaptorDriver that does this and then applies some magic to make NVL()-wrapped LOB parameters work (well, actually only biosequence.seq).
Greatly simplified the update_object() override to just try an update and only resort to insert if the update affects zero rows. This should reduce the number of queries per object by one for 90% of use-cases.
Third iteration to get the NVL-wrapped LOB column update problem solved. Tests look promising (meaning they pass, and a separate test file exemplifying problem cases does too). We now keep 2 statements around and an interceptor decides which one to choose.
Added a third variant of the update seq statement. This should fix the possible overriding of an existing value with itself to become NULL b/c NVL() can't do CLOBs.
Bio::DB::BioSQL::Oracle::PathAdaptorDriver
Brought the Oracle adaptor drivers up-to-date wrt the biosql singapore changes. Fixed a few bugs pertaining to those changes. All tests pass on Oracle! (Note that the pertinent changes in the Oracle version of biosql are not yet in the biosql repository - but they will be soon.)
Fixes/changes in order to create the identity paths with distance zero for the transitive closure over the relationships in an ontology. Added tests for zero distance paths too. All tests pass, for all three platforms.
Bio::DB::BioSQL::Oracle::SpeciesAdaptorDriver
Brought the Oracle adaptor drivers up-to-date wrt the biosql singapore changes. Fixed a few bugs pertaining to those changes. All tests pass on Oracle! (Note that the pertinent changes in the Oracle version of biosql are not yet in the biosql repository - but they will be soon.)
Fixed subspecies designation and extraction bugs.
Bio::DB::BioSQL::Oracle::TermAdaptorDriver
Brought the Oracle adaptor drivers up-to-date wrt the biosql singapore changes. Fixed a few bugs pertaining to those changes. All tests pass on Oracle! (Note that the pertinent changes in the Oracle version of biosql are not yet in the biosql repository - but they will be soon.)
Turned off DBI statement error printing by default. It can still be turned on by a flag to BioDB->new(). Added removal of all relationships in an ontology prior to serializing the new ones. Added removal of synonyms before serializing the new ones. Both of these keep stale records out of the database.
Integrated load_interpro.pl into load_ontology.pl. To use this functionality right now you will need the bioperl main trunk. The changes in bioperl may be merged into the 1.4.x branch at some point, depending on release plans. Also fixed a bug in RelationshipAdaptor::remove_all_relationships.
Bio::DB::BioSQL::PathAdaptor
Wrote ontology test script that dumps an ontology (here: SOFA) into biosql, and subsequently re-retrieves it. Added code to compute, insert, and truncate the transitive closure table for ontologies. Added a test for that code, all tests pass.
Various fixes to correctly deal with annotation objects that are possibly string-overloaded. Also, some fixes to deal with the fact that an object may be eq-overloaded. These are needed to work with the 1.5+ releases of Bioperl.
Fixes/changes in order to create the identity paths with distance zero for the transitive closure over the relationships in an ontology. Added tests for zero distance paths too. All tests pass, for all three platforms.
Bio::DB::BioSQL::Pg::AnnotationCollectionAdaptorDriver
Added Pg support submitted by Yves Bastide <ybastide@irisa.fr>. There is still a snag to be resolved created by Postgres aborting the entire transaction if a DML statement fails. Added column docid to reference. Changed Reference adaptor to store the CRC in that column instead of the medline column.
Bio::DB::BioSQL::Pg::BasePersistenceAdaptorDriver
Added Pg support submitted by Yves Bastide <ybastide@irisa.fr>. There is still a snag to be resolved created by Postgres aborting the entire transaction if a DML statement fails. Added column docid to reference. Changed Reference adaptor to store the CRC in that column instead of the medline column.
Fixed reference column name mapping.
Added compatibility with the Singapore schema to the PostgreSQL adaptors. All tests pass, even without spit-ups.
Migrating and adapting to Pg the changes to support transitive closure computation and path table for ontology terms. Tests pass for Pg too.
Support of the latest biosql-schema renamings done (only rel.ships and path tables). Ontology term synonyms and dbxrefs are now supported too. Tests pass against Pg and mysql.
Added capability of sequentially searching multiple unique keys until a match is found. Changed get_unique_key_query in ReferenceAdaptor to exploit this (will search by Medline, PubMed, CRC, in this order). Promoted documentation of return value to all adaptors.
Brought the Oracle adaptor drivers up-to-date wrt the biosql singapore changes. Fixed a few bugs pertaining to those changes. All tests pass on Oracle! (Note that the pertinent changes in the Oracle version of biosql are not yet in the biosql repository - but they will be soon.)
Bio::DB::BioSQL::Pg::BiosequenceAdaptorDriver
Added Pg support submitted by Yves Bastide <ybastide@irisa.fr>. There is still a snag to be resolved created by Postgres aborting the entire transaction if a DML statement fails. Added column docid to reference. Changed Reference adaptor to store the CRC in that column instead of the medline column.
Fixed bug in substring selection statement (missing space; apparently Pg 8.x is more unforgiving about this than 7.x).
Fixed parameter binding for SUBSTRING function. DBD::Pg by default binds everything as string, which is not exactly what we want sometimes.
Removed debugging cruft.
Bio::DB::BioSQL::Pg::PathAdaptorDriver
Migrating and adapting to Pg the changes to support transitive closure computation and path table for ontology terms. Tests pass for Pg too.
Support of the latest biosql-schema renamings done (only rel.ships and path tables). Ontology term synonyms and dbxrefs are now supported too. Tests pass against Pg and mysql.
Fixes/changes in order to create the identity paths with distance zero for the transitive closure over the relationships in an ontology. Added tests for zero distance paths too. All tests pass, for all three platforms.
Bio::DB::BioSQL::Pg::SpeciesAdaptorDriver
Added compatibility with the Singapore schema to the PostgreSQL adaptors. All tests pass, even without spit-ups.
Silenced a warning due to undef being string-eq compared to something.
Fixed subspecies designation and extraction bugs.
Bio::DB::BioSQL::Pg::TermAdaptorDriver
Support of the latest biosql-schema renamings done (only rel.ships and path tables). Ontology term synonyms and dbxrefs are now supported too. Tests pass against Pg and mysql.
Turned off DBI statement error printing by default. It can still be turned on by a flag to BioDB->new(). Added removal of all relationships in an ontology prior to serializing the new ones. Added removal of synonyms before serializing the new ones. Both of these keep stale records out of the database.
Bio::DB::BioSQL::PrimarySeqAdaptor
First commit of re-structured and re-written biosql adaptors.
Various mostly small changes and fixes. load_seqdatabase.pl largely changed to adopt the new adaptor architecture. Currently being tested for swissprot.
Oracle driver and schema driver. The rest is fixes.
Fixed the Oracle driver. All tests pass except the one testing for the unsupported DBLink::optional_id.
Added support for remote feature locations. Fixed a serious bug that became active if you removed objects that had children, and then re-create the object (the children would have been lost).
First revision of a Bio::ClusterI adaptor. Various fixes and small changes across the board. The ClusterI adaptor works except for storing the members (also, it's not been tested on Oracle yet), which is why the 2 tests in cluster.t are failing.
Enabled omitting the row in biosequence if this doesn't pertain to an object or entity (judged by whether or not at least a single attribute has a value evaluating to TRUE).
Fixes to make the seq adaptors work with the division column moving to bioentry.
Added capability of sequentially searching multiple unique keys until a match is found. Changed get_unique_key_query in ReferenceAdaptor to exploit this (will search by Medline, PubMed, CRC, in this order). Promoted documentation of return value to all adaptors.
A few cosmetic fixes to get less warnings about things being uninitialized. Removed lookup by display_id from PrimarySeqAdaptor (as it's not backed at all by a UK constraint), added namespace to primary_id lookup, and made primary_id and accession ORed lookups.
Changed handling of namespace in unique key query generation to be strict if provided, and lenient if omitted only for primary_id. Made version in (acc,v,namespace) key query optional.
Add module that allows access to BioSQL using OBDA
Bio::DB::BioSQL::QueryConstraint
Retired or moved modules.
Bio::DB::BioSQL::ReferenceAdaptor
First commit of re-structured and re-written biosql adaptors.
Added support for remote feature locations. Fixed a serious bug that became active if you removed objects that had children, and then re-create the object (the children would have been lost).
Implemented virtual unique key as a CRC64 checksum. Enabled caching by default.
Added Pg support submitted by Yves Bastide <ybastide@irisa.fr>. There is still a snag to be resolved created by Postgres aborting the entire transaction if a DML statement fails. Added column docid to reference. Changed Reference adaptor to store the CRC in that column instead of the medline column.
First chunk of changes necessary to comply with the Singapore version of the schema. Not fully implemented yet, don't use this for anything real.
This is the second series of changes required to make bioperl-db run on top of the after-Singapore schema. At this point query.t is very much broken due to the Taxon table changes. All other tests pass though.
Added capability of sequentially searching multiple unique keys until a match is found. Changed get_unique_key_query in ReferenceAdaptor to exploit this (will search by Medline, PubMed, CRC, in this order). Promoted documentation of return value to all adaptors.
Fixed bug resulting from copy&paste ...
Corrected case of PubMed to all-uppercase to be consistent with e.g. the locuslink parser in Bioperl. (I could have changed the latter as well, it's just who has precedence.)
Introduced a crc64() implementation into the base adaptor class. Added support for an optional CRC column in the biosequence table. Right now this column is only enabled for the Oracle driver.
Added the ability to return the ranks of annotations as they are stored in the database. Seems to work at least for bioentry annotations, but needs to be tested more rigorously to be sure.
Bio::DB::BioSQL::RelationshipAdaptor
Wrote ontology test script that dumps an ontology (here: SOFA) into biosql, and subsequently re-retrieves it. Added code to compute, insert, and truncate the transitive closure table for ontologies. Added a test for that code, all tests pass.
Added capability of sequentially searching multiple unique keys until a match is found. Changed get_unique_key_query in ReferenceAdaptor to exploit this (will search by Medline, PubMed, CRC, in this order). Promoted documentation of return value to all adaptors.
Turned off DBI statement error printing by default. It can still be turned on by a flag to BioDB->new(). Added removal of all relationships in an ontology prior to serializing the new ones. Added removal of synonyms before serializing the new ones. Both of these keep stale records out of the database.
Integrated load_interpro.pl into load_ontology.pl. To use this functionality right now you will need the bioperl main trunk. The changes in bioperl may be merged into the 1.4.x branch at some point, depending on release plans. Also fixed a bug in RelationshipAdaptor::remove_all_relationships.
Various fixes to correctly deal with annotation objects that are possibly string-overloaded. Also, some fixes to deal with the fact that an object may be eq-overloaded. These are needed to work with the 1.5+ releases of Bioperl.
Bio::DB::BioSQL::SeqAdaptor
First commit of re-structured and re-written biosql adaptors.
I've got comments working to the extent that they are stored, and can be explicitly retrieved (by PK). Automatic retrieval for built seq objects yet to follow. All tests pass now except a single one testing for DBLink::optional_id (not supported yet). Switched to AutoCommit off. Adapted load_seqdatabase.pl to work with the new code, not tested yet.
Various mostly small changes and fixes. load_seqdatabase.pl largely changed to adopt the new adaptor architecture. Currently being tested for swissprot.
Oracle driver and schema driver. The rest is fixes.
Added support for remote feature locations. Fixed a serious bug that became active if you removed objects that had children, and then re-create the object (the children would have been lost).
First revision of a Bio::ClusterI adaptor. Various fixes and small changes across the board. The ClusterI adaptor works except for storing the members (also, it's not been tested on Oracle yet), which is why the 2 tests in cluster.t are failing.
Further changes an fixes to accommodate Ensembl loading. Also added the capability of providing a closure to merge old and new object in load-seqdatabase.pl.
Solved a whole bunch of UPDATE-related problems. Seems to work now ...
Add store_feature_array as a new method
Oops - function in wrong class
Fixes to make the seq adaptors work with the division column moving to bioentry.
Support of the latest biosql-schema renamings done (only rel.ships and path tables). Ontology term synonyms and dbxrefs are now supported too. Tests pass against Pg and mysql.
Add module that allows access to BioSQL using OBDA
Bio::DB::BioSQL::SeqFeatureAdaptor
First commit of re-structured and re-written biosql adaptors.
Fixed a nasty caching bug. Added caching_mode() to the base adaptor implementation. Changed insert_object() in the driver to report undef upon failure as indicated by $rv. Made two more tests pass.
I've got comments working to the extent that they are stored, and can be explicitly retrieved (by PK). Automatic retrieval for built seq objects yet to follow. All tests pass now except a single one testing for DBLink::optional_id (not supported yet). Switched to AutoCommit off. Adapted load_seqdatabase.pl to work with the new code, not tested yet.
Various mostly small changes and fixes. load_seqdatabase.pl largely changed to adopt the new adaptor architecture. Currently being tested for swissprot.
Adapted for the SeqFeatureI name change of display_id to display_name.
Fixed the Oracle driver. All tests pass except the one testing for the unsupported DBLink::optional_id.
Added support for remote feature locations. Fixed a serious bug that became active if you removed objects that had children, and then re-create the object (the children would have been lost).
First revision of a Bio::ClusterI adaptor. Various fixes and small changes across the board. The ClusterI adaptor works except for storing the members (also, it's not been tested on Oracle yet), which is why the 2 tests in cluster.t are failing.
Fixed adaptors and schema to accommodate ensembl loading.
Further changes an fixes to accommodate Ensembl loading. Also added the capability of providing a closure to merge old and new object in load-seqdatabase.pl.
Solved a whole bunch of UPDATE-related problems. Seems to work now ...
Oops - function in wrong class
This is the second series of changes required to make bioperl-db run on top of the after-Singapore schema. At this point query.t is very much broken due to the Taxon table changes. All other tests pass though.
Fixed a missing module import.
Added capability of sequentially searching multiple unique keys until a match is found. Changed get_unique_key_query in ReferenceAdaptor to exploit this (will search by Medline, PubMed, CRC, in this order). Promoted documentation of return value to all adaptors.
Various fixes to correctly deal with annotation objects that are possibly string-overloaded. Also, some fixes to deal with the fact that an object may be eq-overloaded. These are needed to work with the 1.5+ releases of Bioperl.
Bio::DB::BioSQL::SeqFeatureKeyAdaptor
Retired or moved modules.
Bio::DB::BioSQL::SeqFeatureQualifierAdaptor
Retired or moved modules.
Bio::DB::BioSQL::SeqFeatureSourceAdaptor
Retired or moved modules.
Bio::DB::BioSQL::SeqLocationAdaptor
Primarily a fix in the base persistence implementation, and re-wrote remove.t test.
Bio::DB::BioSQL::SimpleValueAdaptor
First commit of re-structured and re-written biosql adaptors.
Various mostly small changes and fixes. load_seqdatabase.pl largely changed to adopt the new adaptor architecture. Currently being tested for swissprot.
Added support for remote feature locations. Fixed a serious bug that became active if you removed objects that had children, and then re-create the object (the children would have been lost).
First revision of a Bio::ClusterI adaptor. Various fixes and small changes across the board. The ClusterI adaptor works except for storing the members (also, it's not been tested on Oracle yet), which is why the 2 tests in cluster.t are failing.
Various fixes across the board to get LocusLink and clusters to work. The only thing missing is retrieving the members of the cluster after find_by_XXX.
This is the second series of changes required to make bioperl-db run on top of the after-Singapore schema. At this point query.t is very much broken due to the Taxon table changes. All other tests pass though.
Support of the latest biosql-schema renamings done (only rel.ships and path tables). Ontology term synonyms and dbxrefs are now supported too. Tests pass against Pg and mysql.
Added capability of sequentially searching multiple unique keys until a match is found. Changed get_unique_key_query in ReferenceAdaptor to exploit this (will search by Medline, PubMed, CRC, in this order). Promoted documentation of return value to all adaptors.
Fixed Issue #1586 (value of '0' being ignored). Thanks to Par Engstrom for reporting and fix and to Jochen Eisinger for reminding me.
Added the use statement for use Bio::Ontology::Ontology. Issue reported by Mike Muratet.
Various fixes to correctly deal with annotation objects that are possibly string-overloaded. Also, some fixes to deal with the fact that an object may be eq-overloaded. These are needed to work with the 1.5+ releases of Bioperl.
Added the ability to return the ranks of annotations as they are stored in the database. Seems to work at least for bioentry annotations, but needs to be tested more rigorously to be sure.
Bio::DB::BioSQL::SpeciesAdaptor
First commit of re-structured and re-written biosql adaptors.
Various mostly small changes and fixes. load_seqdatabase.pl largely changed to adopt the new adaptor architecture. Currently being tested for swissprot.
Added support for remote feature locations. Fixed a serious bug that became active if you removed objects that had children, and then re-create the object (the children would have been lost).
First chunk of changes necessary to comply with the Singapore version of the schema. Not fully implemented yet, don't use this for anything real.
Basic storing and retrieval of species should work now. Test passes. Full classificationa array does not work yet.
Species serialization/deserialization works now, except for updates (which is disabled). This should work regardless of whether you pre-loaded the NCBI taxon database.
This is the second series of changes required to make bioperl-db run on top of the after-Singapore schema. At this point query.t is very much broken due to the Taxon table changes. All other tests pass though.
Added capability of sequentially searching multiple unique keys until a match is found. Changed get_unique_key_query in ReferenceAdaptor to exploit this (will search by Medline, PubMed, CRC, in this order). Promoted documentation of return value to all adaptors.
Fixed subspecies designation and extraction bugs.
A few cosmetic fixes to get less warnings about things being uninitialized. Removed lookup by display_id from PrimarySeqAdaptor (as it's not backed at all by a UK constraint), added namespace to primary_id lookup, and made primary_id and accession ORed lookups.
Bio::DB::BioSQL::SqlQuery
Retired or moved modules.
Bio::DB::BioSQL::TermAdaptor
First commit of re-structured and re-written biosql adaptors.
Added support for remote feature locations. Fixed a serious bug that became active if you removed objects that had children, and then re-create the object (the children would have been lost).
Various fixes across the board to get LocusLink and clusters to work. The only thing missing is retrieving the members of the cluster after find_by_XXX.
This is the second series of changes required to make bioperl-db run on top of the after-Singapore schema. At this point query.t is very much broken due to the Taxon table changes. All other tests pass though.
Support of the latest biosql-schema renamings done (only rel.ships and path tables). Ontology term synonyms and dbxrefs are now supported too. Tests pass against Pg and mysql.
Added capability of sequentially searching multiple unique keys until a match is found. Changed get_unique_key_query in ReferenceAdaptor to exploit this (will search by Medline, PubMed, CRC, in this order). Promoted documentation of return value to all adaptors.
Fixed the bug I introduced to load_seqdatabase.pl. Got the ontology loader fully working, including generating the transitive closure at the end. Disabled cascading to storing children after an object was found by UK instead of inserted from scratch.
Added a Transaction and TransactionListener object. Not used very much yet, but every adaptor can have itself notified now about commits and rollbacks. Added is_dirty() to PersistentObject, and added code to manage and query it where it seems safe. All tests pass.
In store_children, the object's foreign_key_slot should be saved and clean before store the children, and be restored before return
Turned off DBI statement error printing by default. It can still be turned on by a flag to BioDB->new(). Added removal of all relationships in an ontology prior to serializing the new ones. Added removal of synonyms before serializing the new ones. Both of these keep stale records out of the database.
Added the ability to return the ranks of annotations as they are stored in the database. Seems to work at least for bioentry annotations, but needs to be tested more rigorously to be sure.
Bio::DB::BioSQL::mysql::AnnotationCollectionAdaptorDriver
Retired driver for SimpleValue, added driver for virtual entity AnnotationCollection.
Oracle driver and schema driver. The rest is fixes.
Bio::DB::BioSQL::mysql::BasePersistenceAdaptorDriver
First commit of re-structured and re-written biosql adaptors.
Oracle driver and schema driver. The rest is fixes.
First revision of a Bio::ClusterI adaptor. Various fixes and small changes across the board. The ClusterI adaptor works except for storing the members (also, it's not been tested on Oracle yet), which is why the 2 tests in cluster.t are failing.
Various fixes across the board to get LocusLink and clusters to work. The only thing missing is retrieving the members of the cluster after find_by_XXX.
Fixed adaptors and schema to accommodate ensembl loading.
Added Pg support submitted by Yves Bastide <ybastide@irisa.fr>. There is still a snag to be resolved created by Postgres aborting the entire transaction if a DML statement fails. Added column docid to reference. Changed Reference adaptor to store the CRC in that column instead of the medline column.
Fixed reference column name mapping.
First chunk of changes necessary to comply with the Singapore version of the schema. Not fully implemented yet, don't use this for anything real.
Basic storing and retrieval of species should work now. Test passes. Full classificationa array does not work yet.
Species serialization/deserialization works now, except for updates (which is disabled). This should work regardless of whether you pre-loaded the NCBI taxon database.
This is the second series of changes required to make bioperl-db run on top of the after-Singapore schema. At this point query.t is very much broken due to the Taxon table changes. All other tests pass though.
Updated and adapted to the latest schema changes. This was primarily name changes.
Wrote ontology test script that dumps an ontology (here: SOFA) into biosql, and subsequently re-retrieves it. Added code to compute, insert, and truncate the transitive closure table for ontologies. Added a test for that code, all tests pass.
Support of the latest biosql-schema renamings done (only rel.ships and path tables). Ontology term synonyms and dbxrefs are now supported too. Tests pass against Pg and mysql.
Added capability of sequentially searching multiple unique keys until a match is found. Changed get_unique_key_query in ReferenceAdaptor to exploit this (will search by Medline, PubMed, CRC, in this order). Promoted documentation of return value to all adaptors.
Brought the Oracle adaptor drivers up-to-date wrt the biosql singapore changes. Fixed a few bugs pertaining to those changes. All tests pass on Oracle! (Note that the pertinent changes in the Oracle version of biosql are not yet in the biosql repository - but they will be soon.)
Bio::DB::BioSQL::mysql::BiosequenceAdaptorDriver
First commit of re-structured and re-written biosql adaptors.
Oracle driver and schema driver. The rest is fixes.
Enabled omitting the row in biosequence if this doesn't pertain to an object or entity (judged by whether or not at least a single attribute has a value evaluating to TRUE).
First chunk of changes necessary to comply with the Singapore version of the schema. Not fully implemented yet, don't use this for anything real.
Bio::DB::BioSQL::mysql::PathAdaptorDriver
Wrote ontology test script that dumps an ontology (here: SOFA) into biosql, and subsequently re-retrieves it. Added code to compute, insert, and truncate the transitive closure table for ontologies. Added a test for that code, all tests pass.
Support of the latest biosql-schema renamings done (only rel.ships and path tables). Ontology term synonyms and dbxrefs are now supported too. Tests pass against Pg and mysql.
Fixes/changes in order to create the identity paths with distance zero for the transitive closure over the relationships in an ontology. Added tests for zero distance paths too. All tests pass, for all three platforms.
Bio::DB::BioSQL::mysql::SimpleValueAdaptorDriver
First commit of re-structured and re-written biosql adaptors.
Retired driver for SimpleValue, added driver for virtual entity AnnotationCollection.
Bio::DB::BioSQL::mysql::SpeciesAdaptorDriver
Basic storing and retrieval of species should work now. Test passes. Full classificationa array does not work yet.
Species serialization/deserialization works now, except for updates (which is disabled). This should work regardless of whether you pre-loaded the NCBI taxon database.
This is the second series of changes required to make bioperl-db run on top of the after-Singapore schema. At this point query.t is very much broken due to the Taxon table changes. All other tests pass though.
Added compatibility with the Singapore schema to the PostgreSQL adaptors. All tests pass, even without spit-ups.
Silenced a warning due to undef being string-eq compared to something.
Fixed subspecies designation and extraction bugs.
Bio::DB::BioSQL::mysql::TermAdaptorDriver
Support of the latest biosql-schema renamings done (only rel.ships and path tables). Ontology term synonyms and dbxrefs are now supported too. Tests pass against Pg and mysql.
Brought the Oracle adaptor drivers up-to-date wrt the biosql singapore changes. Fixed a few bugs pertaining to those changes. All tests pass on Oracle! (Note that the pertinent changes in the Oracle version of biosql are not yet in the biosql repository - but they will be soon.)
Turned off DBI statement error printing by default. It can still be turned on by a flag to BioDB->new(). Added removal of all relationships in an ontology prior to serializing the new ones. Added removal of synonyms before serializing the new ones. Both of these keep stale records out of the database.
Bio::DB::BioSeqDatabase
Remove modules no longer in use
Bio::DB::DBAdaptorI
First commit of re-structured and re-written biosql adaptors.
Bio::DB::DBContextI
First commit of re-structured and re-written biosql adaptors.
Added dsn property to DBContextI. Added -dsn option and dsn() implementation to SimpleDBContext. Added --dsn option and documentation to the loader scripts. Changed build_dsn() in the Bio::DB::DBI modules to use the dsn verbatim if defined. Added tests to check this behavior and the parse results. Added recognition of and documentation for --initrc to the loading scripts.
Bio::DB::DBD
First commit of re-structured and re-written biosql adaptors.
Bio::DB::DBI
First commit of re-structured and re-written biosql adaptors.
I've got comments working to the extent that they are stored, and can be explicitly retrieved (by PK). Automatic retrieval for built seq objects yet to follow. All tests pass now except a single one testing for DBLink::optional_id (not supported yet). Switched to AutoCommit off. Adapted load_seqdatabase.pl to work with the new code, not tested yet.
Oracle driver and schema driver. The rest is fixes.
Solved a whole bunch of UPDATE-related problems. Seems to work now ...
Bio::DB::DBI::Oracle
Oracle driver and schema driver. The rest is fixes.
Fixed the Oracle driver. All tests pass except the one testing for the unsupported DBLink::optional_id.
More fixes to the Oracle driver working. A quarter of swissprot made it, but then something got stuck somehow and I don't know what and how. :|
Solved a whole bunch of UPDATE-related problems. Seems to work now ...
Brought the Oracle adaptor drivers up-to-date wrt the biosql singapore changes. Fixed a few bugs pertaining to those changes. All tests pass on Oracle! (Note that the pertinent changes in the Oracle version of biosql are not yet in the biosql repository - but they will be soon.)
Added dsn property to DBContextI. Added -dsn option and dsn() implementation to SimpleDBContext. Added --dsn option and documentation to the loader scripts. Changed build_dsn() in the Bio::DB::DBI modules to use the dsn verbatim if defined. Added tests to check this behavior and the parse results. Added recognition of and documentation for --initrc to the loading scripts.
Bio::DB::DBI::Pg
Added Pg support submitted by Yves Bastide <ybastide@irisa.fr>. There is still a snag to be resolved created by Postgres aborting the entire transaction if a DML statement fails. Added column docid to reference. Changed Reference adaptor to store the CRC in that column instead of the medline column.
Added dsn property to DBContextI. Added -dsn option and dsn() implementation to SimpleDBContext. Added --dsn option and documentation to the loader scripts. Changed build_dsn() in the Bio::DB::DBI modules to use the dsn verbatim if defined. Added tests to check this behavior and the parse results. Added recognition of and documentation for --initrc to the loading scripts.
Bio::DB::DBI::Transaction
Added a Transaction and TransactionListener object. Not used very much yet, but every adaptor can have itself notified now about commits and rollbacks. Added is_dirty() to PersistentObject, and added code to manage and query it where it seems safe. All tests pass.
Bio::DB::DBI::TransactionListener
Added a Transaction and TransactionListener object. Not used very much yet, but every adaptor can have itself notified now about commits and rollbacks. Added is_dirty() to PersistentObject, and added code to manage and query it where it seems safe. All tests pass.
Bio::DB::DBI::base
First commit of re-structured and re-written biosql adaptors.
Retired or moved modules.
I've got comments working to the extent that they are stored, and can be explicitly retrieved (by PK). Automatic retrieval for built seq objects yet to follow. All tests pass now except a single one testing for DBLink::optional_id (not supported yet). Switched to AutoCommit off. Adapted load_seqdatabase.pl to work with the new code, not tested yet.
Oracle driver and schema driver. The rest is fixes.
Fixed the Oracle driver. All tests pass except the one testing for the unsupported DBLink::optional_id.
Add dbcontext method, store dbcontext in the constructor, and let get_connection use the stored dbcontext if it is not provided in arguments
Added dsn property to DBContextI. Added -dsn option and dsn() implementation to SimpleDBContext. Added --dsn option and documentation to the loader scripts. Changed build_dsn() in the Bio::DB::DBI modules to use the dsn verbatim if defined. Added tests to check this behavior and the parse results. Added recognition of and documentation for --initrc to the loading scripts.
Bio::DB::DBI::mysql
First commit of re-structured and re-written biosql adaptors.
Retired or moved modules.
I've got comments working to the extent that they are stored, and can be explicitly retrieved (by PK). Automatic retrieval for built seq objects yet to follow. All tests pass now except a single one testing for DBLink::optional_id (not supported yet). Switched to AutoCommit off. Adapted load_seqdatabase.pl to work with the new code, not tested yet.
Oracle driver and schema driver. The rest is fixes.
Solved a whole bunch of UPDATE-related problems. Seems to work now ...
Fixed a forgotten semicolon in the mysql DBI driver module. Added the capability to specify arguments for processing modules.
Bio::DB::EasyArgv
EasyArgv is a utility to fetch dbcontext related arguments from ARGV
Use var -> our; add default value; && -> and
Bio::DB::PersistenceAdaptorI
First commit of re-structured and re-written biosql adaptors.
I've got comments working to the extent that they are stored, and can be explicitly retrieved (by PK). Automatic retrieval for built seq objects yet to follow. All tests pass now except a single one testing for DBLink::optional_id (not supported yet). Switched to AutoCommit off. Adapted load_seqdatabase.pl to work with the new code, not tested yet.
Bio::DB::Persistent::BioNamespace
First commit of re-structured and re-written biosql adaptors.
Added a Transaction and TransactionListener object. Not used very much yet, but every adaptor can have itself notified now about commits and rollbacks. Added is_dirty() to PersistentObject, and added code to manage and query it where it seems safe. All tests pass.
Bio::DB::Persistent::ObjectRelMapperI
First commit of re-structured and re-written biosql adaptors.
Bio::DB::Persistent::PersistentObject
First commit of re-structured and re-written biosql adaptors.
I've got comments working to the extent that they are stored, and can be explicitly retrieved (by PK). Automatic retrieval for built seq objects yet to follow. All tests pass now except a single one testing for DBLink::optional_id (not supported yet). Switched to AutoCommit off. Adapted load_seqdatabase.pl to work with the new code, not tested yet.
Added a Transaction and TransactionListener object. Not used very much yet, but every adaptor can have itself notified now about commits and rollbacks. Added is_dirty() to PersistentObject, and added code to manage and query it where it seems safe. All tests pass.
We shouldn't compare strings but rather pointers.
Various fixes to correctly deal with annotation objects that are possibly string-overloaded. Also, some fixes to deal with the fact that an object may be eq-overloaded. These are needed to work with the 1.5+ releases of Bioperl.
Bio::DB::Persistent::PersistentObjectFactory
First commit of re-structured and re-written biosql adaptors.
Bio::DB::Persistent::PrimarySeq
First commit of re-structured and re-written biosql adaptors.
Oracle driver and schema driver. The rest is fixes.
Solved a whole bunch of UPDATE-related problems. Seems to work now ...
Removed method length() from Persistent::PrimarySeq as Bio::PrimarySeq has that functionality now too (and is even a lot better). Separated out bind_param() and prepare() in BaseDriver so that they can be intercepted by an inheriting driver. Added code to the Oracle BiosequenceAdaptorDriver that does this and then applies some magic to make NVL()-wrapped LOB parameters work (well, actually only biosequence.seq).
Added a Transaction and TransactionListener object. Not used very much yet, but every adaptor can have itself notified now about commits and rollbacks. Added is_dirty() to PersistentObject, and added code to manage and query it where it seems safe. All tests pass.
Bio::DB::Persistent::Seq
First commit of re-structured and re-written biosql adaptors.
Added a Transaction and TransactionListener object. Not used very much yet, but every adaptor can have itself notified now about commits and rollbacks. Added is_dirty() to PersistentObject, and added code to manage and query it where it seems safe. All tests pass.
Bio::DB::Persistent::SeqFeature
First commit of re-structured and re-written biosql adaptors.
Bio::DB::PersistentObjectI
First commit of re-structured and re-written biosql adaptors.
I've got comments working to the extent that they are stored, and can be explicitly retrieved (by PK). Automatic retrieval for built seq objects yet to follow. All tests pass now except a single one testing for DBLink::optional_id (not supported yet). Switched to AutoCommit off. Adapted load_seqdatabase.pl to work with the new code, not tested yet.
Bio::DB::PrimarySeq
First commit of re-structured and re-written biosql adaptors.
Accession number alias for accession wasn't properly called
Bio::DB::Query::AbstractQuery
First commit of re-structured and re-written biosql adaptors.
Bio::DB::Query::BioQuery
First commit of re-structured and re-written biosql adaptors.
First revision of a Bio::ClusterI adaptor. Various fixes and small changes across the board. The ClusterI adaptor works except for storing the members (also, it's not been tested on Oracle yet), which is why the 2 tests in cluster.t are failing.
Various fixes across the board to get LocusLink and clusters to work. The only thing missing is retrieving the members of the cluster after find_by_XXX.
Added retrieval of cluster members upon find_by_XXXX, related fixes.
Wrote ontology test script that dumps an ontology (here: SOFA) into biosql, and subsequently re-retrieves it. Added code to compute, insert, and truncate the transitive closure table for ontologies. Added a test for that code, all tests pass.
A few cosmetic fixes to get less warnings about things being uninitialized. Removed lookup by display_id from PrimarySeqAdaptor (as it's not backed at all by a UK constraint), added namespace to primary_id lookup, and made primary_id and accession ORed lookups.
Bio::DB::Query::DBQueryResult
First commit of re-structured and re-written biosql adaptors.
Added -flat_only option when finding by query.
Bio::DB::Query::PrebuiltResult
First commit of re-structured and re-written biosql adaptors.
Bio::DB::Query::QueryConstraint
First commit of re-structured and re-written biosql adaptors.
Fixed is-a RootI instead of Root (is now the latter) (reported by Tim Henderson).
Various fixes across the board to get LocusLink and clusters to work. The only thing missing is retrieving the members of the cluster after find_by_XXX.
Correct the doc
Bio::DB::Query::QueryResultI
First commit of re-structured and re-written biosql adaptors.
Bio::DB::Query::SqlGenerator
First commit of re-structured and re-written biosql adaptors.
Bio::DB::Query::SqlQuery
First commit of re-structured and re-written biosql adaptors.
Bio::DB::Seq
First commit of re-structured and re-written biosql adaptors.
Accession number alias for accession wasn't properly called
Bio::DB::SimpleDBContext
First commit of re-structured and re-written biosql adaptors.
Added documentation. Fixed Map/DBAdaptor to pull it parameters from a DBContextI object if provided. This makes the markerdb tests pass.
More fixes to the Oracle driver working. A quarter of swissprot made it, but then something got stuck somehow and I don't know what and how. :|
Committed pending locuslink test. Fixed error handling (or the lack of it) in BioDB and SimpleDBContext. Fixed doc error in README.
Added dsn property to DBContextI. Added -dsn option and dsn() implementation to SimpleDBContext. Added --dsn option and documentation to the loader scripts. Changed build_dsn() in the Bio::DB::DBI modules to use the dsn verbatim if defined. Added tests to check this behavior and the parse results. Added recognition of and documentation for --initrc to the loading scripts.
Fixed parsing of -dsn argument - we missed the dbname parameter for simple dsn's taking advantage of tnsnames.ora (Oracle as the driver).
Build.PL
New Build.PL install system, Makefile.PL still works but warns
Makefile.PL
WriteMakefile now uses info from %packages in PREREQ_PM which will display warnings during "perl Makefile.PL" if min version numbers of prereqs are not met
Added header with $id$ tag
Preparing to use: Check Bioperl is installed before proceeding with makefile
Better test for existing Bioperl installation
New-style with clear dependency info
Note that BioSQL is needed
Some modules don't define VERSION, default to 0
New Build.PL install system, Makefile.PL still works but warns
ModuleBuildBioperl.pm
New Build.PL install system, Makefile.PL still works but warns
Update fix from core
README-MYSQL
Added instructions on getting InnoDB to work in MySQL
MySQL is stable in v. 4*
Remove this README and integrate its contents into the Biosql documentation
docs/HOWTO-MySQL.html
Probably shouldn't be titled with MyGenbank, an existing package
docs/HOWTO-make_test.pod
Explain how to make test for bioperl-db
Unnecessary
onto-term.patch
Patch file needed for bioperl 1.2.1 in connection with bioperl-db.
scripts/bioentry2flat.pl
Bioentry2flat.pl now works...
Made directories for scripts in bioperl-db
scripts/bioenv_server.pl
Made directories for scripts in bioperl-db
scripts/biosql/bioentry2flat.pl
Made directories for scripts in bioperl-db
Fixed missing import statement. Fixed missing version.
scripts/biosql/cgi-bin/getentry.pl
Added starting cgi-bin script
scripts/biosql/clean_ontology.pl
Delete all records in related tables according to specific ontoloy name or id
Fix the bug emerging when the ontology_name is not in the database
Added comments.
scripts/biosql/del-assocs-sql.pl
Added merge scriptlet that deletes existing annotation in SQL.
Made member look-up flat when storing members. Changed del-assocs-sql to include seqfeature only for FeatureHolderIs, remove cluster members using the adaptor instead of direct sql, and constrain term association not to include the type only if the new entry doesn't come with a type. Added optional progress logging to load_seqdatabase.pl.
scripts/biosql/drop_mysql_biosql_test_dbs
Clear all testing dbs generated by make test
scripts/biosql/freshen-annot.pl
Fixed bug in load_seqdatabase.pl wrt to handling the uncompress option. Added a few sentences of documentation.
Added removal of cluster members if it's a cluster.
scripts/biosql/load_interpro.pl
Load interpro.xml to biosql. XML::Parser::PerlSAX needed!
Integrated load_interpro.pl into load_ontology.pl. To use this functionality right now you will need the bioperl main trunk. The changes in bioperl may be merged into the 1.4.x branch at some point, depending on release plans. Also fixed a bug in RelationshipAdaptor::remove_all_relationships.
scripts/biosql/load_ontology.pl
Minor fixes to load_seqdatabase.pl. Added load_ontology.pl, seems to work fine on SOFA. GO yet to be tested.
Fixed the bug I introduced to load_seqdatabase.pl. Got the ontology loader fully working, including generating the transitive closure at the end. Disabled cascading to storing children after an object was found by UK instead of inserted from scratch.
Added the ability to have a backslash-escaped comma in the value for a format-args arguments (which are delimited by commas).
Turned off DBI statement error printing by default. It can still be turned on by a flag to BioDB->new(). Added removal of all relationships in an ontology prior to serializing the new ones. Added removal of synonyms before serializing the new ones. Both of these keep stale records out of the database.
Maintain relationships for obsolete terms which are still in the ontology if obsolete terms are to be updated.
Made the error message safer and not draw a complaint from perl about undefined values.
Integrated load_interpro.pl into load_ontology.pl. To use this functionality right now you will need the bioperl main trunk. The changes in bioperl may be merged into the 1.4.x branch at some point, depending on release plans. Also fixed a bug in RelationshipAdaptor::remove_all_relationships.
Added dsn property to DBContextI. Added -dsn option and dsn() implementation to SimpleDBContext. Added --dsn option and documentation to the loader scripts. Changed build_dsn() in the Bio::DB::DBI modules to use the dsn verbatim if defined. Added tests to check this behavior and the parse results. Added recognition of and documentation for --initrc to the loading scripts.
Can't have defaults in the scripts anymore or otherwise they will always override what's in the --initrc file. Also, can't call ->isa() on an ordinary hash.
Forgot to pass on $initrc. Stupid. Fixed now.
scripts/biosql/load_seqdatabase.pl
Made directories for scripts in bioperl-db
Rearranged the inner section of the loop to place database operations that change content within the eval{} block, so that they can be better embedded in the transactional control.
Minor fixes to load_seqdatabase.pl. Added load_ontology.pl, seems to work fine on SOFA. GO yet to be tested.
Fixed the bug I introduced to load_seqdatabase.pl. Got the ontology loader fully working, including generating the transitive closure at the end. Disabled cascading to storing children after an object was found by UK instead of inserted from scratch.
Added --uncompress to load_seqdatabase to pipe through gunzip on the fly. Added merge script that triggers update based on latest annotation date.
Fixed bug in load_seqdatabase.pl wrt to handling the uncompress option. Added a few sentences of documentation.
That was a late night fix. Now it's correct ...
Fixed possible bug of calling methods on an adaptor that may have failed to load for some reason.
Added the ability to have a backslash-escaped comma in the value for a format-args arguments (which are delimited by commas).
Added --flatlookup option to load_seqdatabase, and support for it to find_by_unique_key() in BasePersistenceAdaptor. Fixed to small bugs in two test scripts.
Made member look-up flat when storing members. Changed del-assocs-sql to include seqfeature only for FeatureHolderIs, remove cluster members using the adaptor instead of direct sql, and constrain term association not to include the type only if the new entry doesn't come with a type. Added optional progress logging to load_seqdatabase.pl.
Changed progress rate format to 2 decimal places.
Implemented both versions for view-based and alias-based API in Oracle BasePersistenceAdaptorDriver. Corrected the location of the progress log statement in load_seqdatabase.
Turned off DBI statement error printing by default. It can still be turned on by a flag to BioDB->new(). Added removal of all relationships in an ontology prior to serializing the new ones. Added removal of synonyms before serializing the new ones. Both of these keep stale records out of the database.
Documented --uncompress option.
Reverted default for $host and corrected documentation accordingly.
Fixed division by zero bug that would happen in rare occasions.
Clarified documentation.
Added the possibility to specify the port to which to connect.
Added dsn property to DBContextI. Added -dsn option and dsn() implementation to SimpleDBContext. Added --dsn option and documentation to the loader scripts. Changed build_dsn() in the Bio::DB::DBI modules to use the dsn verbatim if defined. Added tests to check this behavior and the parse results. Added recognition of and documentation for --initrc to the loading scripts.
Can't have defaults in the scripts anymore or otherwise they will always override what's in the --initrc file. Also, can't call ->isa() on an ordinary hash.
Corrected `null-pointer exception' bug that would have prevented any sequence from updating that results from a --mergeobjs closure returning the old (looked up) sequence rather than the new (parsed from the stream) one.
scripts/biosql/merge-unique-ann.pl
Made directories for scripts in bioperl-db
Fixed handling of ranks. Fixed detection of equal annotations.
scripts/biosql/terms/conf.xml
Moved scripts/biosql/terms from bioperl-live/scripts Richard Holland 8/1/04 richard at uwc dot net
scripts/biosql/terms/importrelation.pl
Moved scripts/biosql/terms from bioperl-live/scripts Richard Holland 8/1/04 richard at uwc dot net
scripts/biosql/terms/interpro2go.pl
Moved scripts/biosql/terms from bioperl-live/scripts Richard Holland 8/1/04 richard at uwc dot net
scripts/biosql/update-on-new-date.pl
Added --uncompress to load_seqdatabase to pipe through gunzip on the fly. Added merge script that triggers update based on latest annotation date.
Fixed documentation.
Fixed date handling to convert to date, not use as string.
scripts/biosql/update-on-new-version.pl
Made directories for scripts in bioperl-db
Added --uncompress to load_seqdatabase to pipe through gunzip on the fly. Added merge script that triggers update based on latest annotation date.
scripts/caching_corba_server.pl
Made directories for scripts in bioperl-db
scripts/corba/bioenv_server.pl
Made directories for scripts in bioperl-db
scripts/corba/caching_corba_server.pl
Made directories for scripts in bioperl-db
scripts/corba/test_bioenv.pl
Made directories for scripts in bioperl-db
scripts/download_marker_data.pl
Made directories for scripts in bioperl-db
scripts/load_genemap99_markers.pl
Made directories for scripts in bioperl-db
scripts/load_genethon_data.pl
Made directories for scripts in bioperl-db
scripts/load_marshfield_map.pl
Made directories for scripts in bioperl-db
scripts/load_seqdatabase.pl
I've got comments working to the extent that they are stored, and can be explicitly retrieved (by PK). Automatic retrieval for built seq objects yet to follow. All tests pass now except a single one testing for DBLink::optional_id (not supported yet). Switched to AutoCommit off. Adapted load_seqdatabase.pl to work with the new code, not tested yet.
Various mostly small changes and fixes. load_seqdatabase.pl largely changed to adopt the new adaptor architecture. Currently being tested for swissprot.
Added setting option --namespace.
Added option to specify a sequence filter.
Oracle driver and schema driver. The rest is fixes.
More fixes to the Oracle driver working. A quarter of swissprot made it, but then something got stuck somehow and I don't know what and how. :|
First revision of a Bio::ClusterI adaptor. Various fixes and small changes across the board. The ClusterI adaptor works except for storing the members (also, it's not been tested on Oracle yet), which is why the 2 tests in cluster.t are failing.
Two small fixes. Needs to be tested though for the latest changes.
Added capability to pipeline sequence processors.
Fixed adaptors and schema to accommodate ensembl loading.
Further changes an fixes to accommodate Ensembl loading. Also added the capability of providing a closure to merge old and new object in load-seqdatabase.pl.
Solved a whole bunch of UPDATE-related problems. Seems to work now ...
Fixed a forgotten semicolon in the mysql DBI driver module. Added the capability to specify arguments for processing modules.
Fixed separation of module name and parameters.
Changed command line syntax for pipeline parameters - troublesome parsing otherwise.
Added Pg support submitted by Yves Bastide <ybastide@irisa.fr>. There is still a snag to be resolved created by Postgres aborting the entire transaction if a DML statement fails. Added column docid to reference. Changed Reference adaptor to store the CRC in that column instead of the medline column.
Added --fmtargs command line option to pass parameters and values to a format parser on instantiation.
Fixed the locuslink test.
Made directories for scripts in bioperl-db
scripts/load_whitehead_markers.pl
Made directories for scripts in bioperl-db
scripts/merge-unique-ann.pl
Further changes an fixes to accommodate Ensembl loading. Also added the capability of providing a closure to merge old and new object in load-seqdatabase.pl.
Solved a whole bunch of UPDATE-related problems. Seems to work now ...
Added possibility to remove associations. Enabled removing entire annotation collections. Added tests for this functionality. Improved documentation. Added a merge script that only updates on new version.
Made directories for scripts in bioperl-db
scripts/test_bioenv.pl
Made directories for scripts in bioperl-db
scripts/update-on-new-version.pl
Added possibility to remove associations. Enabled removing entire annotation collections. Added tests for this functionality. Improved documentation. Added a merge script that only updates on new version.
Fixed a couple small mistakes.
Fixed a bug in the AnnotationCollection adaptor which wasn't creating persistent objects.
Removed exception throwing (was for testing purposes only).
Made directories for scripts in bioperl-db
scripts/validate_whitehead_markers.pl
Made directories for scripts in bioperl-db
sql/markerdb-mysql.sql
Unfinished attempt to make this file palatable to the transform_sql.pl script in biosql-schema, in order to obtain a Pg-compatible version. Frustrating.
Personal tools
Namespaces
Variants
Actions
Main Links
documentation
community
development
Toolbox