Difference between revisions of "iRefIndex Testing 7.0"

From irefindex
Line 107: Line 107:
 
# to get Experiment attributes. First get the experimental uid from int_experiment table using sourceid of the int_source2object table. Then for attribute use the int_xref and int_name tables with the uid of the int_experiment table.
 
# to get Experiment attributes. First get the experimental uid from int_experiment table using sourceid of the int_source2object table. Then for attribute use the int_xref and int_name tables with the uid of the int_experiment table.
  
 +
==Check the legacy data-sources==
 +
These are data source where the source data has not change.
 +
* verify the the reasons for differences in numbers if any.
 +
 +
==Check SQL tables==
 +
The following tables should be checked for:
 +
* The expected number of rows and columns
 +
* Null values (these included MySQL null, 0, -1, -8 and -10).(Some time the null values are allowed and the attempt here is to verify there is no systematic error)
 +
* Reserved characters in PSI-MI Tab and XML.
 +
* Problems in character encoding.
 +
<Include table list XXXX>
  
 
Follow this link for a listing of all iRefIndex related pages (archived and current).
 
Follow this link for a listing of all iRefIndex related pages (archived and current).
 
[[Category:iRefIndex]]
 
[[Category:iRefIndex]]

Revision as of 09:40, 28 November 2010

The testing procedure for iRefIndex

Cross check with output of element counter

Program to use : biotek.uio.no.XML.Element_Counter (SaxValidator package)

  • For each interaction source </interactor> count should match the UID count int_object (select (select name from int_db where int_db.id=source) as intSource, count(uid) from int_object group by source; ).
  • For each interaction source </interactor> count should match the UID count int_source (select (select name from int_db where int_db.id=source) as intSource, count(uid) from int_source group by source;).
  • When </interactor> is not usable to count distinct objects (when this occurs as part of interaction and repeated in interactorList) some other suitable element has to be used (e.g </participant>)
  • Why count the closing elements in the above cases (e.g. </interactor> , instead of <interaction> or </interaction ). The reason is interaction elements may have attributes and elements starting with interaction may be ambiguous. This program uses text matching (to be independent of any XML parsing).


Check SEGUID. Check one record each to very the process worked

Test SEGUID updating process

*SQL query = select orid, count(distinct rog) as rog_C from seguid where orid<0 group by orid;
orid Record_count
-30 16983
-26 2
-24 78
-23 14
-22 1043258
-21 669761
-12 2679
-11 1665
-8 6525
-7 6547
-6 5235
-5 50305
-3 10853842
-2 11972291
  • All entries with orid<0 are altered during update. All interies with orid>=0 are original entries from seguid annotation file.
ORID Description
-30 This is a iRefIndex Complex (RIGID used as ROGID), included in a previous process
-26 Is a OLN dead yeast_acc mapped using UniProt cross reference
-25 Is a SGD acc dead yeast_acc mapped using UniProt cross reference
-24 Is a dead fly_acc mapped using UniProt cross reference
-23 Is a dead PDB
-22 Is a dead RefSeq
-21 Is a dead UniProtKB
-12 Added to SEGUID from original sequence record (N-Scores) in a previous process
-11 Added to SEGUID using Eutils in a previous process
-8 Is a live OLN acc yeast_acc mapped using UniProt cross reference
-7 Is a live SGD acc yeast_acc mapped using UniProt cross reference
-6 Is a live fly_acc mapped using UniProt cross reference
-5 Is a alive PDB
-3 Is a alive RefSeq
-2 Is a alive UniProtKB

UID overlap testing

After parsing it is important to make sure there is no overlap in the UID: The following queries should return empty set:

  • select * from int_object where int_object.uid in (select uid from int_source)
  • select * from int_object where int_object.uid in (select uid from int_experiment)
  • select * from int_source where int_source.uid in (select uid from int_experiment)

Check five records each from all data sources

  • Check with the file
  • Check with the website if available

The method is to find the UID range for the source from the int_surce2object table. e.g for IntAct

  1. Select max(sourceid) as max_id , min(sourceid) as min_id from int_source2object where source=5;
  2. List the first interaction (min_id) the last (max_id) and few from the middle
  3. To list node attribute use the int_xref and int_name tables with the objectid
  e.g select * from int_xref where int_xref.uid = <the objectid from int_source2object table>
  1. To get the the interaction attributes use the int_xref and int_name tables with the sourceid
  2. to get Experiment attributes. First get the experimental uid from int_experiment table using sourceid of the int_source2object table. Then for attribute use the int_xref and int_name tables with the uid of the int_experiment table.

Check the legacy data-sources

These are data source where the source data has not change.

  • verify the the reasons for differences in numbers if any.

Check SQL tables

The following tables should be checked for:

  • The expected number of rows and columns
  • Null values (these included MySQL null, 0, -1, -8 and -10).(Some time the null values are allowed and the attempt here is to verify there is no systematic error)
  • Reserved characters in PSI-MI Tab and XML.
  • Problems in character encoding.

<Include table list XXXX>

Follow this link for a listing of all iRefIndex related pages (archived and current).