【发布时间】:2018-05-11 20:45:59
【问题描述】:
实际上,我有 4 个不同的数据框,对应于来自 augustus 预测的 2 个不同物种的基因信息,在这些物种中,我使用 sp1 的 sp2 训练参数和 sp1 的 sp2 训练参数训练了数据库.
这里是语法名称的示例,以便更好地理解。
0035: Lepidoptera
0042: WASP
g1.t1_0035_0035 :这个基因已经用物种0035的数据库和它自己的训练参数进行了预测。
g1.t1_0035_0042 :这个基因是用物种0035的数据库和物种0042的训练参数预测出来的。
g1.t1_0042_0042 :这个基因是用物种0042的数据库和它自己的训练参数预测出来的。
g1.t1_0042_0035 :这个基因是用物种0042的数据库和物种0035的训练参数预测出来的。
现在我有 4 个数据框:
gene_name scaf_name scaf_length cov_depth GC
g3.t1 scaffold 6 56786 79 0.39
g4.t1 scaffold 6 56786 79 0.39
g1.t1 scaffold 256 789765 86 0.42
g2.t1 scaffold 890 3456 85 0.40
g5.t1 scaffold 1234 590 90 0.41
如您所见,基因名称没有带有 _number1_number2 的名称 但是每个文件都对应一个特定的情况:这里是文件名:
ggf_0042_0042.csv for all the genex_0042_0042
ggf_0042_0035.csv for all the genex_0042_0035
ggf_0035_0035.csv for all the genex_0035_0035
ggf_0042_0035.csv for all the genex_0042_0035
而我真正想要的只是解析一个fasta文件为例:
>g13600.t1_0042_0042
MERVINTQLLRYLEDHQLISDRQYGFR...
>g34744.t1_0042_0035
MSVPAHVAQIFEAIRRSGQQIDED...
>g28436.t1_0035_0042
WKKAKAENALDSYHHNHLMSEE...
>g14327.t1_0042_0042
MTYGAETWSLTVGLVRKLRVTQR...
>g30148.t1_0035_0042
MLRPVLSSKLPTNTKLRVYKTYIRSRLTY...
>g24481.t1_0035_0035
PCAGSNIKLKGTECFEKSFEVCLRNY...
然后说:
如果基因名称中有数字_0035_0035,则进入文件ggf_0035_0035.csv,并抓取与相同基因名称对应的行并用该行填充新的数据框。
这是一个假设的输出示例:
gene_name scaf_name scaf_length cov_depth GC
g345.t1_0035_0035 scaffold 567 56778 78 0.39
g23.t1_0042_0035 scaffold 43 434 79 0.43
g46.t1_0042_0042 scaffold 276 785660 87 0.41
g2.t1_0042_0035 scaffold 845 345656 87 0.40
等等……
【问题讨论】: