How to...



  • How to run docker-compose when you get the errors:

    • File "posixpath.py", line 376, in abspath
    • FileNotFoundError: [Errno 2] No such file or directory

    Open a new terminal and repeat the command.



  • How to login to root account in a new ubuntu/xubuntu virtual machine that has been set up with a non-administrator account:

    su
    yourpasswordfortheuseraccount
    


  • How to update apt and install filezilla on xubuntu using a proxy:

    sudo apt -o Acquire::http::proxy="http://user:password@host:port/" update
    sudo apt -o Acquire::http::proxy="http://user:password@host:port/" install filezilla
    


  • How to install ubuntu on windows:

    1. Follow the instructions at:
      https://s1gr1d.medium.com/how-to-set-up-linux-on-windows-with-wsl-2-debe2a64d20d
      (NB. these instructions work for Windows 10 and 11 although the location of the Settings menus may differ slightly. Also note that VMX is the same as VT-X in the BIOS settings)
    2. In Windows Powershell, you may also need to issue the following commands:
    bcdedit /set hypervisorlaunchtype Auto
    wsl --update
    


  • How to use your phone as a webcam:

    https://www.youtube.com/watch?v=ArVDKf2QK1s



  • How to fix the following error in NextFlow:

    WARN: Failed to render DAG file:

    This error prevents NextFlow from drawing the DAG for the pipeline.

    #install Graphviz 
    #eg. with conda
    conda install -c conda-forge graphviz
    


  • How to gather and group all tuple elements in a NextFlow channel by the first and second indexes of each tuple, perform a process on a file containing the first and second indices, and then reform the original channel by scattering:

    hc_ch = Channel.of(
        ['abc', 1, file('file1.txt')],
        ['abc', 1, file('file2.txt')],
        ['abc', 1, file('file3.txt')],
        ['def', 2, file('file4.txt')]
    )
    
    combinedChannel = hc_ch.groupTuple(by: [0, 1])
    
    • Expected structure of combinedChannel:

    [ ['abc', 1, [file('file1.txt'), file('file2.txt'), file('file3.txt')]],
    ['def', 2, [file('file4.txt')]]
    ]

    
    process delete_txt {
    
        input:
        tuple val(id), val(sub_id), val(files) from combinedChannel
    
        output:
        tuple val(id), val(sub_id), val(files) into processedChannel
    
        script:
        """
        rm ${id}_${sub_id}.txt
        """
    }
    
    • Expected structure of processedChannel:

    [ ['abc', 1, [file('file1.txt'), file('file2.txt'), file('file3.txt')]],
    ['def', 2, [file('file4.txt')]]
    ]

    flattenedChannel = processedChannel.flatMap { id, sub_id, files -> files.collect { [id, sub_id, it] } }
    
    • Expected structure of flattenedChannel:
      [ ['abc', 1, file('file1.txt')],
      ['abc', 1, file('file2.txt')],
      ['abc', 1, file('file3.txt')],
      ['def', 2, file('file4.txt')]
      ]


  • How to get the path for the folder containing a bash script within the bash script:

    # Get the directory where the script resides
    SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
    echo $SCRIPTDIR
    


  • How to convert a minimap2 alignment to gff/gtf:
    https://github.com/lh3/minimap2/issues/455
    https://github.com/lh3/minimap2/files/9591008/bam2gff_fixGffread.zip
    bam2gff_fixGffread.zip

    minimap2 -t 10 -ax splice:hq -uf ref.fa cdna.fa |/Bio/bin/samtools-1.14 view -b > minimap2.tr.bam
    perl bam2gff.pl -b minimap2.tr.bam -o minimap2.tr.gff -s /Bio/bin/samtools-1.14 gffread minimap2.tr.gff -T -o minimap2.tr.gtf
    perl fixGffread.pl -i minimap2.tr.gtf -o minimap2.tr.fix.gtf
    

    Alternative method:

    #Align sequences and convert to BAM
    minimap2 -ax splice --cs target.fa query.fa | samtools sort -O BAM - > alignments.bam
    #Convert to BED12 using BEDtools
    bedtools bamtobed -bed12 -i alignments.bam > alignments.bed 
    #Convert to genePred using UCSC tools
    bedToGenePred alignments.bed alignments.genepred
    #Convert to GTF2 using UCSC tools. genePredToGtf has additional options that might be useful in specific use cases.
    genePredToGtf "file" alignments.genepred alignments.gtf
    


  • How to do a dotplot with minimap2:

    minimap2 -DP ref.fa query.fa|miniasm/minidot - > dot.eps
    

Log in to reply
 

Powered by ShareZomics