分类: Tools

  • 卸载迅雷11捆绑的迅雷影音

    迅雷12卸载程序

    该程序不支持迅雷12,因为迅雷12没有提供迅雷影音的卸载程序。由于作者不再使用迅雷,该工具不会为迅雷12更新。代替方案直接删除迅雷影音安装目录的Xmp.exe!然后在打开音视频文件的时候先按住shift键,同时鼠标右键单击视频文件,依次选择打开方式其他打开方式,选择你喜欢的播放器,勾选□始终使用此应用打开.xxx文件。确定。

    ===

    虽然迅雷一直是国内下载界的老大,但是迅雷影音距离优秀的播放器还差得很远。偏偏,迅雷喜欢把迅雷影音与迅雷一起捆绑安装。这不,新版的迅雷11毫不意外的不经用户许可安装了迅雷影音。

    如果对边下边播功能没有需求,完全可以卸载掉迅雷影音,改用体验更好的Potplayer或QQ影音等软件。具体步骤为,进入迅雷的安装目录,找到迅雷影音的安装目录,运行卸载程序。

    为了省去查找目录的麻烦,我写好了一个脚本(不到1kb),自动运行卸载程序,使用步骤如下:

    1. 下载迅雷影音卸载程序,放置在任意目录。
    2. 用迅雷影音随便播放一下视频,然后最小化。
    3. 运行脚本,自动打开迅雷卸载程序。
    4. 根据提示卸载迅雷影音。

    本脚本适用于迅雷11,对其他版本的迅雷可能无效。

    本脚本只为还给用户选择权,根据需要选择需要安装的功能。若对边下边播功能重度依赖,请保持迅雷勿使用本程序。

    本脚本不保证长期有效,如有疑问,欢迎交流。

    Windows Defender 检测无毒

    为保证程序未经修改,请校验文件真实性:
    名称: Uninstall_thunderPlayer.bat
    大小: 988 字节
    CRC32: 579351CC
    CRC64: 451C2C8F59A676E3
    SHA256: 2194093bdeb21200930280581ffb99b31b562e111e854673aa9d95725df6c781
    SHA1: ef7dc8152c2120afd6b6ef713f4343d1c27e1b79
    BLAKE2sp: c286de41cbb301946f527e14ade526e589568153ef7a37715d5e174f83b4260c

  • SSR位点粗预测工具

    微卫星(SSR)位点是指在基因组中存在的短串联重复序列(Simple Sequence Repeats,SSR),也称为微卫星。这些重复序列通常由1-6个碱基组成,如ACACACACAC。微卫星位点在基因组中广泛存在,对于遗传变异和进化研究具有重要意义。

    SSR位点的特点是具有高度多态性和遗传稳定性,因此被广泛应用于遗传图谱构建、种质资源鉴定、基因定位和遗传标记辅助选择等领域。

    对于一些未进行过SSR分析的基因组数据,可以使用该工具分析,获得可能的SSR位点。

    可能的微卫星组合,我们已经集成到了`SSR_template.txt`中,当然你也可以自定义里面的内容。程序会自动遍历所有情况并给出最终结果。使用程序时,请将该文件与待分析的FASTA文件放在同一个文件夹内。

    A1
    T1
    C1
    G1
    AA2
    AC2
    AG2
    AT2

    本工具可以匹配所有的SSR可能性,并且将上游200k和下游100k与SSR区段一起输出。以便进一步分析。

    使用方法

    打开RStudio,输入下面的命令,然后根据提示,依次选择文件存放的目录,FASTA文件,`SSR_template.txt`。若是第一次运行,程序会弹出对话框,选择每种SSR重复的次数,默认值已经在输入框中。

    source("https://dataholdcn.cn/R/SSR_predicting/SSR_predicting.R")
    

    程序运行完成,在相同目录下,会生成一个`*_SSR.csv`文件。

    需要注意的是,这里面会有重复的,比如A重复10次和AA重复五次的结果就是一样的。可以使用Excel的去重功能删掉。

    使用用的任何问题或发现BUG,请联系我们

  • FASTA格式拆分工具

    FASTA格式由威廉·皮尔森(William Raymond Pearson)和戴维·吉布森(David J. Gibson)开发,最初用于序列比对软件BLAST。BLAST是用于比对两个或多个序列的软件,它是生物信息学领域最常用的软件之一。

    在开发BLAST之前,序列比对通常使用手动方法进行。这是一个非常耗时和费力的过程。FASTA格式的开发简化了序列比对的过程,使其成为一种更有效的方法。

    FASTA格式的组成

    由以下两部分组成:

    • 序列名称行:以“>”字符开头,后跟序列的名称和注释。
    • 序列行
      • 核酸:以“A”、“C”、“G”、“T”或“N”字符表示。
      • 氨基酸:以“A”、“R”、“N”、“D”、“C”、“Q”、“E”、“G”、“H”、“I”、“L”、“K”、“M”、“F”、“P”、“S”、“T”、“W”、“Y”或“V”字符表示。

    示例:

    >Ctg135
    
    ACCCGCAGGGAACAAGAATTGCGCAAAAGTGACACCTACGTCACAACTAA

    核苷酸对照表:

    字母含义
    A腺嘌呤
    C胞嘧啶
    G鸟嘌呤
    T胸腺嘧啶
    N未知碱基

    氨基酸对照表:

    字母含义
    A丙氨酸
    R精氨酸
    N缬氨酸
    D天冬氨酸
    C半胱氨酸
    Q谷氨酸
    E谷氨酰胺
    G甘氨酸
    H组氨酸
    I异亮氨酸
    L亮氨酸
    K赖氨酸
    M甲硫氨酸
    F苯丙氨酸
    P脯氨酸
    S丝氨酸
    T苏氨酸
    W色氨酸
    Y酪氨酸
    V缬氨酸

    FASTA格式具有以下优点:

    1. 格式简单,易于理解和使用。
    2. 可以直接用记事本打开,方便编辑。

    多个FASTA格式的序列聚合在一个文件时,通常使文件变得很大,分析会占用大量的内存。因此,推荐时把大文件拆解成小文件,每个文件一条序列,即每次处理一条序列。

    直接将下列代码复制到RStudio中(需要联网状态),然后根据提示选择FASTA文件即可。

    source("https://dataholdcn.cn/R/GBIT/GBIT.R")   # 导入分析框架
    GBIT.splitFasta()   # 将FASTA文件按照序列分开
    

    若在使用中发现BUG,请及时告知,非常感谢!

    https://www.lecent.wang/d/10-yuan-chuang

  • 从参考基因组选取特定位置的碱基

    R代码如下

    #BiocManager::install('seqinr')   # 如果没安装过这包,先安装
    library(seqinr)
    library(stringr)
    fasta <- read.fasta(file = "C:\\Users\\zhang\\Desktop\\Zea_mays.AGPv4.dna.chromosome.1.fa",
        as.string = TRUE,
        forceDNAtolower = FALSE)   # 修改上面的路径,fasta格式文件
    class(fasta)
    
    a1 <- fasta[[2]][1]   # 这里的[1]不用改,[[2]]表示排在第二的染色体,玉米中是2号染色体
    str(a1)
    a1 <- strsplit(a1,"")
    str(a1)
    b <- read.table("clipboard",header=F)   # 从excel复制需要的染色体位置信息
    # b <- c(1,2,3,4,5)
    k <- data.frame(1:nrow(b))
    for (i in 1:nrow(b)){
        txt <- paste0("k[",i,",1] <- a1[[1]][as.numeric(b[",i,",1])]")
        eval(parse(text=txt))
    }
    
    write.table(k,"C:\\Users\\zhang\\Desktop\\123.txt",row.names=F,col.names=F,sep="\t",quote=F)
    
    

    Excel染色体位置信息如下,注意,这里没有包含染色体信息,需要每个染色体单独做。

    82048
    82052
    82071
    82079
    82089
    82097
    82100
    82104
    82107
    82136
    82148
    82185
    114009
    114027
    114043
    114092
    114103
    114168
  • 密码保护:破解rar压缩包密码

    此内容受密码保护。如需查阅,请在下方输入密码。

  • QTLIciMapping输入文件准备

    编者按:生成的bip文件和snp文件不要直接用于分析。由于生成文件过程中未考虑亲本信息,需要将亲本基因型替换到相应位置!切记!bin文件中的位置信息应为遗传距离,由IciMapping软件生成,本程序中输出的是物理位置,不要直接做定位分析。未来有时间,我可能会完善程序,在我不那么忙的时候。

    现在绝大多数情况下,使用的都是RIL或DH群体。因此,通常群体类型使用3或4。

    HMP文件可以使用TASSEL软件筛选,染色体1-10,插入缺失全部去掉。需要注意的是,任意碱基座必须包含A、T、C、G四个碱基中的两个,否则会报错。

    准备好基因型文件,即可使用本站开发的工具直接生成.snp文件,用于连锁图谱的构建。https://aozhangchina.github.io/R/getICIMappingFiles/getIciMappingFiles.html

    若要获得.bip文件,需要增加一个表型文件,表型文件格式与META-R软件分析的BLUP结果相同。如下图。在程序第三次弹窗选择表型文件时,点取消,则不生成.bip文件。

    图1 表型文件格式。

    除了上述两种文件,其他格式的文件可以根据生成的相应文件提供的信息进行修改。

    输出文件列表:

    bip_Chromosome.txt
    bip_GeneralInfo.txt
    bip_Genotype.txt
    bip_LinkageMap.txt
    bip_Phenotype.txt
    my_icimapping_data.bip
    my_icimapping_data.snp
    snp_Anchor.txt
    snp_GeneralInfo.txt
    snp_Genotype.txt
    snp_Parents.txt
    marker_rename.txt

    本机测试,991161个SNP不使用bin功能的情况下可以正常构建连锁图谱和ICIM-ADD分析,但分析时间很长。

  • R语言快速获取HMP文件SNP的等位基因信息

    该代码主要用到剪切板和不同软件的灵活运用。

    SNPs <- read.table("clipboard",header=F)
    
    refere <- read.table("clipboard",header=T)
    
    res <- refere[which(rownames(refere) %in% SNPs[,1]),]
    write.table(res,"clipboard",sep="\t",quote=F,col.names=F,row.names=F)
    

    运行步骤

    1. 复制需要获得等位基因信息的SNP名称列表。例如:

    S2_44435558
    S3_151630215
    S3_144885149
    S4_181062027
    S7_141142136
    S9_76535431
    S9_115952576
    S10_137204131

    2. 运行代码的第一行。

    3. 用EmEditor打开基因型文件(HMP格式),选择制表符分隔,复制前两列。

    4. 运行第三行到最后的代码。

    5. 在需要的地方粘贴皆可。

  • EXCEL获取SNP的bin物理位置

    前人的研究,已经将每条染色体分成了10个左右的bin区域,用于粗定位基因的物理位置。本工具用于将GWAS或QTL Mapping的位置信息转换成bin位置区域。

    【我写好的excel下载】

    https://dataholdcn.cn/excel/B73%20RefGen_v2%20bin%20physical%20position_tool_za.xlsx

    【使用方法】

    在 “Reslut”工作表中,替换SNP名称即可。

    【实现过程】

    首先,我们需要bin区域的物理信息,这里以B73 RefGen v2为例。将下表数据保存到excel文件的“Clean Table“工作表。Bin列表示物理位置bin区段,Chr是染色体号,Size是区段大小,Start是起始位置,End是结束位置,Index是用于查找的信息。

    BinChrSize (Mbp)StartEndIndex
    1.00Chr12.0412039901S1_1
    1.01Chr110.36203990112398949S1_2039901
    1.02Chr116.861239894929258944S1_12398949
    1.03Chr122.892925894452152777S1_29258944
    1.04Chr130.425215277782574898S1_52152777
    1.05Chr193.0982584786175670048S1_82584786
    1.06Chr123.22175670048198887570S1_175670048
    1.07Chr129.4198854443228254156S1_198854443
    1.08Chr121.84228254156250093155S1_228254156
    1.09Chr117.77250093155267860952S1_250093155
    1.10Chr115.33267860952283188047S1_267860952
    1.11Chr114.78283259156298039872S1_283259156
    1.12Chr13.39297960525301354135S1_297960525
    2.00Chr21.5511551442S2_1
    2.01Chr22.6415514424187615S2_1551442
    2.02Chr210.82418761515005045S2_4187615
    2.03Chr213.751501629028771109S2_15016290
    2.04Chr242.972877110971742767S2_28771109
    2.05Chr281.471742767153140073S2_71742767
    2.06Chr234.04153140073187179001S2_153140073
    2.07Chr217.72187179001204896812S2_187179001
    2.08Chr218.42204896812223320002S2_204896812
    2.09Chr212.15223320002235471439S2_223320002
    2.10Chr22.42234646685237068873S2_234646685
    3.00Chr31.7311729470S3_1
    3.01Chr32.1617294703888321S3_1729470
    3.02Chr34.7138883318599890S3_3888331
    3.03Chr34.5859877213102315S3_8598772
    3.04Chr3113.1513109892126255823S3_13109892
    3.05Chr342.15126255823168409685S3_126255823
    3.06Chr322.7168409685191113733S3_168409685
    3.07Chr314.26191113733205370271S3_191113733
    3.08Chr310.5205370271215869148S3_205370271
    3.09Chr316.29215846541232140174S3_215846541
    3.10Chr30.07232074985232140174S3_232074985
    4.00Chr40.691694004S4_1
    4.01Chr44.356940045045991S4_694004
    4.02Chr46.36504599111403953S4_5045991
    4.03Chr410.21140395321605708S4_11403953
    4.04Chr410.672160570832280422S4_21605708
    4.05Chr4118.8332251206151082840S4_32251206
    4.06Chr419.96151110020171066103S4_151110020
    4.07Chr48.77171066103179834540S4_171066103
    4.08Chr425.3179834540205136045S4_179834540
    4.09Chr432.11205136045237246237S4_205136045
    4.10Chr42.74237246237239987981S4_237246237
    4.11Chr42.04239987981242029974S4_239987981
    5.00Chr53.3213323880S5_1
    5.01Chr54.6733238807997002S5_3323880
    5.02Chr56.86800806014870573S5_8008060
    5.03Chr565.951485361980804839S5_14853619
    5.04Chr591.5980804839172395871S5_80804839
    5.05Chr522.92172438770195358319S5_172438770
    5.06Chr59.3195305700204605587S5_195305700
    5.07Chr57.12204659857211775643S5_204659857
    5.08Chr53.75211775643215521293S5_211775643
    5.09Chr52.41215465694217872852S5_215465694
    6.00Chr68.2718274025S6_1
    6.01Chr678.67827681386946680S6_8276813
    6.02Chr69.898694668096840186S6_86946680
    6.03Chr67.7896840186104619429S6_96840186
    6.04Chr616.41104619429121033444S6_104619429
    6.05Chr632.92121033444153956114S6_121033444
    6.06Chr67.37153762257161129826S6_153762257
    6.07Chr65.76161129826166892211S6_161129826
    6.08Chr62.29166885247169174353S6_166885247
    7.00Chr74.7114707470S7_1
    7.01Chr79.15471235313861507S7_4712353
    7.02Chr7114.3113861507128175453S7_13861507
    7.03Chr727.88128175453156050470S7_128175453
    7.04Chr712.28156050470168334968S7_156050470
    7.05Chr76.07168334968174407842S7_168334968
    7.06Chr72.4174362351176764762S7_174362351
    8.00Chr81.8311831964S8_1
    8.01Chr88.24183196410072434S8_1831964
    8.02Chr811.081007243421153183S8_10072434
    8.03Chr887.5421153183108690693S8_21153183
    8.04Chr813.79108690693122478285S8_108690693
    8.05Chr823.95122478285146426603S8_122478285
    8.06Chr818.84146426603165267974S8_146426603
    8.07Chr84.07165267974169336170S8_165267974
    8.08Chr83.63169336170172961960S8_169336170
    8.09Chr82.39172961960175347686S8_172961960
    9.00Chr93.3113312268S9_1
    9.01Chr98.47331226811781894S9_3312268
    9.02Chr911.491178189423268159S9_11781894
    9.03Chr978.4823268159101747879S9_23268159
    9.04Chr925.44101747879127192550S9_101747879
    9.05Chr99.61127192550136806801S9_127192550
    9.06Chr911.43136806801148241346S9_136806801
    9.07Chr96.63148241346154869700S9_148241346
    9.08Chr92.15154599322156750706S9_154599322
    10.00Chr102.6512650397S10_1
    10.01Chr102.3626503975008368S10_2650397
    10.02Chr108.55500836813559627S10_5008368
    10.03Chr1074.791355962788348445S10_13559627
    10.04Chr1039.6188348445127958713S10_88348445
    10.05Chr109.35127936624137286408S10_127936624
    10.06Chr105.5137311961142812228S10_137311961
    10.07Chr106.82142812228149627545S10_142812228

    新建“Reslut”工作表,第一行的前4列分别命名为:

    SNPChrPositionBin

    对应的公式为:

    S1_191524962=”Chr”&MID(A2,2,FIND(“_”,A2)-2)=MID(A2,FIND(“_”,A2)+1,LEN(A2))=XLOOKUP(A2,’Clean Table’!F:F,’Clean Table’!A:A,,-1,1)

    第一列用于填写SNP名称,第二列用于获得染色体信息,第三列获取物理位置信息,第四列通过查找获取bin位置。

    接下来只需要修改第一列的名称,其他列下拉就可获得每个SNP的bin位置。

    若要修改参考基因组,替换“Clean Table”工作表即可。

  • 利用HMP文件遗传相似度

    【功能】

    利用HMP文件计算遗传相似度(genetic_similarity)。

    数据中不能有NA。

    【鸣谢】

    四川农业大学 瞿静涛 算法思路

    黑龙江农科院 曹士亮 测试

    【更新历史】

    2020年8月17日

    • 增加了国内线路。

    2020年5月6日

    • 更换了计算逻辑,计算更快,但数据中不能有NA。

    2020年4月18日

    • 增加了自动去掉None数据的功能,避免程序出错。
    • 结果自动命名为【原文件名_性状名】的形式。

    【使用方法】

    在Rstudio中运行下列代码。

    海外:


    source("https://aozhangchina.github.io/R/genetic_similarity/genetic_similarity.r")   # 加载程序文件,需要联网

    国内:


    source("https://dataholdcn.cn/R/genetic_similarity/genetic_similarity.r")   # 加载程序文件,需要联网

    本页短链接:https://wp.me/p80aHo-8K

  • HMP转Flapjack基因型和图谱文件

    【功能】

    将HMP文件转换为Flapjack的genotype和map文件。

    【测试】

    Null

    【更新历史】

    2020年2月23日

    • 自动完成转换,并在输入文件相同目录下生成【flapjackGeno.txt】文件和【flapjackmap.txt】。

    【使用方法】

    在Rstudio中运行下列代码,选择要转换的hmp文件。


    # Hmp converted to flapjack genotype file for import
    rm(list=ls())
    
    ### function section ###
    # the function of Read files
    readFiles <- function(header=TRUE,choose=FALSE,fname){
      if(!"readr" %in% installed.packages()) {
        install.packages("readr")
        library(readr)
      }else{
        library(readr)
      }
      if (choose==TRUE){
        myFileName <- file.choose()
      }else{
        myFileName <- fname
      }
      if (grepl("\\.csv$",myFileName)){
        if (header==TRUE){
          myFile <- read_csv(myFileName, col_names = TRUE)
        }else{
          myFile <- read_csv(myFileName, col_names = FALSE)
        }
      }else{
        if (header==TRUE){
          myFile <- read_tsv(myFileName, col_names = TRUE)
        }else{
          myFile <- read_tsv(myFileName, col_names = FALSE)
        }
      }
      return(myFile)
    }
    
    # the function of replace the letters of hybrids
    repHybrids <- function(myVector){
      myVector <- sub("R","A/G",myVector)
      myVector <- sub("Y","C/T",myVector)
      myVector <- sub("S","C/G",myVector)
      myVector <- sub("W","A/T",myVector)
      myVector <- sub("K","G/T",myVector)
      myVector <- sub("M","A/C",myVector)
      myVector <- sub("N","-",myVector)
      return(myVector)
    }
    ### function section end ###
    
    ### read file ###  
    # choose a file of HMP
    fn <- choose.files()
    
    # set workspace
    setwd(dirname(fn))
    
    # read a file of HMP
    hmpFile <- readFiles(header=T,fname(basename(fn)))
    
    ### read file end ###
    
    ### genotype ###
    # remove useless columns
    myHmpFile <- as.matrix(hmpFile[,c(1,12:ncol(hmpFile))])
    
    # replace the hybrids
    system.time(newHmpFile <- apply(myHmpFile,2,repHybrids))
    
    # check consistancy
    all(myHmpFile[,1] == newHmpFile[,1])
    all(colnames(myHmpFile) == colnames(newHmpFile))
    
    # Transposing
    resultImprotFile <- t(newHmpFile)
    resultImprotFile <- cbind(rownames(resultImprotFile),resultImprotFile)
    resultImprotFile[,1] <- sub("rs#","",rownames(resultImprotFile))
    resultImprotFile <- rbind("",resultImprotFile)
    resultImprotFile[1,1] <- "# fjFile = GENOTYPE"
    
    # output file
    write.table(resultImprotFile,"flapjackGeno.txt",quote = FALSE,sep="\t",row.names=FALSE,col.names = FALSE)
    ### genotype end ###
    
    ### map ###
    # map file
    myMapFile <- as.matrix(hmpFile[,c(1,3,4)])
    myMapFile[,3] <- as.numeric(myMapFile[,3])
    myMapFile <- rbind("",myMapFile)
    myMapFile[1,1] <- "# fjFile = MAP"
    # output file
    write.table(myMapFile,"flapjackMap.txt",quote = FALSE,sep="\t",row.names=FALSE,col.names = FALSE)
    ### map end ###