mccortex, novo基因组组装与多重 multisample

分享于 

11分钟阅读

GitHub

  繁體 雙語
Cortex on steroids: for larger populations with better assembly
  • 源代码名称:mccortex
  • 源代码网址:http://www.github.com/mcveanlab/mccortex
  • mccortex源代码文档
  • mccortex源代码下载
  • Git URL:
    git://www.github.com/mcveanlab/mccortex.git
    Git Clone代码到本地:
    git clone http://www.github.com/mcveanlab/mccortex
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/mcveanlab/mccortex
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    McCortex: 重组装和变异调用

    基于 de Bruijn图的多样本重组合和变量调用。 带和没有参考基因组的变异调用。 紧密相关样本或者高度发散的样本之间。 从细菌到哺乳动物基因组。 最小配置,而且是免费的。

    Isaac重写cortex_var重写,处理更大的群体和更好的基因组组装。 PhD导师:Gil McVean教授。 协作者:Zam Iqbal,Kiran Garimella。 基于Wellcome的信任中心,牛津大学。

    注意:目前开发中。 在我们发布第一个版本之前,我们希望。修正和含糊的文档都能得到帮助。 请随意试用McCortex并观看这里版本的发布。

    9 2015年月

    分支状态
    母版:Build Status
    开发:Build Status
    代码分析:Coverity Scan Build Status

    插件生成

    用clang和gcc编译 McCortex。 在 Mac OS X 和linux上测试。 需要 zlib。下载:

    
    git clone --recursive https://github.com/mcveanlab/mccortex
    
    
    
    

    若要编译最大kmer大小 31:

     
    make all
    
    
    
     

    若要编译最大kmer大小 63:

     
    make MAXK=63 all
    
    
    
     

    可执行文件出现在 bin/ 目录中。

    快速入门:变量调用

    在任何目录下下载并编译 McCortex。以后我将假定它位于 ~/mccortex/ 中:

    
    git clone --recursive https://github.com/mcveanlab/mccortex
    
    
    cd mccortex
    
    
    make all MAXK=31
    
    
    make all MAXK=63
    
    
    
    

    现在写一个文件详细说明你的样本和数据。 列由一个或者多个空格/制表符分隔。 文件条目用逗号分隔。 配对端读取文件由冒号':'分隔。 文件路径可以相对于当前目录或者绝对路径。 大多数fileformats都受支持:

    
    cd/path/to/your/data
    
    
    echo"#sample_name SE_files PE_files interleaved_files"> samples.txt
    
    
    echo"Mickey a.fa,b.fa reads.1.fq.gz:reads.2.fq.gz.">> samples.txt
    
    
    echo"Minney. reads.1.fq.gz:reads.2.fq.gz in.bam">> samples.txt
    
    
    echo"Pluto seq.fq. pluto.cram">> samples.txt
    
    
    
    

    从示例文件( samples.txt ) 创建作业文件。 所有输出都将进入我们指定( mc_calls )的目录。 我们还指定要使用的kmer。 我们将在 k=31k=61 运行并合并结果。

    如果你的数据是单倍体,我们将设置 --ploidy 1:

    
    ~/mccortex/scripts/make-pipeline.pl -r/path/to/ref.fa --ploidy 1 31,61 mc_calls samples.txt> job.k31.k61.mk
    
    
    
    

    你的样本是人类的,你有单倍体和二倍体染色体的混合。 因此需要指定只有一个 chrX 副本和 chrY的一个副本。 格式是 -P <sample>:<chr>:<ploidy> 其中 <sample><chr> 可以是逗号分隔列表。 Ploidy参数是按顺序读取的。

    
    ~/mccortex/scripts/make-pipeline.pl -r/path/to/ref.fa --ploidy"-P. :.:2 -P. :chrY:1 -P Mickey:chrX:1" 31,61 mc_calls samples.txt> job.k31.k61.mk
    
    
    
    

    现在你已经准备好运行。 你将需要通过:

    • 到 McCortex CTXDIR=的路径
    • 使用 MEM=的内存( 2GB )。 大肠杆菌,人类 70GB
    • 使用 NTHREADS=的线程数

    运行作业 file:

    
    make -f job.k31.k61.mk CTXDIR=~/mccortex MEM=70GB NTHREADS=8 
    
    
     JOINT_CALLING=yes USE_LINKS=no brk-geno-vcf
    
    
    
    

    对于人类来说,单个样本的运行时间大约为 8小时,并且使用内存的70. 对于少数类似的样本,峰值内存使用将与单个样本保持相同,并且应大致增加数量。

    作业完成你的结果是:? mc_calls/vcfs/breakpoints.joint.plain.k31.k61.geno.vcf.gz

    有什么错误看看运行的最后一个命令的日志文件。 你可能需要增加内存或者编译不同的MAXK= 值。 一旦你解决了这个问题,只要重新运行 make -f job... 命令。 向 make 命令添加 --dry-run 以查看哪些命令将在不运行它们的情况下运行。

    在构造genotyping基因图后,可以利用现有的方法,在不使用映射读取的情况下,对现有调用集( VCF+ref ) 进行分类。 请参见维基

    命令

    
    usage: mccortex31 <command> [options] <args>
    
    
    version: ctx=XXXX zlib=1.2.5 htslib=1.2.1 ASSERTS=ON hash=Lookup3 CHECKS=ON k=3..31
    
    
    
    Commands: breakpoints use a trusted assembled genome to call large events
    
    
     bubbles find bubbles in graph which are potential variants
    
    
     build construct cortex graph from FASTA/FASTQ/BAM
    
    
     calls2vcf convert bubble/breakpoint calls to VCF
    
    
     check load and check graph (.ctx) and path (.ctp) files
    
    
     clean clean errors from a graph
    
    
     contigs assemble contigs for a sample
    
    
     correct error correct reads
    
    
     coverage print contig coverage
    
    
     dist make colour kmer distance matrix
    
    
     index index a sorted cortex graph file
    
    
     inferedges infer graph edges between kmers before calling `thread`
    
    
     join combine graphs, filter graph intersections
    
    
     links clean and plot link files (.ctp)
    
    
     pjoin merge link files (.ctp)
    
    
     popbubbles pop bubbles in the population graph
    
    
     pview text view of a cortex link file (.ctp)
    
    
     reads filter reads against a graph
    
    
     rmsubstr reduce set of strings to remove substrings
    
    
     server interactively query the graph
    
    
     sort sort the kmers in a graph file
    
    
     subgraph filter a subgraph using seed kmers
    
    
     thread thread reads through cleaned graph to make links
    
    
     uniqkmers generate random unique kmers
    
    
     unitigs pull out unitigs in FASTA, DOT or GFA format
    
    
     vcfcov coverage of a VCF against cortex graphs
    
    
     vcfgeno genotype a VCF after running vcfcov
    
    
     view text view of a cortex graph file (.ctx)
    
    
    
     Type a command with no arguments to see help.
    
    
    
    Common Options:
    
    
     -h, --help Help message
    
    
     -q, --quiet Silence status output normally printed to STDERR
    
    
     -f, --force Overwrite output files if they already exist
    
    
     -m, --memory <M> Memory e.g. 1GB [default: 1GB]
    
    
     -n, --nkmers <H> Hash entries [default: 4M, ~4 million]
    
    
     -t, --threads <T> Limit on proccessing threads [default: 2]
    
    
     -o, --out <file> Output file
    
    
     -p, --paths <in.ctp> Assembly file to load (can specify multiple times)
    
    
    
    

    获得帮助

    键入不带参数的命令以查看用法。 以下可能也是有用的:

    实时聊天( 给我发邮件来固定时间):

    • 请先发邮件给我,然后再发邮件给我安排时间
    • Gitter https://gitter.im/mcveanlab/mccortex

    的代码和贡献

    问题可以在github上提交。 请求请求欢迎请将你的NAME 添加到作者文件。 代码应该在无错误或者警告的情况下在 mac/gcc上编译。

    更多关于 wiki的文章。

    单元测试用 make test 运行,集成测试与 cd tests;./run 一起运行。 这两个测试套件在推送到GitHub时自动与 Travis CI一起运行。

    可以使用 cppcheck 运行 static 分析:

     
    cppcheck src
    
    
    
     

    或者使用 :

    
    rm -rf bin/mccortex31
    
    
    scan-build make RECOMPILE=1
    
    
    
    

    偶尔我们也会做Coverity扫描。 这是通过将 coverity_scan的分支推到上完成的,它触发 Travis CI上传最新的代码。

    Coverity Scan Build Status

    
    git checkout coverity_scan
    
    
    git merge develop
    
    
    git checkout --ours. travis.yml
    
    
    
    

    许可证:MIT

    捆绑库可能有不同的许可证:

    用于测试:

    引用

    'Cortex with内存和读取线程'目前还没有发布。 请参考以前的cortex_var文件:

    • variants assembly,Iqbal,Caccamo,McVean,Bruijn,Flicek,( 自然遗传学) ( 2012 ) ( doi: 10.1038/ng。1028 ) 代数
    • 使用 Cortex 变种汇编程序。Iqbal。Turner。McVean ( 生物信息学) ( Nov 2012 ) (doi:10.1093/bioinformatics/bts673) http://www.ncbi.nlm.nih.gov/pubmed/23172865 高吞吐量微生物群体基因组学。

    CAL  调用  VAR  Assembly  Variant  Genome  
    相关文章