Nápady od nás pro vás
Sem budu zapisovat fígle a nápady, abyste si je pak mohli v klidu rozebrat.
Nastavení kontrol
update tyr_motif,hs_prot set tyr_motif.control=hs_prot.control where hs_prot.id_p=tyr_motif.id_p;
Skórování phobia
update phobius,phobius_ft set phobius.score = 1 where phobius.ft_tm=1 and phobius_ft.start >10 and phobius_ft.start <40 and phobius_ft.stop >30 and phobius_ft.stop < 60 and phobius_ft.ft='TRANSMEM' and phobius.id_ph=phobius_ft.id_ph and phobius.score=0;
Přeformátování identifikátorů
Protože databáze lidských proteinů z NCBI má identifikátory, které se nám nehodí jako jména souborů, potřebujeme je přeformátovat a ziskat jako identifikátor sekvence její gi>gi|21361449|ref|NP_055395.2| solute carrier family 2, (facilitated glucose transporter) member 8 [Homo sapiens]Uděláme to pomocí příkazu sed s využitím regulárních expresí. Tady to je:
zcat /mnt/dax/Db/NCBI/H_sapiens/protein.fa.gz | sed -e "s/gi|//g" | sed -e "s/|ref/ ref/g" > protein.fa zcat /mnt/dax/Db/NCBI/H_sapiens/protein.fa.gz | head | sed -e "s/>gi|\(.*\)|ref/>\1 gi|\1|ref/g"
Batch Jobs
Pro urychlení práce a běh programů na více sekvencí s různými parametry si napíšeme krátký shell script Tady jsou nějaké reference:#!/bin/bash FILE="all_tmhmm.txt" PROG="../TMHMM2.0/bin/tmhmm" DELIM="--------------------------------------------------" SEQS="hs-lat.fa hs-lax.fa hs-lime.fa hs-ntal.fa hs-pag.fa hs-sit.fa hs-trim.fa" echo "vystup z $PROG" >$FILE echo $DELIM >>$FILE for SEQ in $SEQS ; do ( $PROG $SEQ >>$FILE echo $DELIM >>$FILE ) done
Analýza prosite
hpaces@charon /mnt/cora/Projects/Traps/ws4 $ cat prosite.dat | grep MATRIX_TYPE | sort | uniq -c 20 CC /MATRIX_TYPE=composition; 2 CC /MATRIX_TYPE=localization_signal; 745 CC /MATRIX_TYPE=protein_domain; 3 CC /MATRIX_TYPE=repeat_region; hpaces@charon /mnt/cora/Projects/Traps/ws4 $ cat prosite.dat | grep MATRIX_TYPE | sort | uniq CC /MATRIX_TYPE=composition; CC /MATRIX_TYPE=localization_signal; CC /MATRIX_TYPE=protein_domain; CC /MATRIX_TYPE=repeat_region;
Join tabulek
mysql> select count_elm.id_mot,count(*) as cnt,motif_elm.motif from count_elm join motif_elm on count_elm.id_mot=motif_elm.id_mot group by motif_elm.id_mot order by cnt desc limit 2; +--------+-------+--------------------+ | id_mot | cnt | motif | +--------+-------+--------------------+ | 39 | 32054 | .[D|E].[I|V|L] | | 88 | 31868 | ...[S|T]...[S|T] | +--------+-------+--------------------+ 2 rows in set (1.82 sec) mysql> select count_elm.id_mot,count(*) as cnt,motif_elm.motif from count_elm, motif_elm where count_elm.id_mot=motif_elm.id_mot group by motif_elm.id_mot order by cnt desc limit 2; +--------+-------+--------------------+ | id_mot | cnt | motif | +--------+-------+--------------------+ | 39 | 32054 | .[D|E].[I|V|L] | | 88 | 31868 | ...[S|T]...[S|T] | +--------+-------+--------------------+ 2 rows in set (1.77 sec)