Я не программист, но я учусь на уроке биоинформатики, поскольку я - специалист по молекулярной генетике ... Наше задание состоит в том, чтобы взять файл из нескольких записей, например:
77: XP_001929585
ПРОГНОЗИРУЕТСЯ: аналогичен белку, связанному с BRCA1 [ Sus scrofa ]
ГИ | 194042959 | исх | XP_001929585.1 | [194042959]
и извлеките элементы, которые я выделил жирным шрифтом, затем сохраните результаты в файле с разделителями по конвейеру, например:
194042959|Sus scrofa|PREDICTED: similar to BRCA1 associated protein.
Мы используем редактор Sublime для написания наших скриптов на Ruby. Я знаю, как открыть файл, а затем ... ну, вот мой сценарий ...
#!/usr/local/bin/ruby
File.open("mmg231_hw5_brca1.txt").each do |file_line|
if file_line =~ /^(.+)\[([A-Z].+)\]/
description = $1
taxon_name = $2
puts "#{taxon_name}|#{description}"
elsif file_line =~ /\[([0-9].+)\]/
gi_number = $1
puts "#{gi_number}"
end
end
Я знаю, что это неправильно ... регулярные выражения отражают то, что им нужно. первый вывод правильно выводит название таксона и описание, но я не могу понять, как ввести туда номер gi, так как он находится на другой строке ... Я могу вытащить номер gi самостоятельно также, но не имеют возможности связать его с двумя другими частями. Кроме того, когда я вытаскиваю их с помощью разработанных мной регулярных выражений, они остаются в правильном порядке, как они были в файле, поэтому я пытался придумать, как заставить компьютер нумеровать каждую пару имя / описание таксона 1 , 2, 3 и т. Д., Как в файле, а затем сделайте то же самое с номерами gi, а затем вы можете просто сказать, как имя / описание таксона 1 идет с номером gi 1 и т. Д. ... или заставить компьютер получить таксон пара имя-описание, затем просто посмотрите в следующей строке номер gi, но я не знаю, как это сделать ...
помощь? И на простом английском языке было бы полезно, большинство сайтов помощи, я чувствую, что смогу использовать, но я просто не понимаю язык ...
первые 4 записи:
1: ZP_00239925
BRCA1 [Bacillus cereus G9241]
gi|47569239|ref|ZP_00239925.1||gnl|WGS:NZ_AAEK|BCE_G9241_3679 [47569239]
2: NP_009225
breast cancer 1, early onset isoform 1 [Homo sapiens]
gi|6552299|ref|NP_009225.1| [6552299]
3: NP_033894
breast cancer 1 [Mus musculus]
gi|161016835|ref|NP_033894.3| [161016835]
4: NP_036646
breast cancer 1 [Rattus norvegicus]
gi|6978573|ref|NP_036646.1| [6978573]