测序模拟器
InSilicoSeq的Python项目详细描述
InsilicoSeq
测序模拟器
insilicoseq是一个序列模拟器,可以产生真实的illumina读数。 主要用于模拟亚基因组样本,也可用于从单个基因组产生测序数据。
inslicoseq是用python编写的,它使用核密度估计器对实际序列数据的读取质量进行建模。
inslicoseq支持替换、插入和删除错误。如果您没有使用插入和删除错误,则会提供一个基本的错误模型。
安装
inslicoseq在bioconda中提供。
使用conda安装:
conda install -c bioconda insilicoseq
或使用pip:
pip3 install InSilicoSeq
如果您想使用python2,或者正在使用python3和pip3(化名为python和pip):
pip install InSilicoSeq
或者,使用Docker:
docker pull hadrieng/insilicoseq:latest
有关更多安装选项,请参阅完整的documentation
用法
inslicoseq有两个子命令:iss generate
生成illumina读取,以及iss model
创建一个错误模型,从中读取其特征。
inslicoseq附带了预计算的错误模型,这些模型应该足以满足大多数用例。
使用预先计算的错误模型生成读操作
对于生成100万读数的MISEQ仪器建模:
curl -O -J -L https://osf.io/thser/download # download the example data
iss generate --genomes SRS121011.fasta --model miseq --output miseq_reads
其中genomes.fasta
应替换为一个(多)fasta文件,该文件包含将从中生成模拟读取的参考基因组。
inslicoseq有3个错误模型:MiSeq
、HiSeq
和NovaSeq
。
如果您已经构建了自己的模型,请将.npz
文件传递给--model
参数,以模拟从自己的错误模型读取。
对于1000万次读取和自定义错误模型:
curl -O -J -L https://osf.io/thser/download # download the example data
iss generate -g SRS121011.fasta -n 10m --model my_model.npz --output my_reads
假设您已经用iss model
构建了my_model.npz
(请参见below)
有关更多示例和选项的完整列表,请参阅 documentation
生成不带输入基因组的读取
我们可以为您下载一些!inslicoseq可以使用臭名昭著的eutils
命令
iss generate --ncbi bacteria -u 10 --model MiSeq --output ncbi_reads
将从10个随机的细菌基因组中产生100万个读数。
有关更多示例和选项的完整列表,请参阅完整的documentation
创建自己的错误模型
如果不希望使用inslicoseq提供的预先计算的错误模型,则可以创建自己的错误模型。
假设你有一个名为genomes.fasta
的参考元基因组,并读取对reads_R1.fastq.gz
和reads_R2.fastq.gz
将所读内容与参考文献对齐:
bowtie2-build genomes.fasta genomes bowtie2 -x genomes -1 reads_R1.fastq.gz -2 reads_R2.fastq.gz |\ samtools view -bS | samtools sort -o genomes.bam samtools index genomes.bam
然后建立模型:
iss model -b genomes.bam -o genomes
它将创建一个包含新构建的模型的genome.npz
文件
许可证
代码在MIT许可下。
问题
发现一个虫子还是有问题?请打开issue
贡献
我们欢迎社会各界的贡献!参见我们的Contributing指南
引文
如果你使用我们的软件,请引用我们!
Gourlé H, Karlsson-Lindsjö O, Hayer J and Bongcam+Rudloff E, Simulating Illumina data with InSilicoSeq. Bioinformatics (2018) doi:10.1093/bioinformatics/bty630