Chapter 10 Common questions

Below are some frequently asked questions. If you have a question that isn’t answered below, please bring it up with the rest of the team and we can add it to the page.

10.1 Systematic review guidance (how to do a manual search, etc.)

  • The CAMARADES guide hosted by CAMARADES Berlin walks through all the steps of a systematic review.
  • The SyRF help guide hosted on the SyRF website walks through all the steps of using the Systematic Review Facility (SyRF).

10.1.1 Importing outputs from SyRF to EndNote

If you want to import comma separated value (CSV) file outputs from bibliographic data from SyRF projects into EndNote (reference management software), you will need to manually change some of the column names and convert the file to a text tab delimited (TXT) file.

  1. Open your csv file in Excel and edit the following columns:
  • Add a column to the left with column name Reference Type and for each row type ‘Journal Article’
  • Rename StudyId to Notes
  • Rename Authors to Author
  • Rename PublicationName to Secondary Title
  • Delete AlternateName (usually empty or duplicate of PublicationName)
  • Rename Url to URL
  • Rename Doi to DOI
  • Rename AuthorAddress to Author Address
  • Delete ReferenceType
  • Rename PdfRelativePath to Research Notes
  • Rename CustomId to Accession Number
  • Delete TimeDateStudyAdded, SystematicSearchId, and SystematicSearchName
  • Keep Title, Abstract, Year, and Keywords as they are
  1. Save the file as Text (Tab delimited) (*.txt)
  2. Open the text file, and use find and replace to remove all quotation marks from the file (e.g. add ” to the find box and keep replace box empty)
  3. Save the text file
  4. Open your EndNote library and click Import -> File
  5. Choose your file, choose Tab delimited as your import option, and hit import

10.2 Using Jupyter notebook via CAMARADES Juniper

Install on your home directory using the following command in MobaXTerm: sudo pip install notebook If you need sudo access, contact Charis for help.

Once installed: jupyter notebook --no-browser --port=8080 This will produce a web link to allow you to access Jupyter notebooks. However, you won’t be able to access it until you create an SSH tunnel between your personal computer and Juniper.

To create the SSH tunnel, enter the following command into your computer terminal (via PowerShell or similar) ssh -L 8080:localhost:8080 username@129.215.141.69 replacing the username with your Juniper username

You may have to accept a warning before continuing.

You should now be able to follow the link in MobaXterm to access Jupyter Notebooks.

10.3 Common linux commands

The CAMARADES Juniper computer runs on the linux operating system (rather than Windows or MacOS). When running code on Juniper, you’ll mainly be using RStudio, but you may have to run linux commands to move large amounts of files or revert GitHub commits. Below are some common linux commands which you can use in MobaXTerm or the terminal tab within RStudio.

10.3.1 Create a new user profile

A sudouser may have to perform this action. Replace “newperson” with the desired username.

Create the user: sudo useradd newperson

Create a password: sudo passwd newperson

Create their home directory: sudo useradd -m newperson

10.3.2 List files in a directory

ls will list files in your current directory ls -R will list all files in your current directory, and all files in subdirectories

10.3.3 Change directory

Use cd [directory] to change the directory you are in. For example, cd /home/user/project.

10.3.4 Move files or folders

Use mv [curent directory] [new directory] to move files and folders. For example mv /home/user/full_texts /home/user/projects/soles will move full_texts and its contents to home/user/projects/soles/full_texts

10.3.5 Copy files from Juniper to local directory

The scp -r option is used to recursively copy entire directories including all subdirectories and files from the specified source to the destination. scp -r username@remote-host:/path/to/remote/directory ~/path/to/local/directory For example scp -r user@416.76.34.64:/media/soles/soles-project-pdfs/full_texts ~/Documents/soles-project-pdfs will take all of the files inside Juniper’s soles-project-pdfs/full_texts folder and copy them to the local soles-projects-pdfs folder.

10.3.7 Reverting GitHub changes

If you need to unstage files (before you commit) you can use git reset. This is useful if you accentally try to stage a large folder like full_texts. If you have already committed and want to revert your last commit (for instance, if you committed changes to the wrong branch) you can use git reset --soft HEAD^.

10.4 R code

Below is some R code to help with file management and restructuring.

10.4.1 Mass rename files

Use file.rename(df$old_file_path, df$new_file_path to rename all files in one folder directory.

10.5 Creating SOLES databases

We use Amazon Web Services Relational Database Service for SOLES databases. Once you have the log in details, this is how to create a typical Postgres SQL database for SOLES.

Step 1: Naviagate to Relational Database Service and navigate to Create Database

Step 2: When in the creation page, select standard create and PostgresSQL

Step 3: Select the free tier option (for now, can be upgraded later)

Step 4: Name your database in the DB instance identifier. We tend to go with nameofdisease-soles-db

Step 5: Enter the master username as camarades and select “self managed” for credentials management. Add a strong password (write this down!)

Step 6: Scroll down, you can leave all of these as default.

Step 7: You can leave most of these options as default but select Public access - yes and change the security group to “new”. This will allow juniper to access this database.

Step 8: Complete this form and your database will be created! Details for connections will be available in AWS when you navigate to the database name. The screenshot below indicates the database details. Note the endpoint and the port - these are needed for connecting to the database via R.

Step 9: To connect to the database in R, it is best practice first save the endpoint (as shown above), DB identifier (name you gave the soles db, in the format xxxx-soles-db), port, user (note this should be camarades), and password (user defined from earlier) in your R.environ file. Then you can bring these in using Sys.getenv(). Using the dbConnect() function from the DBI package, you can then connect to the database. Here, dbname = name of the SOLES database and host = endpoint. Example code below.

con <- dbConnect(RPostgres::Postgres(),
                 dbname = Sys.getenv("ad_soles_dbname"),
                 host = Sys.getenv("ad_soles_host"),
                 port = Sys.getenv("ad_soles_port"),
                 user = Sys.getenv("ad_soles_user"),
                 password = Sys.getenv("ad_soles_password"))