User:Lindenb/Notebook/UMR915/20100713
From OpenWetWare
alter database: basic_mutations
CREATE TABLE `basic_mutation` ( `id` int(10) unsigned NOT NULL auto_increment, `variation_id` int(10) unsigned NOT NULL, `meta` text, `creation` datetime default NULL, `modified` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, `wild_aa` char(1) default NULL, `mut_aa` char(1) default NULL, `synonymous` tinyint(4) NOT NULL, `stop_gained` tinyint(4) NOT NULL, `stop_lost` tinyint(4) NOT NULL, `splicing_acceptor` tinyint(4) NOT NULL, `splicing_donor` tinyint(4) NOT NULL, PRIMARY KEY (`id`), KEY `variation_id` (`variation_id`), CONSTRAINT `basic_mutation_ibfk_1` FOREIGN KEY (`variation_id`) REFERENCES `variation` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
and wrote a program to fill this table:
/home/lindenb/src/code915/tools/src/java/fr/inserm/umr915/tools/DumpBasicMutations.java
many differences for "alt" alles between sls2 and me
mysql -N -u anonymous -D umr915 -e 'select V.chrom, V.position, V.ref,V.alt from variation as V,vcf_call as C1 where C1.variation_id=V.id and C1.input_id=4 and C1.sample_id=1 ' | sort > ~/jeter1.txt mysql -N -u anonymous -D umr915 -e 'select V.chrom, V.position, V.ref,V.alt from variation as V,vcf_call as C1 where C1.variation_id=V.id and C1.input_id=27 and C1.sample_id=1 and C1.depth>=4' | grep -v '\+' | grep -v '\-' | sort > ~/jeter2.txt
chrZ 105932293 T C | chrZ 105932293 T Y chrZ 105957402 A C | chrZ 105957402 A M chrZ 106065070 G A | chrZ 106065070 G R chrZ 106114649 G T | chrZ 106114649 G K
in the case of chrZ:105932293 is is because Y=C+T . Makes sense.
calcul ratio transition/transversion
run JSCRIPT:
${JAVA_HOME}/bin/jrunscript -f transistions.js -cp dist/lib915.jar:/usr/local/package/mysql-connector-java-5.1.12/mysql-connector-java-5.1.12-bin.jar
with:
importClass(Packages.fr.inserm.umr915.core.db.UMR915DB); database=new UMR915DB(); samples=database.samples; for(i=0;i<samples.size();++i) { var sample= samples.get(i); //println(sample.name); var inputs= sample.inputs; var iter=inputs.iterator(); while(iter.hasNext()) { var nTransition=0; var nTransversion=0; var nTotal=0; var input= iter.next(); var calls = input.getCalls(sample); for(j=0;j< calls.size();++j) { var call=calls.get(j); if(call.depth<10 || call.depth>1200 || (call.rmsQuality!=null && call.rmsQuality < 25) || call.snpQuality<25 ) continue; var variation=call.variation; if(variation.isTransition()) nTransition++; if( variation.isTransversion()) nTransversion++; nTotal++; } out.println(sample.name+"\t"+input.filename+"\t"+" "+(nTransition/(1.0*nTransversion))); } } database.close();