Как выбрать подмножество файла на основе идентификаторов в другом файле? - PullRequest
0 голосов
/ 19 мая 2019

У меня есть два файла, где я хочу просто выбрать подмножество файлов .gtf для идентификаторов, которые существуют в другом файле. Я использую функцию grep, но вывод пуст.

grep -F Transcript_names2.txt  gencode.v30.annotation.gtf > selected_genes

Вот как выглядит файл .gtf:

##provider: GENCODE
##contact: gencode-help@ebi.ac.uk
##format: gtf
##date: 2019-03-28
chr1    HAVANA  gene    11869   14409   .   +   .   gene_id "ENSG00000223972.5"; gene_type "transcribed_unprocessed_pseudogene"; gene_name "DDX11L1"; level 2; havana_gene "OTTHUMG00000000961.2";
chr1    HAVANA  transcript  11869   14409   .   +   .   gene_id "ENSG00000223972.5"; transcript_id "ENST00000456328.2"; gene_type "transcribed_unprocessed_pseudogene"; gene_name "DDX11L1"; transcript_type "processed_transcript"; transcript_name "DDX11L1-202"; level 2; transcript_support_level "1"; tag "basic"; havana_gene "OTTHUMG00000000961.2"; havana_transcript "OTTHUMT00000362751.1";
chr1    HAVANA  exon    11869   12227   .   +   .   gene_id "ENSG00000223972.5"; transcript_id "ENST00000456328.2"; gene_type "transcribed_unprocessed_pseudogene"; gene_name "DDX11L1"; transcript_type "processed_transcript"; transcript_name "DDX11L1-202"; exon_number 1; exon_id "ENSE00002234944.1"; level 2; transcript_support_level "1"; tag "basic"; havana_gene "OTTHUMG00000000961.2"; havana_transcript "OTTHUMT00000362751.1";
chr1    HAVANA  exon    12613   12721   .   +   .   gene_id "ENSG00000223972.5"; transcript_id "ENST00000456328.2"; gene_type "transcribed_unprocessed_pseudogene"; gene_name "DDX11L1"; transcript_type "processed_transcript"; transcript_name "DDX11L1-202"; exon_number 2; exon_id "ENSE00003582793.1"; level 2; transcript_support_level "1"; tag "basic"; havana_gene "OTTHUMG00000000961.2"; havana_transcript "OTTHUMT00000362751.1";
chr1    HAVANA  exon    13221   14409   .   +   .   gene_id "ENSG00000223972.5"; transcript_id "ENST00000456329.2"; gene_type "transcribed_unprocessed_pseudogene"; gene_name "DDX11L1"; transcript_type "processed_transcript"; transcript_name "DDX11L1-202"; exon_number 3; exon_id "ENSE00002312635.1"; level 2; transcript_support_level "1"; tag "basic"; havana_gene "OTTHUMG00000000961.2"; havana_transcript "OTTHUMT00000362751.1";

и вот как выглядит Transcript_names2.txt:

"ENST00000456328.2"
"ENST00000456329.2"

Может ли кто-нибудь помочь мне с этим?

1 Ответ

3 голосов
/ 19 мая 2019

man grep - хорошее чтение.

Используйте -F для обработки выражений как фиксированных строк.(Не Regex)

Используйте -f для получения файла для чтения шаблонов.

Они не являются исключительными:

grep -Ff Transcript_names2.txt gencode.v30.annotation.gtf > selected_genes

Новое требованиеСкоростьПопробуйте поиграть с разными значениями -P;это количество потоков.

xargs -I{} -P4 grep -F {} gencode.v30.annotation.gtf < Transcript_names2.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...