1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
CREATE FUNCTION rd_hassubstruct(text,text) RETURNS bool
-- AS 'c:/glandrum/RD/trunk/Code/Demos/PgSQL/RDLib/RDLib' LANGUAGE 'c';
AS '/home2/glandrum/RD/trunk/Code/Demos/PgSQL/RDLib/RDLib' LANGUAGE 'c';
CREATE FUNCTION rd_hassubstructpkl(bytea,bytea) RETURNS bool
-- AS 'c:/glandrum/RD/trunk/Code/Demos/PgSQL/RDLib/RDLib' LANGUAGE 'c';
AS '/home2/glandrum/RD/trunk/Code/Demos/PgSQL/RDLib/RDLib' LANGUAGE 'c';
CREATE FUNCTION rd_substructfp(text) RETURNS bytea
-- AS 'c:/glandrum/RD/trunk/Code/Demos/PgSQL/RDLib/RDLib' LANGUAGE 'c';
AS '/home2/glandrum/RD/trunk/Code/Demos/PgSQL/RDLib/RDLib' LANGUAGE 'c';
CREATE FUNCTION rd_fpsize(bytea) RETURNS int
-- AS 'c:/glandrum/RD/trunk/Code/Demos/PgSQL/RDLib/RDLib' LANGUAGE 'c';
AS '/home2/glandrum/RD/trunk/Code/Demos/PgSQL/RDLib/RDLib' LANGUAGE 'c';
CREATE FUNCTION rd_allprobebitsmatch(bytea,bytea) RETURNS bool
-- AS 'c:/glandrum/RD/trunk/Code/Demos/PgSQL/RDLib/RDLib' LANGUAGE 'c';
AS '/home2/glandrum/RD/trunk/Code/Demos/PgSQL/RDLib/RDLib' LANGUAGE 'c';
SELECT rd_hassubstruct('cC','c1ccccc1C');
drop table temp;
create table temp (id text,smiles varchar(256));
insert into temp values ('mol-1','CCC');
insert into temp values ('mol-2','Cc1ncccc1');
select * from temp where rd_hassubstruct('Cc1ncccc1',smiles)=1;
select rd_substructfp('c1ccccc1');
select rd_substructfp('');
select rd_fpsize(rd_substructfp(''));
select rd_allprobebitsmatch(rd_substructfp('c1ccccc1'),rd_substructfp('c1ccccc1'));
select rd_allprobebitsmatch(rd_substructfp('c1ccccc1'),rd_substructfp('c1ccccc1C'));
select rd_allprobebitsmatch(rd_substructfp('c1ccccc1C'),rd_substructfp('c1ccccc1'));
drop table testfps;
create table testfps (id text,smiles varchar(256),fp bytea);
insert into testfps values ('mol-1','CC',rd_substructfp('CC'));
insert into testfps values ('mol-2','Cc1ccccc1',rd_substructfp('Cc1ccccc1'));
insert into testfps values ('mol-3','Cc1ccncc1',rd_substructfp('Cc1ccncc1'));
select id,smiles from testfps where rd_allprobebitsmatch(rd_substructfp('c1ccccc1'),fp);
DROP FUNCTION rd_hassubstruct(text,text);
DROP FUNCTION rd_substructfp(text);
DROP FUNCTION rd_fpsize(bytea);
DROP FUNCTION rd_allprobebitsmatch(bytea,bytea);
|