root / Am1.0 / script / gene / make_glean.py @ 8c368a17
History | View | Annotate | Download (1.5 kB)
1 |
gene={} |
---|---|
2 |
with open('snapdragon.scafseq.fa.Glean.filter.final.gff') as fin: |
3 |
for line in fin: |
4 |
lst=line.rstrip().split('\t')
|
5 |
n=lst[8].split('=')[1].split(';')[0] |
6 |
if lst[2]=='mRNA': |
7 |
gene[n]=[lst[0],int(lst[3])-1,lst[4],lst[6],[],[]] |
8 |
else:
|
9 |
gene[n][4].append(int(lst[3])-1) |
10 |
gene[n][5].append(int(lst[4])) |
11 |
|
12 |
fout=open('Glean','w') |
13 |
fout2=open('Gleanstruct','w') |
14 |
id=1
|
15 |
|
16 |
for n in gene: |
17 |
lst=gene[n] |
18 |
fout.write('{0}\t{1}\t{2}\t{3}\t{4}\t{5}\n'.format(lst[0],lst[1],lst[2],n,id,lst[3])) |
19 |
fout2.write('{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}\t{7}\t{8}\t{9}\t{10}\n'.format(id,lst[0],lst[3],lst[1],lst[2], |
20 |
min(lst[4]), |
21 |
max(lst[5]), |
22 |
len(lst[4]), |
23 |
','.join([str(i) for i in lst[4]]), |
24 |
','.join([str(i) for i in lst[5]]), |
25 |
n)) |
26 |
id+=1 |
27 |
fout.close(); |
28 |
fout2.close(); |
29 |
|
30 |
import os |
31 |
os.system('sort -k1,1 -k2,2n Glean > xx')
|
32 |
os.system('mv xx Glean')
|
33 |
os.system('bgzip Glean')
|
34 |
os.system('tabix -p bed Glean.gz')
|
35 |
|
36 |
print ''' |
37 |
drop table if exists Gleanstruct;
|
38 |
create table Gleanstruct (
|
39 |
id int unsigned not null primary key,
|
40 |
chrom varchar(255) not null,
|
41 |
strand char(1) not null,
|
42 |
txStart int unsigned not null,
|
43 |
txEnd int unsigned not null,
|
44 |
cdsStart int unsigned not null,
|
45 |
cdsEnd int unsigned not null,
|
46 |
exonCount int unsigned not null,
|
47 |
exonStarts text not null,
|
48 |
exonEnds text not null,
|
49 |
name varchar(255) not null
|
50 |
);
|
51 |
load data local infile 'Glean.struct' into table Gleanstruct;
|
52 |
|
53 |
drop table if exists Gleansymbol;
|
54 |
create table Gleansymbol (
|
55 |
name varchar(255) not null,
|
56 |
symbol varchar(255) null,
|
57 |
description text null,
|
58 |
id int unsigned not null primary key,
|
59 |
index(name)
|
60 |
);
|
61 |
|
62 |
'''
|