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 08/10/2016, à 14:39

MINYA

Chercher un mot dans un fichier, et extraire les réponses

Bonjour,

J'ai un fichier tab, qui présente un ensemble de données, non organisées en ligne, on va dire c'est un amas, je voudrais extraire des informations relatives à certains mots-clés (plusieurs ), et me faire un fichier résumant le résultat final.

Voici le fichier en lui-même

Entry	Entry name	Status	Protein names	Gene names	Organism	Length	Protein existence	Absorption	Enzyme regulation	pH dependence	DNA binding	Site	Nucleotide binding	Fragment	Gene encoded by	Alternative products (isoforms)	Mass spectrometry	Polymorphism	RNA editing	Sequence caution	Mass	Sequence	Proteomes	Pathway	Active site	Binding site	Catalytic activity	EC number	Cofactor	Function [CC]	Kinetics	Redox potential	Temperature dependence	Calcium binding	Metal binding
P04637	P53_HUMAN	reviewed	Cellular tumor antigen p53 (Antigen NY-CO-13) (Phosphoprotein p53) (Tumor suppressor p53)	TP53 P53	Homo sapiens (Human)	393	Evidence at protein level				DNA_BIND 102 292	SITE 120 120 Interaction with DNA.				ALTERNATIVE PRODUCTS:  Event=Alternative promoter usage, Alternative splicing; Named isoforms=9;  Name=1; Synonyms=p53, p53alpha; IsoId=P04637-1; Sequence=Displayed; Name=2; Synonyms=I9RET, p53beta; IsoId=P04637-2; Sequence=VSP_006535, VSP_006536; Note=Expressed in quiescent lymphocytes. Seems to be non-functional. May be produced at very low levels due to a premature stop codon in the mRNA, leading to nonsense-mediated mRNA decay.; Name=3; Synonyms=p53gamma; IsoId=P04637-3; Sequence=VSP_040560, VSP_040561; Note=Expressed in quiescent lymphocytes. Seems to be non-functional. May be produced at very low levels due to a premature stop codon in the mRNA, leading to nonsense-mediated mRNA decay.; Name=4; Synonyms=Del40-p53, Del40-p53alpha, p47; IsoId=P04637-4; Sequence=VSP_040832; Name=5; Synonyms=Del40-p53beta; IsoId=P04637-5; Sequence=VSP_040832, VSP_006535, VSP_006536; Name=6; Synonyms=Del40-p53gamma; IsoId=P04637-6; Sequence=VSP_040832, VSP_040560, VSP_040561; Name=7; Synonyms=Del133-p53, Del133-p53alpha; IsoId=P04637-7; Sequence=VSP_040833; Note=Produced by alternative promoter usage.; Name=8; Synonyms=Del133-p53beta; IsoId=P04637-8; Sequence=VSP_040833, VSP_006535, VSP_006536; Note=Produced by alternative promoter usage and alternative splicing.; Name=9; Synonyms=Del133-p53gamma; IsoId=P04637-9; Sequence=VSP_040833, VSP_040560, VSP_040561; Note=Produced by alternative promoter usage and alternative splicing.; 					43,653	MEEPQSDPSVEPPLSQETFSDLWKLLPENNVLSPLPSQAMDDLMLSPDDIEQWFTEDPGPDEAPRMPEAAPPVAPAPAAPTPAAPAPAPSWPLSSSVPSQKTYQGSYGFRLGFLHSGTAKSVTCTYSPALNKMFCQLAKTCPVQLWVDSTPPPGTRVRAMAIYKQSQHMTEVVRRCPHHERCSDSDGLAPPQHLIRVEGNLRVEYLDDRNTFRHSVVVPYEPPEVGSDCTTIHYNYMCNSSCMGGMNRRPILTIITLEDSSGNLLGRNSFEVRVCACPGRDRRTEEENLRKKGEPHHELPPGSTKRALPNNTSSSPQPKKKPLDGEYFTLQIRGRERFEMFRELNEALELKDAQAGKEPGGSRAHSSHLKSKKGQSTSRHKKLMFKTEGPDSD	UP000005640: Chromosome 17						COFACTOR: Name=Zn(2+); Xref=ChEBI:CHEBI:29105; ;  Note=Binds 1 zinc ion per subunit.;	FUNCTION: Acts as a tumor suppressor in many tumor types; induces growth arrest or apoptosis depending on the physiological circumstances and cell type. Involved in cell cycle regulation as a trans-activator that acts to negatively regulate cell division by controlling a set of genes required for this process. One of the activated genes is an inhibitor of cyclin-dependent kinases. Apoptosis induction seems to be mediated either by stimulation of BAX and FAS antigen expression, or by repression of Bcl-2 expression. In cooperation with mitochondrial PPIF is involved in activating oxidative stress-induced necrosis; the function is largely independent of transcription. Induces the transcription of long intergenic non-coding RNA p21 (lincRNA-p21) and lincRNA-Mkln1. LincRNA-p21 participates in TP53-dependent transcriptional repression leading to apoptosis and seem to have to effect on cell-cycle regulation. Implicated in Notch signaling cross-over. Prevents CDK7 kinase activity when associated to CAK complex in response to DNA damage, thus stopping cell cycle progression. Isoform 2 enhances the transactivation activity of isoform 1 from some but not all TP53-inducible promoters. Isoform 4 suppresses transactivation activity and impairs growth suppression mediated by isoform 1. Isoform 7 inhibits isoform 1-mediated apoptosis. Regulates the circadian clock by repressing CLOCK-ARNTL/BMAL1-mediated transcriptional activation of PER2 (PubMed:24051492). {ECO:0000269|PubMed:11025664, ECO:0000269|PubMed:12810724, ECO:0000269|PubMed:15186775, ECO:0000269|PubMed:15340061, ECO:0000269|PubMed:17317671, ECO:0000269|PubMed:17349958, ECO:0000269|PubMed:19556538, ECO:0000269|PubMed:20673990, ECO:0000269|PubMed:20959462, ECO:0000269|PubMed:22726440, ECO:0000269|PubMed:24051492, ECO:0000269|PubMed:9840937}.					METAL 176 176 Zinc.; METAL 179 179 Zinc.; METAL 238 238 Zinc.; METAL 242 242 Zinc.

Et voici le bout de code que je débute, mais qui m'affiche pour l'instant tout le fichier, et non le mot spécifié !

chaine = "Cellular"
f = open("uniprot-id%3AP04637.tab", "r")
for line in f:
	if chaine in line:
		print line
	
f.close()

Merci


Peace

Hors ligne

#2 Le 08/10/2016, à 15:00

claudius01

Re : Chercher un mot dans un fichier, et extraire les réponses

Bonjour,

Des exemples de mots clé avec le résultat attendu seraient les bienvenus.
Sinon, dans quel(s) langage(s) préfères tu travailler ?

Hors ligne

#3 Le 08/10/2016, à 15:17

MINYA

Re : Chercher un mot dans un fichier, et extraire les réponses

En python pardon, je n'avais pas précisé !

Les mots clés en fait diffèrent en fonction des réponses, en fait ce que j'ai mis là, est un seul fichier tab qui correspond à une seule protéine, j'ai plus de 1000 protéines à comparer, donc en fait, je cherche celles qui ont le plus de similitude en fonction des données.

Exemple de mots clés : tumor, Cellular, SITE, FUNCTION, activity...En fait j’ajuste ma recherche au fur et à mesure !

Merci

Dernière modification par MINYA (Le 08/10/2016, à 15:18)


Peace

Hors ligne

#4 Le 08/10/2016, à 15:36

claudius01

Re : Chercher un mot dans un fichier, et extraire les réponses

Ok, mais indépendamment du langage, dommage que ce fichier tab n'ait pas, sauf erreur de ma part, de séparateur et sur les mots clé et sur les données associées ;-(

Hors ligne

#5 Le 08/10/2016, à 15:43

Compte anonymisé

Re : Chercher un mot dans un fichier, et extraire les réponses

Bonjour,

Si, le fichier a des séparateurs, j'ai testé avec Libreoffice Calc et en prenant la tabulation comme séparateur ça colle pile poil.

Les 1000 protéines sont dans 1000 fichiers séparés ? Toujours avec les mêmes mots clés dans le même ordre ?

Cordialement

#6 Le 08/10/2016, à 15:46

MINYA

Re : Chercher un mot dans un fichier, et extraire les réponses

En fait toutes les protéines que je veux comparer sont dans le même fichier tab, l'une après l'autre, et oui, c'est les mêmes mots clés !


Peace

Hors ligne

#7 Le 08/10/2016, à 15:46

MINYA

Re : Chercher un mot dans un fichier, et extraire les réponses

Je voulais juste montrer un exemple de fichier


Peace

Hors ligne

#8 Le 08/10/2016, à 15:54

Compte anonymisé

Re : Chercher un mot dans un fichier, et extraire les réponses

Question bête alors, pourquoi pas utiliser Libreoffice pour faire cela ?

C'est quand même plus visuel, tu pourra mettre un filtre dans la première ligne pour afficher ce que tu veux et cacher les colonnes qui t’intéresse pas.

#9 Le 08/10/2016, à 16:43

MINYA

Re : Chercher un mot dans un fichier, et extraire les réponses

Je n'ai pas le choix, je récupère un fichier englobant les informations de 14000 protéines en fait, sur un site qui est une base de données pour les protéines. Ils proposent un fichier xml et txt, mais les informations diffèrent, le plus complet c'est le tab.


Peace

Hors ligne

#10 Le 08/10/2016, à 17:11

pingouinux

Re : Chercher un mot dans un fichier, et extraire les réponses

Bonjour,
Le programme que tu montres en #1 fait exactement ce que tu lui demandes : imprimer les lignes contenant Cellular
Ton fichier d'entrée a deux lignes, dont la seconde contient le mot cherché.

En ligne

#11 Le 08/10/2016, à 17:29

MINYA

Re : Chercher un mot dans un fichier, et extraire les réponses

Dans ce cas là, je m'y prends mal, je dois réorganiser mon fichier alors non ?
Le tout en deux lignes, les mots clés en haut (ligne 1), et leur réponse en (ligne2).

Sinon, mon programme m'afficher tout le contenu du fichier et non juste la réponse à mon mot clé.

Exemple avec le mot : FUNCTION

chaine = "FUNCTION"
f = open("uniprot-id%3AP04637.tab", "r")
for line in f:
	if chaine in line:
		print line
	
f.close()

Voilà ce qu'il m'affiche (tout le contenu) :

P04637	P53_HUMAN	reviewed	Cellular tumor antigen p53 (Antigen NY-CO-13) (Phosphoprotein p53) (Tumor suppressor p53)	TP53 P53Homo sapiens (Human)	393	Evidence at protein level				DNA_BIND 102 292	SITE 120 120 Interaction with DNA.				ALTERNATIVE PRODUCTS:  Event=Alternative promoter usage, Alternative splicing; Named isoforms=9;  Name=1; Synonyms=p53, p53alpha; IsoId=P04637-1; Sequence=Displayed; Name=2; Synonyms=I9RET, p53beta; IsoId=P04637-2; Sequence=VSP_006535, VSP_006536; Note=Expressed in quiescent lymphocytes. Seems to be non-functional. May be produced at very low levels due to a premature stop codon in the mRNA, leading to nonsense-mediated mRNA decay.; Name=3; Synonyms=p53gamma; IsoId=P04637-3; Sequence=VSP_040560, VSP_040561; Note=Expressed in quiescent lymphocytes. Seems to be non-functional. May be produced at very low levels due to a premature stop codon in the mRNA, leading to nonsense-mediated mRNA decay.; Name=4; Synonyms=Del40-p53, Del40-p53alpha, p47; IsoId=P04637-4; Sequence=VSP_040832; Name=5; Synonyms=Del40-p53beta; IsoId=P04637-5; Sequence=VSP_040832, VSP_006535, VSP_006536; Name=6; Synonyms=Del40-p53gamma; IsoId=P04637-6; Sequence=VSP_040832, VSP_040560, VSP_040561; Name=7; Synonyms=Del133-p53, Del133-p53alpha; IsoId=P04637-7; Sequence=VSP_040833; Note=Produced by alternative promoter usage.; Name=8; Synonyms=Del133-p53beta; IsoId=P04637-8; Sequence=VSP_040833, VSP_006535, VSP_006536; Note=Produced by alternative promoter usage and alternative splicing.; Name=9; Synonyms=Del133-p53gamma; IsoId=P04637-9; Sequence=VSP_040833, VSP_040560, VSP_040561; Note=Produced by alternative promoter usage and alternative splicing.; 					43,653	MEEPQSDPSVEPPLSQETFSDLWKLLPENNVLSPLPSQAMDDLMLSPDDIEQWFTEDPGPDEAPRMPEAAPPVAPAPAAPTPAAPAPAPSWPLSSSVPSQKTYQGSYGFRLGFLHSGTAKSVTCTYSPALNKMFCQLAKTCPVQLWVDSTPPPGTRVRAMAIYKQSQHMTEVVRRCPHHERCSDSDGLAPPQHLIRVEGNLRVEYLDDRNTFRHSVVVPYEPPEVGSDCTTIHYNYMCNSSCMGGMNRRPILTIITLEDSSGNLLGRNSFEVRVCACPGRDRRTEEENLRKKGEPHHELPPGSTKRALPNNTSSSPQPKKKPLDGEYFTLQIRGRERFEMFRELNEALELKDAQAGKEPGGSRAHSSHLKSKKGQSTSRHKKLMFKTEGPDSD	UP000005640: Chromosome 17						COFACTOR: Name=Zn(2+); Xref=ChEBI:CHEBI:29105; ;  Note=Binds 1 zinc ion per subunit.;	FUNCTION: Acts as a tumor suppressor in many tumor types; induces growth arrest or apoptosis depending on the physiological circumstances and cell type. Involved in cell cycle regulation as a trans-activator that acts to negatively regulate cell division by controlling a set of genes required for this process. One of the activated genes is an inhibitor of cyclin-dependent kinases. Apoptosis induction seems to be mediated either by stimulation of BAX and FAS antigen expression, or by repression of Bcl-2 expression. In cooperation with mitochondrial PPIF is involved in activating oxidative stress-induced necrosis; the function is largely independent of transcription. Induces the transcription of long intergenic non-coding RNA p21 (lincRNA-p21) and lincRNA-Mkln1. LincRNA-p21 participates in TP53-dependent transcriptional repression leading to apoptosis and seem to have to effect on cell-cycle regulation. Implicated in Notch signaling cross-over. Prevents CDK7 kinase activity when associated to CAK complex in response to DNA damage, thus stopping cell cycle progression. Isoform 2 enhances the transactivation activity of isoform 1 from some but not all TP53-inducible promoters. Isoform 4 suppresses transactivation activity and impairs growth suppression mediated by isoform 1. Isoform 7 inhibits isoform 1-mediated apoptosis. Regulates the circadian clock by repressing CLOCK-ARNTL/BMAL1-mediated transcriptional activation of PER2 (PubMed:24051492). {ECO:0000269|PubMed:11025664, ECO:0000269|PubMed:12810724, ECO:0000269|PubMed:15186775, ECO:0000269|PubMed:15340061, ECO:0000269|PubMed:17317671, ECO:0000269|PubMed:17349958, ECO:0000269|PubMed:19556538, ECO:0000269|PubMed:20673990, ECO:0000269|PubMed:20959462, ECO:0000269|PubMed:22726440, ECO:0000269|PubMed:24051492, ECO:0000269|PubMed:9840937}.	METAL 176 176 Zinc.; METAL 179 179 Zinc.; METAL 238 238 Zinc.; METAL 242 242 Zinc.

Peace

Hors ligne

#12 Le 08/10/2016, à 17:36

pingouinux

Re : Chercher un mot dans un fichier, et extraire les réponses

Quel résultat attends-tu avec FUNCTION, par exemple ?

En ligne

#13 Le 08/10/2016, à 17:57

claudius01

Re : Chercher un mot dans un fichier, et extraire les réponses

Déjà, je passerais ledit tab qui est, entre nous un CSV, dans un format XML.

Ce qui donne (je n'ai pas tout collé) avec Convert CSV to XML (à vérifier;-):

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <row>
    <FIELD1>Entry</FIELD1>
    <FIELD2>Entry name</FIELD2>
    <FIELD3>Status</FIELD3>
...
    <FIELD31>Function [CC]</FIELD31>
    <FIELD32>Kinetics</FIELD32>
    <FIELD33>Redox potential</FIELD33>
    <FIELD34>Temperature dependence</FIELD34>
    <FIELD35>Calcium binding</FIELD35>
    <FIELD36>Metal binding</FIELD36>
  </row>
  <row>
    <FIELD1>P04637</FIELD1>
    <FIELD2>P53_HUMAN</FIELD2>
    <FIELD3>reviewed</FIELD3>
...
    <FIELD31>FUNCTION: Acts as a tumor suppressor in many tumor types; induces growth arrest or apoptosis depending on the physiological circumstances and cell type. Involved in cell cycle regulation as a trans-activator that acts to negatively regulate cell division by controlling a set of genes required for this process. One of the activated genes is an inhibitor of cyclin-dependent kinases. Apoptosis induction seems to be mediated either by stimulation of BAX and FAS antigen expression, or by repression of Bcl-2 expression. In cooperation with mitochondrial PPIF is involved in activating oxidative stress-induced necrosis; the function is largely independent of transcription. Induces the transcription of long intergenic non-coding RNA p21 (lincRNA-p21) and lincRNA-Mkln1. LincRNA-p21 participates in TP53-dependent transcriptional repression leading to apoptosis and seem to have to effect on cell-cycle regulation. Implicated in Notch signaling cross-over. Prevents CDK7 kinase activity when associated to CAK complex in response to DNA damage, thus stopping cell cycle progression. Isoform 2 enhances the transactivation activity of isoform 1 from some but not all TP53-inducible promoters. Isoform 4 suppresses transactivation activity and impairs growth suppression mediated by isoform 1. Isoform 7 inhibits isoform 1-mediated apoptosis. Regulates the circadian clock by repressing CLOCK-ARNTL/BMAL1-mediated transcriptional activation of PER2 (PubMed:24051492). {ECO:0000269|PubMed:11025664, ECO:0000269|PubMed:12810724, ECO:0000269|PubMed:15186775, ECO:0000269|PubMed:15340061, ECO:0000269|PubMed:17317671, ECO:0000269|PubMed:17349958, ECO:0000269|PubMed:19556538, ECO:0000269|PubMed:20673990, ECO:0000269|PubMed:20959462, ECO:0000269|PubMed:22726440, ECO:0000269|PubMed:24051492, ECO:0000269|PubMed:9840937}.</FIELD31>
    <FIELD32></FIELD32>
    <FIELD33></FIELD33>
    <FIELD34></FIELD34>
    <FIELD35></FIELD35>
    <FIELD36>METAL 176 176 Zinc.; METAL 179 179 Zinc.; METAL 238 238 Zinc.; METAL 242 242 Zinc.</FIELD36>
  </row>
</root>

Et après, libre à toi d'utiliser les bibliothèques de traitement de données XML proposées en Python...

Dernière modification par claudius01 (Le 08/10/2016, à 18:06)

Hors ligne

#14 Le 08/10/2016, à 18:26

MINYA

Re : Chercher un mot dans un fichier, et extraire les réponses

claudius01 a écrit :

Déjà, je passerais ledit tab qui est, entre nous un CSV, dans un format XML.

Si je prends le fichier tel quel, il y  a en effet des erreurs (j'ai vérifié), donc il faut d'abord que je réorganise mon fichier d'origine, ne pas oublier aussi que mon fichier (le vrai) contient plus de 14000 protéines (je ne sais pas si ça pourra le faire) !


Peace

Hors ligne

#15 Le 08/10/2016, à 19:08

claudius01

Re : Chercher un mot dans un fichier, et extraire les réponses

MINYA a écrit :

Si je prends le fichier tel quel, il y  a en effet des erreurs (j'ai vérifié), donc il faut d'abord que je réorganise mon fichier d'origine, ne pas oublier aussi que mon fichier (le vrai) contient plus de 14000 protéines (je ne sais pas si ça pourra le faire) !

Il va de soit que les convertisseurs en ligne refuseront de prendre en compte des milliers de lignes; choisir un convertisseur à télécharger localement...

Quitter ce format CVS au profit du XML permet de manipuler le fichier final avec plus de souplesse et surtout d'éviter de le parser à la main qui sera source d'erreurs inévitables. De plus, passer de XML à XML ou à un autre format (but de XSLT), en extraire (XPATH) ou comparer des données (cf. A comparative study of XML dif f tools et VM Tools User Documentation - v0.5 - sujet très ardu et vieux comme le monde XML ;-) et ce sur des milliers d'enregistrements est plus facile surtout si Python est l'orchestre (cf. XML - eXtensible Markup Language et en autre XML et python).

Maintenant l'autre alternative est de passer lesdites données à une base de données et là c'est Byzance pour peu que l'on maîtrise la question, ce qui n'est pas mon cas car c'est un métier à part entière ;-)

À suivre...

Edit: @ ... choisir un convertisseur à télécharger localement.... Je suis sûr que Python offre dans ses nombreux packages une telle conversion :-)

Dernière modification par claudius01 (Le 08/10/2016, à 19:32)

Hors ligne

#16 Le 09/10/2016, à 00:17

mandeb

Re : Chercher un mot dans un fichier, et extraire les réponses

bonsoir,
Claudius01 a raison, c'est un travail typique pour une base de données.

Il suffit de remplir un table avec votre fichier et de faire des requêtes en langage SQL sur cette table.
Si vous avez Python, vous disposez du moteur de BDD Sqlite (il est installé avec python automatiquement). Il vous faut ensuite un petit utilitaire d'exploitation de Sqlite, il en existe plusieurs gratuits sur le net, perso j'utilise Sqlitestudio.
Cet utilitaire vous permet de créer une base, d'y ajouter une table par import direct depuis votre fichier TAB puisque d'après votre exemple la première ligne contient des en-têtes de colonnes. Il est en français et très complet.
Ensuite un peu d'autoformation à SQL sur le net (il y a des dizaines de tutos un peu partout) en regardant particulier la fonction SELECT avec toute ses possibilités de conditions de sélection, ce qui vous suffira largement dans un premier temps. Ca ne demandera pas beaucoup de temps, le langage est très proche de l'anglais naturel. Les résultats des requêtes SELECT sont exportables dans des format compatibles avec tous les tableurs existants.

Le temps de mise en œuvre de cette solution est, à mon humble avis, largement inférieur (auto-formation comprise) à celui de l'écriture d'un code python, de son débogage (ce qui est presque toujours le plus long). De plus, une fois formé c'est fou le nombre de situations où ce type de solution peut resservir.

bon courage.

Hors ligne

#17 Le 09/10/2016, à 06:35

pingouinux

Re : Chercher un mot dans un fichier, et extraire les réponses

@MIINYA : Tu n'as pas répondu à ma question en #12

En ligne