Optional Software

Word Processing

  • Microsoft Office Suite (Word, Excel, Powerpoint, Teams, OneNote)
  • Apple Suite (Keynote, Numbers, Pages)

Password Manager

  • Password Manager (Dashlane, OnePass, etc)

Screen Capture/Video Editors

Team communication

  • Slack
    • The easiest way to reload your teams is to sign in on the slack website and then use your email to sign in for each team you want to be signed in on your desktop application.
  • Zoom
    • Don’t forget to copy over your zoom backgrounds

**

Install Xcode Developer tools

In order to get the most out of your macbook, this developer’s toolkit is required. Installing XCode at a minimum also installs git for github commands.

  • The download takes a long time
  • The unzipping takes a long time
  • Move the Xcode App to your applications

Install the XCode Command line tools

1
xcode-select --install

Install Rosetta 2

For those applications that are still compiled for Intel processors, Apple has Rosetta 2

Run the following command on the terminal

1
/usr/sbin/softwareupdate --install-rosetta --agree-to-license

Restart your computer

Install Atom editor

  • https://atom.io

Atom did not open for me the first time when I double clicked on it.

Here are some recommended packages

  • language-swift-89
  • language-r
  • markdownn-folding
  • markdown-pdf
  • minimap
  • wordcount
  • drag-relative-path
  • markdown-scroll-sync
  • autocomplete-python
  • autocomplete-swift
  • autocomplete-R

VPN client

If you need a vpn to access your HPC you will need to download that. For us at Iowa State we use the Cisco Any Connect client

Adobe

These apps can be installed from the creative cloud app. Iowa State has a license for these in Okta. Otherwise, it is ~$30/month for students/faculty.

  • Photoshop
    • For editing Photos
  • Illustrator
    • for editing figures
  • Acrobat DC
    • for PDF visualization and signing
  • InDesign
    • for multipage graphic/text

I use the first three more than InDesign.

Safari Extensions

  • OneTab (you can download this from App extensions store from Apple)

Install R

Install R from the package from R cran site.

  • Install R
    • https://mirror.las.iastate.edu/CRAN/
      • https://mirror.las.iastate.edu/CRAN/bin/macosx/big-sur-arm64/base/R-4.1.2-arm64.pkg

I got the following error when I tried to install from DMG so don’t do that. Error “R can’t be opened because Apple cannot check it for malicious software”

R Studio

Up your R desktop game by installing R studio.

  • https://www.rstudio.com/products/rstudio/download/#download

Check to see R is working

I use plot to quickly test the installation.

1
plot(1:10)

A window should pop up with a scatter plot along the diagonal.

R package manager Renv

  • https://cran.r-project.org/web/packages/renv/
  • https://6chaoran.wordpress.com/2020/07/20/introduction-of-renv-package/

pacman? R environment manager

mamba conda

update

Productivity software

I have found the following programs really useful to streamline my workflows and better interact with my laptop and mouse.

  • Better Touch Tool
    • software to customize different input devices like your mouse and trackpad and window snapping.
  • Alfred
    • hotkeys, keywords, text expansion and more

File Transfer software

  • filezilla
    • Copy over any site information you need before formatting your old computer

Install HomeBrew

1
2
3
4
5
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/YourNAME/.zprofile
   eval "$(/opt/homebrew/bin/brew shellenv)"

Create a brewfile

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
tap "homebrew/bundle"
tap "homebrew/core"
tap "homebrew/cask"
brew "zsh-completions"
brew 'bash-completion'
brew "gnu-sed"
brew "gnu-tar"
brew "gawk"
brew "gnu-which"
brew "gzip"
brew "unzip"
brew "coreutils"  #Adds a few extra commands typically found in Unix systems
brew "curl" #Updated curl
brew "dos2unix" #For those pesky dos line endings
brew "findutils" #find xargs locate updatedb
#brew "git" #if you installed XCODE then this is already installed
brew "go" #programming language
brew "jq" #https://stedolan.github.io/jq/ #like sed for JSON
brew "ruby", link: true #programming language
brew "rust" #programming language
brew "tree" #see your file structure
brew "wget" #like curl but better
cask "docker" #Not singularity but can be useful.
cask "iterm2" #An advanced Terminal.
cask "xquartz" #Required for some plotting programs like R
cask "figtree" #Visualize phylogenic trees
brew "tcl-tk" #Needed for some programs
tap "brewsci/bio/"
brew "brewsci/bio/pymol" #Visualize protein structures
brew "igv"  #Genome browser
cask "jbrowse" #A Better Genome browser
brew "htop"  #A different type of top for your mac

Execute the following command in the same folder as the brewfile defined above and it will install all of the programs.

1
brew bundle

Notes about iterm2

It is a powerful terminal and I haven’t utilized its features fully. One feature that I felt was missing was being able to skip by word on the command line but apparently that is a really easy fix since iterm2 is fully configurable.

How to skip by word in iterm2

  • esc + f
  • esc + b

Conda

Install Miniforge3 that emphasizes the arm architecture.

I installed the x86 version in a folder with _x86 at the end of it. This will become important later.

1
2
                          ~/Software/miniforge3
base                  *   ~/Software/miniforge3_x86

This now gives us two base conda environments. One for installations native to the ARM architecture and native to M1 macs and one for all the other programs that haven’t made an ARM version. The x86 programs will run using rosetta2.

How to change between base conda installations

This website does a really good job explaining that we just need to change the code in the .zshrc file: Changing base conda installs.

  • .zshrc

This file of course will look slightly different as you will have placed the miniforge3 folder in a different location then on my laptop.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/andrewseverin/GIFNew/Software/miniforge3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/Users/andrewseverin/GIFNew/Software/miniforge3/etc/profile.d/conda.sh" ]; then
        . "/Users/andrewseverin/GIFNew/Software/miniforge3/etc/profile.d/conda.sh"
    else
        export PATH="/Users/andrewseverin/GIFNew/Software/miniforge3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

The main point that the website above makes is that in order to change the base installation, all we have to do is change the folder name from miniforge3 to miniforge3_x86. Doing this every time we want to change between base installations would be a real pain so I modified the script to make this a lot easier.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
if [[ $x86true -eq 1 ]]
then
x86="_x86"
else
x86=""
fi

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/andrewseverin/GIFNew/Software/miniforge3$x86/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/Users/andrewseverin/GIFNew/Software/miniforge3$x86/etc/profile.d/conda.sh" ]; then
        . "/Users/andrewseverin/GIFNew/Software/miniforge3$x86/etc/profile.d/conda.sh"
    else
        export PATH="/Users/andrewseverin/GIFNew/Software/miniforge3$x86/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

As you can see I added an if statement that changes a variable $x86 which I placed at the the end of the folder name to modify the conda location. With this modification, we can create two new functions that will permit us to very quickly change between base conda installations.

  • condaArm
1
2
3
x86true=0
source ~/.zshrc
conda info --envs
  • condaX86
    1
    2
    3
    
    x86true=1
    source ~/.zshrc
    conda info --envs
    

Qiime2

1
2
3
4
5
conda update conda
wget https://data.qiime2.org/distro/core/qiime2-2020.11-py36-osx-conda.yml

conda install mamba
mamba env create -n qiime2-2020.11 --file qiime2-2020.11-py36-osx-conda.yml

To run Qiime just activate the conda environment

1
conda activate qiime2-2020.11

conda cheat sheet

Other

  • Singularity/Docker
  • R packages
    • MetabolomicsR
    • tidyverse
  • Conda environments?
  • Bashrc
  • eternal_history
  • byobu
  • qiime
    • which version am I currently using?
  • camtasia
  • figtree
  • igv
  • juicebox
  • jbrowse desktop
  • latex Editor
  • pymol
  • tassel

  • Box Drive
1
2
.CFUserTextEncoding  .Rapp.history        .atom/               .zsh_sessions/       
.DS_Store            .Trash/              .zsh_history

Terminal setup

Giving Terminal Full Disk Access

If you start using Terminal, Mac will now ask you every time if you change directories permission to change into that directory. To give Terminal access to all folders:

  • Settings
    • Security & Privacy
      • Full Disk Access

Git files

You will want to copy over the following files from your old machine to your new machine to make github and Atom work again with pushes and pulls. Github does not allow username/password pushes/fetches anymore.

  • .gitconfig
  • .git-credentials

test