Question:
Identifier les régions non codantes à partir d'une annotation du génome
Exhausted
2019-02-22 18:20:35 UTC
view on stackexchange narkive permalink

J'ai ce fichier GTF et j'utilise la commande ci-dessous sur une machine Linux pour extraire les régions de codage du génome:

  awk '{if ( $ 3 == "transcript" && $  20 == "\" protein_coding \ ";") {print $ 0}} 'gencode.gtf  

Comment puis-je faire l'inverse et ne conserver que les régions non codantes?

Voulez-vous toutes les régions non codantes du génome ou voulez-vous tous les _transcripts_ non codants? Ce sont deux choses très différentes.
Quatre réponses:
finswimmer
2019-02-22 18:50:19 UTC
view on stackexchange narkive permalink

Obtenir les régions non codantes d'une transcription de codage de protéines, semble être à la recherche de UTR.

UTR a sa propre fonctionnalité dans le gtf fichier. Vous pouvez donc faire ceci:

   $ awk -v FS = "\ t" '$  3 == "UTR"' gencode .gtf  

Si le fichier gtf est compressé, utilisez ceci à la place:

   $ zcat gencode.gtf.gz | awk -v FS = "\ t" '$  3 == "UTR"'  

BTW: Pourquoi utilisez-vous une telle ancienne version de gencode? La version actuelle est la v29.

Désolé, j'ai littéralement besoin de régions non codantes du génome humain, mais pour poser ma question ici, j'ai également fait référence aux parties codantes
Désolé j'ai essayé chapeau mais ma sortie est vide
Comme @Wouter [le dit] (https://www.biostars.org/p/365086/#365131) vous, la région non codante d'un génome est le complément des régions codantes. Les régions de codage ont leur propre fonctionnalité dans le fichier gtf. Vous pouvez les obtenir avec `$ awk -v FS =" \ t "'$ 3 ==" CDS "' gencode.gtf`. Votre tâche est de lire le manuel de [bedtools complément] (https://bedtools.readthedocs.io/en/latest/content/tools/complement.html).
Désolé mais vos commandes ne renvoient rien, je veux dire ne fonctionne pas en renvoyant un fichier vide
Le fichier gtf auquel l'OP est lié comprend des transcriptions non codantes (LINC, pseudogènes, ARNt, etc.). Je suppose que c'est ce qu'ils recherchent.
@FereshTeh si vous exécutez la commande sur le fichier vers lequel vous créez un lien, elle produit très certainement une sortie. Si ce n'est pas le cas, vous utilisez un autre fichier ou avez modifié le fichier d'une manière ou d'une autre.
terdon
2019-02-23 00:34:06 UTC
view on stackexchange narkive permalink

Si vous voulez tous les transcriptions de ce fichier gtf dont le type n'est pas "protein_coding", vous pouvez utiliser presque la même commande, il suffit de changer == ("is") en ! = ("n'est pas"):

  awk '{if ( $ 3 == "transcript" && $  span > 20! = "\" Protein_coding \ ";") {print $ 0}} 'gencode.gtf 

Ou, une version plus simple:

  awk ' $ 3 == "transcript" && $  20! = "\" protein_coding \ ";"' gencode.gtf 

Remarque que cela n'inclura aucune des transcriptions de la havane dans le fichier, mais je suppose que c'est ce que vous voulez puisque c'est ce que votre commande d'origine a fait.

Plus précisément, la commande retournera les types de transcription suivants (les nombres à gauche sont le nombre de ces transcriptions dans le fichier):

  awk ' $ 3 == "transcript" && $  20! = "\" protein_coding \ ";" {print $ 20} 'gencode.gtf | trier | uniq -c | sort -nk1 1 "pseudogène_procédé_ traduit"; 2 "Mt_rRNA"; 3 "IG_J_pseudogène"; 3 "TR_D_gene"; 4 "TR_J_pseudogène"; 5 "TR_C_gene"; 10 "IG_C_pseudogène"; 18 "IG_C_gene"; 18 "IG_J_gene"; 22 "Mt_tRNA"; 25 "3prime_overlapping_ncrna"; 27 "TR_V_pseudogène"; 37 "IG_D_gene"; 58 "non_stop_decay"; 59 "polymorphic_pseudogene"; 74 "TR_J_gene"; 97 "TR_V_gene"; 144 "IG_V_gene"; 182 "pseudogène_unitaire"; 196 "IG_V_pseudogène"; 330 "chevauchement_sens"; 387 "pseudogène"; 442 "pseudogène_procédé_ transcrit"; 531 "ARNr"; 802 "sense_intronic"; 860 "pseudogène_ non traité_ transcrit"; 1529 "snoRNA"; 1923 "snRNA"; 2050 "ARN_ divers"; 2549 "pseudogène_ non traité"; 3116 "miARN"; 9710 "antisens"; 10623 "pseudogène_traité"; 11780 "lincRNA"; 13052 "nonsense_mediated_decay"; 25955 "intron_ retenu"; 28082 "processing_transcript";  

Vous voudrez peut-être également supprimer ce "Translated_processed_pseudogene" car il est en fait traduit en protéine et est donc techniquement codant:

  awk ' $ 3 = = "transcription" && $  20! = "\" protein_coding \ ";" && $ 20! = "\" Translate_processed_pseudogene \ ";" 'gencode.gtf  
Merci beaucoup, vraiment merci de m'avoir sauvé je n'ai pas pu résoudre ça moi-même. Comment je peux extraire les informations ci-dessous de chaque ligne du fichier non codant résultant chr1 29553 30039 ENSG00000243485.2 + nom_gène "MIR1302-11"
@FereshTeh vous êtes les bienvenus. Je pense que vous voulez `awk '$ 3 ==" transcript "&& $ 20! =" \ "Protein_coding \"; " && $ 20! = "\" Translated_processed_pseudogene \ ";" {print $ 1, $ 4, $ 5, $ 10, $ 7} 'gencode.gtf` mais, sinon, posez une nouvelle question à ce sujet.
Merci beaucoup qui renvoie tout sauf le nom du gène, c'est la sortie chr1 29554 31097 "ENSG00000243485.2"; +
@FereshTeh veuillez poser une nouvelle question afin que vous puissiez montrer exactement la sortie dont vous avez besoin.
Daniel Standage
2019-02-23 01:03:51 UTC
view on stackexchange narkive permalink

Ce problème n'est pas facilement résolu avec awk. Ce n'est pas comme si vous extrayiez une fonctionnalité annotée dans le fichier GTF. Au lieu de cela, vous voulez un espace vide entre les entités annotées.

Il y a quelques années, j'ai écrit un programme appelé LocusPocus pour une tâche similaire. Il utilise une annotation génique pour décomposer un génome en locus géniques et régions intergéniques. Il gère les annotations qui se chevauchent et d'autres bizarreries de manière assez robuste. La sortie comprendra à la fois des régions de codage et des régions non codantes, mais vous pouvez identifier les espaces intergéniques comme ceux avec iLocus_type égal à iiLocus ou fiLocus .

Remarque : le paramètre --delta étendra chaque gène / transcrit de 500 pb par défaut.

Attention : le programme n'accepte que les entrées GFF3 par défaut. J'espère qu'il ne sera pas trop difficile de convertir votre GTF en GFF3.

Autre mise en garde : l'interprétation éventuelle de ces données dépendra des caractéristiques annotées dans le génome et des annotations vous incluez vs ignore. Voulez-vous que vos régions non codantes incluent des gènes non codants, ou devraient-ils être traités séparément? Certaines régions non codantes seront pleines d'éléments transposables et d'autres ADN répétitifs, tandis que d'autres auront des amplificateurs, des promoteurs ou d'autres éléments régulateurs. Il est important de faire preuve de prudence avant de tirer des conclusions.

Nom absolument génial! :)
Désolé, merci pour l'explication; Après avoir cherché sur Google, je vois que j'ai réellement besoin d'activateurs, de promoteurs ou d'autres éléments régulateurs du génome humain pour trouver des gènes moteurs du cancer placés dans ces régions.


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 4.0 sous laquelle il est distribué.
Loading...