freecores | waiting | n001 a n004 | n005 |
---|---|---|---|
sagarana:/home # freecores cores livres na n001: 0 cores livres na n002: 0 cores livres na n003: 0 cores livres na n005: 54 cores livres na n004: 48 |
sagarana:/home # waiting pavel fila64 16 cores pavel fila64 16 cores pavel fila64 16 cores pavel fila64 16 cores pavel fila64 16 cores pavel fila64 16 cores pavel fila64 16 cores pavel fila64 16 cores acm2014 fila64 2 cores acm2014 fila64 2 cores acm2014 fila64 2 cores giovanni fila64 6 cores |
sagarana:/home # n001 vicbp1 fila64 64 cores R 411:2 sagarana:/home # n002 pavel fila64 16 cores R 00:00 pavel fila64 16 cores R 00:00 pavel fila64 16 cores R 00:00 pavel fila64 16 cores R 00:00 sagarana:/home # n003 jrcferna fila64 64 cores R 1328: sagarana:/home # n004 |
sagarana:/home # n005 malusuha fila256 30 cores R 710:1 pavel fila256 124 cores R 456:0 ialvim workq 1 cores R 372:3 vrrodova fila256 20 cores R 305:0 vrrodova fila256 20 cores R 305:0 fstussi workq 1 cores R 124:3 fstussi workq 1 cores R 124:3 fstussi workq 1 cores R 124:3 fstussi workq 1 cores R 124:3 fstussi workq 1 cores R 124:2 fstussi workq 1 cores R 124:1 fstussi workq 1 cores R 124:0 |
O comando freecores é uma abreviação do comando oficial qstat -n e mostra quantos cores estão disponíveis nas máquinas de 64 cores (n001 a n004) ou na de 256 cores (n005) | O comando waiting mostra a fila de espera. Com o presente cenário o recomendado seria pedir até 54 cores na fila256. Aparentemente a n004 travou pois há jobs waiting na fila64 que entrariam nela. | O comando n001 nos diz que quando o único job que usa 64 cores acabar, os 4 primeiros de 16 cores vão entrar nela. Só se estima o tempo de execução desse job conhecendo o perfil de uso do usuário vicbp1. Já na n002 o próprio usuário pavel se substituirá. E quem conhece jrcfernandes sabe que é uma dinâmica molecular que deve demorar muito, não conte que a fila64 vai andar por conta dele acabar logo. | Vemos um único job com muitos cores, 124, logo se precisar de muitos cores uma saída seria pedir 124 para substituir esse. Ou somar mais 30 esperando pela saída de malusuha, ou somar mais 40 torcendo pela saída de vrrodovan. |
#!/bin/sh #Author miguelito #PBS -N blastx #PBS -e blastx_pampulha.err #PBS -o blastx_pampulha.log #PBS -q fila64 #PBS -l select=1:ncpus=64 /programs/blastall -p blastx -d /databases/nr -i /home/miguel/pampulha.fasta -o /tmp/resultado -e 1e-5 -m 8 -n F -a 64 mv /tmp/resultado /home/miguel/resultado (repare que quando há muito I/O pode-se escrever no /tmp e depois adicionar uma linha para mover para o seu home)
Diga quantos (X) cores quer usar em #PBS -l select=1:ncpus=X
(a razão de select=1 é que só se permite usar um nó por job para não saturar a rede)
E abaixo do cabeçalho coloque sua linha de comando, sempre dando o caminho completo de programas, inputs e saída, pois o job rodará de um nó qualquer e de outra forma não encontrará o que está em seu home, que fica no storage e não no nó de onde se está rodando.
Note que programas como Trinity rodam melhor se você salvar a saída primeiro no disco local do nó (pra isso todo nó tem um /tmp) e depois na linha seguinte mover para o seu home. BLAST e DIAMOND não acessam o HD tão rapidamente, então isso não é necessário.
sagarana:/home # ls /programs abyss gmp-4.3.2 my_masurca Ray-2.3.1 admixture_linux-1.3.0 gromacs-5.1.4-n005 myMrBayes readline-6.3 amber16 haploview mynewtrinnity rnammer-1.2 amber17 HMMER2GO myorthodb RNA-SeQC_v1.1.8.jar amber17openMP hmmer-3.1b2 myprintseq rosetta_bin_linux_2016.11.58563_bundle bcftools-1.2 hs-blastn mypython RSEM-1.2.23 bcftools-1.4 HTSeq-0.6.1 my_python RSeQC-2.6.2 BEDTools ima2p my_quast SABER bedtools2-2.25.0 imap2p my_RAxML samtools-1.2 bedtools-2.25.0 intel myRosetta samtools-1.4 bins interproscan-5.15-54.0 myRpackages Schrodinger_Suites_2015-4_Linux-x86_64 biopython-1.66 jellyfish-1.1.11 mysegma SCRATCH-1D_1.1-fila256 blast-2.2.26 jellyfish-2.2.10 myseqcrumbs seq_crumbs-master boost-1.59.0 Jellyfish-2.2.10 my_SQLite seqtk bowtie-1.1.2 jorge_software myvirtualenv Serial_RZxML bowtie2-2.2.6 kallisto-0.42.3 NAMD_2019 snpEff bpp3.3a kmergenie-anaconda nano.save snpEff_snpSift bwa-0.7.12 KRAKEN ncbi-blast-2.2.21+ snptest cdhit-4.6.6 LASER-2.04 ncbi-blast-2.2.26+ SOAPdenovo2 cgal-releases-CGAL-4.7 libs ncbi-blast-2.2.31+ SPAdes-3.11.1-Linux CLARKSCV1.2.3 LICENSE ncbi-blast-2.6.0+ SPAdes-3.13.0-Linux clustalw-2.1 make_modulefiles_if_bindir.sh ncbi-blast-2.9.0+ sqlite cope MaSuRCA-3.2.1_08102016 ncurses-6.0 sratoolkit-2.5.4 cufflinks-2.2.1 mcl-14-137 ngsane-0.4.0.2 sratoolkit.2.5.5-centos_linux64 cutadapt-1.8.3 megahit ngsane-0.5.2.0 sra-tools db_diamond metlab NLProt stacks-2.41 detonate-1.11 miniconda objdir STAR-2.5.0a_alpha diamond-0.7.11 mira_4.0.2_linux-gnu_x86_64_static OrthoDB_soft_1.2 STAR_2.7.0c diamond-0.8.25 MITObim-v1.9 orthomclSoftware-v2.0.9 _STARtmp diamond_0.9.24 modeller parallel sword dispro1.0 mothur-1.40.3 pblat tmhmm-2.0c dock6 mpc-0.8.1 picard.jar tmp DynamicTrim.pl mpfr-2.4.2 picard-tools-1.119 Trimmomatic-0.36 EIG-master MSAProbs-0.9.7 picard-tools-1.140 trinityrnaseq-2.1.1 EMBOSS-6.6.0 myblast plumed trinityrnaseq-2.2.0 FastQC-0.11.4 myblupf90 plumed2 trinityrnaseq-Trinity-v2.4.0 FastQC-v0.11.4 mybpp PopPhased trinityrnaseq-Trinity-v2.8.5 fastq_screen_v0.5.2 mybusco prinseq-lite-0.20.4 trinityrnaseq-v2.8.4 fcgene-1.0.7 myclustall pssm_bwa Trinity-v2.7.0 finestructure mydetonate PThreads_RAxML uclustq1.2.22_i86linux64 FLASH-1.2.11 my_gatk2 Python-2.7.13 vcftools-846131b gatk-3.7 mygromacs Python-3.3.2 velvet gcc-5.2.0 my_locarna Python-3.5.1 velvet_1.2.10 gmap-2015.09.29 mymaker R-3.2.2 zlib-1.2.8Databases em /databases
sagarana:/databases # ls diamond_nr_out_2019 nr_out_2019 pdbaa_janeiro_2019 pfam_janeiro_2019 untarall.sh vectors isos nt_out_2019 pfam-A_diamond_out_2019 ribosomal update_blastdb.pl virus