PASA-Sapelo2: Difference between revisions

From Research Computing Center Wiki
Jump to navigation Jump to search
(Created page with "Category:TeachingCategory:SoftwareCategory:Bioinformatics === Category === Bioinformatics === Program On === Sapelo2 === Version === 1.8.17 === Author / Distributor === https://github.com/nextgenusfs/funannotate https://funannotate.readthedocs.io/en/latest/ === Description === "Funannotate is a genome prediction, annotation, and comparison software package. It was originally written to annotate fungal genomes (small eukaryotes ~ 30 Mb genomes), but...")
 
No edit summary
 
(23 intermediate revisions by the same user not shown)
Line 9: Line 9:


=== Version ===
=== Version ===
1.8.17
2.5.3
   
   
=== Author / Distributor ===
=== Author / Distributor ===
https://github.com/PASApipeline/PASApipeline
https://github.com/nextgenusfs/funannotate
 
https://funannotate.readthedocs.io/en/latest/
https://github.com/PASApipeline/PASApipeline/wiki
 
=== Description ===
=== Description ===
"Funannotate is a genome prediction, annotation, and comparison software package. It was originally written to annotate fungal genomes (small eukaryotes ~ 30 Mb genomes), but has evolved over time to accomodate larger genomes."
"PASA, acronym for Program to Assemble Spliced Alignments (and pronounced 'pass-uh'), is a eukaryotic genome annotation tool that exploits spliced alignments of expressed transcript sequences to automatically model gene structures, and to maintain gene structure annotation consistent with the most recently available experimental sequence data. PASA also identifies and classifies all splicing variations supported by the transcript alignments."


More details are at https://funannotate.readthedocs.io/en/latest/
More details are at https://github.com/PASApipeline/PASApipeline/wiki


=== Running Program ===
=== Running Program ===


* version 1.8.17 with PASA pipeline with MySQL support is installed as an Apptainer container in /apps/singularity-images/funannotate-1.8.17-MySQL-PASA/ . The image name is funannotate-1.8.17-mysql-production.sif.
* version 2.5.3 with MySQL support is installed as an Apptainer container in /apps/singularity-images/pasa-2.5.3-MySQL/. The image name is pasa-2.5.3-mysql-production.sif.


 
To use this version of PASA in a batch job, please follow these setup steps in your current job working directory '''before''' submitting a batch job:
To use this version of Funannotate in a batch job, please follow these setup steps in your current job working directory '''befor'''e submitting a batch job:


<pre class="gscript">
<pre class="gscript">
cp /apps/singularity-images/funannotate-1.8.17-MySQL-PASA/*.sh .
mkdir ./workDir
cp -r /apps/singularity-images/funannotate-1.8.17-MySQL-PASA/pasa_conf .
cd workDir
cp -r /apps/singularity-images/pasa-2.5.3-MySQL/{1_init.sh,2_create_user_and_db.sh,3_cleanup.sh,pasa_conf,sub.sh,sample_data} .
</pre>
</pre>


Note:
Note:


Running the above cp commands will copy the following setup files and folder to your current job working directory:
Running the above cp commands will copy the following setup files and folders to your current working directory:


* Three MySQL config scripts: '''1_init.sh''', '''2_create_user_and_db.sh''', and '''3_cleanup.sh'''
* Three MySQL config scripts: '''1_init.sh''', '''2_create_user_and_db.sh''', and '''3_cleanup.sh'''
* A sample batch job submission script: '''sub.sh'''
* PASA config folder: '''pasa_conf/'''
* A PASA config folder: '''pasa_conf/'''
* Sample batch job submission script: '''sub.sh'''
* Sample data folder provided by PASA : '''sample_data/'''
Please note:
 
* PASA requires an environment variable called PASAHOME. In this container it is defined as /opt/pasa/opt/pasa-2.5.3/ .
* PASA's Perl scripts, for example, build_comprehensive_transcriptome.dbi, Load_Current_Gene_Annotations.dbi, and others, are installed in $PASAHOME'''/scripts/ .'''
 
 


Below is the sample batch job submission script ('''sub.sh''') to run funannotate in a batch job using 80 CPU cores on the batch partition:  
Below is the sample batch job submission script ('''sub.sh''') to run PASA (alignment assembly pipeline) in a batch job using 20 CPU cores on the batch partition:  


<div class="gscript2">
<div class="gscript2">
<nowiki>#</nowiki>!/bin/bash<br>
<nowiki>#</nowiki>!/bin/bash<br>
<nowiki>#</nowiki>SBATCH --job-name=<u>funannotate-mysql</u><br>
<nowiki>#</nowiki>SBATCH --job-name=<u>pasa-mysql</u><br>
<nowiki>#</nowiki>SBATCH --partition=batch<br>
<nowiki>#</nowiki>SBATCH --partition=batch<br>
<nowiki>#</nowiki>SBATCH --ntasks=1<br>
<nowiki>#</nowiki>SBATCH --ntasks=1<br>
<nowiki>#</nowiki>SBATCH --cpus-per-task=<u>80</u><br>
<nowiki>#</nowiki>SBATCH --cpus-per-task=<u>20</u><br>
<nowiki>#</nowiki>SBATCH --mem=<u>80gb</u><br>
<nowiki>#</nowiki>SBATCH --mem=<u>80gb</u><br>
<nowiki>#</nowiki>SBATCH --time=<u>48:00:00</u><br>
<nowiki>#</nowiki>SBATCH --time=<u>48:00:00</u><br>
Line 54: Line 61:
<nowiki>#</nowiki>SBATCH --mail-type=ALL<br>
<nowiki>#</nowiki>SBATCH --mail-type=ALL<br>
<nowiki>#</nowiki>SBATCH --mail-user=<u>username</u>@uga.edu<br>
<nowiki>#</nowiki>SBATCH --mail-user=<u>username</u>@uga.edu<br>
<br>
cd $SLURM_SUBMIT_DIR
cd $SLURM_SUBMIT_DIR
 
<br>
 
<br>
<nowiki>#</nowiki> Initialize and start MySQL in the container
<nowiki>#</nowiki> Initialize and start MySQL from inside of the container
 
<br>
./1_init.sh && ./2_create_user_and_db.sh
./1_init.sh && ./2_create_user_and_db.sh
 
<br>
 
<br>
<nowiki>#</nowiki> Verify the installation of dependencies and show their versions (optional)
<nowiki>#</nowiki> unzip the sample input date genome_sample.fasta.gz
 
<br>
apptainer exec instance://funannotate-mysql /bin/bash -c "source activate /opt/funannotate && '''funannotate check --show-versions'''"
gunzip sample_data/genome_sample.fasta.gz
 
<br>
 
<br>
<nowiki>#</nowiki> Run a full test with PASA pipeline with MySQL support. You can run your own funannotate command line here.
<nowiki>#</nowiki> Run PASA pipeline with genome_sample.fasta
 
<br>
apptainer exec instance://funannotate-mysql /bin/bash -c "source activate /opt/funannotate && '''funannotate test -t all --cpus 80'''"
apptainer exec instance://pasa-mysql /bin/bash -c "source activate /opt/pasa && \$PASAHOME/Launch_PASA_pipeline.pl \<br>
 
'''--CPU <u>20</u>  \'''<br>
 
'''--config ./sample_data/mysql.confs/alignAssembly.config --create --run \'''<br>
 
'''--ALIGNER gmap --genome ./sample_data/genome_sample.fasta --transcripts ./sample_data/all_transcripts.fasta.clean"'''<br>
<nowiki>#</nowiki> Clean up on the compute node by shutting down MySQL
<br>
 
<nowiki>#</nowiki> Clean up on the compute node and shut down MySQL
<br>
./3_cleanup.sh
./3_cleanup.sh


Line 83: Line 91:


# In the real submission script, at least all the above underlined values in Slurm headers need to be reviewed or to be replaced by the proper values.
# In the real submission script, at least all the above underlined values in Slurm headers need to be reviewed or to be replaced by the proper values.
# In the real submission script, the above the funannotate command lines in '''bold font''' can be replaced by your own funannotate command lines.
# In the real submission script, the above the command lines in '''bold font''' can be replaced by your own PASA command lines.
 


Please refer to [[Running Jobs on Sapelo2]] for more information running jobs on the Sapelo2 cluster.
Please refer to [[Running Jobs on Sapelo2]] for more information running jobs on the Sapelo2 cluster.


Here is an example of job submission command:
Here is an example of job submission command:
Line 98: Line 103:
   
   
<pre class="gcommand">
<pre class="gcommand">
https://funannotate.readthedocs.io/en/latest/
https://github.com/PASApipeline/PASApipeline
https://github.com/PASApipeline/PASApipeline/wiki/setting-up-pasa-mysql
https://github.com/PASApipeline/PASApipeline/wiki
</pre>
</pre>
[[#top|Back to Top]]
[[#top|Back to Top]]
Line 105: Line 110:
=== Installation ===
=== Installation ===
   
   
Source code is obtained from https://github.com/nextgenusfs/funannotate
Source code is obtained from https://github.com/PASApipeline/PASApipeline
   
   
=== System ===
=== System ===
64-bit Linux
64-bit Linux

Latest revision as of 11:53, 16 June 2025

Category

Bioinformatics

Program On

Sapelo2

Version

2.5.3

Author / Distributor

https://github.com/PASApipeline/PASApipeline

https://github.com/PASApipeline/PASApipeline/wiki

Description

"PASA, acronym for Program to Assemble Spliced Alignments (and pronounced 'pass-uh'), is a eukaryotic genome annotation tool that exploits spliced alignments of expressed transcript sequences to automatically model gene structures, and to maintain gene structure annotation consistent with the most recently available experimental sequence data. PASA also identifies and classifies all splicing variations supported by the transcript alignments."

More details are at https://github.com/PASApipeline/PASApipeline/wiki

Running Program

  • version 2.5.3 with MySQL support is installed as an Apptainer container in /apps/singularity-images/pasa-2.5.3-MySQL/. The image name is pasa-2.5.3-mysql-production.sif.

To use this version of PASA in a batch job, please follow these setup steps in your current job working directory before submitting a batch job:

mkdir ./workDir
cd workDir
cp -r /apps/singularity-images/pasa-2.5.3-MySQL/{1_init.sh,2_create_user_and_db.sh,3_cleanup.sh,pasa_conf,sub.sh,sample_data} .

Note:

Running the above cp commands will copy the following setup files and folders to your current working directory:

  • Three MySQL config scripts: 1_init.sh, 2_create_user_and_db.sh, and 3_cleanup.sh
  • PASA config folder: pasa_conf/
  • Sample batch job submission script: sub.sh
  • Sample data folder provided by PASA : sample_data/

Please note:

  • PASA requires an environment variable called PASAHOME. In this container it is defined as /opt/pasa/opt/pasa-2.5.3/ .
  • PASA's Perl scripts, for example, build_comprehensive_transcriptome.dbi, Load_Current_Gene_Annotations.dbi, and others, are installed in $PASAHOME/scripts/ .


Below is the sample batch job submission script (sub.sh) to run PASA (alignment assembly pipeline) in a batch job using 20 CPU cores on the batch partition:

#!/bin/bash
#SBATCH --job-name=pasa-mysql
#SBATCH --partition=batch
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=20
#SBATCH --mem=80gb
#SBATCH --time=48:00:00
#SBATCH --output=log.%j.out
#SBATCH --mail-type=ALL
#SBATCH --mail-user=username@uga.edu

cd $SLURM_SUBMIT_DIR

# Initialize and start MySQL from inside of the container
./1_init.sh && ./2_create_user_and_db.sh

# unzip the sample input date genome_sample.fasta.gz
gunzip sample_data/genome_sample.fasta.gz

# Run PASA pipeline with genome_sample.fasta
apptainer exec instance://pasa-mysql /bin/bash -c "source activate /opt/pasa && \$PASAHOME/Launch_PASA_pipeline.pl \
--CPU 20 \
--config ./sample_data/mysql.confs/alignAssembly.config --create --run \
--ALIGNER gmap --genome ./sample_data/genome_sample.fasta --transcripts ./sample_data/all_transcripts.fasta.clean"

# Clean up on the compute node and shut down MySQL
./3_cleanup.sh

Note:

  1. In the real submission script, at least all the above underlined values in Slurm headers need to be reviewed or to be replaced by the proper values.
  2. In the real submission script, the above the command lines in bold font can be replaced by your own PASA command lines.

Please refer to Running Jobs on Sapelo2 for more information running jobs on the Sapelo2 cluster.

Here is an example of job submission command:

sbatch ./sub.sh 

Documentation

https://github.com/PASApipeline/PASApipeline
https://github.com/PASApipeline/PASApipeline/wiki

Back to Top

Installation

Source code is obtained from https://github.com/PASApipeline/PASApipeline

System

64-bit Linux