Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/10/2008, à 10:26

mezhoud

[résolu]Bioinformatic - résultat Blastr

Bonjour,
Je voudrais bien extraire de mes résultats de Blast certaines lignes.
Voici la fome de mes résultats de 100 Mo;

Reference: Altschul, Stephen F., Thomas L. Madden, Alejandro A. Schaffer,
Jinghui Zhang, Zheng Zhang, Webb Miller, and David J. Lipman (1997),
"Gapped BLAST and PSI-BLAST: a new generation of protein database search
programs",  Nucleic Acids Res. 25:3389-3402.

Query= gi|15805043|ref|NP_293727.1| DNA polymerase III, beta subunit                 
[Deinococcus radiodurans R1]
         (393 letters)

Database: dip20080918B.seq
           42,562 sequences; 23,571,726 total letters

Searching..................................................done



                                                                 Score    E
Sequences producing significant alignments:                      (bits) Value

dip:DIP-13110N|refseq:NP_214516|uniprot:Q50790                        129   8e-30       
dip:DIP-45121N|uniprot:P0A990                                         123   4e-28
dip:DIP-36038N|uniprot:P0A988                                         123   4e-28
dip:DIP-9461N|refseq:NP_290334|uniprot:P00583                         123   4e-28
dip:DIP-3288N|refseq:NP_207297|uniprot:O25242                          65   1e-10
dip:DIP-44394N|uniprot:O83048                                          56   8e-08
dip:DIP-2417N|refseq:NP_009645|uniprot:P15873                          34   0.35
dip:DIP-2568N|refseq:NP_013934|uniprot:P32874                          31   2.2 
dip:DIP-742N|refseq:NP_012739|uniprot:P07149                           31   2.9 
dip:DIP-2735N|refseq:NP_009916|uniprot:P25555                          30   5.0 
dip:DIP-21169N|refseq:NP_651126                                        30   6.5 
dip:DIP-4535N|refseq:NP_116601|uniprot:P43549                          30   6.5 
dip:DIP-38777N|refseq:NP_593369|uniprot:P87142                         29   8.5 

>dip:DIP-13110N|refseq:NP_214516|uniprot:Q50790
          Length = 402

Score =  129 bits (323), Expect = 8e-30
Identities = 90/352 (25%), Positives = 174/352 (49%), Gaps = 18/352 (5%)

Query: 8   KKTLNEGLGLLERVIPSRSSNPLLTALKVETSEGGLTLSGTNLEIDLSCFVPAEVQQPEN 67
           +++  + +  + + +P+R + P+L+ + +  S+ GLT+SG + E+     V AE+  P +
Sbjct: 19  RESFADAVSWVAKNLPARPAVPVLSGVLLTGSDNGLTISGFDYEVSAEAQVGAEIVSPGS 78

Query: 68  FVVPAHLFAQIVRNXXXXXXXXXXXXXXXXXRSGGSDFKLQTGDIEAYPPLSFPAQADVS 127
            +V   L + I R                    G + F L T  +E YP L    +   
Sbjct: 79  VLVSGRLLSDITRALPNKPVDVHVEGNRVALTCGNARFSLPTMPVEDYPTLPTLPEETGL 138

Query: 128 LDGGELSRAFSSVRYAASNEAFQAVFRGIKLEHHGESARVVASDGYRVAIRDFPASGDGK 187
           L     + A S V  AA  +    +  GI++E  GE+  + A+D +R+A+R+   S   
Sbjct: 139 LPAELFAEAISQVAIAAGRDDTLPMLTGIRVEILGETVVLAATDRFRLAVRELKWSASSP 198

Query: 188 NL----IIPARSVDELIRV-LKDGEARFTYG-------DGMLTVTTDRVKMNLKLLDGDF 235
           ++    ++PA+++ E  +  +   + R + G       DG+L ++ +  +   +LLD +F
Sbjct: 199 DIEAAVLVPAKTLAEAAKAGIGGSDVRLSLGTGPGVGKDGLLGISGNGKRSTTRLLDAEF 258

Query: 236 PDYERVIPKDIKLQVTLPATALKEAVNRVAVLADKNANNRVEFLVSEGTLRLAA-EGDYG 294
           P + +++P +     T+    L EA+  VA++AD+ A  R+EF  ++G++RL+A   D G
Sbjct: 259 PKFRQLLPTEHTAVATMDVAELIEAIKLVALVADRGAQVRMEF--ADGSVRLSAGADDVG 316

Query: 295 RAQDTLSVTQGGTEQAMSLAFNARHVLDALGPIDGD-AELLFSGSTSPAIFR 345
           RA++ L V   G  + +++AFN  ++ D L  +  +     F+ +  PA+ R
Sbjct: 317 RAEEDLVVDYAG--EPLTIAFNPTYLTDGLSSLRSERVSFGFTTAGKPALLR 366

Ce format de résultats se répéte ~ 6000 fois



Je voudrais bien récupérer toutes les lignes qui commencent par "Query=" suivie par seulement la première ligne qui commence par "dip:"

et les mettre dans un autre fichier texte.

comment faire ce script en Bash?

Merci d'avanceésolu

Dernière modification par mezhoud (Le 03/10/2008, à 21:10)

Hors ligne

#2 Le 03/10/2008, à 12:01

kuri

Re : [résolu]Bioinformatic - résultat Blastr

cat tonfichierlog | grep -e "Query=" -e "dip:" > tonnouveaufichierlog

Hors ligne

#3 Le 03/10/2008, à 13:47

mezhoud

Re : [résolu]Bioinformatic - résultat Blastr

Salut,
Merci! Cela a bien marché.
Mais il m'a pris tous les lignes qui commencent avec dip et >dip.
Ce que je veux c'est d'ajouter quelque chose qui permet de predre que la première ligne après celle "Query=" qui commence par "dip" et et non ">dip"

Merci

Hors ligne

#4 Le 03/10/2008, à 18:01

kuri

Re : [résolu]Bioinformatic - résultat Blastr

ah oui j ai compris ce que tu veux je crois smile
je te prepares ca

Hors ligne

#5 Le 03/10/2008, à 18:46

kuri

Re : [résolu]Bioinformatic - résultat Blastr

#!/bin/sh



IFS="
"
DIP="0"

if [ ! $# -eq 2 ]; then
	echo "Usage : $0 fichierlog fichierresultat"
	exit 1
fi

if [ ! -e $1 ]; then
	echo "Fichier log non trouve!"
	exit 1
fi

if [ -e $2 ]; then
	rm -fr $2
fi


for line in `cat $1`
do
	echo $line | awk '{print $1}' | grep "Query=" > /dev/null
	if [ $? -eq 0 ]; then
		DIP="1"
		echo $line >> $2

	elif [ $DIP -eq 1 ]; then
		echo $line | awk '{print $1}' | grep "dip:" > /dev/null
		if [ $? -eq 0 ]; then
			DIP=0
			echo $line >> $2
		fi
	fi 
done

donc la ce que ca fait :
ca parcours le fichier log pour "Query=", ca l enregistre, puis ca prend le premier "dig:" qui suit pour l enregistrer (ca ignore donc les suivant) et ca se remet a la recherche d un "Query=" et ainsi de suite

Dernière modification par kuri (Le 03/10/2008, à 18:47)

Hors ligne

#6 Le 03/10/2008, à 18:52

mezhoud

Re : [résolu]Bioinformatic - résultat Blastr

Salut,
OUi c'est bien ce que je voulais.

Je vais l'essayer  tout de suite.

Merci beaucoup

Hors ligne

#7 Le 03/10/2008, à 19:03

Totor

Re : [résolu]Bioinformatic - résultat Blastr

Salut :
Je te propose ceci :

awk ' /^Query=/ {query=$0;next} /^dip:/ { if (query != "") { print query;print;query=""}}'    <nom_fichier>

-- Lucid Lynx --

Hors ligne

#8 Le 03/10/2008, à 19:25

mezhoud1

Re : [résolu]Bioinformatic - résultat Blastr

A la vollet,
Bravo Totor le script a bien marché.

POur mettre cela dans un nouveau fichier faut il faire cela?

awk ' /^Query=/ {query=$0;next} /^dip:/ { if (query != "") { print query;print;query=""}}'    <nom_fichier>  <nouveau-fichier>

Je vais essayer lcelui de Kuri.

merci beacoup

#9 Le 03/10/2008, à 19:32

Totor

Re : [résolu]Bioinformatic - résultat Blastr

Presque :

awk ' /^Query=/ {query=$0;next} /^dip:/ { if (query != "") { print query;print;query=""}}'    <nom_fichier> > <nouveau-fichier>

-- Lucid Lynx --

Hors ligne

#10 Le 03/10/2008, à 19:39

mezhoud01

Re : [résolu]Bioinformatic - résultat Blastr

Je pense pour que le script de Kuri soit automatic: sans à chaque fois changer les noms des fichiers.

On doit ajouter des "$1" et $1-nouveau" à la place des fichier et nouveau-fichier.



Totor, donc il suffit de taper à la fin le nom du nouveau fichier?

#11 Le 04/10/2008, à 09:00

kuri

Re : [résolu]Bioinformatic - résultat Blastr

tu dois appeler mon script comme suit : ./script.sh fichierlog fichieresultat

Hors ligne