搜索
楼主: Jimmy

生信编程直播第二题-hg19基因组序列的一些探究

  [复制链接]

0

主题

3

帖子

137

积分

注册会员

Rank: 2

积分
137
发表于 2017-1-15 01:10:34 | 显示全部楼层
112 perl+Python 兴旺 perl对我来说的确很生涩,相较而言,Python学起来相对容易一些,最近正在加紧学习《Learn Python The Hard Way》,基本看到一半,如上周承诺的一样,将于下周周末前一并完成第一题和第二题,对了,东野大神的Python入门视频真心不错。
回复 支持 反对

使用道具 举报

1

主题

8

帖子

102

积分

注册会员

Rank: 2

积分
102
发表于 2017-1-15 01:16:02 | 显示全部楼层
本帖最后由 kkshaxqd 于 2017-1-15 10:39 编辑

[mw_shl_code=perl,true]#!/usr/bin/perl use strict;
my $x1=$ARGV[0];
my ($chr,$len,$gc,$n,$count_A,$count_T,$count_C,$count_G,$count_N,%count_A, %count_T, %count_C, %count_G, %count_N);
open FILE, "$x1" or die $!;
print "chr\tLength\(bp\)\tA\(bp\)\tT\(bp\)\tC\(bp\)\tG\(bp\)\tN\(bp\)\tN(%)\tGC(%)\n";
while(<FILE>){
chomp;
if ($_=~/^>(chr\S+)/){$chr=$1;}
else{
$count_A{$chr}+=($_=~tr/Aa//);
$count_T{$chr}+=($_=~tr/Tt//);
$count_C{$chr}+=($_=~tr/Cc//);
$count_G{$chr}+=($_=~tr/Gg//);
$count_N{$chr}+=($_=~tr/Nn//);
}
}
foreach $chr (sort keys %count_A){
$len=($count_A{$chr} + $count_T{$chr} + $count_C{$chr} + $count_G{$chr} + $count_N{$chr});
$gc=(($count_C{$chr}+$count_G{$chr})/$len)*100;
$n=($count_N{$chr}/$len)*100;
printf "%s\t%d\t%d\t%d\t%d\t%d\t%d\t%.2f\t%.2f\n","$chr","$len","$count_A{$chr}","$count_T{$chr}","$count_C{$chr}","$count_G{$chr}","$count_N{$chr}","$n","$gc";
}
close FILE;
[/mw_shl_code]
计算结果如下:chr        Length(bp)        A(bp)        T(bp)        C(bp)        G(bp)        N(bp)        N(%)        GC(%)
chr1        249250621        65570891        65668756        47024412        47016562        23970000        9.62        37.73
chr10        135534747        38330752        38376915        27308648        27298423        4220009        3.11        40.29
chr11        135006516        38307244        38317436        27236798        27268038        3877000        2.87        40.37
chr11_gl000202_random        40103        9226        8978        11254        10645        0        0.00        54.61
chr12        133851895        38604831        38624517        26634995        26617050        3370502        2.52        39.78
chr13        115169878        29336945        29425459        18412698        18414776        19580000        17.00        31.98
chr14        107349540        25992966        26197495        18027132        18071947        19060000        17.76        33.63
chr15        102531392        23620876        23597921        17247582        17228387        20836626        20.32        33.62
chr16        90354753        21724083        21828642        17630040        17701988        11470000        12.69        39.10
chr17        81195210        21159933        21206981        17727956        17700340        3400000        4.19        43.63
chr17_ctg5_hap1        1680828        429214        432922        355909        362783        100000        5.95        42.76
chr17_gl000203_random        37498        12564        12452        6074        6408        0        0.00        33.29
chr17_gl000204_random        81310        19702        17322        22701        21585        0        0.00        54.47
chr17_gl000205_random        174588        49255        52471        36716        36146        0        0.00        41.73
chr17_gl000206_random        41001        8770        10463        10483        11285        0        0.00        53.09
chr18        78077248        22465380        22489493        14838685        14863671        3420019        4.38        38.04
chr18_gl000207_random        4262        1004        1385        588        1285        0        0.00        43.95
chr19        59128983        14390632        14428951        13478255        13511145        3320000        5.61        45.64
chr19_gl000208_random        92689        29179        28602        18369        16539        0        0.00        37.66
chr19_gl000209_random        159169        43978        41183        35443        38565        0        0.00        46.50
chr1_gl000191_random        106433        27971        31264        23785        23413        0        0.00        44.35
chr1_gl000192_random        547496        163078        157247        112730        114441        0        0.00        41.49
chr2        243199373        71102632        71239379        47915465        47947042        4994855        2.05        39.42
chr20        63025520        16523053        16725227        13107828        13149412        3520000        5.59        41.66
chr21        48129895        10422924        10348785        7160212        7174721        13023253        27.06        29.78
chr21_gl000210_random        27682        6288        6317        7726        7251        100        0.36        54.10
chr22        51304566        9094775        9054551        8375984        8369235        16410021        31.99        32.64
chr3        198022430        58713343        58760485        38653197        38670110        3225295        1.63        39.05
chr4        191154276        57932980        57952068        35885806        35890822        3492600        1.83        37.55
chr4_ctg9_hap1        590426        185171        190487        107556        107212        0        0.00        36.38
chr4_gl000193_random        189789        53509        55056        40616        40608        0        0.00        42.80
chr4_gl000194_random        191469        52949        55693        41521        41306        0        0.00        43.26
chr5        180915260        53672554        53804137        35089383        35129186        3220000        1.78        38.81
chr6        171115067        50554433        50533923        33143287        33163423        3720001        2.17        38.75
chr6_apd_hap1        4622290        660350        640840        509167        510390        2301543        49.79        22.06
chr6_cox_hap2        4795371        1341236        1311570        1069806        1072759        0        0.00        44.68
chr6_dbb_hap3        4610396        1172535        1142951        943550        945266        406094        8.81        40.97
chr6_mann_hap4        4683263        1156084        1134193        903022        907442        582522        12.44        38.66
chr6_mcf_hap5        4833398        1050968        1024227        858581        861135        1038487        21.49        35.58
chr6_qbl_hap6        4611984        1189669        1168711        967043        969902        316659        6.87        42.00
chr6_ssto_hap7        4928567        1172219        1156168        918220        926944        755016        15.32        37.44
chr7        159138663        45997757        46047257        31671670        31636979        3785000        2.38        39.78
chr7_gl000195_random        182896        53469        55057        37021        37349        0        0.00        40.66
chr8        146364022        42767293        42715025        28703983        28702621        3475100        2.37        39.22
chr8_gl000196_random        38914        13843        9642        7910        7519        0        0.00        39.65
chr8_gl000197_random        37175        8644        8408        9883        10140        100        0.27        53.86
chr9        141213431        35260078        35243882        24826212        24813259        21070000        14.92        35.15
chr9_gl000198_random        90085        27843        28140        15617        18485        0        0.00        37.86
chr9_gl000199_random        169874        54702        50765        34981        29426        0        0.00        37.91
chr9_gl000200_random        187035        55353        56966        37202        37514        0        0.00        39.95
chr9_gl000201_random        36148        7101        7560        10373        11114        0        0.00        59.44
chrM        16571        5113        4086        5192        2180        0        0.00        44.49
chrUn_gl000211        166566        50926        51165        31968        32507        0        0.00        38.71
chrUn_gl000212        186858        52729        51193        42454        40482        0        0.00        44.38
chrUn_gl000213        164239        48047        49015        33831        33346        0        0.00        40.90
chrUn_gl000214        137718        40645        39891        27484        29698        0        0.00        41.52
chrUn_gl000215        172545        50334        49738        36250        36223        0        0.00        42.00
chrUn_gl000216        172294        41409        58566        46717        25602        0        0.00        41.97
chrUn_gl000217        172149        51945        55495        32578        32131        0        0.00        37.59
chrUn_gl000218        161147        46030        48047        33296        33774        0        0.00        41.62
chrUn_gl000219        179198        54530        53059        35501        36108        0        0.00        39.96
chrUn_gl000220        161802        37230        46155        40720        37697        0        0.00        48.46
chrUn_gl000221        155397        47915        47444        29886        30152        0        0.00        38.64
chrUn_gl000222        186861        51533        53158        40866        41304        0        0.00        43.97
chrUn_gl000223        180455        52931        49568        38849        39107        0        0.00        43.20
chrUn_gl000224        179693        50248        51660        37430        40355        0        0.00        43.29
chrUn_gl000225        211173        56943        53599        48931        51700        0        0.00        47.65
chrUn_gl000226        15008        4502        4649        2626        3231        0        0.00        39.03
chrUn_gl000227        128374        41076        34652        26250        26396        0        0.00        41.01
chrUn_gl000228        129120        30512        28967        35495        34146        0        0.00        53.94
chrUn_gl000229        19913        3983        5944        5385        4601        0        0.00        50.15
chrUn_gl000230        43691        12678        12789        9338        8886        0        0.00        41.71
chrUn_gl000231        27386        7100        8054        6203        6029        0        0.00        44.67
chrUn_gl000232        40652        11534        12116        8490        8512        0        0.00        41.82
chrUn_gl000233        45941        12192        14260        9504        9985        0        0.00        42.42
chrUn_gl000234        40531        10797        12277        8725        8732        0        0.00        43.07
chrUn_gl000235        34474        11845        9530        6585        6514        0        0.00        38.00
chrUn_gl000236        41934        13006        11470        8432        9026        0        0.00        41.63
chrUn_gl000237        45867        12273        12191        10241        11162        0        0.00        46.66
chrUn_gl000238        39939        10404        13559        7805        8171        0        0.00        40.00
chrUn_gl000239        33824        9221        9246        7268        8089        0        0.00        45.40
chrUn_gl000240        41933        13601        10490        8962        8880        0        0.00        42.55
chrUn_gl000241        42152        13620        12815        7864        7853        0        0.00        37.29
chrUn_gl000242        43523        10591        11869        10033        11030        0        0.00        48.40
chrUn_gl000243        43341        10728        12673        10304        9636        0        0.00        46.01
chrUn_gl000244        39929        10948        11560        8564        8857        0        0.00        43.63
chrUn_gl000245        36651        12875        10467        6707        6602        0        0.00        36.31
chrUn_gl000246        38154        10440        12968        7354        7392        0        0.00        38.65
chrUn_gl000247        36422        11002        9540        7794        8086        0        0.00        43.60
chrUn_gl000248        39786        10114        11507        9265        8900        0        0.00        45.66
chrUn_gl000249        38502        10793        9698        8978        9033        0        0.00        46.78
chrX        155270560        45648952        45772424        29813353        29865831        4170000        2.69        38.44
chrY        59373566        7667625        7733482        5099171        5153288        33720000        56.79        17.27
hg19.fa中人类染色体各碱基基本情况统计如上。
024-perl

回复 支持 反对

使用道具 举报

0

主题

8

帖子

179

积分

注册会员

Rank: 2

积分
179
发表于 2017-1-15 02:41:14 | 显示全部楼层
028-Python-Ryu
解题思路:
1.读取fasta文件,fasta文件每个不同的序列开头都有一个“>”号,因此可作为不同染色体的标记
2.统计序列长度使用len(),统计N、G、C个数使用.count()
3.一开始时考虑像李恒的readfq那样,先将序列存入一个变量,最后再统计,但是考虑需要内存以及速度较慢,最后直接每行处理,比较节省内存

完成代码后,再看老师的视频,最后再修改了一下自己的代码,主要是格式化输出以及计算GC含量时取出N的数目再计算。老师介绍的pysam很不错,又学习到新的知识!赞!

明天再做一下统计蛋白编码区的题目。

代码如下:
[mw_shl_code=python,true]hg19_reference='hg19.fa'
# hg19_reference="test.fa"


with open(hg19_reference,'r')as genome,open("summary.txt",'w')as result:

    result.write("\t".join(("chromosome","length","N number","N percent","GC number","GC percent","\n")))
    summary=["",0.0,0.0,0.0] # chrom, length, #N, #GC
    for line in genome:
        # print(line)
        if line.startswith(">"):
            if summary[0] != "":
                len_seq="%d" % summary[1]
                len_N="%d" % summary[2]
                percent_N="%.02f" % (summary[2]/summary[1])
                len_GC="%d" % summary[3]
                percent_GC="%.02f" % (summary[3]/(summary[1]-summary[2]))
                result.write("\t".join((summary[0],len_seq,len_N,percent_N,len_GC,percent_GC,"\n")))
            print(line)
            summary=["",0.0,0.0,0.0]
            summary[0]=line.strip()
        else:
            summary[1]+=len(line.strip())
            summary[2]+=line.count("N")
            summary[3]+=line.count("G")+line.count("C")+line.count("g")+line.count("c")
    len_seq="%d" % summary[1]
    len_N="%d" % summary[2]
    percent_N="%.02f" % (summary[2]/summary[1])
    len_GC="%d" % summary[3]
    percent_GC="%.02f" % (summary[3]/(summary[1]-summary[2]))
    result.write("\t".join((summary[0],len_seq,len_N,percent_N,len_GC,percent_GC,"\n")))[/mw_shl_code]

运行时间在我的笔记本上大约2分钟左右
2017-01-15 02-22-02屏幕截图.png
最后结果如下:
[mw_shl_code=text,true]chromosome        length        N number        N percent        GC number        GC percent
>chr10        135534747        4220005        0.03        54607071        0.42
>chr11        135006516        3877000        0.03        54504836        0.42
>chr11_gl000202_random        40103        0        0        21899        0.55
>chr12        133851895        3370501        0.03        53252045        0.41
>chr13        115169878        19580000        0.17        36827474        0.39
>chr14        107349540        19060000        0.18        36099079        0.41
>chr15        102531392        20836623        0.2        34475969        0.42
>chr16        90354753        11470000        0.13        35332028        0.45
>chr17_ctg5_hap1        1680828        100000        0.06        718692        0.45
>chr17        81195210        3400000        0.04        35428296        0.46
>chr17_gl000203_random        37498        0        0        12482        0.33
>chr17_gl000204_random        81310        0        0        44286        0.54
>chr17_gl000205_random        174588        0        0        72862        0.42
>chr17_gl000206_random        41001        0        0        21768        0.53
>chr18        78077248        3420015        0.04        29702356        0.4
>chr18_gl000207_random        4262        0        0        1873        0.44
>chr19        59128983        3320000        0.06        26989400        0.48
>chr19_gl000208_random        92689        0        0        34908        0.38
>chr19_gl000209_random        159169        0        0        74008        0.46
>chr1        249250621        23970000        0.1        94040974        0.42
>chr1_gl000191_random        106433        0        0        47198        0.44
>chr1_gl000192_random        547496        0        0        227171        0.41
>chr20        63025520        3520000        0.06        26257240        0.44
>chr21        48129895        13023203        0.27        14334933        0.41
>chr21_gl000210_random        27682        100        0        14977        0.54
>chr22        51304566        16410004        0.32        16745219        0.48
>chr2        243199373        4994851        0.02        95862507        0.4
>chr3        198022430        3225294        0.02        77323307        0.4
>chr4_ctg9_hap1        590426        0        0        214768        0.36
>chr4        191154276        3492600        0.02        71776628        0.38
>chr4_gl000193_random        189789        0        0        81224        0.43
>chr4_gl000194_random        191469        0        0        82827        0.43
>chr5        180915260        3220000        0.02        70218569        0.4
>chr6_apd_hap1        4622290        2301543        0.5        1019557        0.44
>chr6_cox_hap2        4795371        0        0        2142565        0.45
>chr6_dbb_hap3        4610396        406094        0.09        1888816        0.45
>chr6        171115067        3720000        0.02        66306710        0.4
>chr6_mann_hap4        4683263        582522        0.12        1810464        0.44
>chr6_mcf_hap5        4833398        1038487        0.21        1719716        0.45
>chr6_qbl_hap6        4611984        316659        0.07        1936945        0.45
>chr6_ssto_hap7        4928567        755016        0.15        1845164        0.44
>chr7        159138663        3785000        0.02        63308649        0.41
>chr7_gl000195_random        182896        0        0        74370        0.41
>chr8        146364022        3475100        0.02        57406604        0.4
>chr8_gl000196_random        38914        0        0        15429        0.4
>chr8_gl000197_random        37175        100        0        20023        0.54
>chr9        141213431        21070000        0.15        49639471        0.41
>chr9_gl000198_random        90085        0        0        34102        0.38
>chr9_gl000199_random        169874        0        0        64407        0.38
>chr9_gl000200_random        187035        0        0        74716        0.4
>chr9_gl000201_random        36148        0        0        21487        0.59
>chrM        16571        0        0        7372        0.44
>chrUn_gl000211        166566        0        0        64475        0.39
>chrUn_gl000212        186858        0        0        82936        0.44
>chrUn_gl000213        164239        0        0        67177        0.41
>chrUn_gl000214        137718        0        0        57182        0.42
>chrUn_gl000215        172545        0        0        72473        0.42
>chrUn_gl000216        172294        0        0        72319        0.42
>chrUn_gl000217        172149        0        0        64709        0.38
>chrUn_gl000218        161147        0        0        67070        0.42
>chrUn_gl000219        179198        0        0        71609        0.4
>chrUn_gl000220        161802        0        0        78417        0.48
>chrUn_gl000221        155397        0        0        60038        0.39
>chrUn_gl000222        186861        0        0        82170        0.44
>chrUn_gl000223        180455        0        0        77956        0.43
>chrUn_gl000224        179693        0        0        77785        0.43
>chrUn_gl000225        211173        0        0        100631        0.48
>chrUn_gl000226        15008        0        0        5857        0.39
>chrUn_gl000227        128374        0        0        52646        0.41
>chrUn_gl000228        129120        0        0        69641        0.54
>chrUn_gl000229        19913        0        0        9986        0.5
>chrUn_gl000230        43691        0        0        18224        0.42
>chrUn_gl000231        27386        0        0        12232        0.45
>chrUn_gl000232        40652        0        0        17002        0.42
>chrUn_gl000233        45941        0        0        19489        0.42
>chrUn_gl000234        40531        0        0        17457        0.43
>chrUn_gl000235        34474        0        0        13099        0.38
>chrUn_gl000236        41934        0        0        17458        0.42
>chrUn_gl000237        45867        0        0        21403        0.47
>chrUn_gl000238        39939        0        0        15976        0.4
>chrUn_gl000239        33824        0        0        15357        0.45
>chrUn_gl000240        41933        0        0        17842        0.43
>chrUn_gl000241        42152        0        0        15717        0.37
>chrUn_gl000242        43523        0        0        21063        0.48
>chrUn_gl000243        43341        0        0        19940        0.46
>chrUn_gl000244        39929        0        0        17421        0.44
>chrUn_gl000245        36651        0        0        13309        0.36
>chrUn_gl000246        38154        0        0        14746        0.39
>chrUn_gl000247        36422        0        0        15880        0.44
>chrUn_gl000248        39786        0        0        18165        0.46
>chrUn_gl000249        38502        0        0        18011        0.47
>chrX        155270560        4170000        0.03        59679184        0.39
>chrY        59373566        33720000        0.57        10252459        0.4
[/mw_shl_code]

代码和结果已上传Github,欢迎小伙伴们与我讨论,谢谢。
回复 支持 2 反对 0

使用道具 举报

0

主题

4

帖子

202

积分

中级会员

Rank: 3Rank: 3

积分
202
发表于 2017-1-15 04:42:41 | 显示全部楼层
087-Python-

"""
from __future__ import division
import os

os.chdir("C:/Users/xuan/Desktop")
sequences={}
head=""
with open ("test.txt",'r') as f:
    for line in f:
        if line.startswith('>'):
            head=line.strip()
            sequences[head] =""
        else:
            sequences[head] += line.strip()
print sequences

for i in sequences:
    #print str(i)+" "+ 'N content:',sequences[i].count('N')/len(sequences[i])
    print str(i)+" "+ 'GC content:',"%.2f"%((sequences[i].count('G')+sequences[i].count('C'))/len(sequences[i])*100)
回复 支持 反对

使用道具 举报

633

主题

1182

帖子

4030

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4030
 楼主| 发表于 2017-1-15 10:30:43 | 显示全部楼层
Ryu 发表于 2017-1-15 02:41
028-Python-Ryu
解题思路:
1.读取fasta文件,fasta文件每个不同的序列开头都有一个“>”号,因此可作为不 ...

great job!
your blog look pretty cute, I really can't believe you are not a girl .
http://codewith.love/
你这个问题很复杂,需要打赏,请点击 http://www.bio-info-trainee.com/donate 进行打赏,谢谢
回复 支持 反对

使用道具 举报

1

主题

17

帖子

272

积分

中级会员

Rank: 3Rank: 3

积分
272
发表于 2017-1-15 10:37:56 | 显示全部楼层
x2yline 发表于 2017-1-10 23:59
077 R-python-shell-x2yline
(1)R语言实现

很厉害!大神。
运算速度很快
只是有一点输出的结果里第一条染色体没有统一成大写字符
回复 支持 反对

使用道具 举报

103

主题

133

帖子

860

积分

版主

Rank: 7Rank: 7Rank: 7

积分
860
发表于 2017-1-15 10:50:15 | 显示全部楼层
002+python+Shell
本周主要把电脑给重装了双系统,整了三天,终于搞定了,以前软件存储路径一点都不关心,现在伤筋动骨后得好好整理整理啦~!

[mw_shl_code=python,true]from collections import OrderedDict

chr_dict = OrderedDict()
temp_thr = ""

with open("hg19.txt","r") as hg19:
    for line in hg19:
        line = line.strip()
        if line.startswith(">"):
            temp_chr = line
            chr_dict[temp_chr] = ""
        else:
            chr_dict[temp_chr] += line
for seqName, seq in chr_dict.items():
    print(seqName,seq)

    seqLen = len(seq)
    N = seq.count("N")
    GC = seq.count("G")+ seq.count("g") + seq.count("C")+seq.count("c")
    print(seqName, seqLen, N/seqLen, GC/(seqLen-N))[/mw_shl_code]
>chr_1 ATCGTCGaaAATGAANccNNttGTAAGGTCTNAAccAAttGggG
>chr_1 44 0.09090909090909091 0.425
>chr_2 ATCGAATGATCGANNNGccTAAGGTCTNAAAAGG
>chr_2 34 0.11764705882352941 0.43333333333333335
>chr_3 ATCGTCGANNNGTAATggGAAGGTCTNAAAAGG
>chr_3 33 0.12121212121212122 0.4482758620689655
>chr_4 ATCGTCaaaGANNAATGANGgggTA
>chr_4 25 0.12 0.4090909090909091
基因组,转绿组,肿瘤信息,生物统计,Python, Linux.
回复 支持 反对

使用道具 举报

0

主题

1

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2017-1-15 10:54:19 | 显示全部楼层
这几天刚考完试没能按时完成作业,这几天内完成!
回复 支持 反对

使用道具 举报

1

主题

17

帖子

272

积分

中级会员

Rank: 3Rank: 3

积分
272
发表于 2017-1-15 10:58:52 | 显示全部楼层
048-Python
[mw_shl_code=python,true]#! /usr/bin/env python3
# -*- coding:utf8 -*-

from collections import OrderedDict
import sys  #传参
import time #显示时间 time.clock()计算cpu时间 time.time()计算时钟时间
import re #正则表达式匹配模块

args = sys.argv
starttime = time.time()
chr_name = "" #
seq = OrderedDict()
with open (args[1],'r') as f: #与perl,索引从1开始,args[1] 不用引号扩
        for line in f:
                line = line.strip() #
                if line.startswith('>'):
                        chr_name = re.sub('>','',line) #sub()进行匹配替换
                        seq[chr_name] = ""
                else :
                        line = line.upper()
                        seq[chr_name] += line

for chr,s in seq.items():
        total_count = len(s)
        GC_content = (s.count("G")+s.count("C"))*1.0/total_count
        N_content = (s.count("N"))*1.0/total_count
        print ("%s chromesome" %(chr),"%d bp" %(total_count),"GC_content is %.2f" %(GC_content),"N_content is %.2f" %(N_content))
endtime = time.time()
print ("Time total used: %.4f" %(float(endtime - starttime))+' seconds') #计算耗时
[/mw_shl_code]
这样写的问题就是,对于大基因组简直太耗费内存和时间了。一开始想着逐行读取的时候进行计算,但是鼓捣了老长时间没弄出来(刚接触python,基础实在太差了,我会加油赶上),所以还是按照老师的思路写了一遍,再参考论坛里的一些优秀帖子,点缀了一下,主要是记录一下学习,模块的功能,如何格式化输出,如何计算耗时等等。
回复 支持 反对

使用道具 举报

0

主题

8

帖子

179

积分

注册会员

Rank: 2

积分
179
发表于 2017-1-15 12:06:45 | 显示全部楼层
本帖最后由 Ryu 于 2017-1-15 12:08 编辑

不好意思回错了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树 ( 粤ICP备15016384号  

GMT+8, 2020-2-29 08:51 , Processed in 0.026328 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.