Winstoncleaner-转录组数据交叉污染消除仪
winston-cleaner的Python项目详细描述
温斯顿清洁剂
WinstoCleaner是一个检测和清除交叉污染的软件工具 从组装的转录体中提取的对照。程序使用blast来识别 可疑的contigs和rpkm值,将其排序为正确或 污染。
要求
要运行WinstoCleaner,必须满足以下要求:
安装
签出存储库
git clone https://github.com/kolecko007/WinstonCleaner.git
cd WinstonCleaner
安装PIP依赖项:
pip2 install --user -r requirements.txt
初始化设置:
cp config/settings.yml.default config/settings.yml
从
WinstonCleaner
文件夹运行test/integration/run.sh
检查安装
快速启动
- 准备包含输入数据的文件夹和结果的空文件夹
- 打开
config/settings.yml
,并指定输入和输出路径 bin/prepare_data.py
bin/find_contaminations.py
- 检查输出文件夹中的结果
用法
输入
输入数据应该作为每个数据集的一组三元组文件显示。 对于每个数据集,都需要准备:
- 左读
.fastq
- 右读
.fastq
- 汇编转录组
.fasta
文件
文件名必须采用以下格式:
NAME_1.fastq
NAME_2.fastq
NAME.fasta
例如:
brucei_1.fastq
brucei_2.fastq
brucei.fasta
giardia_1.fastq
giardia_2.fastq
giardia.fasta
对于文件名,只允许使用字母、数字和_
符号。
所有文件必须放在一个文件夹中。
配置
所有设置都在config/settings.yml
中声明。
winston.paths.input
-带读取和继续的输入文件夹winston.paths.output
-输出包含结果的文件夹winston.paths.tools.pileup_sh
-(可选)bbtoolspileup.sh
执行命令winston.paths.tools.bowtie2
-(可选)bowtie2执行命令winston.paths.tools.bowtie2_build
-(可选)bowtie2生成执行命令winston.hits_filtering.len_ratio
-点击过滤的最小值qcovhsp
winston.hits_filtering.len_minimum
-点击过滤的最小点击长度winston.coverage_ratio.regular
-常规数据集对类型的覆盖率 (数值越低,污染预测越严格,发现的污染越少)winston.coverage_ratio.close
-闭合数据集对类型的覆盖率winston.threads.multithreading
-启用多线程(禁用便于调试)winston.threads.count
-启用多线程时的线程数winston.tools.blast.threads
-用于爆炸处理的线程数winston.tools.bowtie.threads
-用于BowTie2处理的线程数winston.in_memory_db
-在开始时将覆盖率数据库加载到ram。 使污染查找更快,但需要足够的内存。
默认配置可以在文件config/settings.yml.default
中找到。
winston:
in_memory_db: false
paths:
input: /path/to/folder/with/data/
output: /path/to/output/folder
hits_filtering:
len_ratio: 70
len_minimum: 100
coverage_ratio:
REGULAR: 1.1
CLOSE: 0.04
threads:
multithreading: true
count: 8
tools:
blast:
threads: 8
bowtie:
threads: 8
数据准备
第一步是为winstoncleaner处理准备数据。
bin/prepare_data.py
结果将存储在winston.paths.output
选项中指定的文件夹中。
准备完成后,可以检查和编辑文件types.csv
。
它包含数据集对及其类型的所有可能组合。
默认类型为:
CLOSE
-分类上紧密的有机体REGULAR
-一对简单的生物体
在types.csv
中,还可以指定任意数量的自定义类型。
他们的名字必须大写。
predator,prey,95.0,LEFT_EATS_RIGHT
prey,predator,95.0,RIGHT_EATS_LEFT
在这种情况下,每个自定义类型的覆盖率必须在
settings.yml
文件:
...
coverage_ratio:
REGULAR: 1.1
CLOSE: 0.04
LEFT_EATS_RIGHT: 10
RIGHT_EATS_LEFT: 0.1
...
污染清理
bin/find_contaminations.py
输出
结果将保存在winston.paths.output
选项中指定的文件夹中。
对于每个数据集,将有以下文件结构是的。
- dataset_name_clean.fasta-clean contigs
- dataset_name_deleted.fasta-污染的contigs
- dataset_name_可疑点击.csv-所有可疑点击
- 数据集名称污染源.csv- 具有以下列的污染源:源污染数据集名称、序列数
- dataset_name_pollutions.csv-检测到污染的爆炸命中列表
- dataset_name_missing_coverage.csv-没有覆盖率的contig id列表
待办事项
- 移到python3
- 日志系统
- 扩展测试
- 导出为图形格式