Skip to content
Snippets Groups Projects
Commit a932ac0d authored by Shaman Narayanasamy's avatar Shaman Narayanasamy
Browse files

Merge branch 'master' of...

Merge branch 'master' of ssh://git-r3lab-server.uni.lu:8022/shaman.narayanasamy/IMP into version1.2.1
parents 00408ef3 7a50fb77
No related branches found
No related tags found
No related merge requests found
......@@ -33,7 +33,7 @@ Options:
--norm Don't delete the container after use. Useful for debugging.
--ask Ask to create directory if it doesn't exist.
--current Use the current version of the IMP codebase (what you have pulled).
-c CONFIG Pass a user defined config file. Default: conf/userconfig.imp.json
-c CONFIG Pass a user defined config file. [default: conf/userconfig.imp.json]
-h --help Show this help and exit
-m MG Path to the metagenomics paired files (must be 2 files).
-t MT Path to the metatranscriptomic paired files (2 files).
......
rule ASSEMBLY_MG_ASSEMBLY_1:
log:
A_LOG
benchmark:
"%s/benchmarks/ASSEMBLY_MG_ASSEMBLY_1.json" % A_OUT
input:
'%s/MG.R1.preprocessed.fq' % P_OUT,
'%s/MG.R2.preprocessed.fq' % P_OUT,
'%s/MG.SE.preprocessed.fq' % P_OUT,
output:
'{dir}/MG.assembly_1.fa'.format(dir=A_OUT),
shell:
"""
TMPD=$(mktemp -d -t --tmpdir={TMPDIR} "XXXXXX")
fq2fa --merge {input[0]} {input[1]} $TMPD/merged.fa
fq2fa {input[2]} $TMPD/se.fa
echo $TMPDIR
idba_ud -r $TMPD/merged.fa \
-l $TMPD/se.fa -o $TMPD \
--mink {config[idba_ud][mink]} --maxk {config[idba_ud][maxk]} \
--step {config[idba_ud][step]} --num_threads {THREADS} \
--similar {config[idba_ud][perid]} --pre_correction
mv $TMPD/contig.fa {output}
"""
#rm -rf $TMPD
rule ASSEMBLY_MG_EXTRACT_UNMAPPED:
log:
A_LOG
benchmark:
"%s/benchmarks/ASSEMBLY_MG_EXTRACT_UNMAPPED.json" % A_OUT
input:
'%s/MG.R1.preprocessed.fq' % P_OUT,
'%s/MG.R2.preprocessed.fq' % P_OUT,
'%s/MG.SE.preprocessed.fq' % P_OUT,
'{dir}/MG.assembly_1.fa'.format(dir=A_OUT),
expand('{dir}/MG.assembly_1.fa.{ext}', dir=A_OUT, ext=['amb', 'bwt', 'pac', 'sa', 'ann'])
output:
expand('{dir}/{name}', name=[
'MG.assembly_1_MG_unmapped.R1.fq',
'MG.assembly_1_MG_unmapped.R2.fq',
'MG.assembly_1_MG_unmapped.SE.fq'], dir=A_OUT)
shell:
"""
TMP_FILE=$(mktemp --tmpdir={TMPDIR} -t "alignment_XXXXXX.bam")
BUFFER=$(mktemp --tmpdir={TMPDIR} -t "alignment_XXXXXX.bam")
bwa mem -v 1 -t {THREADS} {input[3]} {input[0]} {input[1]} | samtools view -@ {THREADS} -bS - > $TMP_FILE
samtools merge -@ {THREADS} -u - \
<(samtools view -@ {THREADS} -u -f 4 -F 264 $TMP_FILE) \
<(samtools view -@ {THREADS} -u -f 8 -F 260 $TMP_FILE) \
<(samtools view -@ {THREADS} -u -f 12 -F 256 $TMP_FILE) | \
samtools view -@ {THREADS} -bF 0x800 - | samtools sort -o -@ {THREADS} -m {MEMCORE}G -n - BUFFER | \
bamToFastq -i stdin -fq {output[0]} -fq2 {output[1]}
bwa mem -v 1 -t {THREADS} {input[3]} {input[2]} | samtools view -@ {THREADS} -bS - | \
samtools view -@ {THREADS} -uf 4 - | bamToFastq -i stdin -fq {output[2]}
rm -rf $BUFFER* $TMP_FILE
"""
rule ASSEMBLY_MG_ASSEMBLY_2:
log:
A_LOG
benchmark:
"%s/benchmarks/ASSEMBLY_MG_ASSEMBLY_2.json" % A_OUT
input:
expand('{dir}/{name}', name=[
'MG.assembly_1_unmapped.R1.fq',
'MG.assembly_1_unmapped.R2.fq',
'MG.assembly_1_unmapped.SE.fq'], dir=A_OUT)
output:
'{dir}/MG.assembly_2.fa'.format(dir=A_OUT),
shell:
"""
TMPD=$(mktemp -d -t --tmpdir={TMPDIR} "XXXXXX")
fq2fa --merge {input[0]} {input[1]} $TMPD/merged.fa
idba_ud -r $TMPD/merged.fa \
-l {input[2]} -o $TMPD \
--mink {config[idba_ud][mink]} --maxk {config[idba_ud][maxk]} \
--step {config[idba_ud][step]} --num_threads {THREADS} \
--similar {config[idba_ud][perid]} --pre_correction
mv $TMPD/contig.fa {output}
rm -rf $TMPD
"""
rule ASSEMBLY_MG_MERGE_ASSEMBLY:
log:
A_LOG
benchmark:
"%s/benchmarks/ASSEMBLY_MG_MERGE_ASSEMBLY.json" % A_OUT
input:
'{dir}/MG.assembly_1.fa'.format(dir=A_OUT),
'{dir}/MG.assembly_2.fa'.format(dir=A_OUT)
output:
'{dir}/final_assembly.fa'.format(dir=A_OUT),
shell:
"""
NAME={A_OUT}/MG.assembly
cat {input} > $NAME.cat.fa
cap3 $NAME.cat.fa
# Concatenate assembled contigs, singletons and rename the contigs
cat $NAME.cat.fa.cap.contigs $NAME.cat.fa.cap.singlets | \
awk '/^>/{{print \">contig_\" ++i; next}}{{print}}' > $NAME.merged.fa
ln -s $NAME.merged.fa {output} && touch -h {output}
"""
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment