Dm-roX-codes / gene-chr from gtf.ipynb
gene-chr from gtf.ipynb
Raw
library('data.table')
gtf = fread('/home/share/genome/dm6UCSC/dm6.refGene.gtf.gz')
print(dim(gtf))
print(gtf)
[1] 533230      9
            V1      V2          V3       V4       V5     V6     V7     V8
        <char>  <char>      <char>    <int>    <int> <char> <char> <char>
     1:   chrX refGene  transcript 11933705 11983915      .      -      .
     2:   chrX refGene        exon 11933705 11936195      .      -      .
     3:   chrX refGene        3UTR 11933705 11935993      .      -      .
     4:   chrX refGene         CDS 11935997 11936195      .      -      1
     5:   chrX refGene        exon 11936261 11936505      .      -      .
    ---                                                                  
533226:   chrY refGene        5UTR  3022552  3022602      .      +      .
533227:   chrY refGene         CDS  3022603  3023035      .      +      0
533228:   chrY refGene        exon  3023507  3024026      .      +      .
533229:   chrY refGene         CDS  3023507  3024026      .      +      2
533230:   chrY refGene start_codon  3022603  3022605      .      +      0
                                                                                                              V9
                                                                                                          <char>
     1:                                           gene_id "cac"; transcript_id "NM_001370018";  gene_name "cac";
     2: gene_id "cac"; transcript_id "NM_001370018"; exon_number "1"; exon_id "NM_001370018.1"; gene_name "cac";
     3: gene_id "cac"; transcript_id "NM_001370018"; exon_number "1"; exon_id "NM_001370018.1"; gene_name "cac";
     4: gene_id "cac"; transcript_id "NM_001370018"; exon_number "1"; exon_id "NM_001370018.1"; gene_name "cac";
     5: gene_id "cac"; transcript_id "NM_001370018"; exon_number "2"; exon_id "NM_001370018.2"; gene_name "cac";
    ---                                                                                                         
533226: gene_id "FDY"; transcript_id "NM_001370012"; exon_number "2"; exon_id "NM_001370012.2"; gene_name "FDY";
533227: gene_id "FDY"; transcript_id "NM_001370012"; exon_number "2"; exon_id "NM_001370012.2"; gene_name "FDY";
533228: gene_id "FDY"; transcript_id "NM_001370012"; exon_number "3"; exon_id "NM_001370012.3"; gene_name "FDY";
533229: gene_id "FDY"; transcript_id "NM_001370012"; exon_number "3"; exon_id "NM_001370012.3"; gene_name "FDY";
533230: gene_id "FDY"; transcript_id "NM_001370012"; exon_number "2"; exon_id "NM_001370012.2"; gene_name "FDY";
geneList = NULL
for(i in gtf$V9){
    tmp = strsplit(i,split = ';')[[1]][1]
    tmp = sub(pattern = 'gene_id \"',replace = '',x = tmp)
    tmp = sub(pattern = '\"',replace = '',x = tmp)
    geneList = c(geneList,tmp)
}

gtf$gene = geneList
gtf
A data.table: 533230 × 10
V1V2V3V4V5V6V7V8V9gene
<chr><chr><chr><int><int><chr><chr><chr><chr><chr>
chrXrefGenetranscript1193370511983915.-.gene_id "cac"; transcript_id "NM_001370018"; gene_name "cac"; cac
chrXrefGeneexon 1193370511936195.-.gene_id "cac"; transcript_id "NM_001370018"; exon_number "1"; exon_id "NM_001370018.1"; gene_name "cac"; cac
chrXrefGene3UTR 1193370511935993.-.gene_id "cac"; transcript_id "NM_001370018"; exon_number "1"; exon_id "NM_001370018.1"; gene_name "cac"; cac
chrXrefGeneCDS 1193599711936195.-1gene_id "cac"; transcript_id "NM_001370018"; exon_number "1"; exon_id "NM_001370018.1"; gene_name "cac"; cac
chrXrefGeneexon 1193626111936505.-.gene_id "cac"; transcript_id "NM_001370018"; exon_number "2"; exon_id "NM_001370018.2"; gene_name "cac"; cac
chrXrefGeneCDS 1193626111936505.-0gene_id "cac"; transcript_id "NM_001370018"; exon_number "2"; exon_id "NM_001370018.2"; gene_name "cac"; cac
chrXrefGeneexon 1193669211936843.-.gene_id "cac"; transcript_id "NM_001370018"; exon_number "3"; exon_id "NM_001370018.3"; gene_name "cac"; cac
chrXrefGeneCDS 1193669211936843.-2gene_id "cac"; transcript_id "NM_001370018"; exon_number "3"; exon_id "NM_001370018.3"; gene_name "cac"; cac
chrXrefGeneexon 1193892111939121.-.gene_id "cac"; transcript_id "NM_001370018"; exon_number "4"; exon_id "NM_001370018.4"; gene_name "cac"; cac
chrXrefGeneCDS 1193892111939121.-2gene_id "cac"; transcript_id "NM_001370018"; exon_number "4"; exon_id "NM_001370018.4"; gene_name "cac"; cac
chrXrefGeneexon 1193969511939858.-.gene_id "cac"; transcript_id "NM_001370018"; exon_number "5"; exon_id "NM_001370018.5"; gene_name "cac"; cac
chrXrefGeneCDS 1193969511939858.-1gene_id "cac"; transcript_id "NM_001370018"; exon_number "5"; exon_id "NM_001370018.5"; gene_name "cac"; cac
chrXrefGeneexon 1193992111940042.-.gene_id "cac"; transcript_id "NM_001370018"; exon_number "6"; exon_id "NM_001370018.6"; gene_name "cac"; cac
chrXrefGeneCDS 1193992111940042.-0gene_id "cac"; transcript_id "NM_001370018"; exon_number "6"; exon_id "NM_001370018.6"; gene_name "cac"; cac
chrXrefGeneexon 1194862811948836.-.gene_id "cac"; transcript_id "NM_001370018"; exon_number "7"; exon_id "NM_001370018.7"; gene_name "cac"; cac
chrXrefGeneCDS 1194862811948836.-2gene_id "cac"; transcript_id "NM_001370018"; exon_number "7"; exon_id "NM_001370018.7"; gene_name "cac"; cac
chrXrefGeneexon 1194905211949254.-.gene_id "cac"; transcript_id "NM_001370018"; exon_number "8"; exon_id "NM_001370018.8"; gene_name "cac"; cac
chrXrefGeneCDS 1194905211949254.-1gene_id "cac"; transcript_id "NM_001370018"; exon_number "8"; exon_id "NM_001370018.8"; gene_name "cac"; cac
chrXrefGeneexon 1194987611950157.-.gene_id "cac"; transcript_id "NM_001370018"; exon_number "9"; exon_id "NM_001370018.9"; gene_name "cac"; cac
chrXrefGeneCDS 1194987611950157.-1gene_id "cac"; transcript_id "NM_001370018"; exon_number "9"; exon_id "NM_001370018.9"; gene_name "cac"; cac
chrXrefGeneexon 1195212911952223.-.gene_id "cac"; transcript_id "NM_001370018"; exon_number "10"; exon_id "NM_001370018.10"; gene_name "cac";cac
chrXrefGeneCDS 1195212911952223.-0gene_id "cac"; transcript_id "NM_001370018"; exon_number "10"; exon_id "NM_001370018.10"; gene_name "cac";cac
chrXrefGeneexon 1195409911954281.-.gene_id "cac"; transcript_id "NM_001370018"; exon_number "11"; exon_id "NM_001370018.11"; gene_name "cac";cac
chrXrefGeneCDS 1195409911954281.-0gene_id "cac"; transcript_id "NM_001370018"; exon_number "11"; exon_id "NM_001370018.11"; gene_name "cac";cac
chrXrefGeneexon 1196202011962103.-.gene_id "cac"; transcript_id "NM_001370018"; exon_number "12"; exon_id "NM_001370018.12"; gene_name "cac";cac
chrXrefGeneCDS 1196202011962103.-0gene_id "cac"; transcript_id "NM_001370018"; exon_number "12"; exon_id "NM_001370018.12"; gene_name "cac";cac
chrXrefGeneexon 1196223011962340.-.gene_id "cac"; transcript_id "NM_001370018"; exon_number "13"; exon_id "NM_001370018.13"; gene_name "cac";cac
chrXrefGeneCDS 1196223011962340.-0gene_id "cac"; transcript_id "NM_001370018"; exon_number "13"; exon_id "NM_001370018.13"; gene_name "cac";cac
chrXrefGeneexon 1196245111962615.-.gene_id "cac"; transcript_id "NM_001370018"; exon_number "14"; exon_id "NM_001370018.14"; gene_name "cac";cac
chrXrefGeneCDS 1196245111962615.-0gene_id "cac"; transcript_id "NM_001370018"; exon_number "14"; exon_id "NM_001370018.14"; gene_name "cac";cac
⋮⋮⋮⋮⋮⋮⋮⋮⋮⋮
chrX refGeneexon 2320515923205227.+.gene_id "mir-10404-4"; transcript_id "NR_163217_7"; exon_number "1"; exon_id "NR_163217_7.1"; gene_name "mir-10404-4"; mir-10404-4
chrX refGenetranscript 2320515923205227.+.gene_id "mir-10404-5"; transcript_id "NR_163218_7"; gene_name "mir-10404-5"; mir-10404-5
chrX refGeneexon 2320515923205227.+.gene_id "mir-10404-5"; transcript_id "NR_163218_7"; exon_number "1"; exon_id "NR_163218_7.1"; gene_name "mir-10404-5"; mir-10404-5
chrX refGenetranscript 2329145023291518.+.gene_id "mir-10404-3"; transcript_id "NR_163216_8"; gene_name "mir-10404-3"; mir-10404-3
chrX refGeneexon 2329145023291518.+.gene_id "mir-10404-3"; transcript_id "NR_163216_8"; exon_number "1"; exon_id "NR_163216_8.1"; gene_name "mir-10404-3"; mir-10404-3
chrX refGenetranscript 2329145023291518.+.gene_id "mir-10404-4"; transcript_id "NR_163217_8"; gene_name "mir-10404-4"; mir-10404-4
chrX refGeneexon 2329145023291518.+.gene_id "mir-10404-4"; transcript_id "NR_163217_8"; exon_number "1"; exon_id "NR_163217_8.1"; gene_name "mir-10404-4"; mir-10404-4
chrX refGenetranscript 2329145023291518.+.gene_id "mir-10404-5"; transcript_id "NR_163218_8"; gene_name "mir-10404-5"; mir-10404-5
chrX refGeneexon 2329145023291518.+.gene_id "mir-10404-5"; transcript_id "NR_163218_8"; exon_number "1"; exon_id "NR_163218_8.1"; gene_name "mir-10404-5"; mir-10404-5
chrX refGenetranscript 2353821523538283.-.gene_id "mir-10404-3"; transcript_id "NR_163216_9"; gene_name "mir-10404-3"; mir-10404-3
chrX refGeneexon 2353821523538283.-.gene_id "mir-10404-3"; transcript_id "NR_163216_9"; exon_number "1"; exon_id "NR_163216_9.1"; gene_name "mir-10404-3"; mir-10404-3
chrX refGenetranscript 2353821523538283.-.gene_id "mir-10404-4"; transcript_id "NR_163217_9"; gene_name "mir-10404-4"; mir-10404-4
chrX refGeneexon 2353821523538283.-.gene_id "mir-10404-4"; transcript_id "NR_163217_9"; exon_number "1"; exon_id "NR_163217_9.1"; gene_name "mir-10404-4"; mir-10404-4
chrX refGenetranscript 2353821523538283.-.gene_id "mir-10404-5"; transcript_id "NR_163218_9"; gene_name "mir-10404-5"; mir-10404-5
chrX refGeneexon 2353821523538283.-.gene_id "mir-10404-5"; transcript_id "NR_163218_9"; exon_number "1"; exon_id "NR_163218_9.1"; gene_name "mir-10404-5"; mir-10404-5
chrX_DS484101v1_randomrefGenetranscript 1497 1565.+.gene_id "mir-10404-3"; transcript_id "NR_163216_10"; gene_name "mir-10404-3"; mir-10404-3
chrX_DS484101v1_randomrefGeneexon 1497 1565.+.gene_id "mir-10404-3"; transcript_id "NR_163216_10"; exon_number "1"; exon_id "NR_163216_10.1"; gene_name "mir-10404-3";mir-10404-3
chrX_DS484101v1_randomrefGenetranscript 1497 1565.+.gene_id "mir-10404-4"; transcript_id "NR_163217_10"; gene_name "mir-10404-4"; mir-10404-4
chrX_DS484101v1_randomrefGeneexon 1497 1565.+.gene_id "mir-10404-4"; transcript_id "NR_163217_10"; exon_number "1"; exon_id "NR_163217_10.1"; gene_name "mir-10404-4";mir-10404-4
chrX_DS484101v1_randomrefGenetranscript 1497 1565.+.gene_id "mir-10404-5"; transcript_id "NR_163218_10"; gene_name "mir-10404-5"; mir-10404-5
chrX_DS484101v1_randomrefGeneexon 1497 1565.+.gene_id "mir-10404-5"; transcript_id "NR_163218_10"; exon_number "1"; exon_id "NR_163218_10.1"; gene_name "mir-10404-5";mir-10404-5
chrY refGenetranscript 3022289 3024026.+.gene_id "FDY"; transcript_id "NM_001370012"; gene_name "FDY"; FDY
chrY refGeneexon 3022289 3022399.+.gene_id "FDY"; transcript_id "NM_001370012"; exon_number "1"; exon_id "NM_001370012.1"; gene_name "FDY"; FDY
chrY refGene5UTR 3022289 3022399.+.gene_id "FDY"; transcript_id "NM_001370012"; exon_number "1"; exon_id "NM_001370012.1"; gene_name "FDY"; FDY
chrY refGeneexon 3022552 3023035.+.gene_id "FDY"; transcript_id "NM_001370012"; exon_number "2"; exon_id "NM_001370012.2"; gene_name "FDY"; FDY
chrY refGene5UTR 3022552 3022602.+.gene_id "FDY"; transcript_id "NM_001370012"; exon_number "2"; exon_id "NM_001370012.2"; gene_name "FDY"; FDY
chrY refGeneCDS 3022603 3023035.+0gene_id "FDY"; transcript_id "NM_001370012"; exon_number "2"; exon_id "NM_001370012.2"; gene_name "FDY"; FDY
chrY refGeneexon 3023507 3024026.+.gene_id "FDY"; transcript_id "NM_001370012"; exon_number "3"; exon_id "NM_001370012.3"; gene_name "FDY"; FDY
chrY refGeneCDS 3023507 3024026.+2gene_id "FDY"; transcript_id "NM_001370012"; exon_number "3"; exon_id "NM_001370012.3"; gene_name "FDY"; FDY
chrY refGenestart_codon 3022603 3022605.+0gene_id "FDY"; transcript_id "NM_001370012"; exon_number "2"; exon_id "NM_001370012.2"; gene_name "FDY"; FDY
res = gtf[,c(1,10)]
dim(res)
res = res[!duplicated(res)]

res
  1. 533230
  2. 2
A data.table: 17233 × 2
V1gene
<chr><chr>
chrX cac
chrX Cngl
chr3R CG11836
chr3R CG33096
chr3R bam
chr3R sisRNA:CR46364
chr3R CG5890
chr3R CG17189
chr3R CG11951
chr3R dco
chrUn_CP007120v1mir-10404-3
chrUn_CP007120v1mir-10404-4
chrUn_CP007120v1mir-10404-5
chrUn_DS485228v1mir-10404-3
chrUn_DS485228v1mir-10404-4
chrUn_DS485228v1mir-10404-5
chrUn_DS485453v1mir-10404-3
chrUn_DS485453v1mir-10404-4
chrUn_DS485453v1mir-10404-5
chrUn_DS485826v1mir-10404-3
chrUn_DS485826v1mir-10404-4
chrUn_DS485826v1mir-10404-5
chrUn_DS485968v1mir-10404-3
chrUn_DS485968v1mir-10404-4
chrUn_DS485968v1mir-10404-5
chrX CG32809
chrX CG3078
chrX fd3F
chrX lncRNA:CR46349
chrX CG43689
⋮⋮
chr3L CG14115
chr3L CG34428
chr3L lncRNA:CR46353
chr3L sisRNA:3
chr3L lncRNA:CR46348
chr3L CG14459
chr3L CG33768
chr3L snoRNA:Me18S-G1358
chr3R sisRNA:CR46358
chr3R lncRNA:CR46352
chr3R scaRNA:MeU4:25F-C137
chr3R sisRNA:1
chr3R lncRNA:CR46350
chr3R sisRNA:CR46357
chr3R CG34303
chr3R CG14720
chr3R CG10041
chr3R lncRNA:CR46351
chr3R beat-Vc
chr3R asRNA:CR46354
chr3R sisRNA:CR46363
chr3R snoRNA:Or-ACA9
chrX sisRNA:2
chrX upd2
chrX mir-10404-3
chrX mir-10404-4
chrX mir-10404-5
chrX_DS484101v1_randommir-10404-3
chrX_DS484101v1_randommir-10404-4
chrX_DS484101v1_randommir-10404-5
table(res$V1)
                 chr2L                  chr2R                  chr3L 
                  3416                   3486                   3384 
                 chr3R                   chr4       chrUn_CP007081v1 
                  4088                    105                      2 
      chrUn_CP007120v1       chrUn_DS483646v1       chrUn_DS484313v1 
                    20                      1                      4 
      chrUn_DS484385v1       chrUn_DS484581v1       chrUn_DS485228v1 
                     4                      1                      5 
      chrUn_DS485324v1       chrUn_DS485453v1       chrUn_DS485536v1 
                     4                      5                      4 
      chrUn_DS485826v1       chrUn_DS485964v1       chrUn_DS485968v1 
                    12                      4                     12 
      chrUn_DS485991v1                   chrX chrX_DS483995v1_random 
                     7                   2589                      1 
chrX_DS484101v1_random                   chrY chrY_CP007113v1_random 
                    12                     54                      1 
chrY_DS483742v1_random chrY_DS483875v1_random chrY_DS483931v1_random 
                     1                      4                      2 
chrY_DS484142v1_random chrY_DS484909v1_random chrY_DS485423v1_random 
                     1                      1                      1 
chrY_DS485523v1_random chrY_DS485938v1_random 
                     1                      1 
res = res[grep('chrUn',res$V1,invert = TRUE),]
res = res[grep('random',res$V1,invert = TRUE),]
res
A data.table: 17122 × 2
V1gene
<chr><chr>
chrX cac
chrX Cngl
chr3RCG11836
chr3RCG33096
chr3Rbam
chr3RsisRNA:CR46364
chr3RCG5890
chr3RCG17189
chr3RCG11951
chr3Rdco
chrX CG32809
chrX CG3078
chrX fd3F
chrX lncRNA:CR46349
chrX CG43689
chrX ctp
chrX CG9650
chrX ct
chrX oc
chrX CG12662
chrX mei-P26
chrX CG1354
chrX CG17841
chrX flw
chrX ras
chrX sbr
chr3R5PtaseI
chr3RNmnat
chr3RCG31145
chr3RCASK
⋮⋮
chr3LsnoRNA:Or-ACA8
chr3LCG11570
chr3LCG43294
chr3LCG14115
chr3LCG34428
chr3LlncRNA:CR46353
chr3LsisRNA:3
chr3LlncRNA:CR46348
chr3LCG14459
chr3LCG33768
chr3LsnoRNA:Me18S-G1358
chr3RsisRNA:CR46358
chr3RlncRNA:CR46352
chr3RscaRNA:MeU4:25F-C137
chr3RsisRNA:1
chr3RlncRNA:CR46350
chr3RsisRNA:CR46357
chr3RCG34303
chr3RCG14720
chr3RCG10041
chr3RlncRNA:CR46351
chr3Rbeat-Vc
chr3RasRNA:CR46354
chr3RsisRNA:CR46363
chr3RsnoRNA:Or-ACA9
chrX sisRNA:2
chrX upd2
chrX mir-10404-3
chrX mir-10404-4
chrX mir-10404-5
write.csv(res,file = 'gene_chr.csv')
up = fread('roxRNAi_DEG.csv')
up = up[up$status=='up',]
head(up)
A data.table: 6 × 5
V1namespvals_adjlogfoldchangesstatus
<int><chr><dbl><dbl><chr>
0RpL41 00.8672693up
1RpL6 00.9240085up
2RpL29 00.8541424up
3RpL39 00.7917424up
4RpL36A00.5807247up
5RpS27 00.6652983up
library(dplyr)
table(res$V1[res$gene %in% up$names])
载入程辑包:‘dplyr’


The following objects are masked from ‘package:data.table’:

    between, first, last


The following objects are masked from ‘package:stats’:

    filter, lag


The following objects are masked from ‘package:base’:

    intersect, setdiff, setequal, union






chr2L chr2R chr3L chr3R  chr4  chrX 
  860  1027   978  1215    48   881 
table(res$V1)
chr2L chr2R chr3L chr3R  chr4  chrX  chrY 
 3416  3486  3384  4088   105  2589    54 

pct = NULL
for(i in names(table(res$V1[res$gene %in% up$names]))){
    pct0 = table(res$V1[res$gene %in% up$names])[i]/table(res$V1)[i]
    pct0 = round(100*pct0,2)
    pct = c(pct,pct0)
}
pct
chr2L
25.18
chr2R
29.46
chr3L
28.9
chr3R
29.72
chr4
45.71
chrX
34.03
library(ggplot2)
p = ggplot(data = NULL,aes(x = names(pct),y = pct,fill = names(pct)))+
    geom_bar(stat = "identity")+
    theme_classic()+
    scale_fill_manual(values = c('#2E7EBB','#EB2C2B','#37AA4A','#957B5B','#7262AC','#EABE0B'))+
    labs(x = 'Chr',y = 'percentage(%)')
ggsave(filename = 'ChrPct.png',plot = p,width = 6,height = 6,dpi = 300,bg = 'white')
p

png

tmp = table(res$V1[res$gene %in% up$names])
p = ggplot(data = NULL,aes(x = "",y = tmp,fill = names(tmp)))+
    geom_bar(stat = "identity")+
    coord_polar(theta = "y")+
    theme_void()+
    scale_fill_manual(values = c('#2E7EBB','#EB2C2B','#37AA4A','#957B5B','#7262AC','#EABE0B'),breaks = names(tmp),labels = paste0(names(tmp),': ',round(100*tmp/sum(tmp),2),"%"))+
    labs(fill = 'Chr')
ggsave(filename = 'degPct.png',plot = p,width = 6,height = 6,dpi = 300,bg = 'white')
p
Don't know how to automatically pick scale for object of type <table>.
Defaulting to continuous.
Don't know how to automatically pick scale for object of type <table>.
Defaulting to continuous.

png