IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Modification de données sous conditions


Sujet :

Shell et commandes GNU

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2020
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2020
    Messages : 16
    Par défaut Modification de données sous conditions
    Bonjour à tous,
    Depuis quelques temps je suis à la recherche d'une solution pour modifier une partie de mes données brutes en vain.
    Voici mes données brutes: en première colonne le nom des chromosomes, en 2eme la position physique, en 3eme l'identifiant unique de ma ligne, en 6eme une codification à utiliser, en 7eme ma colonne à modifier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    CHROM	POS	ID	REF	ALT	IUPAC	CONTEXT
    1	144	1_144	C	A	M	CAAATAATGATCAAATAAATTTAAAAAGCAATTTTACTCAATATTGTTTTAGCGTGTTAAGAATTATTTTTTAACTTCTTTTTGAATATTTGAAGGCATA[C/A]CATGTGAAACCTCAATTTTTAGCCATTCCNAACATACAAGTCAAATATTAGCCCATTTTAAAACTTCAATTTTCAGCTCGAAATTTGTCGATTTTCAAAG
    1	174	1_174	C	A,T	H	ATTTTACTCAATATTGTTTTAGCGTGTTAAGAATTATTTTTTAACTTCTTTTTGAATATTTGAAGGCATANCATGTGAAACCTCAATTTTTAGCCATTCC[C/A]AACATACAAGTCAAATATTAGCCCATTTTAAAACTTCAATTTTCAGCTCGAAATTTGTCGATTTTCAAAGGGGTTAACCTATGGAAAGGAGTCATTTTGA
    1	303	1_303	G	C	S	TAAAACTTCAATTTTCAGCTCGAAATTTGTCGATTTTCAAAGGGGTTAACCTATGGAAAGGAGTCATTTTGACATGAAAATTTCAAAATTTGGAAACCGG[G/C]TAATATTTGACATTCATGTTTTGAATGGCTAAAAGTGAAGTTTCATTACGGCAACCCCTGCAAATAATGATCAAATAAATTTAAAAATCAATTCTACTCA
    1	442	1_442	T	A	W	AGTTTCATTACGGCAACCCCTGCAAATAATGATCAAATAAATTTAAAAATCAATTCTACTCAATATTGTTTTAGCGTGTTAAGAATTATTTTTTAACTTC[T/A]TTTTGAATATTTGAAGGCATACCATGGTGAACCTCAATTTTTAGCCATTCCCCATGGTGAAACCTCAATTTTTAGTCATTCCCAACATACAAGTCAAATA
    Objectif: dans cet exemple, la ligne contenant le 1_144 possède à droite du [C/A] dans la colonne N°7 un "N" à 30 bases plus loin correspondant à la base de la ligne suivante nommée 1_174 car les séquence distance de moins de 100 unités sont chevauchantes. Et inversement, dans la ligne contenant le 1_174, on retrouve à gauche du [C/A] un "N" à -30 bases de la ligne précédente nommée 1_144. Il faudrait pour la ligne 1_144 remplacer le "N" par "H" pris dans la ligne 1_174 et pour la ligne 1_174 remplacer le "N" par "M" pris dans la ligne 1_144. Cela est vrai uniquement si la distance entre les lignes est inférieur à 100 unités. Au dela nous avons pas de recouvrement de séquence et donc pas de modification à opérer.
    Résultats souhaité:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    CHROM	POS	ID	REF	ALT	IUPAC	CONTEXT
    1	144	1_144	C	A	M	CAAATAATGATCAAATAAATTTAAAAAGCAATTTTACTCAATATTGTTTTAGCGTGTTAAGAATTATTTTTTAACTTCTTTTTGAATATTTGAAGGCATA[C/A]CATGTGAAACCTCAATTTTTAGCCATTCCHAACATACAAGTCAAATATTAGCCCATTTTAAAACTTCAATTTTCAGCTCGAAATTTGTCGATTTTCAAAG
    1	174	1_174	C	A,T	H	ATTTTACTCAATATTGTTTTAGCGTGTTAAGAATTATTTTTTAACTTCTTTTTGAATATTTGAAGGCATAMCATGTGAAACCTCAATTTTTAGCCATTCC[C/A]AACATACAAGTCAAATATTAGCCCATTTTAAAACTTCAATTTTCAGCTCGAAATTTGTCGATTTTCAAAGGGGTTAACCTATGGAAAGGAGTCATTTTGA
    1	303	1_303	G	C	S	TAAAACTTCAATTTTCAGCTCGAAATTTGTCGATTTTCAAAGGGGTTAACCTATGGAAAGGAGTCATTTTGACATGAAAATTTCAAAATTTGGAAACCGG[G/C]TAATATTTGACATTCATGTTTTGAATGGCTAAAAGTGAAGTTTCATTACGGCAACCCCTGCAAATAATGATCAAATAAATTTAAAAATCAATTCTACTCA
    1	442	1_442	T	A	W	AGTTTCATTACGGCAACCCCTGCAAATAATGATCAAATAAATTTAAAAATCAATTCTACTCAATATTGTTTTAGCGTGTTAAGAATTATTTTTTAACTTC[T/A]TTTTGAATATTTGAAGGCATACCATGGTGAACCTCAATTTTTAGCCATTCCCCATGGTGAAACCTCAATTTTTAGTCATTCCCAACATACAAGTCAAATA
    Attention: il se peut qu'il y ait plusieurs "N" dans les séquences à gauche et a droite de [./.], mais il faut prendre spécifiquement le bon, a savoir si la distance 174-144 =30, alors on ne doit modifier que le N à +30, et inversement à -30 pour l'autre ligne.
    Merci de votre aide !
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. selection et écriture de données sous condition avec boucle
    Par braquin dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 25/08/2011, 09h16
  2. récupérer des données sous conditions
    Par Lost_in_VBA dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 19/07/2011, 14h11
  3. Copier des données sous condition
    Par delphine1987 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/04/2011, 22h17
  4. [XL-2007] D'un classeur, récupérer des données sous condition
    Par SenseniX dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 25/06/2010, 10h58
  5. [XL-2007] Récupérer des données sous conditions
    Par christophe31 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/05/2010, 15h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo