SlideShare uma empresa Scribd logo
1 de 41
Baixar para ler offline
Standardising Swedish
genomics analyses
using nextflow
Phil Ewels
@ewels
@tallphil
Nextflow Meeting
2017-09-14
CRG, Barcelona
2 x MiSeq 5 x HiSeq 2500 5 x HiSeq X10 NovaSeq
RNA-Seq
WG Re-Seq
Targeted Re-Seq
Metagenomics
Others
0 2000 4000 6000 8000 10000 12000 14000
1,265
2,580
3,214
8,934
12,017
Number of
Samples in 2016
1141 Gbp/day
1X Human Genome
every 4 minutes
NGI stockholmstockholm
SciLifeLab NGI
CumulativeOutput(MBp)
0
250,000,000
500,000,000
750,000,000
1,000,000,000
Jan
2012
Sep
2012
M
ay
2013
Jan
2014
Sep
2014
M
ay
2015
Jan
2016
Sep
2016
M
ay
2017
NGI stockholmstockholm - sequencing output
SciLifeLab NGI
NGI bioinformatics
• Initial data analysis for major protocols
• Internal QC and standardised starting
point for users
• Team of 10 bioinformaticians
• Accredited facility
analysis requirements
Automated
Reliable
Easy for others to run
Reproducible results
icons: the noun project
NGI pipelines
NouGAT (de-novo)
what have we learnt?
sharing is caring
sharing is caring
• Open-source on GitHub from day one
• Easier help and feedback from others
• Other people may help to develop your code
• https://github.com/nextflow-io/awesome-nextflow
use containers
use containers
• Create a docker image, even if you don’t think you
need to
• Makes local and automated testing possible
• Future proof for cloud / singularity / other people
test, test and test again
test, test and test again
• Find a small test dataset
• Make a bash script to fetch data and launch pipeline
• Different flags to launch with different parameters
• Use Travis build matrix to launch parallel test runs
use versioned releases
use versioned releases
minimal configs
minimal configs
• Build config files around blocks of function
• Hardware / software deps / genome references
• Use nextflow profiles
• Even if only using ‘standard’ default
• Don’t be afraid to use multiple configs per profile
• Build on a base profile and be clever with
limits
minimal configs
def	check_max(obj,	type)	{	
		if(type	==	'memory'){	
				if(obj.compareTo(params.max_memory))	
						return	params.max_memory	
				else	
						return	obj	
		}	else	if(type	==	'time'){	
				if(obj.compareTo(params.max_time))	
						return	params.max_time	
				else	
						return	obj	
		}	else	if(type	==	'cpus'){	
				return	Math.min(	obj,	params.max_cpus	)	
		}	
}
nextflow.config
process	{	
		cpus	=	{	check_max(16,	'cpus')	}	
		memory	=	{	check_max(128.GB,	'memory')	}	
		time	=	{	check_max(10.h,	'time')	}	
}
conf/base.config
profiles	{	
		standard	{	
				includeConfig	'conf/base.config'	
				includeConfig	'conf/igenomes.config'	
				includeConfig	'conf/uppmax.config'	
		}	
		devel	{	
				includeConfig	'conf/base.config'	
				includeConfig	'conf/igenomes.config'	
				includeConfig	'conf/uppmax.config'	
				includeConfig	'conf/uppmax-dev.config'	
		}	
}
nextflow.config
params	{	
		max_cpus	=	1	
		max_memory	=	16.GB	
		max_time	=	1.h	
}
conf/uppmax-dev.config
reference genomes
reference genomes
params	{	
		genomes	{	
				'GRCh37'	{	
						fasta	=	'/refs/human/genome.fasta'	
						gtf	=	'/refs/human/genes.gtf'	
				}	
				'GRCm38'	{	
						fasta	=	'/refs/mouse/genome.fasta'	
						gtf	=	'/refs/mouse/genes.gtf'	
				}	
		}	
}
conf/references.conf
params.fasta	=	params.genome	?	params.genomes[	params.genome	].fasta	?:	false	:	false	
params.gtf	=	params.genome	?	params.genomes[	params.genome	].gtf	?:	false	:	false
main.nf
$	nextflow	run	main.nf	--genome	GRCh37
$	nextflow	run	main.nf	--fasta	/path/to/my/genome.fa
reference genomes
• illumina iGenomes is a great resource for this
• Standard organisation allows easy use of multiple
genomes
• Use AWS iGenomes for free on AWS S3
• See https://ewels.github.io/AWS-iGenomes/
problems we’ve hit
dodgy file patterns
dodgy file patterns
Channel	
				.fromFilePairs(	
								params.reads,	
								size:	-1	
				)
Channel	
				.fromFilePairs(	
								params.reads,	
								size:	params.singleEnd	?	1	:	2	
				)
If glob pattern doesn’t use {1,2}
then all PE files are run in SE mode
If glob pattern doesn’t use {1,2}
then pipeline exits with no matching files
overwriting params
overwriting params
//	Custom	trimming	options	
params.clip_r1	=	0	
params.clip_r2	=	0	
params.three_prime_clip_r1	=	0	
params.three_prime_clip_r2	=	0	
//	Preset	trimming	options	
params.pico	=	false	
if	(params.pico){	
		params.clip_r1	=	3	
		params.clip_r2	=	0	
		params.three_prime_clip_r1	=	0	
		params.three_prime_clip_r2	=	3	
}
//	Custom	trimming	options	
params.clip_r1	=	0	
params.clip_r2	=	0	
params.three_prime_clip_r1	=	0	
params.three_prime_clip_r2	=	0	
//	Define	regular	variables	
clip_r1	=	params.clip_r1	
clip_r2	=	params.clip_r2	
tp_clip_r1	=	params.three_prime_clip_r1	
tp_clip_r2	=	params.three_prime_clip_r2	
//	Preset	trimming	options	
params.pico	=	false	
if	(params.pico){	
		clip_r1	=	3	
		clip_r2	=	0	
		tp_clip_r1	=	0	
		tp_clip_r2	=	3	
}
regular variables
(this now triggers a
warning message)
quick-fire round
MultiQC in workflows
MultiQC in workflows
params.multiqc_config	=	"$baseDir/conf/multiqc_config.yaml"	
multiqc_config	=	file(params.multiqc_config)	
process	run_multiqc	{	
				input:	
				file	multiqc_config	
				file	('fastqc/*')	from	fastqc_results.collect()	
				file	('alignment/*')	from	alignment_logs.collect()	
				output:	
				file	"*multiqc_report.html"	into	multiqc_report	
				file	"*_data"	
				script:	
				"""	
				multiqc	-f	--config	$multiqc_config	.	
				"""	
}
extra_fn_clean_exts:	
				-	_R1	
				-	_R2	
report_comment:	>	
				This	report	has	been	generated	by	the	NGI-RNAseq	analysis	pipeline.	
				For	information	about	how	to	interpret	these	results,	please	see	the	docs.
conf/multiqc_config.yaml
software versions
process	get_software_versions	{	
				output:	
				file	'software_versions_mqc.yaml'	into	software_versions_yaml	
				script:	
				"""	
				echo	$pipeline_version	>	v_ngi_methylseq.txt	
				echo	$workflow.nextflow.version	>	v_nextflow.txt	
				fastqc	--version	>	v_fastqc.txt	
				samtools	--version	>	v_samtools.txt	
				scrape_software_versions.py	>	software_versions_mqc.yaml	
				"""	
}
main.nf
email notifications
email notifications
workflow.onComplete	{	
				def	subject	=	'My	pipeline	execution'	
				def	recipient	=	'me@gmail.com'	
				['mail',	'-s',	subject,	recipient].execute()	<<	"""	
				Pipeline	execution	summary	
				---------------------------	
				Completed	at:	${workflow.complete}	
				Duration				:	${workflow.duration}	
				Success					:	${workflow.success}	
				workDir					:	${workflow.workDir}	
				exit	status	:	${workflow.exitStatus}	
				Error	report:	${workflow.errorReport	?:	'-'}	
				"""	
}
Nextflow documentation
email notifications
workflow.onComplete	{	
				//	Render	the	HTML	template	
				def	hf	=	new	File("$baseDir/assets/email_template.html")	
				def	html_template	=	engine.createTemplate(hf).make(email_fields)	
				def	email_html	=	html_template.toString()	
				//	Send	the	HTML	e-mail	
				if	(params.email)	{	
						[	'sendmail',	'-t'	].execute()	<<	sendmail_html	
						log.info	"[NGI-MethylSeq]	Sent	summary	e-mail	to	$params.email	(sendmail)"	
				}	
				//	Write	summary	e-mail	HTML	to	a	file	
				def	output_d	=	new	File(	"${params.outdir}/pipeline_info/"	)	
				if(	!output_d.exists()	)	{	
						output_d.mkdirs()	
				}	
				def	output_hf	=	new	File(	output_d,	"pipeline_report.html"	)	
				output_hf.withWriter	{	w	->	w	<<	email_html	}	
}
main.nf
email notifications
<html>	
<head><title>NGI-MethylSeq	Pipeline	Report</title></head>	
<body>	
<h1>NGI-MethylSeq:	Bisulfite-Seq	Best	Practice	v${version}</h1>	
<h2>Run	Name:	$runName</h2>	
<%	if	(success){	
				out	<<	"""	
				<div	style="color:	green;">NGI-MethylSeq	execution	completed	successfully!</div>	
				"""	
}	else	{	
				out	<<	"""	
				<div	style="color:	#red;">	
								<h4>NGI-MethylSeq	execution	completed	unsuccessfully!</h4>	
								<p>The	exit	status	of	the	failed	task	was:	<code>$exitStatus</code>.</p>	
								<p>The	full	error	message	was:</p>	
								<pre>${errorReport}</pre>	
				</div>	
				"""	
}	
%>
assets/email_template.html
[NGI-RNAseq] Successful: Test RNA Run
email notifications
email notifications
email notifications
[NGI-RNAseq] FAILED: Test RNA Run
Groovy syntax highlighting
run-STAR	=	params.runstar
run-STAR	=	params.runstar
#!/usr/bin/env	nextflow	
/*	
vim:	syntax=groovy	
-*-	mode:	groovy;-*-	
*/
main.nf
without highlighting:
with highlighting:
saving intermediates
publishDir	"${params.outdir}/trim_galore",	
				mode:	'copy',	
				saveAs:	{fn	->	
								if	(fn.indexOf("_fastqc")	>	0)	"FastQC/$fn"	
								else	if	(fn.indexOf("trimming_report")	>	0)	"logs/$fn"	
								else	params.saveTrimmed	?	fn	:	null	
				}
publishDir	"${params.outdir}/STAR",	
				mode:	'copy',	
				saveAs:	{	
								fn	->	params.saveAlignedIntermediates	?	fn	:	null	
				}
future plans
• Use singularity for everything
• Benchmark AWS run pricing for future
planning
• Refine pipelines
• Improve resource requests
• Automate launch and run management
Phil Ewels
phil.ewels@scilifelab.se
ewels
tallphil
Acknowledgements
http://github.com/SciLifeLab
http://opensource.scilifelab.se
NGI stockholm
Max Käller
Rickard Hammarén
Denis Moreno
Francesco Vezzi
NGI Stockholm Genomics
Applications Development Group
Paolo Di Tommaso
The nextflow community

Mais conteúdo relacionado

Mais procurados

Spack - A Package Manager for HPC
Spack - A Package Manager for HPCSpack - A Package Manager for HPC
Spack - A Package Manager for HPC
inside-BigData.com
 
Enabling new protocol processing with DPDK using Dynamic Device Personalization
Enabling new protocol processing with DPDK using Dynamic Device PersonalizationEnabling new protocol processing with DPDK using Dynamic Device Personalization
Enabling new protocol processing with DPDK using Dynamic Device Personalization
Michelle Holley
 

Mais procurados (20)

OpenHPC: Community Building Blocks for HPC Systems
OpenHPC: Community Building Blocks for HPC SystemsOpenHPC: Community Building Blocks for HPC Systems
OpenHPC: Community Building Blocks for HPC Systems
 
MongoDB - Sharded Cluster Tutorial
MongoDB - Sharded Cluster TutorialMongoDB - Sharded Cluster Tutorial
MongoDB - Sharded Cluster Tutorial
 
NUMA and Java Databases
NUMA and Java DatabasesNUMA and Java Databases
NUMA and Java Databases
 
Unified Batch & Stream Processing with Apache Samza
Unified Batch & Stream Processing with Apache SamzaUnified Batch & Stream Processing with Apache Samza
Unified Batch & Stream Processing with Apache Samza
 
Node Interactive Debugging Node.js In Production
Node Interactive Debugging Node.js In ProductionNode Interactive Debugging Node.js In Production
Node Interactive Debugging Node.js In Production
 
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Job
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily JobLuca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Job
Luca Ceresoli - Buildroot vs Yocto: Differences for Your Daily Job
 
Overview of Next Gen Sequencing Data Analysis
Overview of Next Gen Sequencing Data AnalysisOverview of Next Gen Sequencing Data Analysis
Overview of Next Gen Sequencing Data Analysis
 
Nextflow Camp 2019: nf-core tutorial
Nextflow Camp 2019: nf-core tutorialNextflow Camp 2019: nf-core tutorial
Nextflow Camp 2019: nf-core tutorial
 
Spack - A Package Manager for HPC
Spack - A Package Manager for HPCSpack - A Package Manager for HPC
Spack - A Package Manager for HPC
 
Single-cell RNA-seq tutorial
Single-cell RNA-seq tutorialSingle-cell RNA-seq tutorial
Single-cell RNA-seq tutorial
 
Cfgmgmtcamp 2023 — eBPF Superpowers
Cfgmgmtcamp 2023 — eBPF SuperpowersCfgmgmtcamp 2023 — eBPF Superpowers
Cfgmgmtcamp 2023 — eBPF Superpowers
 
Enabling new protocol processing with DPDK using Dynamic Device Personalization
Enabling new protocol processing with DPDK using Dynamic Device PersonalizationEnabling new protocol processing with DPDK using Dynamic Device Personalization
Enabling new protocol processing with DPDK using Dynamic Device Personalization
 
The columnar roadmap: Apache Parquet and Apache Arrow
The columnar roadmap: Apache Parquet and Apache ArrowThe columnar roadmap: Apache Parquet and Apache Arrow
The columnar roadmap: Apache Parquet and Apache Arrow
 
Finding the Right Primers: Using NCBI for RT-PCR Primer Design
Finding the Right Primers: Using NCBI for RT-PCR Primer DesignFinding the Right Primers: Using NCBI for RT-PCR Primer Design
Finding the Right Primers: Using NCBI for RT-PCR Primer Design
 
Epoll - from the kernel side
Epoll -  from the kernel sideEpoll -  from the kernel side
Epoll - from the kernel side
 
Kernel advantages for Istio realized with Cilium
Kernel advantages for Istio realized with CiliumKernel advantages for Istio realized with Cilium
Kernel advantages for Istio realized with Cilium
 
L'élevage laitier, source de fertilité des sols
L'élevage laitier, source de fertilité des solsL'élevage laitier, source de fertilité des sols
L'élevage laitier, source de fertilité des sols
 
Apache flink
Apache flinkApache flink
Apache flink
 
Bioinformatics: What, Why and Where?
Bioinformatics: What, Why and Where?Bioinformatics: What, Why and Where?
Bioinformatics: What, Why and Where?
 
Innovative NGS Library Construction Technology
Innovative NGS Library Construction TechnologyInnovative NGS Library Construction Technology
Innovative NGS Library Construction Technology
 

Semelhante a Standardising Swedish genomics analyses using nextflow

OSMC 2012 | Neues in Nagios 4.0 by Andreas Ericsson
OSMC 2012 | Neues in Nagios 4.0 by Andreas EricssonOSMC 2012 | Neues in Nagios 4.0 by Andreas Ericsson
OSMC 2012 | Neues in Nagios 4.0 by Andreas Ericsson
NETWAYS
 

Semelhante a Standardising Swedish genomics analyses using nextflow (20)

NBIS ChIP-seq course
NBIS ChIP-seq courseNBIS ChIP-seq course
NBIS ChIP-seq course
 
Let's Compare: A Benchmark review of InfluxDB and Elasticsearch
Let's Compare: A Benchmark review of InfluxDB and ElasticsearchLet's Compare: A Benchmark review of InfluxDB and Elasticsearch
Let's Compare: A Benchmark review of InfluxDB and Elasticsearch
 
NBIS RNA-seq course
NBIS RNA-seq courseNBIS RNA-seq course
NBIS RNA-seq course
 
AWS re:Invent 2016: Large-Scale, Cloud-Based Analysis of Cancer Genomes: Less...
AWS re:Invent 2016: Large-Scale, Cloud-Based Analysis of Cancer Genomes: Less...AWS re:Invent 2016: Large-Scale, Cloud-Based Analysis of Cancer Genomes: Less...
AWS re:Invent 2016: Large-Scale, Cloud-Based Analysis of Cancer Genomes: Less...
 
Ceph Day San Jose - All-Flahs Ceph on NUMA-Balanced Server
Ceph Day San Jose - All-Flahs Ceph on NUMA-Balanced Server Ceph Day San Jose - All-Flahs Ceph on NUMA-Balanced Server
Ceph Day San Jose - All-Flahs Ceph on NUMA-Balanced Server
 
How the Automation of a Benchmark Famework Keeps Pace with the Dev Cycle at I...
How the Automation of a Benchmark Famework Keeps Pace with the Dev Cycle at I...How the Automation of a Benchmark Famework Keeps Pace with the Dev Cycle at I...
How the Automation of a Benchmark Famework Keeps Pace with the Dev Cycle at I...
 
Ontology-based data access: why it is so cool!
Ontology-based data access: why it is so cool!Ontology-based data access: why it is so cool!
Ontology-based data access: why it is so cool!
 
Ceph
CephCeph
Ceph
 
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
 
Pynvme introduction
Pynvme introductionPynvme introduction
Pynvme introduction
 
CEPH DAY BERLIN - CEPH ON THE BRAIN!
CEPH DAY BERLIN - CEPH ON THE BRAIN!CEPH DAY BERLIN - CEPH ON THE BRAIN!
CEPH DAY BERLIN - CEPH ON THE BRAIN!
 
Manycores for the Masses
Manycores for the MassesManycores for the Masses
Manycores for the Masses
 
MAVRL Workshop 2014 - Python Materials Genomics (pymatgen)
MAVRL Workshop 2014 - Python Materials Genomics (pymatgen)MAVRL Workshop 2014 - Python Materials Genomics (pymatgen)
MAVRL Workshop 2014 - Python Materials Genomics (pymatgen)
 
OSMC 2012 | Neues in Nagios 4.0 by Andreas Ericsson
OSMC 2012 | Neues in Nagios 4.0 by Andreas EricssonOSMC 2012 | Neues in Nagios 4.0 by Andreas Ericsson
OSMC 2012 | Neues in Nagios 4.0 by Andreas Ericsson
 
Using Deep Learning on Apache Spark to Diagnose Thoracic Pathology from Chest...
Using Deep Learning on Apache Spark to Diagnose Thoracic Pathology from Chest...Using Deep Learning on Apache Spark to Diagnose Thoracic Pathology from Chest...
Using Deep Learning on Apache Spark to Diagnose Thoracic Pathology from Chest...
 
FPGAs in the cloud? (October 2017)
FPGAs in the cloud? (October 2017)FPGAs in the cloud? (October 2017)
FPGAs in the cloud? (October 2017)
 
High Performance With Java
High Performance With JavaHigh Performance With Java
High Performance With Java
 
What to expect from Java 9
What to expect from Java 9What to expect from Java 9
What to expect from Java 9
 
OS for AI: Elastic Microservices & the Next Gen of ML
OS for AI: Elastic Microservices & the Next Gen of MLOS for AI: Elastic Microservices & the Next Gen of ML
OS for AI: Elastic Microservices & the Next Gen of ML
 
Kognitio - an overview
Kognitio - an overviewKognitio - an overview
Kognitio - an overview
 

Mais de Phil Ewels

Mais de Phil Ewels (12)

ELIXIR Proteomics Community - Connection with nf-core
ELIXIR Proteomics Community - Connection with nf-coreELIXIR Proteomics Community - Connection with nf-core
ELIXIR Proteomics Community - Connection with nf-core
 
Coffee 'n code: Regexes
Coffee 'n code: RegexesCoffee 'n code: Regexes
Coffee 'n code: Regexes
 
EpiChrom 2019 - Updates in Epigenomics at the NGI
EpiChrom 2019 - Updates in Epigenomics at the NGIEpiChrom 2019 - Updates in Epigenomics at the NGI
EpiChrom 2019 - Updates in Epigenomics at the NGI
 
The future of genomics in the cloud
The future of genomics in the cloudThe future of genomics in the cloud
The future of genomics in the cloud
 
SciLifeLab NGI NovaSeq seminar
SciLifeLab NGI NovaSeq seminarSciLifeLab NGI NovaSeq seminar
SciLifeLab NGI NovaSeq seminar
 
Lecture: NGS at the National Genomics Infrastructure
Lecture: NGS at the National Genomics InfrastructureLecture: NGS at the National Genomics Infrastructure
Lecture: NGS at the National Genomics Infrastructure
 
SBW 2016: MultiQC Workshop
SBW 2016: MultiQC WorkshopSBW 2016: MultiQC Workshop
SBW 2016: MultiQC Workshop
 
Whole Genome Sequencing - Data Processing and QC at SciLifeLab NGI
Whole Genome Sequencing - Data Processing and QC at SciLifeLab NGIWhole Genome Sequencing - Data Processing and QC at SciLifeLab NGI
Whole Genome Sequencing - Data Processing and QC at SciLifeLab NGI
 
Developing Reliable QC at the Swedish National Genomics Infrastructure
Developing Reliable QC at the Swedish National Genomics InfrastructureDeveloping Reliable QC at the Swedish National Genomics Infrastructure
Developing Reliable QC at the Swedish National Genomics Infrastructure
 
Using visual aids effectively
Using visual aids effectivelyUsing visual aids effectively
Using visual aids effectively
 
Analysis of ChIP-Seq Data
Analysis of ChIP-Seq DataAnalysis of ChIP-Seq Data
Analysis of ChIP-Seq Data
 
Internet McMenemy
Internet McMenemyInternet McMenemy
Internet McMenemy
 

Último

Module for Grade 9 for Asynchronous/Distance learning
Module for Grade 9 for Asynchronous/Distance learningModule for Grade 9 for Asynchronous/Distance learning
Module for Grade 9 for Asynchronous/Distance learning
levieagacer
 
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
ssuser79fe74
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Sérgio Sacani
 
Seismic Method Estimate velocity from seismic data.pptx
Seismic Method Estimate velocity from seismic  data.pptxSeismic Method Estimate velocity from seismic  data.pptx
Seismic Method Estimate velocity from seismic data.pptx
AlMamun560346
 

Último (20)

STS-UNIT 4 CLIMATE CHANGE POWERPOINT PRESENTATION
STS-UNIT 4 CLIMATE CHANGE POWERPOINT PRESENTATIONSTS-UNIT 4 CLIMATE CHANGE POWERPOINT PRESENTATION
STS-UNIT 4 CLIMATE CHANGE POWERPOINT PRESENTATION
 
Module for Grade 9 for Asynchronous/Distance learning
Module for Grade 9 for Asynchronous/Distance learningModule for Grade 9 for Asynchronous/Distance learning
Module for Grade 9 for Asynchronous/Distance learning
 
GBSN - Microbiology (Unit 3)
GBSN - Microbiology (Unit 3)GBSN - Microbiology (Unit 3)
GBSN - Microbiology (Unit 3)
 
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
 
PSYCHOSOCIAL NEEDS. in nursing II sem pptx
PSYCHOSOCIAL NEEDS. in nursing II sem pptxPSYCHOSOCIAL NEEDS. in nursing II sem pptx
PSYCHOSOCIAL NEEDS. in nursing II sem pptx
 
Factory Acceptance Test( FAT).pptx .
Factory Acceptance Test( FAT).pptx       .Factory Acceptance Test( FAT).pptx       .
Factory Acceptance Test( FAT).pptx .
 
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
 
GBSN - Biochemistry (Unit 1)
GBSN - Biochemistry (Unit 1)GBSN - Biochemistry (Unit 1)
GBSN - Biochemistry (Unit 1)
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
 
GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)GBSN - Microbiology (Unit 1)
GBSN - Microbiology (Unit 1)
 
Pulmonary drug delivery system M.pharm -2nd sem P'ceutics
Pulmonary drug delivery system M.pharm -2nd sem P'ceuticsPulmonary drug delivery system M.pharm -2nd sem P'ceutics
Pulmonary drug delivery system M.pharm -2nd sem P'ceutics
 
High Class Escorts in Hyderabad ₹7.5k Pick Up & Drop With Cash Payment 969456...
High Class Escorts in Hyderabad ₹7.5k Pick Up & Drop With Cash Payment 969456...High Class Escorts in Hyderabad ₹7.5k Pick Up & Drop With Cash Payment 969456...
High Class Escorts in Hyderabad ₹7.5k Pick Up & Drop With Cash Payment 969456...
 
Seismic Method Estimate velocity from seismic data.pptx
Seismic Method Estimate velocity from seismic  data.pptxSeismic Method Estimate velocity from seismic  data.pptx
Seismic Method Estimate velocity from seismic data.pptx
 
COMPUTING ANTI-DERIVATIVES (Integration by SUBSTITUTION)
COMPUTING ANTI-DERIVATIVES(Integration by SUBSTITUTION)COMPUTING ANTI-DERIVATIVES(Integration by SUBSTITUTION)
COMPUTING ANTI-DERIVATIVES (Integration by SUBSTITUTION)
 
CELL -Structural and Functional unit of life.pdf
CELL -Structural and Functional unit of life.pdfCELL -Structural and Functional unit of life.pdf
CELL -Structural and Functional unit of life.pdf
 
module for grade 9 for distance learning
module for grade 9 for distance learningmodule for grade 9 for distance learning
module for grade 9 for distance learning
 
Locating and isolating a gene, FISH, GISH, Chromosome walking and jumping, te...
Locating and isolating a gene, FISH, GISH, Chromosome walking and jumping, te...Locating and isolating a gene, FISH, GISH, Chromosome walking and jumping, te...
Locating and isolating a gene, FISH, GISH, Chromosome walking and jumping, te...
 
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑
 
SAMASTIPUR CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
SAMASTIPUR CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICESAMASTIPUR CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICE
SAMASTIPUR CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
 
Connaught Place, Delhi Call girls :8448380779 Model Escorts | 100% verified
Connaught Place, Delhi Call girls :8448380779 Model Escorts | 100% verifiedConnaught Place, Delhi Call girls :8448380779 Model Escorts | 100% verified
Connaught Place, Delhi Call girls :8448380779 Model Escorts | 100% verified
 

Standardising Swedish genomics analyses using nextflow