@@ -0,0 +1,2375 @@
+/*%0A Copyright (C) 2010 EBI, GRL%0A %0A This library is free software; you can redistribute it and/or%0A modify it under the terms of the GNU Lesser General Public%0A License as published by the Free Software Foundation; either%0A version 2.1 of the License, or (at your option) any later version.%0A %0A This library is distributed in the hope that it will be useful,%0A but WITHOUT ANY WARRANTY; without even the implied warranty of%0A MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU%0A Lesser General Public License for more details.%0A %0A You should have received a copy of the GNU Lesser General Public%0A License along with this library; if not, write to the Free Software%0A Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA%0A */%0A%0Apackage org.ensembl.healthcheck.testcase.generic;%0A%0Aimport java.sql.Connection;%0A%0Aimport org.ensembl.healthcheck.DatabaseRegistryEntry;%0Aimport org.ensembl.healthcheck.ReportManager;%0Aimport org.ensembl.healthcheck.testcase.SingleDatabaseTestCase;%0A%0A/**%0A * Check that only genes have projected xrefs.%0A */%0A%0Apublic class ProjectedXrefGenes extends SingleDatabaseTestCase %7B%0A%0A    /**%0A     * Constructor.%0A     */%0A    public ProjectedXrefGenes() %7B%0A%0A        addToGroup(%22post_genebuild%22);%0A        addToGroup(%22release%22);%0A        setDescription(%22Check that only genes have projected xrefs%22);%0A        setTeamResponsible(%22Core%22);%0A      %0A    %7D%0A%0A    /**%0A     * Run the test for each database.%0A     * @param dbre The database to check.%0A     * @return Result.%0A     */%0A    public boolean run(DatabaseRegistryEntry dbre) %7B%0A%0A        boolean result = true;%0A%0A        Connection con = dbre.getConnection();%0A    %09%09%09%0A    %09%09%09String sql = %22SELECT COUNT(*) FROM external_db e, xref x, object_xref ox, transcript t WHERE e.external_db_id=x.external_db_id AND x.xref_id=ox.xref_id AND ox.ensembl_object_type='Transcript' AND ox.ensembl_id=t.transcript_id AND x.info_type='PROJECTION'%22;%0A    %09%09%09%0A    %09%09%09int rows = getRowCount(con, sql);%0A    %09%09%09%0A    %09%09%09if (rows %3E 0) %7B%0A    %09%09%09%09%0A    %09%09%09%09ReportManager.problem(this, con, %22There are %22 + rows + %22 projected xrefs linked to transcripts however only genes and translations should have them.%22);%0A    %09%09%09%09result = false;%0A    %09%09%09%09%0A    %09%09%09%7D else %7B%0A    %09%09%09%09%0A    %09%09%09%09ReportManager.correct(this, con, %22No projected xrefs associated with transcripts%22);%0A    %09%09%09%09%0A    %09%09%09%7D%0A%0A        return result;%0A    %7D%0A%0A%7D // ProjectedXrefGenes%0A

Check that only genes have projected xrefs.