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:
- 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) - In Windows Powershell, you may also need to issue the following commands:
bcdedit /set hypervisorlaunchtype Auto wsl --update
- Follow the instructions at:
-
How to use your phone as a webcam:
-
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.zipminimap2 -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