Assembly & Annotation: Difference between revisions
Line 93: | Line 93: | ||
=== Assembly validation=== | === Assembly validation=== | ||
''Vecscreen'' | |||
Use Vecscreen to check for adapters or contamination in your assembly: | |||
<source lang='bash'>Assembly/run_vecscreen.sh -g <assembly> -t <num_threads> </source> | |||
Use HaploMerger on a highly heterozygous genome to merge redundant contigs. Make sure you run HaploMerger on a soft masked genome. A new version (v2) has been released [http://mosas.sysu.edu.cn/genome/download_softwares.php]. | |||
''Mapping'' | |||
Map the Illumina and/or PacBio reads to the assembly to validate the completeness of the assembly | |||
Illumina: | |||
<source lang='bash'>mapping/bowtie2.sh [-h] -a <assembly> -l <name-prefix> -f <FW_reads.fastq> -r <RV_reads.fastq> -t <num_threads> </source> | |||
<source lang='bash'>mapping/run_bbmap.sh [-h] -a <assembly> -l <name-prefix> -f <FW_reads.fastq> -r <RV_reads.fastq> -t <num_threads></source> | |||
PacBio: | |||
<source lang='bash'>run_blasr.sh [-h] -a <assembly> -l <name-prefix> -f <FW_reads.fastq> -r <RV_reads.fastq> -t <num_threads></source> | |||
Completeness | |||
Use CEGMA and BUSCO to evaluate the completeness of the genome in terms of gene space. | |||
<source lang='bash'>run_cegma.sh [-h] -a <assembly> -t <num_threads> | |||
run_BUSCO.sh [-h] -a <assembly> -t <num_threads> -m <mode:[genome|OGS]> -c <clade> -o <output_prefix> </source> | |||
If you have an de novo transcriptome available you can evaluate the completeness of your assembly using Isoblat [https://github.com/josephryan/isoblat]. | |||
=== Annotation === | === Annotation === |
Revision as of 11:09, 21 January 2016
Protocol with typical commands used for de novo assembly and annotation
- Software
- Preprocessing
- Assembly
- Assembly validation
- Annotation
- Submission
- Visualization
Software
Preprocessing
Quality control:
Check quality of your data using FastQC and fastq_stats.py. <source lang='bash'> fastqc ../*.gz </source> Explore the report to do the quality check and identify potential adapters and primers in the sequences.
K-mer analysis:
Us the script kmer_analysis.sh to get the genomic properties based on the k-mer distribution. Genomic properties include genome size and percentage of heterozygosity.
<source lang='bash'> Preprocessing/kmer_analysis.sh -m <kmer_size> -c <error-cutoff> -s <hash-size> -t <threads> -i <R1.fastq.gz R2.fastq.gz ...> -o <output_dir> </source> Trimming:
Use Trimmomatic to trim Illumina data. Make sure your fasta file with the adapters corresponds to the adapters found in the FastQC report. Use the following script: <source lang='bash'> preprocessing/run_trimmomatic.sh -t <num_threads> -f <FW_reads.fastq> -r <RV_reads.fastq> </source>
Error correction
Lighter is a fast tool to error correct your Illumina data. Use the following script: <source lang='bash'> preprocessing/run_lighter_error_correction.sh -g <genome_size> -c <coverage> -f <FW_reads.fastq> -r <RV_reads.fastq> </source>
Organelle assembly
Download a proper reference from the NCBI database. Use the IOGA pipeline to assemble to organellar genome. <source lang='bash'> assembly/run_IOGA.sh -a <assembly> -f <fw_reads.fastq> -r <reverse_reads.fastq> -i <insert_size> -t <num_threads> -n <name_prefix> </source> Map your reads to the newly assembled genome and manually check if it is circular.
Use Pilon to correct remaining errors in the assembly using the mapped reads.
Annotate using MITOS or DOGMA online tools.
Submit here: http://www.ncbi.nlm.nih.gov/LargeDirSubs/dir_submit.cgi
If long-read data is available, use the new software Circlator to make your assembly circular.
Assembly
The type of software used heavily depends on the type of data you have. Below are some examples:
PacBio/Illumina hybrid assembly:
To do a hybrid assembly with DBG2OLC use the following script: <source lang='bash'>Assembly/run_dbg2olc.sh -k <kmer_size> -f <shortreads.fastq> -p <long_reads.fastq> -g <genome_size> -a <adaptive_threshold> </source>
Use both Sparseassembler to build the contigs based on Illumina data or use Platanus (which often gives better results). You should run platanus with default settings.
Don’t forget to polish the genome with Sparc after the assembly is finished, as described in the [1]
PacBio only assembly
Use falcon is you consider to do a PacBio only assembly. Run on the cluster and follow the instructions in the manual: https://github.com/PacificBiosciences/FALCON/wiki/Manual After assembly don’t forget to polish using Quiver or PBDagcon (same as for DBG2OLC).
<source lang='bash'>blasr <reads.fasta> <assembly.fasta> -bestn 1 -m 5 -out mapped.m5 pbdagcon -c 1 mapped.m5 > assembly_consensus.fasta </source>
Use Pilon to polish with Illumina data:
<source lang='bash'>Assembly/run_pilon -a <assembly> -b <bam_file> -t <num_threads> </source>
Illumina scaffolding
Use SSPACE to scaffold using Illumina mate pair or paired end data. <source lang='bash'>Assembly/run_sspace.sh -a <assembly> -l <libraries.txt> -k <num_links> -t <num_threads> -p <prefix> </source>
PacBio scaffolding
SSPACE-LongRead can be used to post-scaffold your generated contigs. Be aware that SSPACE-LongRead does not do consensus calling for scaffolding so there will be a gap introduced.
<source lang='bash'>Assembly/run_sspace_longread.sh -a <assembly> -p <pacbio.fasta> -k <num_links> -t <num_threads> </source>
Use PBJelly after SSPACE-LongRead to fill the gaps and to extend scaffolds.
<source lang='bash'>Assembly/run_pbjelly.sh -p <protocol> -t <num_threads> </source>
Assembly validation
Vecscreen
Use Vecscreen to check for adapters or contamination in your assembly: <source lang='bash'>Assembly/run_vecscreen.sh -g <assembly> -t <num_threads> </source>
Use HaploMerger on a highly heterozygous genome to merge redundant contigs. Make sure you run HaploMerger on a soft masked genome. A new version (v2) has been released [2].
Mapping
Map the Illumina and/or PacBio reads to the assembly to validate the completeness of the assembly
Illumina:
<source lang='bash'>mapping/bowtie2.sh [-h] -a <assembly> -l <name-prefix> -f <FW_reads.fastq> -r <RV_reads.fastq> -t <num_threads> </source> <source lang='bash'>mapping/run_bbmap.sh [-h] -a <assembly> -l <name-prefix> -f <FW_reads.fastq> -r <RV_reads.fastq> -t <num_threads></source>
PacBio:
<source lang='bash'>run_blasr.sh [-h] -a <assembly> -l <name-prefix> -f <FW_reads.fastq> -r <RV_reads.fastq> -t <num_threads></source>
Completeness
Use CEGMA and BUSCO to evaluate the completeness of the genome in terms of gene space. <source lang='bash'>run_cegma.sh [-h] -a <assembly> -t <num_threads> run_BUSCO.sh [-h] -a <assembly> -t <num_threads> -m <mode:[genome|OGS]> -c <clade> -o <output_prefix> </source> If you have an de novo transcriptome available you can evaluate the completeness of your assembly using Isoblat [3].