如何自定义袖扣输出列

时间:2015-12-31 07:05:35

标签: customization sequence

我正在使用mm10分析小鼠的RNAseq数据。我开始使用tophat2 / bowtie。然后我运行袖扣来生成基因和异构体的FPKM。我在第二列以及基因名称旁边的行内使用了具有基因型(即,它是假基因,蛋白质编码,snRNA,lincRna ......)的gtf文件。我的GTF的一行示例是:

1   unprocessed_pseudogene  exon    3054233 3054733 .   +   .   exon_id "ENSMUSE00000848981"; exon_number "1"; gene_biotype "pseudogene"; gene_id "ENSMUSG00000090025"; gene_name "Gm16088"; gene_source "havana"; tag "mRNA_start_NF"; transcript_id "ENSMUST00000160944"; transcript_name "Gm16088-001"; transcript_source "havana"; tss_id "TSS82763";
1   unprocessed_pseudogene  transcript  3054233 3054733 .   +   .   gene_biotype "pseudogene"; gene_id "ENSMUSG00000090025"; gene_name "Gm16088"; gene_source "havana"; tag "mRNA_start_NF"; transcript_id "ENSMUST00000160944"; transcript_name "Gm16088-001"; transcript_source "havana"; tss_id "TSS82763";
1   snRNA   exon    3102016 3102125 .   +   .   exon_id "ENSMUSE00000522066"; exon_number "1"; gene_biotype "snRNA"; gene_id "ENSMUSG00000064842"; gene_name "Gm26206"; gene_source "ensembl"; transcript_id "ENSMUST00000082908"; transcript_name "Gm26206-201"; transcript_source "ensembl"; tss_id "TSS81070";
1   snRNA   transcript  3102016 3102125 .   +   .   gene_biotype "snRNA"; gene_id "ENSMUSG00000064842"; gene_name "Gm26206"; gene_source "ensembl"; transcript_id "ENSMUST00000082908"; transcript_name "Gm26206-201"; transcript_source "ensembl"; tss_id "TSS81070";

我的袖扣基因和异构体跟踪输出文件如下所示:

tracking_id     class_code      nearest_ref_id  gene_id gene_short_name tss_id  locus   length  coverage        FPKM    FPKM_conf_lo    FPKM_conf_hi    FPKM_status
ENSMUSG00000090025      -       -       ENSMUSG00000090025      Gm16088 TSS82763        1:3054232-3054733       -       -       0       0       0       OK
ENSMUSG00000064842      -       -       ENSMUSG00000064842      Gm26206 TSS81070        1:3102015-3102125       -       -       0       0       0       OK
ENSMUSG00000025900      -       -       ENSMUSG00000025900      Rp1     TSS11475        1:4343506-4360314       -       -       0       0       0       OK
ENSMUSG00000088333      -       -       ENSMUSG00000088333      Gm22848 TSS18078        1:3783875-3783933       -       -       0       0       0       OK
ENSMUSG00000025902      -       -       ENSMUSG00000025902      Sox17   TSS56047,TSS74369       1:4490927-4496413       -       -       0.611985        0.394887        0.829082        OK
ENSMUSG00000051951      -       -       ENSMUSG00000051951      Xkr4    TSS1201,TSS70682,TSS88403       1:3205900-3671498       -       -       0       0       0       OK

如您所见,它缺少gtf的第二列,表示基因产物的类型。反正有没有袖扣自动将其合并到其输出文件中?除非我错过它,否则似乎没有一个简单的命令。请指教 -

1 个答案:

答案 0 :(得分:0)

我尝试了几种方法让它在运行袖扣时直接运行但没有工作(如果有人有解决方案,请告诉我)。但是,我找到了解决方法。我做的是以下内容: 1-运行所有cufflinks命令后,将FPKM列的数据合并到另一个文件(我有一个为此编写的脚本 - 如果有人想要它,请告诉我)。 2-从UCSC表浏览器下载功能表 3-使用以下命令将该列添加到上面的合并输出

Comb_Iso = pd.read_csv('Combined.Isoforms.txt', sep='\t') # reads in combined cufflinks output
fnc_library = pd.read_csv(args.library, sep='\t', usecols=[0,1] ) #only takes first 2 columns #reads in the path to the function library
Comb_Iso_fnc = Comb_Iso.merge(fnc_library, on='TranscriptID', how='left') #merges them
ncol_CIF = len(Comb_Iso_fnc.columns) 
df_iso=Comb_Iso_fnc.iloc[:,[0, 1, ncol_CIF-1] + list(range(2,ncol_CIF-1))]
df_iso.to_csv(args.output_combined.strip()+'.Isoforms.txt',  index=False, sep="\t") #generates the output.

现在的输出示例是:

TranscriptID    GeneID  Function    GeneName    TSS-ID  Locus-ID    ExampleHeader1  ExampleHeader2  ExampleHeader3
ENSMUST00000115488  ENSMUSG00000088000  protein_coding  Gm25493 TSS84820    1:4723276-4723379   9   9   9
ENSMUST00000027042  ENSMUSG00000096126  protein_coding  Gm22307 TSS39629    1:4529016-4529123   8   8   8
ENSMUST00000140302  ENSMUSG00000025902  Test2   Sox17   TSS56047,TSS74369   1:4490927-4496413   5   5   5
ENSMUST00000115484  ENSMUSG00000051951  protein_coding  Xkr4    TSS1201,TSS70682,TSS88403   1:3205900-3671498   6   6   6
ENSMUST00000135046  ENSMUSG00000089699  protein_coding  Gm1992  TSS23899    1:3466586-3513553   7   -7  -7
ENSMUST00000132064  ENSMUSG00000025900  linc    Rp1 TSS11475    1:4343506-4360314   3   -3  -3
ENSMUST00000072177  ENSMUSG00000090025      Gm16088 TSS82763    1:3054232-3054733   1   1   1
ENSMUST00000082125  ENSMUSG00000064842  protein_coding  Gm26206 TSS81070    1:3102015-3102125   2   2   2

您可以在第3列中看到该功能。 很高兴分享我的任何脚本来组合袖口(尽管这些可能不是最好的,仍在努力优化)如果你想要它们。