0
私は生物学的配列データをGTF形式で扱っています。ここ形式の簡単な例です:dplyr:存在しない可能性のある行を折りたたむ
start stop type name
1 90 exon transcript_1_exon_1
12 15 start_codon transcript_1_exon_1
100 160 exon transcript_1_exon_2
190 250 exon transcript_1_exon_3
217 220 stop_codon transcript_1_exon_3
私は彼らのタンパク質配列にエクソンを変換しようとしています。しかし、エキソンの一部はタンパク質をコードしていません。これは、type
フィールドがstart_codon
またはstop_codon
に設定された行が存在することによって示されます。
次のように私は、存在する場合、自分の列に、それぞれ、これらの機能の開始と停止を移動したいと思います:
start stop type name start_codon stop_codon
1 90 exon transcript_1_exon_1 12 NA
100 160 exon transcript_1_exon_2 NA NA
190 250 exon transcript_1_exon_3 NA 220
しかし、私はRでこれを行う方法を見つけ出すことはできません。
gtf3 <- gtf2 %>% group_by(feature_name) %>% summarise(
start_codon = ifelse(sum(type == "start_codon") != 0, start[type == "start_codon"], NA),
stop_codon = ifelse(sum(type == "stop_codon") != 0, stop[type == "stop_codon"], NA))
が、これは私に次のエラーを与える:私はdplyr
を使用して来ている最も近いですEvaluation error: object of type 'closure' is not subsettable.
はどのようにして、開始と電子を移動することができます開始コドンとストップコドンのそれぞれndは、存在するときにそれぞれの列に入れられますか?ここで