Assembly & Annotation: Difference between revisions
Line 1: | Line 1: | ||
=== Protocol with typical commands used for de novo assembly and annotation === | === Protocol with typical commands used for de novo assembly and annotation === | ||
* Software | |||
* Preprocessing | * Preprocessing | ||
* Assembly | * Assembly |
Revision as of 10:55, 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 hybrid assembly:
To do a hybrid assembly with DBG2OLC use the following script:
Assembly/run_dbg2olc.sh -k <kmer_size> -f <shortreads.fastq> -p <long_reads.fastq> -g <genome_size> -a <adaptive_threshold>
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 manual:
http://sourceforge.net/projects/dbg2olc/
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 Sparc (same as for DBG2OLC).
Illumina scaffolding
Use SSPACE to scaffold using Illumina mate pair or paired end data.
Assembly/run_sspace.sh -a <assembly> -l <libraries.txt> -k <num_links> -t <num_threads> -p <prefix>
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.
Assembly/run_sspace_longread.sh -a <assembly> -p <pacbio.fasta> -k <num_links> -t <num_threads>
Use PBJelly after SSPACE-LongRead to fill the gaps and to extend scaffolds.
Assembly/run_pbjelly.sh -p <protocol> -t <num_threads>
Polishing
If you use PacBio data to build your assembly you can use Sparc to polish with PacBio data. At least 2 runs is recommended.
Use Pilon to polish with Illumina data:
Pilon -a <assembly> -b <bam_file> -t <num_threads>
PBDAGCON (https://github.com/PacificBiosciences/pbdagcon) was used to polish the assembly using the PacBio mappings with BLASR.
blasr /mnt/nexenta/derks047/xero_cast/nobackup/xero/PacBio/xero_pacbio_sorted_3000.fasta ../quickmerge/merged_default.fasta -bestn 1 -m 5 -out mapped.m5 pbdagcon -c 1 xvis_mapped.m5 > xvis_consensus.fasta